Merge lp:~ted/indicator-session/user-item into lp:indicator-session/0.1
- user-item
- Merge into trunk
Proposed by
Ted Gould
Status: | Merged |
---|---|
Merged at revision: | not available |
Proposed branch: | lp:~ted/indicator-session/user-item |
Merge into: | lp:indicator-session/0.1 |
Diff against target: |
498 lines (+360/-8) 15 files modified
configure.ac (+5/-0) data/icons/16x16/Makefile.am (+1/-1) data/icons/16x16/status/Makefile.am (+7/-0) data/icons/22x22/Makefile.am (+1/-1) data/icons/22x22/status/Makefile.am (+7/-0) data/icons/24x24/Makefile.am (+1/-1) data/icons/24x24/status/Makefile.am (+7/-0) data/icons/32x32/Makefile.am (+1/-1) data/icons/32x32/status/Makefile.am (+7/-0) data/icons/scalable/Makefile.am (+1/-1) data/icons/scalable/status/Makefile.am (+7/-0) data/icons/scalable/status/account-logged-in.svg (+270/-0) src/dbus-shared-names.h (+4/-0) src/indicator-session.c (+35/-1) src/session-service.c (+6/-2) |
To merge this branch: | bzr merge lp:~ted/indicator-session/user-item |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
David Barth | Approve | ||
Neil J. Patel (community) | Approve | ||
Review via email: mp+19577@code.launchpad.net |
Commit message
Description of the change
To post a comment you must log in.
Revision history for this message
Ted Gould (ted) wrote : | # |
Revision history for this message
Neil J. Patel (njpatel) wrote : | # |
Looks good. Approved.
review:
Approve
Preview Diff
[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1 | === modified file 'configure.ac' |
2 | --- configure.ac 2010-02-11 16:47:17 +0000 |
3 | +++ configure.ac 2010-02-18 05:50:25 +0000 |
4 | @@ -132,14 +132,19 @@ |
5 | data/icons/Makefile |
6 | data/icons/16x16/Makefile |
7 | data/icons/16x16/actions/Makefile |
8 | +data/icons/16x16/status/Makefile |
9 | data/icons/22x22/Makefile |
10 | data/icons/22x22/actions/Makefile |
11 | +data/icons/22x22/status/Makefile |
12 | data/icons/24x24/Makefile |
13 | data/icons/24x24/actions/Makefile |
14 | +data/icons/24x24/status/Makefile |
15 | data/icons/32x32/Makefile |
16 | data/icons/32x32/actions/Makefile |
17 | +data/icons/32x32/status/Makefile |
18 | data/icons/scalable/Makefile |
19 | data/icons/scalable/actions/Makefile |
20 | +data/icons/scalable/status/Makefile |
21 | po/Makefile.in |
22 | ]) |
23 | |
24 | |
25 | === modified file 'data/icons/16x16/Makefile.am' |
26 | --- data/icons/16x16/Makefile.am 2009-12-24 19:31:30 +0000 |
27 | +++ data/icons/16x16/Makefile.am 2010-02-18 05:50:25 +0000 |
28 | @@ -1,1 +1,1 @@ |
29 | -SUBDIRS = actions |
30 | +SUBDIRS = actions status |
31 | |
32 | === added directory 'data/icons/16x16/status' |
33 | === added file 'data/icons/16x16/status/Makefile.am' |
34 | --- data/icons/16x16/status/Makefile.am 1970-01-01 00:00:00 +0000 |
35 | +++ data/icons/16x16/status/Makefile.am 2010-02-18 05:50:25 +0000 |
36 | @@ -0,0 +1,7 @@ |
37 | + |
38 | +iconsdir = $(INDICATORICONSDIR)/hicolor/16x16/status |
39 | + |
40 | +icons_DATA = \ |
41 | + account-logged-in.png |
42 | + |
43 | +EXTRA_DIST = $(icons_DATA) |
44 | |
45 | === added file 'data/icons/16x16/status/account-logged-in.png' |
46 | Binary files data/icons/16x16/status/account-logged-in.png 1970-01-01 00:00:00 +0000 and data/icons/16x16/status/account-logged-in.png 2010-02-18 05:50:25 +0000 differ |
47 | === modified file 'data/icons/22x22/Makefile.am' |
48 | --- data/icons/22x22/Makefile.am 2009-12-24 19:31:30 +0000 |
49 | +++ data/icons/22x22/Makefile.am 2010-02-18 05:50:25 +0000 |
50 | @@ -1,1 +1,1 @@ |
51 | -SUBDIRS = actions |
52 | +SUBDIRS = actions status |
53 | |
54 | === added directory 'data/icons/22x22/status' |
55 | === added file 'data/icons/22x22/status/Makefile.am' |
56 | --- data/icons/22x22/status/Makefile.am 1970-01-01 00:00:00 +0000 |
57 | +++ data/icons/22x22/status/Makefile.am 2010-02-18 05:50:25 +0000 |
58 | @@ -0,0 +1,7 @@ |
59 | + |
60 | +iconsdir = $(INDICATORICONSDIR)/hicolor/22x22/status |
61 | + |
62 | +icons_DATA = \ |
63 | + account-logged-in.png |
64 | + |
65 | +EXTRA_DIST = $(icons_DATA) |
66 | |
67 | === added file 'data/icons/22x22/status/account-logged-in.png' |
68 | Binary files data/icons/22x22/status/account-logged-in.png 1970-01-01 00:00:00 +0000 and data/icons/22x22/status/account-logged-in.png 2010-02-18 05:50:25 +0000 differ |
69 | === modified file 'data/icons/24x24/Makefile.am' |
70 | --- data/icons/24x24/Makefile.am 2009-12-24 19:31:30 +0000 |
71 | +++ data/icons/24x24/Makefile.am 2010-02-18 05:50:25 +0000 |
72 | @@ -1,1 +1,1 @@ |
73 | -SUBDIRS = actions |
74 | +SUBDIRS = actions status |
75 | |
76 | === added directory 'data/icons/24x24/status' |
77 | === added file 'data/icons/24x24/status/Makefile.am' |
78 | --- data/icons/24x24/status/Makefile.am 1970-01-01 00:00:00 +0000 |
79 | +++ data/icons/24x24/status/Makefile.am 2010-02-18 05:50:25 +0000 |
80 | @@ -0,0 +1,7 @@ |
81 | + |
82 | +iconsdir = $(INDICATORICONSDIR)/hicolor/24x24/status |
83 | + |
84 | +icons_DATA = \ |
85 | + account-logged-in.png |
86 | + |
87 | +EXTRA_DIST = $(icons_DATA) |
88 | |
89 | === added file 'data/icons/24x24/status/account-logged-in.png' |
90 | Binary files data/icons/24x24/status/account-logged-in.png 1970-01-01 00:00:00 +0000 and data/icons/24x24/status/account-logged-in.png 2010-02-18 05:50:25 +0000 differ |
91 | === modified file 'data/icons/32x32/Makefile.am' |
92 | --- data/icons/32x32/Makefile.am 2009-12-24 19:31:30 +0000 |
93 | +++ data/icons/32x32/Makefile.am 2010-02-18 05:50:25 +0000 |
94 | @@ -1,1 +1,1 @@ |
95 | -SUBDIRS = actions |
96 | +SUBDIRS = actions status |
97 | |
98 | === added directory 'data/icons/32x32/status' |
99 | === added file 'data/icons/32x32/status/Makefile.am' |
100 | --- data/icons/32x32/status/Makefile.am 1970-01-01 00:00:00 +0000 |
101 | +++ data/icons/32x32/status/Makefile.am 2010-02-18 05:50:25 +0000 |
102 | @@ -0,0 +1,7 @@ |
103 | + |
104 | +iconsdir = $(INDICATORICONSDIR)/hicolor/32x32/status |
105 | + |
106 | +icons_DATA = \ |
107 | + account-logged-in.png |
108 | + |
109 | +EXTRA_DIST = $(icons_DATA) |
110 | |
111 | === added file 'data/icons/32x32/status/account-logged-in.png' |
112 | Binary files data/icons/32x32/status/account-logged-in.png 1970-01-01 00:00:00 +0000 and data/icons/32x32/status/account-logged-in.png 2010-02-18 05:50:25 +0000 differ |
113 | === modified file 'data/icons/scalable/Makefile.am' |
114 | --- data/icons/scalable/Makefile.am 2009-12-24 19:31:30 +0000 |
115 | +++ data/icons/scalable/Makefile.am 2010-02-18 05:50:25 +0000 |
116 | @@ -1,1 +1,1 @@ |
117 | -SUBDIRS = actions |
118 | +SUBDIRS = actions status |
119 | |
120 | === added directory 'data/icons/scalable/status' |
121 | === added file 'data/icons/scalable/status/Makefile.am' |
122 | --- data/icons/scalable/status/Makefile.am 1970-01-01 00:00:00 +0000 |
123 | +++ data/icons/scalable/status/Makefile.am 2010-02-18 05:50:25 +0000 |
124 | @@ -0,0 +1,7 @@ |
125 | + |
126 | +iconsdir = $(INDICATORICONSDIR)/hicolor/scalable/status |
127 | + |
128 | +icons_DATA = \ |
129 | + account-logged-in.svg |
130 | + |
131 | +EXTRA_DIST = $(icons_DATA) |
132 | |
133 | === added file 'data/icons/scalable/status/account-logged-in.svg' |
134 | --- data/icons/scalable/status/account-logged-in.svg 1970-01-01 00:00:00 +0000 |
135 | +++ data/icons/scalable/status/account-logged-in.svg 2010-02-18 05:50:25 +0000 |
136 | @@ -0,0 +1,270 @@ |
137 | +<?xml version="1.0" encoding="UTF-8" standalone="no"?> |
138 | +<!-- Created with Inkscape (http://www.inkscape.org/) --> |
139 | +<svg |
140 | + xmlns:dc="http://purl.org/dc/elements/1.1/" |
141 | + xmlns:cc="http://web.resource.org/cc/" |
142 | + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" |
143 | + xmlns:svg="http://www.w3.org/2000/svg" |
144 | + xmlns="http://www.w3.org/2000/svg" |
145 | + xmlns:xlink="http://www.w3.org/1999/xlink" |
146 | + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" |
147 | + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" |
148 | + id="svg1" |
149 | + sodipodi:version="0.32" |
150 | + inkscape:version="0.45" |
151 | + width="48" |
152 | + height="48" |
153 | + sodipodi:docbase="/home/dobey/Projects/gnome-icon-theme/scalable/emblems" |
154 | + sodipodi:docname="emblem-default.svg" |
155 | + inkscape:output_extension="org.inkscape.output.svg.inkscape" |
156 | + version="1.0"> |
157 | + <defs |
158 | + id="defs3"> |
159 | + <linearGradient |
160 | + id="linearGradient5237"> |
161 | + <stop |
162 | + style="stop-color:#ffffff;stop-opacity:1;" |
163 | + offset="0" |
164 | + id="stop5239" /> |
165 | + <stop |
166 | + id="stop5247" |
167 | + offset="0.5" |
168 | + style="stop-color:#ffffff;stop-opacity:1;" /> |
169 | + <stop |
170 | + style="stop-color:#9c9c9c;stop-opacity:1" |
171 | + offset="1" |
172 | + id="stop5241" /> |
173 | + </linearGradient> |
174 | + <linearGradient |
175 | + id="linearGradient5226"> |
176 | + <stop |
177 | + style="stop-color:#63b512;stop-opacity:1;" |
178 | + offset="0" |
179 | + id="stop5229" /> |
180 | + <stop |
181 | + id="stop5245" |
182 | + offset="0.16030352" |
183 | + style="stop-color:#58a30e;stop-opacity:1;" /> |
184 | + <stop |
185 | + id="stop5235" |
186 | + offset="0.66008514" |
187 | + style="stop-color:#366b04;stop-opacity:1" /> |
188 | + <stop |
189 | + style="stop-color:#87ea25;stop-opacity:1" |
190 | + offset="1" |
191 | + id="stop5231" /> |
192 | + </linearGradient> |
193 | + <linearGradient |
194 | + inkscape:collect="always" |
195 | + id="linearGradient5300"> |
196 | + <stop |
197 | + style="stop-color:#ffffff;stop-opacity:1;" |
198 | + offset="0" |
199 | + id="stop5302" /> |
200 | + <stop |
201 | + style="stop-color:#ffffff;stop-opacity:0;" |
202 | + offset="1" |
203 | + id="stop5304" /> |
204 | + </linearGradient> |
205 | + <linearGradient |
206 | + inkscape:collect="always" |
207 | + id="linearGradient5224"> |
208 | + <stop |
209 | + style="stop-color:#000000;stop-opacity:1;" |
210 | + offset="0" |
211 | + id="stop5226" /> |
212 | + <stop |
213 | + style="stop-color:#000000;stop-opacity:0;" |
214 | + offset="1" |
215 | + id="stop5228" /> |
216 | + </linearGradient> |
217 | + <radialGradient |
218 | + inkscape:collect="always" |
219 | + xlink:href="#linearGradient5224" |
220 | + id="radialGradient5230" |
221 | + cx="14.5" |
222 | + cy="26.6875" |
223 | + fx="14.5" |
224 | + fy="26.6875" |
225 | + r="10" |
226 | + gradientTransform="matrix(1,0,0,0.29375,0,18.848047)" |
227 | + gradientUnits="userSpaceOnUse" /> |
228 | + <filter |
229 | + inkscape:collect="always" |
230 | + id="filter5296" |
231 | + x="-0.09814655" |
232 | + width="1.1962931" |
233 | + y="-0.33411592" |
234 | + height="1.6682318"> |
235 | + <feGaussianBlur |
236 | + inkscape:collect="always" |
237 | + stdDeviation="0.81788793" |
238 | + id="feGaussianBlur5298" /> |
239 | + </filter> |
240 | + <radialGradient |
241 | + inkscape:collect="always" |
242 | + xlink:href="#linearGradient5300" |
243 | + id="radialGradient5306" |
244 | + cx="29.77438" |
245 | + cy="7.0922189" |
246 | + fx="29.77438" |
247 | + fy="7.0922189" |
248 | + r="25.380436" |
249 | + gradientUnits="userSpaceOnUse" |
250 | + gradientTransform="matrix(2.2469896,0,0,2.2469896,-37.128341,-8.8439229)" /> |
251 | + <radialGradient |
252 | + inkscape:collect="always" |
253 | + xlink:href="#linearGradient5224" |
254 | + id="radialGradient5330" |
255 | + gradientUnits="userSpaceOnUse" |
256 | + gradientTransform="matrix(1,0,0,0.29375,0,18.848047)" |
257 | + cx="14.5" |
258 | + cy="26.6875" |
259 | + fx="14.5" |
260 | + fy="26.6875" |
261 | + r="10" /> |
262 | + <radialGradient |
263 | + inkscape:collect="always" |
264 | + xlink:href="#linearGradient5226" |
265 | + id="radialGradient5233" |
266 | + cx="29.392656" |
267 | + cy="18.898249" |
268 | + fx="29.392656" |
269 | + fy="18.898249" |
270 | + r="29.699959" |
271 | + gradientUnits="userSpaceOnUse" |
272 | + gradientTransform="matrix(1.5354369,0,0,1.5485894,-15.737913,-10.36738)" /> |
273 | + <radialGradient |
274 | + inkscape:collect="always" |
275 | + xlink:href="#linearGradient5237" |
276 | + id="radialGradient5243" |
277 | + cx="22.9375" |
278 | + cy="16.305218" |
279 | + fx="22.9375" |
280 | + fy="16.305218" |
281 | + r="15.5625" |
282 | + gradientTransform="matrix(1.5301205,0,0,1.6745294,-12.159639,-11.709817)" |
283 | + gradientUnits="userSpaceOnUse" /> |
284 | + </defs> |
285 | + <sodipodi:namedview |
286 | + id="base" |
287 | + pagecolor="#ffffff" |
288 | + bordercolor="#ededed" |
289 | + borderopacity="1" |
290 | + inkscape:pageopacity="0.0" |
291 | + inkscape:pageshadow="2" |
292 | + inkscape:zoom="1" |
293 | + inkscape:cx="39.269655" |
294 | + inkscape:cy="17.441445" |
295 | + inkscape:window-width="826" |
296 | + inkscape:window-height="790" |
297 | + gridspacingx="0.50000000mm" |
298 | + gridspacingy="0.50000000mm" |
299 | + showgrid="false" |
300 | + inkscape:grid-bbox="false" |
301 | + inkscape:window-x="461" |
302 | + inkscape:window-y="278" |
303 | + inkscape:current-layer="svg1" |
304 | + borderlayer="true" |
305 | + inkscape:showpageshadow="false" |
306 | + width="744.09449px" |
307 | + height="1052.3622px"> |
308 | + <inkscape:grid |
309 | + type="xygrid" |
310 | + id="grid5308" /> |
311 | + </sodipodi:namedview> |
312 | + <metadata |
313 | + id="metadata4"> |
314 | + <rdf:RDF> |
315 | + <cc:Work |
316 | + rdf:about=""> |
317 | + <dc:format>image/svg+xml</dc:format> |
318 | + <dc:type |
319 | + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> |
320 | + <dc:title>Emblem Urgent</dc:title> |
321 | + <dc:creator> |
322 | + <cc:Agent> |
323 | + <dc:title>Jakub Steiner</dc:title> |
324 | + </cc:Agent> |
325 | + </dc:creator> |
326 | + <dc:contributor> |
327 | + <cc:Agent> |
328 | + <dc:title>Andreas Nilsson</dc:title> |
329 | + </cc:Agent> |
330 | + </dc:contributor> |
331 | + <cc:license |
332 | + rdf:resource="http://creativecommons.org/licenses/GPL/2.0/" /> |
333 | + <dc:subject> |
334 | + <rdf:Bag> |
335 | + <rdf:li>generic</rdf:li> |
336 | + </rdf:Bag> |
337 | + </dc:subject> |
338 | + </cc:Work> |
339 | + <cc:License |
340 | + rdf:about="http://creativecommons.org/licenses/GPL/2.0/"> |
341 | + <cc:permits |
342 | + rdf:resource="http://web.resource.org/cc/Reproduction" /> |
343 | + <cc:permits |
344 | + rdf:resource="http://web.resource.org/cc/Distribution" /> |
345 | + <cc:requires |
346 | + rdf:resource="http://web.resource.org/cc/Notice" /> |
347 | + <cc:permits |
348 | + rdf:resource="http://web.resource.org/cc/DerivativeWorks" /> |
349 | + <cc:requires |
350 | + rdf:resource="http://web.resource.org/cc/ShareAlike" /> |
351 | + <cc:requires |
352 | + rdf:resource="http://web.resource.org/cc/SourceCode" /> |
353 | + </cc:License> |
354 | + </rdf:RDF> |
355 | + </metadata> |
356 | + <path |
357 | + sodipodi:type="arc" |
358 | + style="opacity:0.53012048;color:#000000;fill:url(#radialGradient5230);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;filter:url(#filter5296);enable-background:accumulate" |
359 | + id="path4645" |
360 | + sodipodi:cx="14.5" |
361 | + sodipodi:cy="26.6875" |
362 | + sodipodi:rx="10" |
363 | + sodipodi:ry="2.9375" |
364 | + d="M 24.5,26.6875 A 10,2.9375 0 1 1 4.5,26.6875 A 10,2.9375 0 1 1 24.5,26.6875 z" |
365 | + transform="matrix(2.1570145,0,0,2.155398,-7.8468552,-16.33814)" /> |
366 | + <path |
367 | + transform="matrix(1.3478975,0,0,1.3468874,3.8853414,6.4889877)" |
368 | + d="M 24.5,26.6875 A 10,2.9375 0 1 1 4.5,26.6875 A 10,2.9375 0 1 1 24.5,26.6875 z" |
369 | + sodipodi:ry="2.9375" |
370 | + sodipodi:rx="10" |
371 | + sodipodi:cy="26.6875" |
372 | + sodipodi:cx="14.5" |
373 | + id="path5328" |
374 | + style="opacity:0.80120482;color:#000000;fill:url(#radialGradient5330);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;filter:url(#filter5296);enable-background:accumulate" |
375 | + sodipodi:type="arc" /> |
376 | + <path |
377 | + sodipodi:type="arc" |
378 | + style="fill:url(#radialGradient5233);fill-opacity:1;fill-rule:evenodd;stroke:#316203;stroke-width:1.37804781999999992;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" |
379 | + id="path907" |
380 | + sodipodi:cx="29.392656" |
381 | + sodipodi:cy="29.207693" |
382 | + sodipodi:rx="29.010935" |
383 | + sodipodi:ry="29.010935" |
384 | + d="M 58.403591,29.207693 A 29.010935,29.010935 0 1 1 0.3817215,29.207693 A 29.010935,29.010935 0 1 1 58.403591,29.207693 z" |
385 | + transform="matrix(0.7238447,0,0,0.7274883,2.1828126,2.3568607)" /> |
386 | + <path |
387 | + sodipodi:type="arc" |
388 | + style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:url(#radialGradient5306);stroke-width:1.21160841;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" |
389 | + id="path1552" |
390 | + sodipodi:cx="29.77438" |
391 | + sodipodi:cy="30.352861" |
392 | + sodipodi:rx="24.175779" |
393 | + sodipodi:ry="24.175779" |
394 | + d="M 53.950159,30.352861 A 24.175779,24.175779 0 1 1 5.5986004,30.352861 A 24.175779,24.175779 0 1 1 53.950159,30.352861 z" |
395 | + transform="matrix(0.8254302,0,0,0.8252681,-1.1457884,-1.4441229)" /> |
396 | + <path |
397 | + style="opacity:1;color:#000000;fill:url(#radialGradient5243);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" |
398 | + d="M 12.875,24.625 L 25.375,36.625 L 44,20.625 C 43.253602,16.729371 41.57038,13.679873 39.8125,11.0625 L 25.125,23.75 L 20.375,18.5 L 12.875,24.625 z" |
399 | + id="path5222" |
400 | + sodipodi:nodetypes="ccccccc" /> |
401 | + <path |
402 | + style="opacity:1;color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#549910;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" |
403 | + d="M 40.21875,10.8125 C 41.930961,13.346411 43.59334,15.979986 44.40625,20.3125" |
404 | + id="path5224" |
405 | + sodipodi:nodetypes="cc" /> |
406 | +</svg> |
407 | |
408 | === modified file 'src/dbus-shared-names.h' |
409 | --- src/dbus-shared-names.h 2009-12-24 20:36:35 +0000 |
410 | +++ src/dbus-shared-names.h 2010-02-18 05:50:25 +0000 |
411 | @@ -38,4 +38,8 @@ |
412 | #define INDICATOR_SESSION_DBUS_OBJECT "/org/ayatana/indicator/session/menu" |
413 | #define INDICATOR_SESSION_DBUS_VERSION 0 |
414 | |
415 | +#define USER_ITEM_TYPE "x-canonical-user-item" |
416 | +#define USER_ITEM_PROP_NAME "user-item-name" |
417 | +#define USER_ITEM_PROP_LOGGED_IN "user-item-logged-in" |
418 | + |
419 | #endif /* __DBUS_SHARED_NAMES_H__ */ |
420 | |
421 | === modified file 'src/indicator-session.c' |
422 | --- src/indicator-session.c 2009-12-24 20:36:35 +0000 |
423 | +++ src/indicator-session.c 2010-02-18 05:50:25 +0000 |
424 | @@ -135,13 +135,47 @@ |
425 | return status_image; |
426 | } |
427 | |
428 | +/* Builds an item with a hip little logged in icon. */ |
429 | +static gboolean |
430 | +new_user_item (DbusmenuMenuitem * newitem, DbusmenuMenuitem * parent, DbusmenuClient * client) |
431 | +{ |
432 | + GtkMenuItem * gmi = GTK_MENU_ITEM(gtk_menu_item_new()); |
433 | + GtkWidget * hbox = gtk_hbox_new(FALSE, 0); |
434 | + |
435 | + GtkWidget * label = gtk_label_new(dbusmenu_menuitem_property_get(newitem, USER_ITEM_PROP_NAME)); |
436 | + gtk_misc_set_alignment(GTK_MISC(label), 0.0, 0.5); |
437 | + gtk_box_pack_start(GTK_BOX(hbox), label, TRUE, TRUE, 0); |
438 | + gtk_widget_show(label); |
439 | + |
440 | + GtkWidget * icon = gtk_image_new_from_icon_name("account-logged-in", GTK_ICON_SIZE_MENU); |
441 | + gtk_misc_set_alignment(GTK_MISC(icon), 1.0, 0.5); |
442 | + gtk_box_pack_start(GTK_BOX(hbox), icon, FALSE, FALSE, 0); |
443 | + if (dbusmenu_menuitem_property_get_bool(newitem, USER_ITEM_PROP_LOGGED_IN)) { |
444 | + gtk_widget_show(icon); |
445 | + } else { |
446 | + gtk_widget_hide(icon); |
447 | + } |
448 | + |
449 | + gtk_container_add(GTK_CONTAINER(gmi), hbox); |
450 | + gtk_widget_show(hbox); |
451 | + |
452 | + dbusmenu_gtkclient_newitem_base(DBUSMENU_GTKCLIENT(client), newitem, gmi, parent); |
453 | + |
454 | + return TRUE; |
455 | +} |
456 | + |
457 | /* Indicator based function to get the menu for the whole |
458 | applet. This starts up asking for the parts of the menu |
459 | from the various services. */ |
460 | static GtkMenu * |
461 | get_menu (IndicatorObject * io) |
462 | { |
463 | - return GTK_MENU(dbusmenu_gtkmenu_new(INDICATOR_SESSION_DBUS_NAME, INDICATOR_SESSION_DBUS_OBJECT)); |
464 | + DbusmenuGtkMenu * menu = dbusmenu_gtkmenu_new(INDICATOR_SESSION_DBUS_NAME, INDICATOR_SESSION_DBUS_OBJECT); |
465 | + DbusmenuGtkClient * client = dbusmenu_gtkmenu_get_client(menu); |
466 | + |
467 | + dbusmenu_client_add_type_handler(DBUSMENU_CLIENT(client), USER_ITEM_TYPE, new_user_item); |
468 | + |
469 | + return GTK_MENU(menu); |
470 | } |
471 | |
472 | |
473 | |
474 | === modified file 'src/session-service.c' |
475 | --- src/session-service.c 2010-02-18 04:43:36 +0000 |
476 | +++ src/session-service.c 2010-02-18 05:50:25 +0000 |
477 | @@ -444,7 +444,9 @@ |
478 | if (check_guest_session ()) |
479 | { |
480 | mi = dbusmenu_menuitem_new (); |
481 | - dbusmenu_menuitem_property_set (mi, DBUSMENU_MENUITEM_PROP_LABEL, _("Guest Session")); |
482 | + dbusmenu_menuitem_property_set (mi, DBUSMENU_MENUITEM_PROP_TYPE, USER_ITEM_TYPE); |
483 | + dbusmenu_menuitem_property_set (mi, USER_ITEM_PROP_NAME, _("Guest Session")); |
484 | + dbusmenu_menuitem_property_set_bool (mi, USER_ITEM_PROP_LOGGED_IN, FALSE); |
485 | dbusmenu_menuitem_child_append (root, mi); |
486 | g_signal_connect (G_OBJECT (mi), DBUSMENU_MENUITEM_SIGNAL_ITEM_ACTIVATED, G_CALLBACK (activate_guest_session), NULL); |
487 | } |
488 | @@ -493,7 +495,9 @@ |
489 | user->service = service; |
490 | |
491 | mi = dbusmenu_menuitem_new (); |
492 | - dbusmenu_menuitem_property_set (mi, DBUSMENU_MENUITEM_PROP_LABEL, user->real_name); |
493 | + dbusmenu_menuitem_property_set (mi, DBUSMENU_MENUITEM_PROP_TYPE, USER_ITEM_TYPE); |
494 | + dbusmenu_menuitem_property_set (mi, USER_ITEM_PROP_NAME, user->real_name); |
495 | + dbusmenu_menuitem_property_set_bool (mi, USER_ITEM_PROP_LOGGED_IN, user->sessions != NULL); |
496 | dbusmenu_menuitem_child_append (root, mi); |
497 | g_signal_connect (G_OBJECT (mi), DBUSMENU_MENUITEM_SIGNAL_ITEM_ACTIVATED, G_CALLBACK (activate_user_session), user); |
498 | } |
Creates a custom menuitem for users that has an icon that shows whether
they are logged in or not with an icon.