Merge lp:~mhr3/libunity/icon-size-hint into lp:libunity

Proposed by Michal Hruby
Status: Merged
Approved by: Paweł Stołowski
Approved revision: 181
Merged at revision: 180
Proposed branch: lp:~mhr3/libunity/icon-size-hint
Merge into: lp:libunity
Diff against target: 115 lines (+31/-1)
4 files modified
configure.ac (+1/-1)
protocol/protocol-icon.vala (+10/-0)
src/unity-icon.vala (+16/-0)
test/vala/test-previews.vala (+4/-0)
To merge this branch: bzr merge lp:~mhr3/libunity/icon-size-hint
Reviewer Review Type Date Requested Status
Paweł Stołowski (community) Approve
Review via email: mp+126014@code.launchpad.net

Commit message

Added size hint to AnnotatedIcon

Description of the change

Added size hint property to AnnotatedIcon. This will allow us to specify size when passing icons to unity.

To post a comment you must log in.
Revision history for this message
Paweł Stołowski (stolowski) wrote :

Looking good!

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'configure.ac'
--- configure.ac 2012-09-18 16:39:48 +0000
+++ configure.ac 2012-09-24 13:55:31 +0000
@@ -1,5 +1,5 @@
1# When releasing also remember to update the soname as instructed below1# When releasing also remember to update the soname as instructed below
2AC_INIT(libunity, 6.5.2)2AC_INIT(libunity, 6.7.0)
33
4AM_INIT_AUTOMAKE(AC_PACKAGE_NAME, AC_PACKAGE_VERSION)4AM_INIT_AUTOMAKE(AC_PACKAGE_NAME, AC_PACKAGE_VERSION)
5AM_CONFIG_HEADER(config.h)5AM_CONFIG_HEADER(config.h)
66
=== modified file 'protocol/protocol-icon.vala'
--- protocol/protocol-icon.vala 2012-09-14 10:56:35 +0000
+++ protocol/protocol-icon.vala 2012-09-24 13:55:31 +0000
@@ -57,6 +57,7 @@
57 public Icon icon { get; set; }57 public Icon icon { get; set; }
58 public string ribbon { get; set; }58 public string ribbon { get; set; }
59 public CategoryType category { get; set; default = CategoryType.NONE; }59 public CategoryType category { get; set; default = CategoryType.NONE; }
60 public bool use_small_icon { get; set; }
6061
61 public AnnotatedIcon (Icon? base_icon)62 public AnnotatedIcon (Icon? base_icon)
62 {63 {
@@ -128,6 +129,13 @@
128 icon._hints.remove ("ribbon");129 icon._hints.remove ("ribbon");
129 }130 }
130131
132 unowned Variant small_icon_variant = icon.get_hint ("use-small-icon");
133 if (small_icon_variant != null)
134 {
135 icon.use_small_icon = small_icon_variant.get_boolean ();
136 icon._hints.remove ("use-small-icon");
137 }
138
131 return icon;139 return icon;
132 }140 }
133141
@@ -142,6 +150,8 @@
142 add_hint ("category", new Variant.uint32 (category));150 add_hint ("category", new Variant.uint32 (category));
143 if (ribbon != null && ribbon[0] != '\0')151 if (ribbon != null && ribbon[0] != '\0')
144 add_hint ("ribbon", ribbon);152 add_hint ("ribbon", ribbon);
153 if (use_small_icon)
154 add_hint ("use-small-icon", new Variant.boolean (true));
145155
146 Variant dict = _hints;156 Variant dict = _hints;
147 tokens.add (dict.print (true));157 tokens.add (dict.print (true));
148158
=== modified file 'src/unity-icon.vala'
--- src/unity-icon.vala 2012-09-14 10:56:35 +0000
+++ src/unity-icon.vala 2012-09-24 13:55:31 +0000
@@ -53,6 +53,13 @@
53 N_CATEGORIES53 N_CATEGORIES
54 }54 }
5555
56 public enum IconSizeHint
57 {
58 DEFAULT,
59 SMALL,
60 LARGE
61 }
62
56 /*63 /*
57 * AnnotatedIcon can be used to add various icon and text overlays to an icon.64 * AnnotatedIcon can be used to add various icon and text overlays to an icon.
58 * Add desired overlays using properties of this class and use the to_string()65 * Add desired overlays using properties of this class and use the to_string()
@@ -88,6 +95,15 @@
88 set { _pai.category = (Protocol.CategoryType) value; }95 set { _pai.category = (Protocol.CategoryType) value; }
89 }96 }
9097
98 public IconSizeHint size_hint
99 {
100 get
101 {
102 return _pai.use_small_icon ? IconSizeHint.SMALL : IconSizeHint.DEFAULT;
103 }
104 set { _pai.use_small_icon = value == IconSizeHint.SMALL; }
105 }
106
91 public AnnotatedIcon (Icon base_icon)107 public AnnotatedIcon (Icon base_icon)
92 {108 {
93 Object (icon: base_icon);109 Object (icon: base_icon);
94110
=== modified file 'test/vala/test-previews.vala'
--- test/vala/test-previews.vala 2012-09-17 17:27:42 +0000
+++ test/vala/test-previews.vala 2012-09-24 13:55:31 +0000
@@ -87,6 +87,7 @@
87 var anno_icon = new Protocol.AnnotatedIcon (icon);87 var anno_icon = new Protocol.AnnotatedIcon (icon);
88 anno_icon.ribbon = "You can't buy the internet!";88 anno_icon.ribbon = "You can't buy the internet!";
89 anno_icon.category = Protocol.CategoryType.CLOTHES;89 anno_icon.category = Protocol.CategoryType.CLOTHES;
90 anno_icon.use_small_icon = true;
90 var serialized = anno_icon.to_string ();91 var serialized = anno_icon.to_string ();
9192
92 var deserialized = Icon.new_for_string (serialized);93 var deserialized = Icon.new_for_string (serialized);
@@ -96,6 +97,7 @@
96 assert (de_anno != null);97 assert (de_anno != null);
97 assert (de_anno.ribbon == "You can't buy the internet!");98 assert (de_anno.ribbon == "You can't buy the internet!");
98 assert (de_anno.category == Protocol.CategoryType.CLOTHES);99 assert (de_anno.category == Protocol.CategoryType.CLOTHES);
100 assert (de_anno.use_small_icon == true);
99 }101 }
100102
101 static void test_annotated_icon_with_metadata ()103 static void test_annotated_icon_with_metadata ()
@@ -104,6 +106,7 @@
104 icon.append_name ("outernet");106 icon.append_name ("outernet");
105 var anno_icon = new Unity.AnnotatedIcon (icon);107 var anno_icon = new Unity.AnnotatedIcon (icon);
106 anno_icon.ribbon = "You can't buy the internet!";108 anno_icon.ribbon = "You can't buy the internet!";
109 anno_icon.size_hint = Unity.IconSizeHint.SMALL;
107 var serialized = anno_icon.to_string ();110 var serialized = anno_icon.to_string ();
108111
109 var deserialized = Icon.new_for_string (serialized);112 var deserialized = Icon.new_for_string (serialized);
@@ -114,6 +117,7 @@
114 assert (de_anno.ribbon == "You can't buy the internet!");117 assert (de_anno.ribbon == "You can't buy the internet!");
115 assert (de_anno.category == Protocol.CategoryType.NONE);118 assert (de_anno.category == Protocol.CategoryType.NONE);
116 assert (de_anno.icon.equal (icon));119 assert (de_anno.icon.equal (icon));
120 assert (de_anno.use_small_icon == true);
117 }121 }
118122
119 static void test_preview_generic ()123 static void test_preview_generic ()

Subscribers

People subscribed via source and target branches