Merge lp://qastaging/~ted/indicator-me/make-it-me into lp://qastaging/indicator-me
- make-it-me
- Merge into trunk
Proposed by
Ted Gould
Status: | Merged |
---|---|
Merged at revision: | not available |
Proposed branch: | lp://qastaging/~ted/indicator-me/make-it-me |
Merge into: | lp://qastaging/indicator-me |
Diff against target: |
6269 lines (+231/-5358) 46 files modified
.bzrignore (+10/-4) autogen.sh (+1/-1) configure.ac (+10/-31) data/Makefile.am (+3/-32) data/icons/16x16/Makefile.am (+1/-1) data/icons/16x16/actions/Makefile.am (+0/-10) data/icons/22x22/Makefile.am (+1/-1) data/icons/22x22/actions/Makefile.am (+0/-10) data/icons/24x24/Makefile.am (+1/-1) data/icons/24x24/actions/Makefile.am (+0/-10) data/icons/32x32/Makefile.am (+1/-1) data/icons/32x32/actions/Makefile.am (+0/-8) data/icons/scalable/Makefile.am (+1/-1) data/icons/scalable/actions/Makefile.am (+0/-10) data/icons/scalable/actions/system-log-out.svg (+0/-284) data/icons/scalable/actions/system-restart.svg (+0/-397) data/icons/scalable/actions/system-shutdown-panel.svg (+0/-247) data/icons/scalable/actions/system-shutdown.svg (+0/-247) data/indicator-me.service.in (+2/-2) data/indicator-session.schemas.in (+0/-17) data/indicator-session.service.in (+0/-3) data/indicator-users.service.in (+0/-3) po/POTFILES.in (+1/-8) src/Makefile.am (+36/-84) src/dbus-shared-names.h (+5/-12) src/gtk-dialog/Makefile.am (+0/-15) src/gtk-dialog/ck-pk-helper.c (+0/-222) src/gtk-dialog/ck-pk-helper.h (+0/-32) src/gtk-dialog/gconf-helper.c (+0/-73) src/gtk-dialog/gconf-helper.h (+0/-50) src/gtk-dialog/gtk-logout-helper.c (+0/-173) src/gtk-dialog/logout-dialog.c (+0/-371) src/gtk-dialog/logout-dialog.h (+0/-99) src/indicator-me.c (+101/-532) src/lock-helper.c (+0/-326) src/lock-helper.h (+0/-37) src/me-service-dbus.c (+10/-10) src/me-service.c (+19/-27) src/me-service.xml (+1/-1) src/session-service.c (+0/-339) src/status-provider-mc5.c (+27/-12) src/users-service-dbus.c (+0/-1147) src/users-service-dbus.h (+0/-84) src/users-service.c (+0/-326) src/users-service.list (+0/-1) src/users-service.xml (+0/-56) |
To merge this branch: | bzr merge lp://qastaging/~ted/indicator-me/make-it-me |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Indicator Applet Developers | Pending | ||
Review via email: mp+16815@code.qastaging.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 : | # |
Preview Diff
[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1 | === modified file '.bzrignore' |
2 | --- .bzrignore 2009-10-08 14:45:29 +0000 |
3 | +++ .bzrignore 2010-01-04 21:25:21 +0000 |
4 | @@ -50,7 +50,13 @@ |
5 | src/users-service-client.h |
6 | src/users-service-marshal.c |
7 | src/users-service-marshal.h |
8 | -indicator-session-[0-9].[0-9].[0-9].tar.gz |
9 | -indicator-session-[0-9].[0-9].tar.gz |
10 | -indicator-session-[0-9].[0-9].[0-9].tar.gz.asc |
11 | -indicator-session-[0-9].[0-9].tar.gz.asc |
12 | +indicator-me-[0-9].[0-9].[0-9].tar.gz |
13 | +indicator-me-[0-9].[0-9].tar.gz |
14 | +indicator-me-[0-9].[0-9].[0-9].tar.gz.asc |
15 | +indicator-me-[0-9].[0-9].tar.gz.asc |
16 | +src/indicator-me-service |
17 | +src/libme.la |
18 | +src/libme_la-indicator-me.lo |
19 | +po/indicator-me.pot |
20 | +src/me-service-client.h |
21 | +src/me-service-server.h |
22 | |
23 | === modified file 'autogen.sh' |
24 | --- autogen.sh 2009-08-18 14:17:32 +0000 |
25 | +++ autogen.sh 2010-01-04 21:25:21 +0000 |
26 | @@ -1,6 +1,6 @@ |
27 | #!/bin/sh |
28 | |
29 | -PKG_NAME="indicator-session" |
30 | +PKG_NAME="indicator-me" |
31 | |
32 | which gnome-autogen.sh || { |
33 | echo "You need gnome-common from GNOME SVN" |
34 | |
35 | === modified file 'configure.ac' |
36 | --- configure.ac 2009-11-04 22:14:49 +0000 |
37 | +++ configure.ac 2010-01-04 21:25:21 +0000 |
38 | @@ -1,10 +1,11 @@ |
39 | |
40 | -AC_INIT(src/indicator-session.c) |
41 | +AC_INIT(indicator-me, 0.0.1, ted@canonical.com) |
42 | +AC_COPYRIGHT([Copyright 2009 Canonical]) |
43 | |
44 | AC_PREREQ(2.53) |
45 | |
46 | AM_CONFIG_HEADER(config.h) |
47 | -AM_INIT_AUTOMAKE(indicator-session, 0.1.7) |
48 | +AM_INIT_AUTOMAKE(indicator-me, 0.0.1) |
49 | |
50 | AM_MAINTAINER_MODE |
51 | |
52 | @@ -27,7 +28,7 @@ |
53 | |
54 | GTK_REQUIRED_VERSION=2.12 |
55 | INDICATOR_REQUIRED_VERSION=0.3.0 |
56 | -DBUSMENUGTK_REQUIRED_VERSION=0.1.1 |
57 | +DBUSMENUGTK_REQUIRED_VERSION=0.2.0 |
58 | POLKIT_REQUIRED_VERSION=0.92 |
59 | |
60 | PKG_CHECK_MODULES(APPLET, gtk+-2.0 >= $GTK_REQUIRED_VERSION |
61 | @@ -37,31 +38,15 @@ |
62 | AC_SUBST(APPLET_LIBS) |
63 | |
64 | DBUSMENUGLIB_REQUIRED_VERSION=0.1.1 |
65 | -LIBEMPATHY_REQUIRED_VERSION=2.27.0 |
66 | +TELEPATHYGLIB_REQUIRED_VERSION=0.9.0 |
67 | |
68 | PKG_CHECK_MODULES(STATUSSERVICE, dbusmenu-glib >= $DBUSMENUGLIB_REQUIRED_VERSION |
69 | - libempathy >= $LIBEMPATHY_REQUIRED_VERSION) |
70 | + indicator >= $INDICATOR_REQUIRED_VERSION |
71 | + telepathy-glib >= $TELEPATHYGLIB_REQUIRED_VERSION) |
72 | |
73 | AC_SUBST(STATUSERVICE_CFLAGS) |
74 | AC_SUBST(STATUSERVICE_LIBS) |
75 | |
76 | -PKG_CHECK_MODULES(USERSSERVICE, dbusmenu-glib >= $DBUSMENUGLIB_REQUIRED_VERSION) |
77 | - |
78 | -AC_SUBST(USERSERVICE_CFLAGS) |
79 | -AC_SUBST(USERSERVICE_LIBS) |
80 | - |
81 | -PKG_CHECK_MODULES(SESSIONSERVICE, dbusmenu-glib >= $DBUSMENUGLIB_REQUIRED_VERSION) |
82 | - |
83 | -AC_SUBST(SESSIONERVICE_CFLAGS) |
84 | -AC_SUBST(SESSIONERVICE_LIBS) |
85 | - |
86 | -PKG_CHECK_MODULES(GTKLOGOUTHELPER, gtk+-2.0 >= $GTK_REQUIRED_VERSION |
87 | - polkit-gobject-1 >= $POLKIT_REQUIRED_VERSION) |
88 | - |
89 | - |
90 | -AC_SUBST(GTKLOGOUTHELPER_CFLAGS) |
91 | -AC_SUBST(GTKLOGOUTHELPER_LIBS) |
92 | - |
93 | AC_PATH_PROG(GCONFTOOL, gconftool-2) |
94 | dnl Specify the gconf configuration source, |
95 | dnl default to xml::$(sysconfdir)/gconf/gconf.xml.defaults |
96 | @@ -84,7 +69,7 @@ |
97 | ########################### |
98 | |
99 | if test "x$with_localinstall" = "xyes"; then |
100 | - INDICATORDIR="${libdir}/indicators/2/" |
101 | + INDICATORDIR="${libdir}/indicators/3/" |
102 | INDICATORICONSDIR="${datadir}/indicator-applet/icons/" |
103 | else |
104 | INDICATORDIR=`$PKG_CONFIG --variable=indicatordir indicator` |
105 | @@ -124,7 +109,7 @@ |
106 | # Internationalization |
107 | ########################### |
108 | |
109 | -GETTEXT_PACKAGE=indicator-session |
110 | +GETTEXT_PACKAGE=indicator-me |
111 | AC_SUBST(GETTEXT_PACKAGE) |
112 | AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE", [Name of the default get text domain]) |
113 | AC_DEFINE_PATH(GNOMELOCALEDIR, "${datadir}/locale", [locale directory]) |
114 | @@ -138,26 +123,20 @@ |
115 | AC_OUTPUT([ |
116 | Makefile |
117 | src/Makefile |
118 | -src/gtk-dialog/Makefile |
119 | data/Makefile |
120 | data/icons/Makefile |
121 | data/icons/16x16/Makefile |
122 | data/icons/16x16/status/Makefile |
123 | -data/icons/16x16/actions/Makefile |
124 | data/icons/22x22/Makefile |
125 | data/icons/22x22/status/Makefile |
126 | -data/icons/22x22/actions/Makefile |
127 | data/icons/24x24/Makefile |
128 | data/icons/24x24/status/Makefile |
129 | -data/icons/24x24/actions/Makefile |
130 | data/icons/32x32/Makefile |
131 | data/icons/32x32/status/Makefile |
132 | -data/icons/32x32/actions/Makefile |
133 | data/icons/48x48/Makefile |
134 | data/icons/48x48/status/Makefile |
135 | data/icons/scalable/Makefile |
136 | data/icons/scalable/status/Makefile |
137 | -data/icons/scalable/actions/Makefile |
138 | po/Makefile.in |
139 | ]) |
140 | |
141 | @@ -167,7 +146,7 @@ |
142 | |
143 | AC_MSG_NOTICE([ |
144 | |
145 | -SUS Indicator Configuration: |
146 | +Me Indicator Configuration: |
147 | |
148 | Prefix: $prefix |
149 | ]) |
150 | |
151 | === modified file 'data/Makefile.am' |
152 | --- data/Makefile.am 2009-09-02 14:17:44 +0000 |
153 | +++ data/Makefile.am 2010-01-04 21:25:21 +0000 |
154 | @@ -1,45 +1,16 @@ |
155 | SUBDIRS = icons |
156 | |
157 | dbus_servicesdir = $(DBUSSERVICEDIR) |
158 | -service_in_files = indicator-status.service.in \ |
159 | - indicator-users.service.in \ |
160 | - indicator-session.service.in |
161 | +service_in_files = indicator-me.service.in |
162 | dbus_services_DATA = $(service_in_files:.service.in=.service) |
163 | |
164 | %.service: %.service.in |
165 | sed -e "s|\@libexecdir\@|$(libexecdir)|" $< > $@ |
166 | |
167 | -############################## |
168 | -# GConf Schema |
169 | -############################## |
170 | - |
171 | -schemadir = \ |
172 | - $(GCONF_SCHEMA_FILE_DIR) |
173 | - |
174 | -schema_in_files = \ |
175 | - indicator-session.schemas.in |
176 | - |
177 | -schema_DATA = \ |
178 | - $(schema_in_files:.schemas.in=.schemas) |
179 | - |
180 | -@INTLTOOL_SCHEMAS_RULE@ |
181 | - |
182 | - |
183 | -#$(dbus_services_DATA): $(service_in_files) Makefile |
184 | -# sed -e "s|\@libexecdir\@|$(libexecdir)|" $< > $@ |
185 | |
186 | EXTRA_DIST = \ |
187 | - $(service_in_files) \ |
188 | - $(schema_in_files) |
189 | + $(service_in_files) |
190 | |
191 | CLEANFILES = \ |
192 | - $(dbus_services_DATA) \ |
193 | - $(schema_DATA) |
194 | + $(dbus_services_DATA) |
195 | |
196 | -if GCONF_SCHEMAS_INSTALL |
197 | -install-data-local: |
198 | - GCONF_CONFIG_SOURCE=$(GCONF_SCHEMA_CONFIG_SOURCE) \ |
199 | - gconftool-2 --makefile-install-rule $(schema_DATA) |
200 | -else |
201 | -install-data-local: |
202 | -endif |
203 | |
204 | === modified file 'data/icons/16x16/Makefile.am' |
205 | --- data/icons/16x16/Makefile.am 2009-08-07 19:10:15 +0000 |
206 | +++ data/icons/16x16/Makefile.am 2010-01-04 21:25:21 +0000 |
207 | @@ -1,1 +1,1 @@ |
208 | -SUBDIRS = status actions |
209 | +SUBDIRS = status |
210 | |
211 | === removed directory 'data/icons/16x16/actions' |
212 | === removed file 'data/icons/16x16/actions/Makefile.am' |
213 | --- data/icons/16x16/actions/Makefile.am 2009-10-06 22:51:09 +0000 |
214 | +++ data/icons/16x16/actions/Makefile.am 1970-01-01 00:00:00 +0000 |
215 | @@ -1,10 +0,0 @@ |
216 | - |
217 | -iconsdir = $(INDICATORICONSDIR)/hicolor/16x16/actions |
218 | - |
219 | -icons_DATA = \ |
220 | - system-shutdown-panel.png \ |
221 | - system-shutdown.png \ |
222 | - system-restart.png \ |
223 | - system-log-out.png |
224 | - |
225 | -EXTRA_DIST = $(icons_DATA) |
226 | |
227 | === removed file 'data/icons/16x16/actions/system-log-out.png' |
228 | Binary files data/icons/16x16/actions/system-log-out.png 2009-08-07 19:10:15 +0000 and data/icons/16x16/actions/system-log-out.png 1970-01-01 00:00:00 +0000 differ |
229 | === removed file 'data/icons/16x16/actions/system-restart.png' |
230 | Binary files data/icons/16x16/actions/system-restart.png 2009-08-07 19:10:15 +0000 and data/icons/16x16/actions/system-restart.png 1970-01-01 00:00:00 +0000 differ |
231 | === removed file 'data/icons/16x16/actions/system-shutdown-panel.png' |
232 | Binary files data/icons/16x16/actions/system-shutdown-panel.png 2009-10-06 22:51:09 +0000 and data/icons/16x16/actions/system-shutdown-panel.png 1970-01-01 00:00:00 +0000 differ |
233 | === removed file 'data/icons/16x16/actions/system-shutdown.png' |
234 | Binary files data/icons/16x16/actions/system-shutdown.png 2009-08-07 19:10:15 +0000 and data/icons/16x16/actions/system-shutdown.png 1970-01-01 00:00:00 +0000 differ |
235 | === modified file 'data/icons/16x16/status/user-invisible.png' (properties changed: +x to -x) |
236 | === modified file 'data/icons/22x22/Makefile.am' |
237 | --- data/icons/22x22/Makefile.am 2009-08-07 19:10:15 +0000 |
238 | +++ data/icons/22x22/Makefile.am 2010-01-04 21:25:21 +0000 |
239 | @@ -1,1 +1,1 @@ |
240 | -SUBDIRS = status actions |
241 | +SUBDIRS = status |
242 | |
243 | === removed directory 'data/icons/22x22/actions' |
244 | === removed file 'data/icons/22x22/actions/Makefile.am' |
245 | --- data/icons/22x22/actions/Makefile.am 2009-10-06 22:51:09 +0000 |
246 | +++ data/icons/22x22/actions/Makefile.am 1970-01-01 00:00:00 +0000 |
247 | @@ -1,10 +0,0 @@ |
248 | - |
249 | -iconsdir = $(INDICATORICONSDIR)/hicolor/22x22/actions |
250 | - |
251 | -icons_DATA = \ |
252 | - system-shutdown-panel.png \ |
253 | - system-shutdown.png \ |
254 | - system-restart.png \ |
255 | - system-log-out.png |
256 | - |
257 | -EXTRA_DIST = $(icons_DATA) |
258 | |
259 | === removed file 'data/icons/22x22/actions/system-log-out.png' |
260 | Binary files data/icons/22x22/actions/system-log-out.png 2009-08-07 19:10:15 +0000 and data/icons/22x22/actions/system-log-out.png 1970-01-01 00:00:00 +0000 differ |
261 | === removed file 'data/icons/22x22/actions/system-restart.png' |
262 | Binary files data/icons/22x22/actions/system-restart.png 2009-08-07 19:10:15 +0000 and data/icons/22x22/actions/system-restart.png 1970-01-01 00:00:00 +0000 differ |
263 | === removed file 'data/icons/22x22/actions/system-shutdown-panel.png' |
264 | Binary files data/icons/22x22/actions/system-shutdown-panel.png 2009-10-06 22:51:09 +0000 and data/icons/22x22/actions/system-shutdown-panel.png 1970-01-01 00:00:00 +0000 differ |
265 | === removed file 'data/icons/22x22/actions/system-shutdown.png' |
266 | Binary files data/icons/22x22/actions/system-shutdown.png 2009-08-07 19:10:15 +0000 and data/icons/22x22/actions/system-shutdown.png 1970-01-01 00:00:00 +0000 differ |
267 | === modified file 'data/icons/22x22/status/user-invisible.png' (properties changed: +x to -x) |
268 | === modified file 'data/icons/24x24/Makefile.am' |
269 | --- data/icons/24x24/Makefile.am 2009-08-07 19:10:15 +0000 |
270 | +++ data/icons/24x24/Makefile.am 2010-01-04 21:25:21 +0000 |
271 | @@ -1,1 +1,1 @@ |
272 | -SUBDIRS = status actions |
273 | +SUBDIRS = status |
274 | |
275 | === removed directory 'data/icons/24x24/actions' |
276 | === removed file 'data/icons/24x24/actions/Makefile.am' |
277 | --- data/icons/24x24/actions/Makefile.am 2009-10-06 22:51:09 +0000 |
278 | +++ data/icons/24x24/actions/Makefile.am 1970-01-01 00:00:00 +0000 |
279 | @@ -1,10 +0,0 @@ |
280 | - |
281 | -iconsdir = $(INDICATORICONSDIR)/hicolor/24x24/actions |
282 | - |
283 | -icons_DATA = \ |
284 | - system-shutdown-panel.png \ |
285 | - system-shutdown.png \ |
286 | - system-restart.png \ |
287 | - system-log-out.png |
288 | - |
289 | -EXTRA_DIST = $(icons_DATA) |
290 | |
291 | === removed file 'data/icons/24x24/actions/system-log-out.png' |
292 | Binary files data/icons/24x24/actions/system-log-out.png 2009-08-07 19:10:15 +0000 and data/icons/24x24/actions/system-log-out.png 1970-01-01 00:00:00 +0000 differ |
293 | === removed file 'data/icons/24x24/actions/system-restart.png' |
294 | Binary files data/icons/24x24/actions/system-restart.png 2009-08-07 19:10:15 +0000 and data/icons/24x24/actions/system-restart.png 1970-01-01 00:00:00 +0000 differ |
295 | === removed file 'data/icons/24x24/actions/system-shutdown-panel.png' |
296 | Binary files data/icons/24x24/actions/system-shutdown-panel.png 2009-10-06 22:51:09 +0000 and data/icons/24x24/actions/system-shutdown-panel.png 1970-01-01 00:00:00 +0000 differ |
297 | === removed file 'data/icons/24x24/actions/system-shutdown.png' |
298 | Binary files data/icons/24x24/actions/system-shutdown.png 2009-08-07 19:10:15 +0000 and data/icons/24x24/actions/system-shutdown.png 1970-01-01 00:00:00 +0000 differ |
299 | === modified file 'data/icons/24x24/status/user-invisible.png' (properties changed: +x to -x) |
300 | === modified file 'data/icons/32x32/Makefile.am' |
301 | --- data/icons/32x32/Makefile.am 2009-08-07 19:10:15 +0000 |
302 | +++ data/icons/32x32/Makefile.am 2010-01-04 21:25:21 +0000 |
303 | @@ -1,1 +1,1 @@ |
304 | -SUBDIRS = status actions |
305 | +SUBDIRS = status |
306 | |
307 | === removed directory 'data/icons/32x32/actions' |
308 | === removed file 'data/icons/32x32/actions/Makefile.am' |
309 | --- data/icons/32x32/actions/Makefile.am 2009-08-13 04:47:41 +0000 |
310 | +++ data/icons/32x32/actions/Makefile.am 1970-01-01 00:00:00 +0000 |
311 | @@ -1,8 +0,0 @@ |
312 | - |
313 | -iconsdir = $(INDICATORICONSDIR)/hicolor/32x32/actions |
314 | - |
315 | -icons_DATA = \ |
316 | - system-restart.png \ |
317 | - system-log-out.png |
318 | - |
319 | -EXTRA_DIST = $(icons_DATA) |
320 | |
321 | === removed file 'data/icons/32x32/actions/system-log-out.png' |
322 | Binary files data/icons/32x32/actions/system-log-out.png 2009-08-07 19:10:15 +0000 and data/icons/32x32/actions/system-log-out.png 1970-01-01 00:00:00 +0000 differ |
323 | === removed file 'data/icons/32x32/actions/system-restart.png' |
324 | Binary files data/icons/32x32/actions/system-restart.png 2009-08-07 19:10:15 +0000 and data/icons/32x32/actions/system-restart.png 1970-01-01 00:00:00 +0000 differ |
325 | === modified file 'data/icons/32x32/status/user-invisible.png' (properties changed: +x to -x) |
326 | === modified file 'data/icons/48x48/status/user-invisible.png' (properties changed: +x to -x) |
327 | === modified file 'data/icons/scalable/Makefile.am' |
328 | --- data/icons/scalable/Makefile.am 2009-08-07 19:10:15 +0000 |
329 | +++ data/icons/scalable/Makefile.am 2010-01-04 21:25:21 +0000 |
330 | @@ -1,1 +1,1 @@ |
331 | -SUBDIRS = status actions |
332 | +SUBDIRS = status |
333 | |
334 | === removed directory 'data/icons/scalable/actions' |
335 | === removed file 'data/icons/scalable/actions/Makefile.am' |
336 | --- data/icons/scalable/actions/Makefile.am 2009-10-06 22:51:09 +0000 |
337 | +++ data/icons/scalable/actions/Makefile.am 1970-01-01 00:00:00 +0000 |
338 | @@ -1,10 +0,0 @@ |
339 | - |
340 | -iconsdir = $(INDICATORICONSDIR)/hicolor/scalable/actions |
341 | - |
342 | -icons_DATA = \ |
343 | - system-shutdown-panel.svg \ |
344 | - system-restart.svg \ |
345 | - system-log-out.svg \ |
346 | - system-shutdown.svg |
347 | - |
348 | -EXTRA_DIST = $(icons_DATA) |
349 | |
350 | === removed file 'data/icons/scalable/actions/system-log-out.svg' |
351 | --- data/icons/scalable/actions/system-log-out.svg 2009-08-07 19:10:15 +0000 |
352 | +++ data/icons/scalable/actions/system-log-out.svg 1970-01-01 00:00:00 +0000 |
353 | @@ -1,284 +0,0 @@ |
354 | -<?xml version="1.0" encoding="UTF-8" standalone="no"?> |
355 | -<!-- Created with Inkscape (http://www.inkscape.org/) --> |
356 | -<svg |
357 | - xmlns:dc="http://purl.org/dc/elements/1.1/" |
358 | - xmlns:cc="http://web.resource.org/cc/" |
359 | - xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" |
360 | - xmlns:svg="http://www.w3.org/2000/svg" |
361 | - xmlns="http://www.w3.org/2000/svg" |
362 | - xmlns:xlink="http://www.w3.org/1999/xlink" |
363 | - xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" |
364 | - xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" |
365 | - width="48" |
366 | - height="48" |
367 | - id="svg5157" |
368 | - sodipodi:version="0.32" |
369 | - inkscape:version="0.45" |
370 | - version="1.0" |
371 | - sodipodi:docname="system-log-out.svg" |
372 | - sodipodi:docbase="/home/dobey/Projects/gnome-icon-theme/scalable/actions" |
373 | - inkscape:output_extension="org.inkscape.output.svg.inkscape"> |
374 | - <defs |
375 | - id="defs5159"> |
376 | - <linearGradient |
377 | - inkscape:collect="always" |
378 | - id="linearGradient7130"> |
379 | - <stop |
380 | - style="stop-color:#4e9a06;stop-opacity:1" |
381 | - offset="0" |
382 | - id="stop7132" /> |
383 | - <stop |
384 | - style="stop-color:#73d216;stop-opacity:1" |
385 | - offset="1" |
386 | - id="stop7134" /> |
387 | - </linearGradient> |
388 | - <linearGradient |
389 | - id="linearGradient7121"> |
390 | - <stop |
391 | - style="stop-color:#ffffff;stop-opacity:1;" |
392 | - offset="0" |
393 | - id="stop7123" /> |
394 | - <stop |
395 | - style="stop-color:#8ae234;stop-opacity:1" |
396 | - offset="1" |
397 | - id="stop7125" /> |
398 | - </linearGradient> |
399 | - <linearGradient |
400 | - id="linearGradient6998" |
401 | - inkscape:collect="always"> |
402 | - <stop |
403 | - id="stop7000" |
404 | - offset="0" |
405 | - style="stop-color:#000000;stop-opacity:1;" /> |
406 | - <stop |
407 | - id="stop7002" |
408 | - offset="1" |
409 | - style="stop-color:#000000;stop-opacity:0;" /> |
410 | - </linearGradient> |
411 | - <linearGradient |
412 | - inkscape:collect="always" |
413 | - xlink:href="#linearGradient7130" |
414 | - id="linearGradient7145" |
415 | - gradientUnits="userSpaceOnUse" |
416 | - x1="11.5" |
417 | - y1="68.75" |
418 | - x2="-13.247213" |
419 | - y2="21.843145" /> |
420 | - <linearGradient |
421 | - inkscape:collect="always" |
422 | - xlink:href="#linearGradient7121" |
423 | - id="linearGradient7147" |
424 | - gradientUnits="userSpaceOnUse" |
425 | - x1="-33.040741" |
426 | - y1="10.966461" |
427 | - x2="-30.919424" |
428 | - y2="17.448257" /> |
429 | - <radialGradient |
430 | - inkscape:collect="always" |
431 | - xlink:href="#linearGradient6998" |
432 | - id="radialGradient7161" |
433 | - gradientUnits="userSpaceOnUse" |
434 | - gradientTransform="matrix(1,0,0,0.3222749,0,20.728756)" |
435 | - cx="19.688505" |
436 | - cy="30.585787" |
437 | - fx="19.688505" |
438 | - fy="30.585787" |
439 | - r="4.6624851" /> |
440 | - <radialGradient |
441 | - inkscape:collect="always" |
442 | - xlink:href="#linearGradient6998" |
443 | - id="radialGradient7163" |
444 | - gradientUnits="userSpaceOnUse" |
445 | - gradientTransform="matrix(1,0,0,0.3222749,0,20.728756)" |
446 | - cx="19.688505" |
447 | - cy="30.585787" |
448 | - fx="19.688505" |
449 | - fy="30.585787" |
450 | - r="4.6624851" /> |
451 | - </defs> |
452 | - <sodipodi:namedview |
453 | - id="base" |
454 | - pagecolor="#ffffff" |
455 | - bordercolor="#666666" |
456 | - borderopacity="1.0" |
457 | - gridtolerance="10000" |
458 | - guidetolerance="10" |
459 | - objecttolerance="10" |
460 | - inkscape:pageopacity="0.0" |
461 | - inkscape:pageshadow="2" |
462 | - inkscape:zoom="1" |
463 | - inkscape:cx="197.95843" |
464 | - inkscape:cy="28.49025" |
465 | - inkscape:document-units="px" |
466 | - inkscape:current-layer="layer2" |
467 | - width="48px" |
468 | - height="48px" |
469 | - inkscape:window-width="872" |
470 | - inkscape:window-height="624" |
471 | - inkscape:window-x="684" |
472 | - inkscape:window-y="208" |
473 | - showborder="false" |
474 | - inkscape:showpageshadow="false" |
475 | - showgrid="false" |
476 | - showguides="true" |
477 | - inkscape:guide-bbox="true" |
478 | - gridspacingx="0.5px" |
479 | - gridspacingy="0.5px" |
480 | - gridempspacing="2" |
481 | - inkscape:grid-points="true" /> |
482 | - <metadata |
483 | - id="metadata5162"> |
484 | - <rdf:RDF> |
485 | - <cc:Work |
486 | - rdf:about=""> |
487 | - <dc:format>image/svg+xml</dc:format> |
488 | - <dc:type |
489 | - rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> |
490 | - <dc:title>System-log-out</dc:title> |
491 | - <dc:date>2007-08-27</dc:date> |
492 | - <dc:creator> |
493 | - <cc:Agent> |
494 | - <dc:title>Lapo Calamandrei</dc:title> |
495 | - </cc:Agent> |
496 | - </dc:creator> |
497 | - <dc:source /> |
498 | - <cc:license |
499 | - rdf:resource="http://creativecommons.org/licenses/GPL/2.0/" /> |
500 | - <dc:contributor> |
501 | - <cc:Agent> |
502 | - <dc:title>Kalle Persson</dc:title> |
503 | - </cc:Agent> |
504 | - </dc:contributor> |
505 | - <dc:subject> |
506 | - <rdf:Bag> |
507 | - <rdf:li>logout</rdf:li> |
508 | - <rdf:li>exit</rdf:li> |
509 | - <rdf:li>man</rdf:li> |
510 | - <rdf:li>sign</rdf:li> |
511 | - <rdf:li>running</rdf:li> |
512 | - </rdf:Bag> |
513 | - </dc:subject> |
514 | - </cc:Work> |
515 | - <cc:License |
516 | - rdf:about="http://creativecommons.org/licenses/GPL/2.0/"> |
517 | - <cc:permits |
518 | - rdf:resource="http://web.resource.org/cc/Reproduction" /> |
519 | - <cc:permits |
520 | - rdf:resource="http://web.resource.org/cc/Distribution" /> |
521 | - <cc:requires |
522 | - rdf:resource="http://web.resource.org/cc/Notice" /> |
523 | - <cc:permits |
524 | - rdf:resource="http://web.resource.org/cc/DerivativeWorks" /> |
525 | - <cc:requires |
526 | - rdf:resource="http://web.resource.org/cc/ShareAlike" /> |
527 | - <cc:requires |
528 | - rdf:resource="http://web.resource.org/cc/SourceCode" /> |
529 | - </cc:License> |
530 | - </rdf:RDF> |
531 | - </metadata> |
532 | - <g |
533 | - inkscape:label="shadow" |
534 | - inkscape:groupmode="layer" |
535 | - id="layer1" |
536 | - style="display:inline"> |
537 | - <g |
538 | - id="g6227" |
539 | - transform="matrix(0.6759778,0,0,0.8422279,-72.059226,25.879981)" |
540 | - style="opacity:0.33000004" /> |
541 | - <g |
542 | - id="g7008" |
543 | - style="opacity:0.5" |
544 | - transform="matrix(1.2209709,0,0,1.465165,4.32932,-3.7089664)"> |
545 | - <path |
546 | - transform="matrix(1.356682,0,0,1.1785115,-7.0105312,-5.8165354)" |
547 | - d="M 24.35099 30.585787 A 4.6624851 1.5026019 0 1 1 15.02602,30.585787 A 4.6624851 1.5026019 0 1 1 24.35099 30.585787 z" |
548 | - sodipodi:ry="1.5026019" |
549 | - sodipodi:rx="4.6624851" |
550 | - sodipodi:cy="30.585787" |
551 | - sodipodi:cx="19.688505" |
552 | - id="path6984" |
553 | - style="opacity:0.5;fill:url(#radialGradient7161);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.80000001;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0.69999992;stroke-opacity:1" |
554 | - sodipodi:type="arc" /> |
555 | - <path |
556 | - transform="matrix(3.7061179,0,0,1.3310245,-58.247641,-11.710432)" |
557 | - d="M 24.35099 30.585787 A 4.6624851 1.5026019 0 1 1 15.02602,30.585787 A 4.6624851 1.5026019 0 1 1 24.35099 30.585787 z" |
558 | - sodipodi:ry="1.5026019" |
559 | - sodipodi:rx="4.6624851" |
560 | - sodipodi:cy="30.585787" |
561 | - sodipodi:cx="19.688505" |
562 | - id="path6986" |
563 | - style="opacity:0.25;fill:url(#radialGradient7163);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.80000001;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0.69999992;stroke-opacity:1" |
564 | - sodipodi:type="arc" /> |
565 | - </g> |
566 | - </g> |
567 | - <g |
568 | - inkscape:groupmode="layer" |
569 | - id="layer2" |
570 | - inkscape:label="omino"> |
571 | - <g |
572 | - id="g7138" |
573 | - transform="translate(40,0)"> |
574 | - <g |
575 | - id="g7094"> |
576 | - <path |
577 | - id="path5955" |
578 | - d="M -7.5,5.5 C -9.708,5.5 -11.5,7.292 -11.5,9.5 C -11.5,11.708 -9.7080001,13.5 -7.5,13.5 C -5.292,13.5 -3.5000001,11.708 -3.5,9.5 C -3.5,7.292 -5.2920001,5.5 -7.5,5.5 z M -20.6875,11.5 C -21.228728,11.552698 -21.725172,11.823486 -22.0625,12.25 L -26.0625,17.25 C -26.752856,18.112945 -26.612945,19.372144 -25.75,20.0625 C -24.887055,20.752856 -23.627856,20.612945 -22.9375,19.75 L -19.53125,15.5 L -15.75,15.5 L -22.1875,23.3125 C -22.420945,23.645583 -22.50685,24.06221 -22.5,24.5 L -22.5,31.5 L -30.5,31.5 L -30.5,35.5 L -20.5,35.5 C -19.395476,35.49989 -18.50011,34.604524 -18.5,33.5 L -18.5,27.3125 L -13.5,32.3125 L -13.5,40.5 L -9.5,40.5 L -9.5,31.5 L -9.5,30.65625 L -10.09375,30.09375 L -14.84375,25.34375 L -11.5,21.28125 L -11.5,22.5 C -11.49989,23.604524 -10.604524,24.49989 -9.5,24.5 L -2.5,24.5 C -1.778728,24.510201 -1.113613,24.122995 -0.75,23.5 C -0.386387,22.877006 -0.386387,22.122995 -0.75,21.5 C -1.113613,20.877004 -1.778728,20.489799 -2.5,20.5 L -7.5,20.5 L -7.5,16 C -10.390638,16 -12.843604,14.110886 -13.6875,11.5 L -20.5,11.5 C -20.562466,11.497069 -20.625034,11.497069 -20.6875,11.5 z " |
579 | - style="opacity:1;fill:url(#linearGradient7145);fill-opacity:1;fill-rule:evenodd;stroke:#4e9a06;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline" /> |
580 | - </g> |
581 | - <path |
582 | - d="M -20.625,12.5 C -20.883516,12.532601 -21.119099,12.669978 -21.28125,12.875 L -25.28125,17.875 C -25.632167,18.313646 -25.563646,18.930333 -25.125,19.28125 C -24.686354,19.632167 -24.069667,19.563646 -23.71875,19.125 L -20.3125,14.875 C -20.122073,14.638438 -19.834933,14.500611 -19.53125,14.5 L -15.75,14.5 C -15.36741,14.504084 -15.020291,14.724946 -14.854508,15.069775 C -14.688724,15.414605 -14.733008,15.823641 -14.96875,16.125 L -21.375,23.875 C -21.378721,23.880309 -21.37135,23.900494 -21.375,23.90625 L -21.40625,23.9375 C -21.46879,24.048638 -21.50412,24.205427 -21.5,24.46875 C -21.499838,24.479166 -21.499838,24.489584 -21.5,24.5 L -21.5,31.5 C -21.503016,32.051031 -21.948969,32.496984 -22.5,32.5 L -29.5,32.5 L -29.5,34.5 L -20.5,34.5 C -19.938773,34.499944 -19.500056,34.061227 -19.5,33.5 L -19.5,27.3125 C -19.504078,26.903415 -19.259899,26.532643 -18.882467,26.374807 C -18.505035,26.216972 -18.069603,26.303544 -17.78125,26.59375 L -12.78125,31.59375 C -12.595622,31.786381 -12.494406,32.045043 -12.5,32.3125 L -12.5,39.5 L -10.5,39.5 L -10.5,31.5 L -10.5,31.09375 L -10.78125,30.8125 C -10.791666,30.812662 -10.802084,30.812662 -10.8125,30.8125 L -15.5625,26.0625 C -15.923992,25.696513 -15.95096,25.116711 -15.625,24.71875 L -12.28125,20.65625 C -12.013038,20.330928 -11.570348,20.207488 -11.172497,20.347084 C -10.774646,20.486681 -10.506139,20.859664 -10.5,21.28125 L -10.5,22.5 C -10.499944,23.061227 -10.061227,23.499944 -9.5,23.5 L -2.5,23.5 C -2.1471898,23.50499 -1.8109749,23.318639 -1.625,23 C -1.439414,22.682027 -1.4394134,22.317974 -1.625,22 C -1.8109749,21.68136 -2.1471889,21.49501 -2.5,21.5 L -7.5,21.5 C -8.0510308,21.496984 -8.4969843,21.051031 -8.5,20.5 L -8.5,16.84375 C -11.109944,16.483168 -13.278833,14.83457 -14.3125,12.5 L -20.5,12.5 C -20.520828,12.500648 -20.541672,12.500648 -20.5625,12.5 C -20.578034,12.499271 -20.578204,12.5 -20.59375,12.5 C -20.609296,12.5 -20.609466,12.499271 -20.625,12.5 z " |
583 | - id="path7104" |
584 | - style="opacity:1;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#8ae234;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline" |
585 | - inkscape:original="M -20.6875 11.5 C -21.228728 11.552698 -21.725172 11.823486 -22.0625 12.25 L -26.0625 17.25 C -26.752856 18.112945 -26.612945 19.372144 -25.75 20.0625 C -24.887055 20.752856 -23.627856 20.612945 -22.9375 19.75 L -19.53125 15.5 L -15.75 15.5 L -22.1875 23.3125 C -22.420945 23.645583 -22.50685 24.06221 -22.5 24.5 L -22.5 31.5 L -30.5 31.5 L -30.5 35.5 L -20.5 35.5 C -19.395476 35.49989 -18.50011 34.604524 -18.5 33.5 L -18.5 27.3125 L -13.5 32.3125 L -13.5 40.5 L -9.5 40.5 L -9.5 31.5 L -9.5 30.65625 L -10.09375 30.09375 L -14.84375 25.34375 L -11.5 21.28125 L -11.5 22.5 C -11.49989 23.604524 -10.604524 24.49989 -9.5 24.5 L -2.5 24.5 C -1.778728 24.510201 -1.113613 24.122995 -0.75 23.5 C -0.386387 22.877006 -0.386387 22.122995 -0.75 21.5 C -1.113613 20.877004 -1.778728 20.489799 -2.5 20.5 L -7.5 20.5 L -7.5 16 C -10.390638 16 -12.843604 14.110886 -13.6875 11.5 L -20.5 11.5 C -20.562466 11.497069 -20.625034 11.497069 -20.6875 11.5 z " |
586 | - inkscape:radius="-1.0054175" |
587 | - sodipodi:type="inkscape:offset" /> |
588 | - <path |
589 | - sodipodi:nodetypes="cccccccsscccscccccccccccccsccccc" |
590 | - id="path7106" |
591 | - d="M -1.625,22 C -1.810975,21.68136 -2.147189,21.49501 -2.5,21.5 L -7.5,21.5 C -8.051031,21.496984 -8.496984,21.051031 -8.5,20.5 L -8.5,16.84375 C -11.109944,16.483168 -13.278833,14.83457 -14.3125,12.5 L -20.5,12.5 C -20.520828,12.500648 -20.541672,12.500648 -20.5625,12.5 C -20.578034,12.499271 -20.578204,12.5 -20.59375,12.5 C -20.609296,12.5 -20.609466,12.499271 -20.625,12.5 C -20.883516,12.532601 -21.119099,12.669978 -21.28125,12.875 L -25.28125,17.875 C -25.632167,18.313646 -25.563646,18.930333 -25.125,19.28125 M -10.5,31.5 L -10.5,31.09375 L -10.78125,30.8125 C -10.791666,30.812662 -10.802084,30.812662 -10.8125,30.8125 L -15.5625,26.0625 C -15.923992,25.696513 -15.95096,25.116711 -15.625,24.71875 M -12.5,32.3125 L -12.5,39.5 M -14.854508,15.069775 C -14.688724,15.414605 -14.733008,15.823641 -14.96875,16.125 L -21.375,23.875 C -21.378721,23.880309 -21.37135,23.900494 -21.375,23.90625 L -21.40625,23.9375 C -21.46879,24.048638 -21.50412,24.205427 -21.5,24.46875 C -21.499838,24.479166 -21.499838,24.489584 -21.5,24.5 L -21.5,31.5 C -21.503016,32.051031 -21.948969,32.496984 -22.5,32.5 L -29.5,32.5 L -29.5,34.5" |
592 | - style="opacity:0.3;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;display:inline" /> |
593 | - <path |
594 | - inkscape:export-ydpi="90" |
595 | - inkscape:export-xdpi="90" |
596 | - inkscape:export-filename="/home/kalle/Desktop/system-log-out.png" |
597 | - sodipodi:type="arc" |
598 | - style="color:#000000;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient7147);stroke-width:0.6666649;stroke-linecap:round;stroke-linejoin:round;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" |
599 | - id="path7119" |
600 | - sodipodi:cx="-31.5" |
601 | - sodipodi:cy="16" |
602 | - sodipodi:rx="2" |
603 | - sodipodi:ry="2" |
604 | - d="M -29.5 16 A 2 2 0 1 1 -33.5,16 A 2 2 0 1 1 -29.5 16 z" |
605 | - transform="matrix(1.500004,0,0,1.500004,39.750134,-14.500064)" /> |
606 | - </g> |
607 | - <g |
608 | - id="g7055" |
609 | - transform="translate(130,0)"> |
610 | - <path |
611 | - sodipodi:nodetypes="ccc" |
612 | - id="path7045" |
613 | - d="M -28.5,33.5 L -20.5,33.5 L -20.5,24.5" |
614 | - style="opacity:0.4089219;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline" /> |
615 | - <path |
616 | - sodipodi:nodetypes="ccc" |
617 | - id="path7047" |
618 | - d="M -24.5,18.5 L -20.5,13.5 L -11.5,13.5" |
619 | - style="opacity:0.5;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> |
620 | - <path |
621 | - sodipodi:nodetypes="ccc" |
622 | - id="path7049" |
623 | - d="M -2.5,22.5 L -9.5,22.5 L -9.5,13.5" |
624 | - style="opacity:0.5;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> |
625 | - <path |
626 | - sodipodi:nodetypes="ccc" |
627 | - id="path7051" |
628 | - d="M -11.5,38.5 L -11.5,31.5 L -18.5,24.5" |
629 | - style="opacity:0.5;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> |
630 | - <path |
631 | - sodipodi:nodetypes="cc" |
632 | - id="path7053" |
633 | - d="M -10,14 L -19.5,25.5" |
634 | - style="opacity:0.5;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:7;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> |
635 | - </g> |
636 | - </g> |
637 | -</svg> |
638 | |
639 | === removed file 'data/icons/scalable/actions/system-restart.svg' |
640 | --- data/icons/scalable/actions/system-restart.svg 2009-08-07 19:10:15 +0000 |
641 | +++ data/icons/scalable/actions/system-restart.svg 1970-01-01 00:00:00 +0000 |
642 | @@ -1,397 +0,0 @@ |
643 | -<?xml version="1.0" encoding="UTF-8" standalone="no"?> |
644 | -<!-- Created with Inkscape (http://www.inkscape.org/) --> |
645 | -<svg |
646 | - xmlns:dc="http://purl.org/dc/elements/1.1/" |
647 | - xmlns:cc="http://web.resource.org/cc/" |
648 | - xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" |
649 | - xmlns:svg="http://www.w3.org/2000/svg" |
650 | - xmlns="http://www.w3.org/2000/svg" |
651 | - xmlns:xlink="http://www.w3.org/1999/xlink" |
652 | - xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" |
653 | - xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" |
654 | - inkscape:export-ydpi="90.000000" |
655 | - inkscape:export-xdpi="90.000000" |
656 | - inkscape:export-filename="c:\Tango\git\view-refresh.png" |
657 | - width="48" |
658 | - height="48" |
659 | - id="svg11300" |
660 | - sodipodi:version="0.32" |
661 | - inkscape:version="0.45" |
662 | - sodipodi:docbase="/home/dobey/Projects/gnome-icon-theme/scalable/actions" |
663 | - sodipodi:docname="view-refresh.svg" |
664 | - version="1.0" |
665 | - inkscape:r_cx="true" |
666 | - inkscape:r_cy="true" |
667 | - inkscape:output_extension="org.inkscape.output.svg.inkscape"> |
668 | - <defs |
669 | - id="defs3"> |
670 | - <linearGradient |
671 | - inkscape:collect="always" |
672 | - id="linearGradient5335"> |
673 | - <stop |
674 | - style="stop-color:#ffffff;stop-opacity:1;" |
675 | - offset="0" |
676 | - id="stop5337" /> |
677 | - <stop |
678 | - style="stop-color:#ffffff;stop-opacity:0;" |
679 | - offset="1" |
680 | - id="stop5339" /> |
681 | - </linearGradient> |
682 | - <linearGradient |
683 | - id="linearGradient5313"> |
684 | - <stop |
685 | - id="stop5315" |
686 | - offset="0" |
687 | - style="stop-color:#99b8df;stop-opacity:1" /> |
688 | - <stop |
689 | - style="stop-color:#3969a8;stop-opacity:1;" |
690 | - offset="0.23705086" |
691 | - id="stop5333" /> |
692 | - <stop |
693 | - style="stop-color:#4f7eba;stop-opacity:1;" |
694 | - offset="0.54706067" |
695 | - id="stop5317" /> |
696 | - <stop |
697 | - id="stop5321" |
698 | - offset="0.74557692" |
699 | - style="stop-color:#96b6d7;stop-opacity:1" /> |
700 | - <stop |
701 | - style="stop-color:#a0bddc;stop-opacity:1" |
702 | - offset="0.87321436" |
703 | - id="stop5331" /> |
704 | - <stop |
705 | - id="stop5319" |
706 | - offset="1" |
707 | - style="stop-color:#729fcf;stop-opacity:1;" /> |
708 | - </linearGradient> |
709 | - <linearGradient |
710 | - id="linearGradient8152"> |
711 | - <stop |
712 | - style="stop-color:#3465a4;stop-opacity:1;" |
713 | - offset="0" |
714 | - id="stop8154" /> |
715 | - <stop |
716 | - id="stop3174" |
717 | - offset="0.5" |
718 | - style="stop-color:#4f7eba;stop-opacity:1;" /> |
719 | - <stop |
720 | - style="stop-color:#729fcf;stop-opacity:1;" |
721 | - offset="1" |
722 | - id="stop8156" /> |
723 | - </linearGradient> |
724 | - <linearGradient |
725 | - id="linearGradient3207"> |
726 | - <stop |
727 | - style="stop-color:#eeeeec;stop-opacity:0.47058824;" |
728 | - offset="0" |
729 | - id="stop3209" /> |
730 | - <stop |
731 | - style="stop-color:#eeeeec;stop-opacity:0;" |
732 | - offset="1" |
733 | - id="stop3211" /> |
734 | - </linearGradient> |
735 | - <linearGradient |
736 | - inkscape:collect="always" |
737 | - id="linearGradient2847"> |
738 | - <stop |
739 | - style="stop-color:#3465a4;stop-opacity:1;" |
740 | - offset="0" |
741 | - id="stop2849" /> |
742 | - <stop |
743 | - style="stop-color:#3465a4;stop-opacity:0;" |
744 | - offset="1" |
745 | - id="stop2851" /> |
746 | - </linearGradient> |
747 | - <linearGradient |
748 | - id="linearGradient2831"> |
749 | - <stop |
750 | - style="stop-color:#3465a4;stop-opacity:1;" |
751 | - offset="0" |
752 | - id="stop2833" /> |
753 | - <stop |
754 | - id="stop2855" |
755 | - offset="0.33333334" |
756 | - style="stop-color:#5b86be;stop-opacity:1;" /> |
757 | - <stop |
758 | - style="stop-color:#83a8d8;stop-opacity:0;" |
759 | - offset="1" |
760 | - id="stop2835" /> |
761 | - </linearGradient> |
762 | - <linearGradient |
763 | - inkscape:collect="always" |
764 | - id="linearGradient8662"> |
765 | - <stop |
766 | - style="stop-color:#000000;stop-opacity:1;" |
767 | - offset="0" |
768 | - id="stop8664" /> |
769 | - <stop |
770 | - style="stop-color:#000000;stop-opacity:0;" |
771 | - offset="1" |
772 | - id="stop8666" /> |
773 | - </linearGradient> |
774 | - <linearGradient |
775 | - inkscape:collect="always" |
776 | - xlink:href="#linearGradient2831" |
777 | - id="linearGradient1486" |
778 | - gradientUnits="userSpaceOnUse" |
779 | - gradientTransform="matrix(1.0818662,0,0,1.1166851,-0.8207482,-1.8622434)" |
780 | - x1="13.478554" |
781 | - y1="10.612206" |
782 | - x2="15.419417" |
783 | - y2="19.115122" /> |
784 | - <linearGradient |
785 | - inkscape:collect="always" |
786 | - xlink:href="#linearGradient2847" |
787 | - id="linearGradient1488" |
788 | - gradientUnits="userSpaceOnUse" |
789 | - gradientTransform="matrix(-1.0818662,0,0,-1.1166851,50.09459,49.644854)" |
790 | - x1="37.128052" |
791 | - y1="29.729605" |
792 | - x2="37.40255" |
793 | - y2="26.800913" /> |
794 | - <radialGradient |
795 | - inkscape:collect="always" |
796 | - xlink:href="#linearGradient8662" |
797 | - id="radialGradient1503" |
798 | - gradientUnits="userSpaceOnUse" |
799 | - gradientTransform="matrix(1,0,0,0.536723,0,16.87306)" |
800 | - cx="24.837126" |
801 | - cy="36.421127" |
802 | - fx="24.837126" |
803 | - fy="36.421127" |
804 | - r="15.644737" /> |
805 | - <linearGradient |
806 | - inkscape:collect="always" |
807 | - xlink:href="#linearGradient8152" |
808 | - id="linearGradient8158" |
809 | - x1="49.412277" |
810 | - y1="37.904068" |
811 | - x2="11.881318" |
812 | - y2="19.776045" |
813 | - gradientUnits="userSpaceOnUse" /> |
814 | - <linearGradient |
815 | - inkscape:collect="always" |
816 | - xlink:href="#linearGradient2831" |
817 | - id="linearGradient8170" |
818 | - gradientUnits="userSpaceOnUse" |
819 | - gradientTransform="matrix(-1.0818662,0,0,-1.1166851,48.639854,47.862243)" |
820 | - x1="13.478554" |
821 | - y1="10.612206" |
822 | - x2="15.419417" |
823 | - y2="19.115122" /> |
824 | - <linearGradient |
825 | - inkscape:collect="always" |
826 | - xlink:href="#linearGradient2847" |
827 | - id="linearGradient8172" |
828 | - gradientUnits="userSpaceOnUse" |
829 | - gradientTransform="matrix(1.0818662,0,0,1.1166851,-2.2754847,-3.644854)" |
830 | - x1="37.128052" |
831 | - y1="29.729605" |
832 | - x2="37.40255" |
833 | - y2="26.800913" /> |
834 | - <linearGradient |
835 | - inkscape:collect="always" |
836 | - xlink:href="#linearGradient8152" |
837 | - id="linearGradient8174" |
838 | - gradientUnits="userSpaceOnUse" |
839 | - x1="49.412277" |
840 | - y1="37.904068" |
841 | - x2="11.881318" |
842 | - y2="19.776045" /> |
843 | - <linearGradient |
844 | - inkscape:collect="always" |
845 | - xlink:href="#linearGradient3207" |
846 | - id="linearGradient8178" |
847 | - gradientUnits="userSpaceOnUse" |
848 | - x1="5.8925977" |
849 | - y1="20.540676" |
850 | - x2="45.198921" |
851 | - y2="27.721035" /> |
852 | - <linearGradient |
853 | - inkscape:collect="always" |
854 | - xlink:href="#linearGradient5313" |
855 | - id="linearGradient8180" |
856 | - gradientUnits="userSpaceOnUse" |
857 | - x1="61.572533" |
858 | - y1="28.049652" |
859 | - x2="10.969182" |
860 | - y2="20.333939" /> |
861 | - <linearGradient |
862 | - inkscape:collect="always" |
863 | - xlink:href="#linearGradient5335" |
864 | - id="linearGradient5341" |
865 | - x1="8.6878577" |
866 | - y1="25.265626" |
867 | - x2="52.122673" |
868 | - y2="25.265626" |
869 | - gradientUnits="userSpaceOnUse" /> |
870 | - </defs> |
871 | - <sodipodi:namedview |
872 | - stroke="#3465a4" |
873 | - fill="#729fcf" |
874 | - id="base" |
875 | - pagecolor="#ffffff" |
876 | - bordercolor="#e8e8e8" |
877 | - borderopacity="0.86666667" |
878 | - inkscape:pageopacity="0.0" |
879 | - inkscape:pageshadow="2" |
880 | - inkscape:zoom="1" |
881 | - inkscape:cx="48.628749" |
882 | - inkscape:cy="21.704614" |
883 | - inkscape:current-layer="layer1" |
884 | - showgrid="true" |
885 | - inkscape:grid-bbox="true" |
886 | - inkscape:document-units="px" |
887 | - inkscape:showpageshadow="false" |
888 | - inkscape:window-width="892" |
889 | - inkscape:window-height="938" |
890 | - inkscape:window-x="374" |
891 | - inkscape:window-y="37" |
892 | - width="48px" |
893 | - height="48px" |
894 | - borderlayer="true" /> |
895 | - <metadata |
896 | - id="metadata4"> |
897 | - <rdf:RDF> |
898 | - <cc:Work |
899 | - rdf:about=""> |
900 | - <dc:format>image/svg+xml</dc:format> |
901 | - <dc:type |
902 | - rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> |
903 | - <dc:creator> |
904 | - <cc:Agent> |
905 | - <dc:title>Jakub Steiner</dc:title> |
906 | - </cc:Agent> |
907 | - </dc:creator> |
908 | - <dc:source>http://jimmac.musichall.cz</dc:source> |
909 | - <cc:license |
910 | - rdf:resource="http://creativecommons.org/licenses/GPL/2.0/" /> |
911 | - <dc:title>View Refresh</dc:title> |
912 | - <dc:subject> |
913 | - <rdf:Bag> |
914 | - <rdf:li>reload</rdf:li> |
915 | - <rdf:li>refresh</rdf:li> |
916 | - <rdf:li>view</rdf:li> |
917 | - </rdf:Bag> |
918 | - </dc:subject> |
919 | - <dc:contributor> |
920 | - <cc:Agent> |
921 | - <dc:title>Ricardo 'Rick' González</dc:title> |
922 | - </cc:Agent> |
923 | - </dc:contributor> |
924 | - </cc:Work> |
925 | - <cc:License |
926 | - rdf:about="http://creativecommons.org/licenses/GPL/2.0/"> |
927 | - <cc:permits |
928 | - rdf:resource="http://web.resource.org/cc/Reproduction" /> |
929 | - <cc:permits |
930 | - rdf:resource="http://web.resource.org/cc/Distribution" /> |
931 | - <cc:requires |
932 | - rdf:resource="http://web.resource.org/cc/Notice" /> |
933 | - <cc:permits |
934 | - rdf:resource="http://web.resource.org/cc/DerivativeWorks" /> |
935 | - <cc:requires |
936 | - rdf:resource="http://web.resource.org/cc/ShareAlike" /> |
937 | - <cc:requires |
938 | - rdf:resource="http://web.resource.org/cc/SourceCode" /> |
939 | - </cc:License> |
940 | - </rdf:RDF> |
941 | - </metadata> |
942 | - <g |
943 | - id="layer1" |
944 | - inkscape:label="Layer 1" |
945 | - inkscape:groupmode="layer" |
946 | - inkscape:r_cx="true" |
947 | - inkscape:r_cy="true"> |
948 | - <path |
949 | - transform="matrix(-1.5146484,0,0,-0.7917058,60.923237,69.528413)" |
950 | - d="M 40.481863 36.421127 A 15.644737 8.3968935 0 1 1 9.1923885,36.421127 A 15.644737 8.3968935 0 1 1 40.481863 36.421127 z" |
951 | - sodipodi:ry="8.3968935" |
952 | - sodipodi:rx="15.644737" |
953 | - sodipodi:cy="36.421127" |
954 | - sodipodi:cx="24.837126" |
955 | - id="path8660" |
956 | - style="opacity:0.36111109;color:#000000;fill:url(#radialGradient1503);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:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" |
957 | - sodipodi:type="arc" |
958 | - inkscape:r_cx="true" |
959 | - inkscape:r_cy="true" /> |
960 | - <path |
961 | - style="color:#000000;fill:url(#linearGradient1486);fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient1488);stroke-width:1.04300582000000008;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:block;overflow:visible;opacity:0.51807229" |
962 | - d="M 20.478497,9.7711467 C 20.478497,9.7711467 12.632988,7.9438002 14.368023,21.024298 L 5.1028658,21.024298 C 5.1028658,21.024298 6.0085332,7.5377773 20.478497,9.7711467 z " |
963 | - id="path2865" |
964 | - inkscape:r_cx="true" |
965 | - inkscape:r_cy="true" |
966 | - sodipodi:nodetypes="cccc" /> |
967 | - <g |
968 | - id="g1878" |
969 | - transform="matrix(-0.6129282,-0.5154381,-0.5178496,0.610074,58.686164,13.911361)" |
970 | - inkscape:r_cx="true" |
971 | - inkscape:r_cy="true" |
972 | - style="fill:url(#linearGradient8158);fill-opacity:1;stroke:#204a87;stroke-width:1.24932528;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"> |
973 | - <path |
974 | - sodipodi:nodetypes="ccccccc" |
975 | - id="path1880" |
976 | - d="M 45.862102,50.273522 C 62.924432,34.96305 47.150241,15.929711 22.760624,12.513943 L 22.113577,3.1522143 L 7.613534,20.510135 L 22.703188,33.23244 C 22.703188,33.23244 22.454828,23.347105 22.454828,23.347105 C 41.289895,24.339584 54.775794,35.675041 45.862102,50.273522 z " |
977 | - style="opacity:1;color:#000000;fill:url(#linearGradient8180);fill-opacity:1;fill-rule:nonzero;stroke:#204a87;stroke-width:1.24977946000000006;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:block;overflow:visible" |
978 | - inkscape:r_cx="true" |
979 | - inkscape:r_cy="true" /> |
980 | - </g> |
981 | - <g |
982 | - style="fill:none;fill-opacity:1;stroke:url(#linearGradient5341);stroke-width:1.24928653000000001;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;opacity:0.54819277" |
983 | - inkscape:r_cy="true" |
984 | - inkscape:r_cx="true" |
985 | - transform="matrix(-0.612811,-0.5154406,-0.5177506,0.6100769,58.675633,13.911365)" |
986 | - id="g3185"> |
987 | - <path |
988 | - sodipodi:type="inkscape:offset" |
989 | - inkscape:radius="-1.197237" |
990 | - inkscape:original="M 22.125 3.15625 L 7.625 20.5 L 22.71875 33.21875 C 22.718749 33.21875 22.46875 23.34375 22.46875 23.34375 C 41.298509 24.342727 54.468144 35.661007 45.5625 50.25 C 62.614067 34.952315 46.852277 15.923275 22.46875 12.5 L 22.125 3.15625 z " |
991 | - style="opacity:1;color:#000000;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient5341);stroke-width:1.24928653000000001;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:block;overflow:visible" |
992 | - id="path3189" |
993 | - d="M 21.0625,6.3125 L 9.3125,20.34375 L 21.46875,30.59375 C 21.39688,27.754893 21.28125,23.375 21.28125,23.375 C 21.27502,23.044409 21.405774,22.725958 21.642519,22.495132 C 21.879264,22.264306 22.200923,22.141654 22.53125,22.15625 C 32.170255,22.667629 40.441027,25.773015 45.28125,30.875 C 48.676469,34.453835 50.102049,39.131532 49.125,44.21875 C 50.368339,42.205641 51.107893,40.194594 51.375,38.21875 C 51.870422,34.55401 50.856988,30.946652 48.5625,27.59375 C 43.973525,20.887947 34.236978,15.361613 22.3125,13.6875 C 21.732114,13.606381 21.295727,13.117098 21.28125,12.53125 L 21.0625,6.3125 z " |
994 | - transform="translate(1.0080026e-6,8.5223784e-7)" /> |
995 | - </g> |
996 | - <g |
997 | - id="g2424" |
998 | - transform="matrix(0.190868,0.16126,0.16126,-0.190868,-0.719083,15.30613)" |
999 | - inkscape:r_cx="true" |
1000 | - inkscape:r_cy="true" |
1001 | - style="opacity:0.5;fill:none;fill-opacity:1;stroke:#ffffff;stroke-opacity:1" /> |
1002 | - <path |
1003 | - sodipodi:nodetypes="cccc" |
1004 | - inkscape:r_cy="true" |
1005 | - inkscape:r_cx="true" |
1006 | - id="path8160" |
1007 | - d="M 27.340608,36.228853 C 27.340608,36.228853 35.186117,38.0562 33.451082,24.975702 L 42.71624,24.975702 C 42.71624,24.975702 41.810572,38.462223 27.340608,36.228853 z " |
1008 | - style="color:#000000;fill:url(#linearGradient8170);fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient8172);stroke-width:1.04300582000000008;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:block;overflow:visible;opacity:0.51807229" /> |
1009 | - <g |
1010 | - style="fill:url(#linearGradient8174);fill-opacity:1;stroke:#204a87;stroke-width:1.24932528;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" |
1011 | - inkscape:r_cy="true" |
1012 | - inkscape:r_cx="true" |
1013 | - transform="matrix(0.6101332,0.5154999,0.5154881,-0.6101471,-10.618024,32.088556)" |
1014 | - id="g8162"> |
1015 | - <path |
1016 | - inkscape:r_cy="true" |
1017 | - inkscape:r_cx="true" |
1018 | - style="opacity:1;color:#000000;fill:url(#linearGradient8180);fill-opacity:1;fill-rule:nonzero;stroke:#204a87;stroke-width:1.25256376;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:block;overflow:visible;enable-background:accumulate" |
1019 | - d="M 45.862102,50.273522 C 62.924432,34.96305 47.150241,15.929711 22.760624,12.513943 L 22.113577,3.1522141 L 7.6135337,20.510135 L 22.703188,33.23244 C 22.703188,33.23244 22.454828,23.347105 22.454828,23.347105 C 41.289895,24.339584 54.775794,35.675041 45.862102,50.273522 z " |
1020 | - id="path8164" |
1021 | - sodipodi:nodetypes="ccccccc" /> |
1022 | - </g> |
1023 | - <g |
1024 | - id="g8166" |
1025 | - transform="matrix(0.6128107,0.5154406,0.5177504,-0.6100769,-10.856505,32.088635)" |
1026 | - inkscape:r_cx="true" |
1027 | - inkscape:r_cy="true" |
1028 | - style="fill:none;fill-opacity:1;stroke:#204a87;stroke-width:1.24928653;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"> |
1029 | - <path |
1030 | - transform="matrix(0.9972307,-2.4605589e-3,-2.4605593e-3,0.9980642,0.2457029,0.2077351)" |
1031 | - d="M 21.0625,6.3125 L 9.3125,20.34375 L 21.46875,30.59375 C 21.39688,27.754893 21.28125,23.375 21.28125,23.375 C 21.27502,23.044409 21.405774,22.725958 21.642519,22.495132 C 21.879264,22.264306 22.200923,22.141654 22.53125,22.15625 C 32.170255,22.667629 40.441027,25.773015 45.28125,30.875 C 48.676469,34.453835 50.102049,39.131532 49.125,44.21875 C 50.368339,42.205641 51.107893,40.194594 51.375,38.21875 C 51.870422,34.55401 50.856988,30.946652 48.5625,27.59375 C 43.973525,20.887947 34.236978,15.361613 22.3125,13.6875 C 21.732114,13.606381 21.295727,13.117098 21.28125,12.53125 L 21.0625,6.3125 z " |
1032 | - id="path8168" |
1033 | - style="opacity:1;color:#000000;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient8178);stroke-width:1.24973191;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:0.70588235;visibility:visible;display:block;overflow:visible" |
1034 | - inkscape:original="M 22.125 3.15625 L 7.625 20.5 L 22.71875 33.21875 C 22.718749 33.21875 22.46875 23.34375 22.46875 23.34375 C 41.298509 24.342727 54.468144 35.661007 45.5625 50.25 C 62.614067 34.952315 46.852277 15.923275 22.46875 12.5 L 22.125 3.15625 z " |
1035 | - inkscape:radius="-1.197237" |
1036 | - sodipodi:type="inkscape:offset" /> |
1037 | - </g> |
1038 | - </g> |
1039 | -</svg> |
1040 | |
1041 | === removed file 'data/icons/scalable/actions/system-shutdown-panel.svg' |
1042 | --- data/icons/scalable/actions/system-shutdown-panel.svg 2009-10-06 22:51:09 +0000 |
1043 | +++ data/icons/scalable/actions/system-shutdown-panel.svg 1970-01-01 00:00:00 +0000 |
1044 | @@ -1,247 +0,0 @@ |
1045 | -<?xml version="1.0" encoding="UTF-8" standalone="no"?> |
1046 | -<!-- Created with Inkscape (http://www.inkscape.org/) --> |
1047 | -<svg |
1048 | - xmlns:dc="http://purl.org/dc/elements/1.1/" |
1049 | - xmlns:cc="http://web.resource.org/cc/" |
1050 | - xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" |
1051 | - xmlns:svg="http://www.w3.org/2000/svg" |
1052 | - xmlns="http://www.w3.org/2000/svg" |
1053 | - xmlns:xlink="http://www.w3.org/1999/xlink" |
1054 | - xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" |
1055 | - xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" |
1056 | - sodipodi:docname="gnome-shutdown.svg" |
1057 | - sodipodi:docbase="/home/dobey/Projects/gnome-icon-theme/scalable/apps" |
1058 | - inkscape:version="0.45" |
1059 | - sodipodi:version="0.32" |
1060 | - id="svg11142" |
1061 | - height="48" |
1062 | - width="48" |
1063 | - version="1.0" |
1064 | - inkscape:output_extension="org.inkscape.output.svg.inkscape"> |
1065 | - <defs |
1066 | - id="defs3"> |
1067 | - <linearGradient |
1068 | - id="linearGradient4749"> |
1069 | - <stop |
1070 | - id="stop4751" |
1071 | - offset="0" |
1072 | - style="stop-color:#ffffff;stop-opacity:1;" /> |
1073 | - <stop |
1074 | - style="stop-color:#ffffff;stop-opacity:0.0000000;" |
1075 | - offset="0.50000000" |
1076 | - id="stop4757" /> |
1077 | - <stop |
1078 | - id="stop4753" |
1079 | - offset="1.0000000" |
1080 | - style="stop-color:#ffffff;stop-opacity:1.0000000;" /> |
1081 | - </linearGradient> |
1082 | - <linearGradient |
1083 | - id="linearGradient11264" |
1084 | - inkscape:collect="always"> |
1085 | - <stop |
1086 | - id="stop11266" |
1087 | - offset="0" |
1088 | - style="stop-color:#000000;stop-opacity:1;" /> |
1089 | - <stop |
1090 | - id="stop11268" |
1091 | - offset="1" |
1092 | - style="stop-color:#000000;stop-opacity:0;" /> |
1093 | - </linearGradient> |
1094 | - <linearGradient |
1095 | - id="linearGradient11178"> |
1096 | - <stop |
1097 | - style="stop-color:#d1d1cc;stop-opacity:1.0000000;" |
1098 | - offset="0.0000000" |
1099 | - id="stop11180" /> |
1100 | - <stop |
1101 | - id="stop4735" |
1102 | - offset="0.50000000" |
1103 | - style="stop-color:#d1d1d1;stop-opacity:1.0000000;" /> |
1104 | - <stop |
1105 | - style="stop-color:#b9b9b9;stop-opacity:1.0000000;" |
1106 | - offset="1.0000000" |
1107 | - id="stop11188" /> |
1108 | - </linearGradient> |
1109 | - <linearGradient |
1110 | - id="linearGradient11164"> |
1111 | - <stop |
1112 | - id="stop11166" |
1113 | - offset="0" |
1114 | - style="stop-color:#eeeeec;stop-opacity:1;" /> |
1115 | - <stop |
1116 | - style="stop-color:#c6c6bf;stop-opacity:1.0000000;" |
1117 | - offset="0.26988637" |
1118 | - id="stop11172" /> |
1119 | - <stop |
1120 | - id="stop11176" |
1121 | - offset="0.37900311" |
1122 | - style="stop-color:#f9f9f8;stop-opacity:1.0000000;" /> |
1123 | - <stop |
1124 | - id="stop11174" |
1125 | - offset="0.75000000" |
1126 | - style="stop-color:#c8c8c2;stop-opacity:1.0000000;" /> |
1127 | - <stop |
1128 | - id="stop11168" |
1129 | - offset="1.0000000" |
1130 | - style="stop-color:#eeeeec;stop-opacity:1.0000000;" /> |
1131 | - </linearGradient> |
1132 | - <linearGradient |
1133 | - gradientUnits="userSpaceOnUse" |
1134 | - y2="23.071428" |
1135 | - x2="42.471249" |
1136 | - y1="23.071428" |
1137 | - x1="7.1433797" |
1138 | - id="linearGradient11170" |
1139 | - xlink:href="#linearGradient11164" |
1140 | - inkscape:collect="always" /> |
1141 | - <radialGradient |
1142 | - gradientTransform="matrix(1.364252,-9.115392e-17,9.115392e-17,1.364252,-9.47947,-5.618016)" |
1143 | - gradientUnits="userSpaceOnUse" |
1144 | - r="18.672388" |
1145 | - fy="17.224812" |
1146 | - fx="24.673435" |
1147 | - cy="17.224812" |
1148 | - cx="24.673435" |
1149 | - id="radialGradient11234" |
1150 | - xlink:href="#linearGradient11178" |
1151 | - inkscape:collect="always" /> |
1152 | - <radialGradient |
1153 | - gradientUnits="userSpaceOnUse" |
1154 | - r="18.214285" |
1155 | - fy="23.071428" |
1156 | - fx="25.785715" |
1157 | - cy="23.071428" |
1158 | - cx="25.785715" |
1159 | - id="radialGradient11270" |
1160 | - xlink:href="#linearGradient11264" |
1161 | - inkscape:collect="always" /> |
1162 | - <linearGradient |
1163 | - gradientUnits="userSpaceOnUse" |
1164 | - y2="8.5882788" |
1165 | - x2="25.785715" |
1166 | - y1="21.978363" |
1167 | - x1="25.785715" |
1168 | - id="linearGradient4755" |
1169 | - xlink:href="#linearGradient4749" |
1170 | - inkscape:collect="always" /> |
1171 | - </defs> |
1172 | - <sodipodi:namedview |
1173 | - inkscape:window-y="423" |
1174 | - inkscape:window-x="840" |
1175 | - inkscape:window-height="606" |
1176 | - inkscape:window-width="750" |
1177 | - stroke="#555753" |
1178 | - fill="#edd400" |
1179 | - inkscape:showpageshadow="false" |
1180 | - inkscape:document-units="px" |
1181 | - inkscape:grid-bbox="true" |
1182 | - showgrid="false" |
1183 | - inkscape:current-layer="layer1" |
1184 | - inkscape:cy="-10.815272" |
1185 | - inkscape:cx="85.353158" |
1186 | - inkscape:zoom="1" |
1187 | - inkscape:pageshadow="2" |
1188 | - inkscape:pageopacity="0.0" |
1189 | - borderopacity="0.32941176" |
1190 | - bordercolor="#666666" |
1191 | - pagecolor="#ffffff" |
1192 | - id="base" |
1193 | - showguides="true" |
1194 | - inkscape:guide-bbox="true" /> |
1195 | - <metadata |
1196 | - id="metadata4"> |
1197 | - <rdf:RDF> |
1198 | - <cc:Work |
1199 | - rdf:about=""> |
1200 | - <dc:format>image/svg+xml</dc:format> |
1201 | - <dc:type |
1202 | - rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> |
1203 | - <dc:title>Shutdown</dc:title> |
1204 | - <dc:creator> |
1205 | - <cc:Agent> |
1206 | - <dc:title>Jakub Steiner</dc:title> |
1207 | - </cc:Agent> |
1208 | - </dc:creator> |
1209 | - <cc:license |
1210 | - rdf:resource="http://creativecommons.org/licenses/GPL/2.0/" /> |
1211 | - <dc:source>http://jimmac.musichall.cz</dc:source> |
1212 | - <dc:subject> |
1213 | - <rdf:Bag> |
1214 | - <rdf:li>lock</rdf:li> |
1215 | - <rdf:li>key</rdf:li> |
1216 | - <rdf:li>secure</rdf:li> |
1217 | - </rdf:Bag> |
1218 | - </dc:subject> |
1219 | - </cc:Work> |
1220 | - <cc:License |
1221 | - rdf:about="http://creativecommons.org/licenses/GPL/2.0/"> |
1222 | - <cc:permits |
1223 | - rdf:resource="http://web.resource.org/cc/Reproduction" /> |
1224 | - <cc:permits |
1225 | - rdf:resource="http://web.resource.org/cc/Distribution" /> |
1226 | - <cc:requires |
1227 | - rdf:resource="http://web.resource.org/cc/Notice" /> |
1228 | - <cc:permits |
1229 | - rdf:resource="http://web.resource.org/cc/DerivativeWorks" /> |
1230 | - <cc:requires |
1231 | - rdf:resource="http://web.resource.org/cc/ShareAlike" /> |
1232 | - <cc:requires |
1233 | - rdf:resource="http://web.resource.org/cc/SourceCode" /> |
1234 | - </cc:License> |
1235 | - </rdf:RDF> |
1236 | - </metadata> |
1237 | - <g |
1238 | - inkscape:groupmode="layer" |
1239 | - inkscape:label="Layer 1" |
1240 | - id="layer1"> |
1241 | - <path |
1242 | - sodipodi:type="arc" |
1243 | - style="opacity:1;color:#000000;fill:url(#radialGradient11270);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.8505457;stroke-linecap:round;stroke-linejoin:round;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" |
1244 | - id="path11262" |
1245 | - sodipodi:cx="25.785715" |
1246 | - sodipodi:cy="23.071428" |
1247 | - sodipodi:rx="18.214285" |
1248 | - sodipodi:ry="18.214285" |
1249 | - d="M 44 23.071428 A 18.214285 18.214285 0 1 1 7.5714302,23.071428 A 18.214285 18.214285 0 1 1 44 23.071428 z" |
1250 | - transform="matrix(1.269833,0,0,1.269833,-9.24356,-4.225444)" /> |
1251 | - <path |
1252 | - transform="matrix(1.175715,0,0,1.175715,-6.816669,-3.911156)" |
1253 | - d="M 44 23.071428 A 18.214285 18.214285 0 1 1 7.5714302,23.071428 A 18.214285 18.214285 0 1 1 44 23.071428 z" |
1254 | - sodipodi:ry="18.214285" |
1255 | - sodipodi:rx="18.214285" |
1256 | - sodipodi:cy="23.071428" |
1257 | - sodipodi:cx="25.785715" |
1258 | - id="path11152" |
1259 | - style="opacity:1;color:#000000;fill:url(#linearGradient11170);fill-opacity:1;fill-rule:evenodd;stroke:#74796e;stroke-width:0.8505457;stroke-linecap:round;stroke-linejoin:round;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" |
1260 | - sodipodi:type="arc" /> |
1261 | - <path |
1262 | - sodipodi:type="arc" |
1263 | - style="opacity:1;color:#000000;fill:url(#radialGradient11234);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.93590021;stroke-linecap:round;stroke-linejoin:round;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" |
1264 | - id="path11154" |
1265 | - sodipodi:cx="25.785715" |
1266 | - sodipodi:cy="23.071428" |
1267 | - sodipodi:rx="18.214285" |
1268 | - sodipodi:ry="18.214285" |
1269 | - d="M 44 23.071428 A 18.214285 18.214285 0 1 1 7.5714302,23.071428 A 18.214285 18.214285 0 1 1 44 23.071428 z" |
1270 | - transform="matrix(1.06849,0,0,1.06849,-4.051771,-2.437299)" /> |
1271 | - <path |
1272 | - sodipodi:nodetypes="czs" |
1273 | - id="path4743" |
1274 | - d="M 19.1468,14.674063 C 12.154448,18.486901 15.316371,29.412893 23.310313,29.412893 C 31.220984,29.412893 34.766419,19.054547 27.473824,14.674063" |
1275 | - style="opacity:1;color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#555753;stroke-width:3;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" /> |
1276 | - <path |
1277 | - id="path4745" |
1278 | - d="M 23.364832,19.364034 L 23.364832,11.95091" |
1279 | - style="opacity:1;color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#555753;stroke-width:2.99999905;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" /> |
1280 | - <path |
1281 | - transform="matrix(1.04555,0,0,1.04555,-3.460245,-1.908039)" |
1282 | - d="M 44 23.071428 A 18.214285 18.214285 0 1 1 7.5714302,23.071428 A 18.214285 18.214285 0 1 1 44 23.071428 z" |
1283 | - sodipodi:ry="18.214285" |
1284 | - sodipodi:rx="18.214285" |
1285 | - sodipodi:cy="23.071428" |
1286 | - sodipodi:cx="25.785715" |
1287 | - id="path4747" |
1288 | - style="opacity:0.88235294;color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient4755);stroke-width:0.95643449;stroke-linecap:round;stroke-linejoin:round;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" |
1289 | - sodipodi:type="arc" /> |
1290 | - </g> |
1291 | -</svg> |
1292 | |
1293 | === removed file 'data/icons/scalable/actions/system-shutdown.svg' |
1294 | --- data/icons/scalable/actions/system-shutdown.svg 2009-08-07 19:10:15 +0000 |
1295 | +++ data/icons/scalable/actions/system-shutdown.svg 1970-01-01 00:00:00 +0000 |
1296 | @@ -1,247 +0,0 @@ |
1297 | -<?xml version="1.0" encoding="UTF-8" standalone="no"?> |
1298 | -<!-- Created with Inkscape (http://www.inkscape.org/) --> |
1299 | -<svg |
1300 | - xmlns:dc="http://purl.org/dc/elements/1.1/" |
1301 | - xmlns:cc="http://web.resource.org/cc/" |
1302 | - xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" |
1303 | - xmlns:svg="http://www.w3.org/2000/svg" |
1304 | - xmlns="http://www.w3.org/2000/svg" |
1305 | - xmlns:xlink="http://www.w3.org/1999/xlink" |
1306 | - xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" |
1307 | - xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" |
1308 | - sodipodi:docname="gnome-shutdown.svg" |
1309 | - sodipodi:docbase="/home/dobey/Projects/gnome-icon-theme/scalable/apps" |
1310 | - inkscape:version="0.45" |
1311 | - sodipodi:version="0.32" |
1312 | - id="svg11142" |
1313 | - height="48" |
1314 | - width="48" |
1315 | - version="1.0" |
1316 | - inkscape:output_extension="org.inkscape.output.svg.inkscape"> |
1317 | - <defs |
1318 | - id="defs3"> |
1319 | - <linearGradient |
1320 | - id="linearGradient4749"> |
1321 | - <stop |
1322 | - id="stop4751" |
1323 | - offset="0" |
1324 | - style="stop-color:#ffffff;stop-opacity:1;" /> |
1325 | - <stop |
1326 | - style="stop-color:#ffffff;stop-opacity:0.0000000;" |
1327 | - offset="0.50000000" |
1328 | - id="stop4757" /> |
1329 | - <stop |
1330 | - id="stop4753" |
1331 | - offset="1.0000000" |
1332 | - style="stop-color:#ffffff;stop-opacity:1.0000000;" /> |
1333 | - </linearGradient> |
1334 | - <linearGradient |
1335 | - id="linearGradient11264" |
1336 | - inkscape:collect="always"> |
1337 | - <stop |
1338 | - id="stop11266" |
1339 | - offset="0" |
1340 | - style="stop-color:#000000;stop-opacity:1;" /> |
1341 | - <stop |
1342 | - id="stop11268" |
1343 | - offset="1" |
1344 | - style="stop-color:#000000;stop-opacity:0;" /> |
1345 | - </linearGradient> |
1346 | - <linearGradient |
1347 | - id="linearGradient11178"> |
1348 | - <stop |
1349 | - style="stop-color:#d1d1cc;stop-opacity:1.0000000;" |
1350 | - offset="0.0000000" |
1351 | - id="stop11180" /> |
1352 | - <stop |
1353 | - id="stop4735" |
1354 | - offset="0.50000000" |
1355 | - style="stop-color:#d1d1d1;stop-opacity:1.0000000;" /> |
1356 | - <stop |
1357 | - style="stop-color:#b9b9b9;stop-opacity:1.0000000;" |
1358 | - offset="1.0000000" |
1359 | - id="stop11188" /> |
1360 | - </linearGradient> |
1361 | - <linearGradient |
1362 | - id="linearGradient11164"> |
1363 | - <stop |
1364 | - id="stop11166" |
1365 | - offset="0" |
1366 | - style="stop-color:#eeeeec;stop-opacity:1;" /> |
1367 | - <stop |
1368 | - style="stop-color:#c6c6bf;stop-opacity:1.0000000;" |
1369 | - offset="0.26988637" |
1370 | - id="stop11172" /> |
1371 | - <stop |
1372 | - id="stop11176" |
1373 | - offset="0.37900311" |
1374 | - style="stop-color:#f9f9f8;stop-opacity:1.0000000;" /> |
1375 | - <stop |
1376 | - id="stop11174" |
1377 | - offset="0.75000000" |
1378 | - style="stop-color:#c8c8c2;stop-opacity:1.0000000;" /> |
1379 | - <stop |
1380 | - id="stop11168" |
1381 | - offset="1.0000000" |
1382 | - style="stop-color:#eeeeec;stop-opacity:1.0000000;" /> |
1383 | - </linearGradient> |
1384 | - <linearGradient |
1385 | - gradientUnits="userSpaceOnUse" |
1386 | - y2="23.071428" |
1387 | - x2="42.471249" |
1388 | - y1="23.071428" |
1389 | - x1="7.1433797" |
1390 | - id="linearGradient11170" |
1391 | - xlink:href="#linearGradient11164" |
1392 | - inkscape:collect="always" /> |
1393 | - <radialGradient |
1394 | - gradientTransform="matrix(1.364252,-9.115392e-17,9.115392e-17,1.364252,-9.47947,-5.618016)" |
1395 | - gradientUnits="userSpaceOnUse" |
1396 | - r="18.672388" |
1397 | - fy="17.224812" |
1398 | - fx="24.673435" |
1399 | - cy="17.224812" |
1400 | - cx="24.673435" |
1401 | - id="radialGradient11234" |
1402 | - xlink:href="#linearGradient11178" |
1403 | - inkscape:collect="always" /> |
1404 | - <radialGradient |
1405 | - gradientUnits="userSpaceOnUse" |
1406 | - r="18.214285" |
1407 | - fy="23.071428" |
1408 | - fx="25.785715" |
1409 | - cy="23.071428" |
1410 | - cx="25.785715" |
1411 | - id="radialGradient11270" |
1412 | - xlink:href="#linearGradient11264" |
1413 | - inkscape:collect="always" /> |
1414 | - <linearGradient |
1415 | - gradientUnits="userSpaceOnUse" |
1416 | - y2="8.5882788" |
1417 | - x2="25.785715" |
1418 | - y1="21.978363" |
1419 | - x1="25.785715" |
1420 | - id="linearGradient4755" |
1421 | - xlink:href="#linearGradient4749" |
1422 | - inkscape:collect="always" /> |
1423 | - </defs> |
1424 | - <sodipodi:namedview |
1425 | - inkscape:window-y="423" |
1426 | - inkscape:window-x="840" |
1427 | - inkscape:window-height="606" |
1428 | - inkscape:window-width="750" |
1429 | - stroke="#555753" |
1430 | - fill="#edd400" |
1431 | - inkscape:showpageshadow="false" |
1432 | - inkscape:document-units="px" |
1433 | - inkscape:grid-bbox="true" |
1434 | - showgrid="false" |
1435 | - inkscape:current-layer="layer1" |
1436 | - inkscape:cy="-10.815272" |
1437 | - inkscape:cx="85.353158" |
1438 | - inkscape:zoom="1" |
1439 | - inkscape:pageshadow="2" |
1440 | - inkscape:pageopacity="0.0" |
1441 | - borderopacity="0.32941176" |
1442 | - bordercolor="#666666" |
1443 | - pagecolor="#ffffff" |
1444 | - id="base" |
1445 | - showguides="true" |
1446 | - inkscape:guide-bbox="true" /> |
1447 | - <metadata |
1448 | - id="metadata4"> |
1449 | - <rdf:RDF> |
1450 | - <cc:Work |
1451 | - rdf:about=""> |
1452 | - <dc:format>image/svg+xml</dc:format> |
1453 | - <dc:type |
1454 | - rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> |
1455 | - <dc:title>Shutdown</dc:title> |
1456 | - <dc:creator> |
1457 | - <cc:Agent> |
1458 | - <dc:title>Jakub Steiner</dc:title> |
1459 | - </cc:Agent> |
1460 | - </dc:creator> |
1461 | - <cc:license |
1462 | - rdf:resource="http://creativecommons.org/licenses/GPL/2.0/" /> |
1463 | - <dc:source>http://jimmac.musichall.cz</dc:source> |
1464 | - <dc:subject> |
1465 | - <rdf:Bag> |
1466 | - <rdf:li>lock</rdf:li> |
1467 | - <rdf:li>key</rdf:li> |
1468 | - <rdf:li>secure</rdf:li> |
1469 | - </rdf:Bag> |
1470 | - </dc:subject> |
1471 | - </cc:Work> |
1472 | - <cc:License |
1473 | - rdf:about="http://creativecommons.org/licenses/GPL/2.0/"> |
1474 | - <cc:permits |
1475 | - rdf:resource="http://web.resource.org/cc/Reproduction" /> |
1476 | - <cc:permits |
1477 | - rdf:resource="http://web.resource.org/cc/Distribution" /> |
1478 | - <cc:requires |
1479 | - rdf:resource="http://web.resource.org/cc/Notice" /> |
1480 | - <cc:permits |
1481 | - rdf:resource="http://web.resource.org/cc/DerivativeWorks" /> |
1482 | - <cc:requires |
1483 | - rdf:resource="http://web.resource.org/cc/ShareAlike" /> |
1484 | - <cc:requires |
1485 | - rdf:resource="http://web.resource.org/cc/SourceCode" /> |
1486 | - </cc:License> |
1487 | - </rdf:RDF> |
1488 | - </metadata> |
1489 | - <g |
1490 | - inkscape:groupmode="layer" |
1491 | - inkscape:label="Layer 1" |
1492 | - id="layer1"> |
1493 | - <path |
1494 | - sodipodi:type="arc" |
1495 | - style="opacity:1;color:#000000;fill:url(#radialGradient11270);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.8505457;stroke-linecap:round;stroke-linejoin:round;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" |
1496 | - id="path11262" |
1497 | - sodipodi:cx="25.785715" |
1498 | - sodipodi:cy="23.071428" |
1499 | - sodipodi:rx="18.214285" |
1500 | - sodipodi:ry="18.214285" |
1501 | - d="M 44 23.071428 A 18.214285 18.214285 0 1 1 7.5714302,23.071428 A 18.214285 18.214285 0 1 1 44 23.071428 z" |
1502 | - transform="matrix(1.269833,0,0,1.269833,-9.24356,-4.225444)" /> |
1503 | - <path |
1504 | - transform="matrix(1.175715,0,0,1.175715,-6.816669,-3.911156)" |
1505 | - d="M 44 23.071428 A 18.214285 18.214285 0 1 1 7.5714302,23.071428 A 18.214285 18.214285 0 1 1 44 23.071428 z" |
1506 | - sodipodi:ry="18.214285" |
1507 | - sodipodi:rx="18.214285" |
1508 | - sodipodi:cy="23.071428" |
1509 | - sodipodi:cx="25.785715" |
1510 | - id="path11152" |
1511 | - style="opacity:1;color:#000000;fill:url(#linearGradient11170);fill-opacity:1;fill-rule:evenodd;stroke:#74796e;stroke-width:0.8505457;stroke-linecap:round;stroke-linejoin:round;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" |
1512 | - sodipodi:type="arc" /> |
1513 | - <path |
1514 | - sodipodi:type="arc" |
1515 | - style="opacity:1;color:#000000;fill:url(#radialGradient11234);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.93590021;stroke-linecap:round;stroke-linejoin:round;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" |
1516 | - id="path11154" |
1517 | - sodipodi:cx="25.785715" |
1518 | - sodipodi:cy="23.071428" |
1519 | - sodipodi:rx="18.214285" |
1520 | - sodipodi:ry="18.214285" |
1521 | - d="M 44 23.071428 A 18.214285 18.214285 0 1 1 7.5714302,23.071428 A 18.214285 18.214285 0 1 1 44 23.071428 z" |
1522 | - transform="matrix(1.06849,0,0,1.06849,-4.051771,-2.437299)" /> |
1523 | - <path |
1524 | - sodipodi:nodetypes="czs" |
1525 | - id="path4743" |
1526 | - d="M 19.1468,14.674063 C 12.154448,18.486901 15.316371,29.412893 23.310313,29.412893 C 31.220984,29.412893 34.766419,19.054547 27.473824,14.674063" |
1527 | - style="opacity:1;color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#555753;stroke-width:3;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" /> |
1528 | - <path |
1529 | - id="path4745" |
1530 | - d="M 23.364832,19.364034 L 23.364832,11.95091" |
1531 | - style="opacity:1;color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#555753;stroke-width:2.99999905;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" /> |
1532 | - <path |
1533 | - transform="matrix(1.04555,0,0,1.04555,-3.460245,-1.908039)" |
1534 | - d="M 44 23.071428 A 18.214285 18.214285 0 1 1 7.5714302,23.071428 A 18.214285 18.214285 0 1 1 44 23.071428 z" |
1535 | - sodipodi:ry="18.214285" |
1536 | - sodipodi:rx="18.214285" |
1537 | - sodipodi:cy="23.071428" |
1538 | - sodipodi:cx="25.785715" |
1539 | - id="path4747" |
1540 | - style="opacity:0.88235294;color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient4755);stroke-width:0.95643449;stroke-linecap:round;stroke-linejoin:round;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" |
1541 | - sodipodi:type="arc" /> |
1542 | - </g> |
1543 | -</svg> |
1544 | |
1545 | === renamed file 'data/indicator-status.service.in' => 'data/indicator-me.service.in' |
1546 | --- data/indicator-status.service.in 2009-07-24 21:57:58 +0000 |
1547 | +++ data/indicator-me.service.in 2010-01-04 21:25:21 +0000 |
1548 | @@ -1,3 +1,3 @@ |
1549 | [D-BUS Service] |
1550 | -Name=org.ayatana.indicator.status |
1551 | -Exec=@libexecdir@/indicator-status-service |
1552 | +Name=org.ayatana.indicator.me |
1553 | +Exec=@libexecdir@/indicator-me-service |
1554 | |
1555 | === removed file 'data/indicator-session.schemas.in' |
1556 | --- data/indicator-session.schemas.in 2009-09-02 15:10:20 +0000 |
1557 | +++ data/indicator-session.schemas.in 1970-01-01 00:00:00 +0000 |
1558 | @@ -1,17 +0,0 @@ |
1559 | -<?xml version="1.0"?> |
1560 | -<gconfschemafile> |
1561 | - <schemalist> |
1562 | - <schema> |
1563 | - <key>/schemas/apps/indicator-session/suppress_logout_restart_shutdown</key> |
1564 | - <applyto>/apps/indicator-session/suppress_logout_restart_shutdown</applyto> |
1565 | - <owner>indicator-session</owner> |
1566 | - <type>bool</type> |
1567 | - <default>FALSE</default> |
1568 | - <locale name="C"> |
1569 | - <short>Suppress the dialog to confirm logout, restart and shutdown action</short> |
1570 | - <long>Whether or not to show confirmation dialogs for logout, |
1571 | - restart and shutdown actions.</long> |
1572 | - </locale> |
1573 | - </schema> |
1574 | - </schemalist> |
1575 | -</gconfschemafile> |
1576 | |
1577 | === removed file 'data/indicator-session.service.in' |
1578 | --- data/indicator-session.service.in 2009-07-24 21:57:58 +0000 |
1579 | +++ data/indicator-session.service.in 1970-01-01 00:00:00 +0000 |
1580 | @@ -1,3 +0,0 @@ |
1581 | -[D-BUS Service] |
1582 | -Name=org.ayatana.indicator.session |
1583 | -Exec=@libexecdir@/indicator-session-service |
1584 | |
1585 | === removed file 'data/indicator-users.service.in' |
1586 | --- data/indicator-users.service.in 2009-07-24 21:57:58 +0000 |
1587 | +++ data/indicator-users.service.in 1970-01-01 00:00:00 +0000 |
1588 | @@ -1,3 +0,0 @@ |
1589 | -[D-BUS Service] |
1590 | -Name=org.ayatana.indicator.users |
1591 | -Exec=@libexecdir@/indicator-users-service |
1592 | |
1593 | === modified file 'po/POTFILES.in' |
1594 | --- po/POTFILES.in 2009-09-08 15:09:45 +0000 |
1595 | +++ po/POTFILES.in 2010-01-04 21:25:21 +0000 |
1596 | @@ -1,14 +1,7 @@ |
1597 | [encoding: UTF-8] |
1598 | -data/indicator-session.schemas.in |
1599 | -src/gtk-dialog/ck-pk-helper.c |
1600 | -src/gtk-dialog/gconf-helper.c |
1601 | -src/gtk-dialog/gtk-logout-helper.c |
1602 | -src/gtk-dialog/logout-dialog.c |
1603 | -src/indicator-session.c |
1604 | -src/session-service.c |
1605 | +src/indicator-me.c |
1606 | src/status-provider.c |
1607 | src/status-provider-pidgin.c |
1608 | src/status-provider-telepathy.c |
1609 | src/status-service.c |
1610 | src/status-service-dbus.c |
1611 | -src/users-service.c |
1612 | |
1613 | === modified file 'src/Makefile.am' |
1614 | --- src/Makefile.am 2009-10-06 23:49:57 +0000 |
1615 | +++ src/Makefile.am 2010-01-04 21:25:21 +0000 |
1616 | @@ -1,35 +1,29 @@ |
1617 | -SUBDIRS = gtk-dialog |
1618 | |
1619 | -libexec_PROGRAMS = indicator-status-service indicator-users-service indicator-session-service |
1620 | +libexec_PROGRAMS = indicator-me-service |
1621 | |
1622 | ################### |
1623 | # Indicator Stuff |
1624 | ################### |
1625 | |
1626 | -sessionlibdir = $(INDICATORDIR) |
1627 | -sessionlib_LTLIBRARIES = libsession.la |
1628 | -libsession_la_SOURCES = \ |
1629 | - indicator-session.c \ |
1630 | +melibdir = $(INDICATORDIR) |
1631 | +melib_LTLIBRARIES = libme.la |
1632 | +libme_la_SOURCES = \ |
1633 | + indicator-me.c \ |
1634 | dbus-shared-names.h \ |
1635 | - status-service-client.h \ |
1636 | - users-service-client.h |
1637 | -libsession_la_CFLAGS = $(APPLET_CFLAGS) -Wall -Werror |
1638 | -libsession_la_LIBADD = $(APPLET_LIBS) |
1639 | -libsession_la_LDFLAGS = -module -avoid-version |
1640 | + me-service-client.h |
1641 | +libme_la_CFLAGS = $(APPLET_CFLAGS) -Wall -Werror |
1642 | +libme_la_LIBADD = $(APPLET_LIBS) |
1643 | +libme_la_LDFLAGS = -module -avoid-version |
1644 | |
1645 | ################ |
1646 | # Status Stuff |
1647 | ################ |
1648 | |
1649 | -indicator_status_service_SOURCES = \ |
1650 | - status-service.c \ |
1651 | - status-service-dbus.h \ |
1652 | - status-service-dbus.c \ |
1653 | - status-service-server.h \ |
1654 | - users-service-dbus.h \ |
1655 | - users-service-dbus.c \ |
1656 | - users-service-marshal.c \ |
1657 | - users-service-marshal.h \ |
1658 | +indicator_me_service_SOURCES = \ |
1659 | + me-service.c \ |
1660 | + me-service-dbus.h \ |
1661 | + me-service-dbus.c \ |
1662 | + me-service-server.h \ |
1663 | status-provider.h \ |
1664 | status-provider.c \ |
1665 | status-provider-mc5.h \ |
1666 | @@ -44,39 +38,22 @@ |
1667 | status-provider-telepathy.c \ |
1668 | status-provider-telepathy-marshal.h \ |
1669 | status-provider-telepathy-marshal.c |
1670 | -indicator_status_service_CFLAGS = $(STATUSSERVICE_CFLAGS) -Wall -Werror |
1671 | -indicator_status_service_LDADD = $(STATUSSERVICE_LIBS) |
1672 | - |
1673 | -users-service-client.h: $(srcdir)/users-service.xml |
1674 | - dbus-binding-tool \ |
1675 | - --prefix=_users_service_client \ |
1676 | - --mode=glib-client \ |
1677 | - --output=users-service-client.h \ |
1678 | - $(srcdir)/users-service.xml |
1679 | - |
1680 | -status-service-client.h: $(srcdir)/status-service.xml |
1681 | - dbus-binding-tool \ |
1682 | - --prefix=_status_service_client \ |
1683 | - --mode=glib-client \ |
1684 | - --output=status-service-client.h \ |
1685 | - $(srcdir)/status-service.xml |
1686 | - |
1687 | -status-service-server.h: $(srcdir)/status-service.xml |
1688 | - dbus-binding-tool \ |
1689 | - --prefix=_status_service_server \ |
1690 | +indicator_me_service_CFLAGS = $(STATUSSERVICE_CFLAGS) -Wall -Werror |
1691 | +indicator_me_service_LDADD = $(STATUSSERVICE_LIBS) |
1692 | + |
1693 | +me-service-client.h: $(srcdir)/me-service.xml |
1694 | + dbus-binding-tool \ |
1695 | + --prefix=_me_service_client \ |
1696 | + --mode=glib-client \ |
1697 | + --output=me-service-client.h \ |
1698 | + $(srcdir)/me-service.xml |
1699 | + |
1700 | +me-service-server.h: $(srcdir)/me-service.xml |
1701 | + dbus-binding-tool \ |
1702 | + --prefix=_me_service_server \ |
1703 | --mode=glib-server \ |
1704 | - --output=status-service-server.h \ |
1705 | - $(srcdir)/status-service.xml |
1706 | - |
1707 | -users-service-marshal.h: $(srcdir)/users-service.list |
1708 | - glib-genmarshal --header \ |
1709 | - --prefix=_users_service_marshal $(srcdir)/users-service.list \ |
1710 | - > users-service-marshal.h |
1711 | - |
1712 | -users-service-marshal.c: $(srcdir)/users-service.list |
1713 | - glib-genmarshal --body \ |
1714 | - --prefix=_users_service_marshal $(srcdir)/users-service.list \ |
1715 | - > users-service-marshal.c |
1716 | + --output=me-service-server.h \ |
1717 | + $(srcdir)/me-service.xml |
1718 | |
1719 | status-provider-pidgin-marshal.h: $(srcdir)/status-provider-pidgin.list |
1720 | glib-genmarshal --header \ |
1721 | @@ -109,52 +86,27 @@ |
1722 | > status-provider-mc5-marshal.c |
1723 | |
1724 | ############### |
1725 | -# Users Stuff |
1726 | -############### |
1727 | - |
1728 | -indicator_users_service_SOURCES = \ |
1729 | - lock-helper.c \ |
1730 | - lock-helper.h \ |
1731 | - users-service.c \ |
1732 | - users-service-dbus.c \ |
1733 | - users-service-marshal.c |
1734 | -indicator_users_service_CFLAGS = $(USERSSERVICE_CFLAGS) -Wall -Werror |
1735 | -indicator_users_service_LDADD = $(USERSSERVICE_LIBS) |
1736 | - |
1737 | -################# |
1738 | -# Session Stuff |
1739 | -################# |
1740 | - |
1741 | -indicator_session_service_SOURCES = \ |
1742 | - lock-helper.c \ |
1743 | - lock-helper.h \ |
1744 | - session-service.c \ |
1745 | - gtk-dialog/gconf-helper.c |
1746 | -indicator_session_service_CFLAGS = $(SESSIONSERVICE_CFLAGS) $(GCONF_CFLAGS) -DLIBEXECDIR=\"$(libexecdir)\" -Wall -Werror |
1747 | -indicator_session_service_LDADD = $(SESSIONSERVICE_LIBS) $(GCONF_LIBS) |
1748 | - |
1749 | -############### |
1750 | # Other Stuff |
1751 | ############### |
1752 | |
1753 | BUILT_SOURCES = \ |
1754 | - users-service-client.h \ |
1755 | - status-service-client.h \ |
1756 | - status-service-server.h \ |
1757 | + me-service-client.h \ |
1758 | + me-service-server.h \ |
1759 | status-provider-mc5-marshal.h \ |
1760 | status-provider-mc5-marshal.c \ |
1761 | - users-service-marshal.h \ |
1762 | - users-service-marshal.c \ |
1763 | status-provider-pidgin-marshal.h \ |
1764 | status-provider-pidgin-marshal.c \ |
1765 | status-provider-telepathy-marshal.h \ |
1766 | status-provider-telepathy-marshal.c |
1767 | |
1768 | EXTRA_DIST = \ |
1769 | - status-service.xml \ |
1770 | + me-service.xml \ |
1771 | status-provider-mc5.list \ |
1772 | status-provider-pidgin.list \ |
1773 | - status-provider-telepathy.list |
1774 | + status-provider-telepathy.list \ |
1775 | + users-service.xml \ |
1776 | + users-service.list |
1777 | |
1778 | CLEANFILES = \ |
1779 | $(BUILT_SOURCES) |
1780 | + |
1781 | |
1782 | === modified file 'src/dbus-shared-names.h' |
1783 | --- src/dbus-shared-names.h 2009-09-10 21:26:01 +0000 |
1784 | +++ src/dbus-shared-names.h 2010-01-04 21:25:21 +0000 |
1785 | @@ -24,17 +24,10 @@ |
1786 | #ifndef __DBUS_SHARED_NAMES_H__ |
1787 | #define __DBUS_SHARED_NAMES_H__ 1 |
1788 | |
1789 | -#define INDICATOR_STATUS_DBUS_NAME "org.ayatana.indicator.status" |
1790 | -#define INDICATOR_STATUS_DBUS_OBJECT "/org/ayatana/indicator/status/menu" |
1791 | -#define INDICATOR_STATUS_SERVICE_DBUS_OBJECT "/org/ayatana/indicator/status/service" |
1792 | -#define INDICATOR_STATUS_SERVICE_DBUS_INTERFACE "org.ayatana.indicator.status.service" |
1793 | - |
1794 | -#define INDICATOR_USERS_DBUS_NAME "org.ayatana.indicator.users" |
1795 | -#define INDICATOR_USERS_DBUS_OBJECT "/org/ayatana/indicator/users/menu" |
1796 | -#define INDICATOR_USERS_SERVICE_DBUS_OBJECT "/org/gnome/DisplayManager/UserManager" |
1797 | -#define INDICATOR_USERS_SERVICE_DBUS_INTERFACE "org.gnome.DisplayManager.UserManager" |
1798 | - |
1799 | -#define INDICATOR_SESSION_DBUS_NAME "org.ayatana.indicator.session" |
1800 | -#define INDICATOR_SESSION_DBUS_OBJECT "/org/ayatana/indicator/session/menu" |
1801 | +#define INDICATOR_ME_DBUS_NAME "org.ayatana.indicator.me" |
1802 | +#define INDICATOR_ME_DBUS_VERSION 1 |
1803 | +#define INDICATOR_ME_DBUS_OBJECT "/org/ayatana/indicator/me/menu" |
1804 | +#define INDICATOR_ME_SERVICE_DBUS_OBJECT "/org/ayatana/indicator/me/service" |
1805 | +#define INDICATOR_ME_SERVICE_DBUS_INTERFACE "org.ayatana.indicator.me.service" |
1806 | |
1807 | #endif /* __DBUS_SHARED_NAMES_H__ */ |
1808 | |
1809 | === removed directory 'src/gtk-dialog' |
1810 | === removed file 'src/gtk-dialog/Makefile.am' |
1811 | --- src/gtk-dialog/Makefile.am 2009-09-10 22:02:32 +0000 |
1812 | +++ src/gtk-dialog/Makefile.am 1970-01-01 00:00:00 +0000 |
1813 | @@ -1,15 +0,0 @@ |
1814 | - |
1815 | -libexec_PROGRAMS = gtk-logout-helper |
1816 | - |
1817 | -gtk_logout_helper_SOURCES = \ |
1818 | - gtk-logout-helper.c \ |
1819 | - ck-pk-helper.c \ |
1820 | - ck-pk-helper.h \ |
1821 | - gconf-helper.c \ |
1822 | - gconf-helper.h \ |
1823 | - logout-dialog.c \ |
1824 | - logout-dialog.h |
1825 | - |
1826 | -gtk_logout_helper_CFLAGS = $(SESSIONSERVICE_CFLAGS) $(GTKLOGOUTHELPER_CFLAGS) $(GCONF_CFLAGS) -Wall -Werror -DINDICATOR_ICONS_DIR="\"$(INDICATORICONSDIR)\"" |
1827 | -gtk_logout_helper_LDADD = $(SESSIONSERVICE_LIBS) $(GTKLOGOUTHELPER_LIBS) $(GCONF_LIBS) |
1828 | - |
1829 | |
1830 | === removed file 'src/gtk-dialog/ck-pk-helper.c' |
1831 | --- src/gtk-dialog/ck-pk-helper.c 2009-09-22 12:45:17 +0000 |
1832 | +++ src/gtk-dialog/ck-pk-helper.c 1970-01-01 00:00:00 +0000 |
1833 | @@ -1,222 +0,0 @@ |
1834 | -/* |
1835 | -A small wrapper utility to load indicators and put them as menu items |
1836 | -into the gnome-panel using it's applet interface. |
1837 | - |
1838 | -Copyright 2009 Canonical Ltd. |
1839 | - |
1840 | -Authors: |
1841 | - Ted Gould <ted@canonical.com> |
1842 | - |
1843 | -This program is free software: you can redistribute it and/or modify it |
1844 | -under the terms of the GNU General Public License version 3, as published |
1845 | -by the Free Software Foundation. |
1846 | - |
1847 | -This program is distributed in the hope that it will be useful, but |
1848 | -WITHOUT ANY WARRANTY; without even the implied warranties of |
1849 | -MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR |
1850 | -PURPOSE. See the GNU General Public License for more details. |
1851 | - |
1852 | -You should have received a copy of the GNU General Public License along |
1853 | -with this program. If not, see <http://www.gnu.org/licenses/>. |
1854 | -*/ |
1855 | - |
1856 | - |
1857 | -#include <unistd.h> |
1858 | -#include <glib.h> |
1859 | -#include <dbus/dbus-glib.h> |
1860 | -#include <polkit/polkit.h> |
1861 | - |
1862 | -#include "logout-dialog.h" |
1863 | -#include "ck-pk-helper.h" |
1864 | - |
1865 | -static gboolean |
1866 | -ck_multiple_users (void) |
1867 | -{ |
1868 | - DBusGConnection * sbus = dbus_g_bus_get(DBUS_BUS_SYSTEM, NULL); |
1869 | - g_return_val_if_fail(sbus != NULL, TRUE); /* worst case */ |
1870 | - DBusGProxy * proxy = dbus_g_proxy_new_for_name(sbus, "org.freedesktop.ConsoleKit", |
1871 | - "/org/freedesktop/ConsoleKit/Manager", |
1872 | - "org.freedesktop.ConsoleKit.Manager"); |
1873 | - |
1874 | - if (proxy == NULL) { |
1875 | - return TRUE; |
1876 | - } |
1877 | - |
1878 | - gboolean result; |
1879 | - GPtrArray * seats = NULL; |
1880 | - |
1881 | - result = dbus_g_proxy_call(proxy, "GetSeats", NULL, G_TYPE_INVALID, |
1882 | - dbus_g_type_get_collection("GPtrArray", DBUS_TYPE_G_OBJECT_PATH), &seats, G_TYPE_INVALID); |
1883 | - |
1884 | - if (!result) { |
1885 | - g_warning("Unable to get the seats for ConsoleKit"); |
1886 | - g_object_unref(proxy); |
1887 | - return TRUE; |
1888 | - } |
1889 | - |
1890 | - gchar * this_session_id = NULL; |
1891 | - |
1892 | - result = dbus_g_proxy_call(proxy, "GetCurrentSession", NULL, G_TYPE_INVALID, |
1893 | - DBUS_TYPE_G_OBJECT_PATH, &this_session_id, G_TYPE_INVALID); |
1894 | - |
1895 | - g_object_unref(proxy); |
1896 | - |
1897 | - if (!result) { |
1898 | - g_warning("Unable to get current session from ConsoleKit"); |
1899 | - return TRUE; |
1900 | - } |
1901 | - |
1902 | - proxy = dbus_g_proxy_new_for_name(sbus, "org.freedesktop.ConsoleKit", |
1903 | - this_session_id, "org.freedesktop.ConsoleKit.Session"); |
1904 | - |
1905 | - if (proxy == NULL) { |
1906 | - return TRUE; |
1907 | - } |
1908 | - |
1909 | - guint this_session_uid; |
1910 | - |
1911 | - result = dbus_g_proxy_call(proxy, "GetUnixUser", NULL, G_TYPE_INVALID, |
1912 | - G_TYPE_UINT, &this_session_uid, G_TYPE_INVALID); |
1913 | - |
1914 | - if (!result) { |
1915 | - g_warning("Unable to get UID from ConsoleKit"); |
1916 | - return TRUE; |
1917 | - } |
1918 | - |
1919 | - guint seat; |
1920 | - gboolean multiple_users = FALSE; |
1921 | - for (seat = 0; seat < seats->len; seat++) { |
1922 | - gchar * seat_id = g_ptr_array_index(seats, seat); |
1923 | - DBusGProxy * seat_proxy = dbus_g_proxy_new_for_name(sbus, "org.freedesktop.ConsoleKit", |
1924 | - seat_id, "org.freedesktop.ConsoleKit.Seat"); |
1925 | - g_free(seat_id); |
1926 | - |
1927 | - if (seat_proxy == NULL) { |
1928 | - continue; |
1929 | - } |
1930 | - |
1931 | - GPtrArray * sessions = NULL; |
1932 | - |
1933 | - gboolean result = dbus_g_proxy_call(seat_proxy, |
1934 | - "GetSessions", NULL, G_TYPE_INVALID, |
1935 | - dbus_g_type_get_collection("GPtrArray", DBUS_TYPE_G_OBJECT_PATH), &sessions, G_TYPE_INVALID); |
1936 | - |
1937 | - g_object_unref(seat_proxy); |
1938 | - if (!result) { |
1939 | - continue; |
1940 | - } |
1941 | - |
1942 | - guint session; |
1943 | - for (session = 0; session < sessions->len; session++) { |
1944 | - gchar * session_id = g_ptr_array_index(sessions, session); |
1945 | - if (g_strcmp0(this_session_id, session_id) == 0) { |
1946 | - continue; |
1947 | - } |
1948 | - DBusGProxy * session_proxy = dbus_g_proxy_new_for_name(sbus, "org.freedesktop.ConsoleKit", |
1949 | - session_id, "org.freedesktop.ConsoleKit.Session"); |
1950 | - g_free(session_id); |
1951 | - |
1952 | - if (session_proxy == NULL) { |
1953 | - continue; |
1954 | - } |
1955 | - |
1956 | - guint session_uid; |
1957 | - result = dbus_g_proxy_call(session_proxy, "GetUnixUser", NULL, G_TYPE_INVALID, |
1958 | - G_TYPE_UINT, &session_uid, G_TYPE_INVALID); |
1959 | - g_object_unref(session_proxy); |
1960 | - |
1961 | - if (!result) { |
1962 | - continue; |
1963 | - } |
1964 | - |
1965 | - if (session_uid != this_session_uid) { |
1966 | - multiple_users = TRUE; |
1967 | - break; |
1968 | - } |
1969 | - } |
1970 | - |
1971 | - g_ptr_array_free(sessions, TRUE); |
1972 | - |
1973 | - if (multiple_users) { |
1974 | - break; |
1975 | - } |
1976 | - } |
1977 | - |
1978 | - g_ptr_array_free(seats, TRUE); |
1979 | - g_object_unref(proxy); |
1980 | - g_free(this_session_id); |
1981 | - |
1982 | - return multiple_users; |
1983 | -} |
1984 | - |
1985 | -gboolean |
1986 | -pk_require_auth (LogoutDialogAction action) { |
1987 | - if (action == LOGOUT_DIALOG_LOGOUT) { |
1988 | - return FALSE; |
1989 | - } |
1990 | - |
1991 | - gchar * pk_action; |
1992 | - if (ck_multiple_users()) { |
1993 | - if (action == LOGOUT_DIALOG_RESTART) { |
1994 | - pk_action = "org.freedesktop.consolekit.system.restart-multiple-users"; |
1995 | - } else { |
1996 | - pk_action = "org.freedesktop.consolekit.system.stop-multiple-users"; |
1997 | - } |
1998 | - } else { |
1999 | - if (action == LOGOUT_DIALOG_RESTART) { |
2000 | - pk_action = "org.freedesktop.consolekit.system.restart"; |
2001 | - } else { |
2002 | - pk_action = "org.freedesktop.consolekit.system.stop"; |
2003 | - } |
2004 | - } |
2005 | - |
2006 | - PolkitAuthorizationResult *polres = NULL; |
2007 | - gboolean ret = FALSE; |
2008 | - if (pk_can_do_action(pk_action, &polres)) { |
2009 | - if (polkit_authorization_result_get_is_challenge (polres)) { |
2010 | - ret = TRUE; |
2011 | - } |
2012 | - g_debug ("pk_require_auth(%s): authorized, is_challenge: %i", pk_action, ret); |
2013 | - } else { |
2014 | - g_debug ("pk_require_auth(%s): not authorized", pk_action); |
2015 | - } |
2016 | - if (polres) { |
2017 | - g_object_unref (polres); |
2018 | - } |
2019 | - return ret; |
2020 | -} |
2021 | - |
2022 | -gboolean |
2023 | -pk_can_do_action (const gchar *action_id, PolkitAuthorizationResult ** pol_result) |
2024 | -{ |
2025 | - PolkitAuthority *authority; |
2026 | - PolkitSubject *subject; |
2027 | - PolkitAuthorizationResult *result; |
2028 | - gboolean ret; |
2029 | - |
2030 | - authority = polkit_authority_get(); |
2031 | - if (!authority) { |
2032 | - g_warning ("Could not get PolicyKit authority instance"); |
2033 | - return FALSE; |
2034 | - } |
2035 | - subject = polkit_unix_process_new (getpid()); |
2036 | - |
2037 | - result = polkit_authority_check_authorization_sync (authority, subject, action_id, NULL, 0, NULL, NULL); |
2038 | - g_object_unref (authority); |
2039 | - |
2040 | - ret = FALSE; |
2041 | - if (result) { |
2042 | - ret = polkit_authorization_result_get_is_authorized (result) || |
2043 | - polkit_authorization_result_get_is_challenge (result); |
2044 | - g_debug ("pk_can_do_action(%s): %i", action_id, ret); |
2045 | - } else { |
2046 | - g_warning ("pk_can_do_action(%s): check_authorization returned NULL", action_id); |
2047 | - } |
2048 | - if (pol_result) { |
2049 | - *pol_result = result; |
2050 | - } else { |
2051 | - g_object_unref (result); |
2052 | - } |
2053 | - return ret; |
2054 | - |
2055 | -} |
2056 | |
2057 | === removed file 'src/gtk-dialog/ck-pk-helper.h' |
2058 | --- src/gtk-dialog/ck-pk-helper.h 2009-09-22 12:45:17 +0000 |
2059 | +++ src/gtk-dialog/ck-pk-helper.h 1970-01-01 00:00:00 +0000 |
2060 | @@ -1,32 +0,0 @@ |
2061 | -/* |
2062 | -A small wrapper utility to load indicators and put them as menu items |
2063 | -into the gnome-panel using it's applet interface. |
2064 | - |
2065 | -Copyright 2009 Canonical Ltd. |
2066 | - |
2067 | -Authors: |
2068 | - Ted Gould <ted@canonical.com> |
2069 | - |
2070 | -This program is free software: you can redistribute it and/or modify it |
2071 | -under the terms of the GNU General Public License version 3, as published |
2072 | -by the Free Software Foundation. |
2073 | - |
2074 | -This program is distributed in the hope that it will be useful, but |
2075 | -WITHOUT ANY WARRANTY; without even the implied warranties of |
2076 | -MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR |
2077 | -PURPOSE. See the GNU General Public License for more details. |
2078 | - |
2079 | -You should have received a copy of the GNU General Public License along |
2080 | -with this program. If not, see <http://www.gnu.org/licenses/>. |
2081 | -*/ |
2082 | - |
2083 | - |
2084 | -#ifndef __CK_PK_HELPER_H__ |
2085 | -#define __CK_PK_HELPER_H__ 1 |
2086 | - |
2087 | -#include <polkit/polkit.h> |
2088 | - |
2089 | -gboolean pk_require_auth (LogoutDialogAction action); |
2090 | -gboolean pk_can_do_action (const gchar *action_id, PolkitAuthorizationResult ** pol_result); |
2091 | - |
2092 | -#endif /* __CK_PK_HELPER__ */ |
2093 | |
2094 | === removed file 'src/gtk-dialog/gconf-helper.c' |
2095 | --- src/gtk-dialog/gconf-helper.c 2009-09-10 22:05:42 +0000 |
2096 | +++ src/gtk-dialog/gconf-helper.c 1970-01-01 00:00:00 +0000 |
2097 | @@ -1,73 +0,0 @@ |
2098 | -/* |
2099 | -A small wrapper utility for connecting to gconf. |
2100 | - |
2101 | -Copyright 2009 Canonical Ltd. |
2102 | - |
2103 | -Authors: |
2104 | - Christoph Korn <c_korn@gmx.de> |
2105 | - |
2106 | -This program is free software: you can redistribute it and/or modify it |
2107 | -under the terms of the GNU General Public License version 3, as published |
2108 | -by the Free Software Foundation. |
2109 | - |
2110 | -This program is distributed in the hope that it will be useful, but |
2111 | -WITHOUT ANY WARRANTY; without even the implied warranties of |
2112 | -MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR |
2113 | -PURPOSE. See the GNU General Public License for more details. |
2114 | - |
2115 | -You should have received a copy of the GNU General Public License along |
2116 | -with this program. If not, see <http://www.gnu.org/licenses/>. |
2117 | -*/ |
2118 | - |
2119 | - |
2120 | -#include <gconf/gconf-client.h> |
2121 | - |
2122 | -#include <glib/gi18n.h> |
2123 | - |
2124 | -#include <dbus/dbus-glib.h> |
2125 | -#include <dbus/dbus-glib-bindings.h> |
2126 | - |
2127 | -#include <libdbusmenu-glib/server.h> |
2128 | -#include <libdbusmenu-glib/menuitem.h> |
2129 | - |
2130 | -#include "gconf-helper.h" |
2131 | - |
2132 | -static GConfClient * gconf_client = NULL; |
2133 | - |
2134 | -gboolean |
2135 | -supress_confirmations (void) { |
2136 | - if(!gconf_client) { |
2137 | - gconf_client = gconf_client_get_default (); |
2138 | - } |
2139 | - return gconf_client_get_bool (gconf_client, SUPPRESS_KEY, NULL) ; |
2140 | -} |
2141 | - |
2142 | -static void update_menu_entries_callback (GConfClient *client, guint cnxn_id, GConfEntry *entry, gpointer data) { |
2143 | - RestartShutdownLogoutMenuItems * restart_shutdown_logout_mi = (RestartShutdownLogoutMenuItems*) data; |
2144 | - GConfValue * value = gconf_entry_get_value (entry); |
2145 | - const gchar * key = gconf_entry_get_key (entry); |
2146 | - |
2147 | - if(g_strcmp0 (key, SUPPRESS_KEY) == 0) { |
2148 | - if (gconf_value_get_bool (value)) { |
2149 | - dbusmenu_menuitem_property_set(restart_shutdown_logout_mi->logout_mi, DBUSMENU_MENUITEM_PROP_LABEL, _("Log Out")); |
2150 | - dbusmenu_menuitem_property_set(restart_shutdown_logout_mi->restart_mi, DBUSMENU_MENUITEM_PROP_LABEL, _("Restart")); |
2151 | - dbusmenu_menuitem_property_set(restart_shutdown_logout_mi->shutdown_mi, DBUSMENU_MENUITEM_PROP_LABEL, _("Shutdown")); |
2152 | - } else { |
2153 | - dbusmenu_menuitem_property_set(restart_shutdown_logout_mi->logout_mi, DBUSMENU_MENUITEM_PROP_LABEL, _("Log Out...")); |
2154 | - dbusmenu_menuitem_property_set(restart_shutdown_logout_mi->restart_mi, DBUSMENU_MENUITEM_PROP_LABEL, _("Restart...")); |
2155 | - dbusmenu_menuitem_property_set(restart_shutdown_logout_mi->shutdown_mi, DBUSMENU_MENUITEM_PROP_LABEL, _("Shutdown...")); |
2156 | - } |
2157 | - } |
2158 | -} |
2159 | - |
2160 | -void |
2161 | -update_menu_entries(RestartShutdownLogoutMenuItems * restart_shutdown_logout_mi) { |
2162 | - if(!gconf_client) { |
2163 | - gconf_client = gconf_client_get_default (); |
2164 | - } |
2165 | - gconf_client_add_dir (gconf_client, GLOBAL_DIR, |
2166 | - GCONF_CLIENT_PRELOAD_ONELEVEL, NULL); |
2167 | - gconf_client_notify_add (gconf_client, SUPPRESS_KEY, |
2168 | - update_menu_entries_callback, restart_shutdown_logout_mi, NULL, NULL); |
2169 | -} |
2170 | - |
2171 | |
2172 | === removed file 'src/gtk-dialog/gconf-helper.h' |
2173 | --- src/gtk-dialog/gconf-helper.h 2009-09-08 19:26:38 +0000 |
2174 | +++ src/gtk-dialog/gconf-helper.h 1970-01-01 00:00:00 +0000 |
2175 | @@ -1,50 +0,0 @@ |
2176 | -/* |
2177 | -A small wrapper utility for connecting to gconf. |
2178 | - |
2179 | -Copyright 2009 Canonical Ltd. |
2180 | - |
2181 | -Authors: |
2182 | - Christoph Korn <c_korn@gmx.de> |
2183 | - |
2184 | -This program is free software: you can redistribute it and/or modify it |
2185 | -under the terms of the GNU General Public License version 3, as published |
2186 | -by the Free Software Foundation. |
2187 | - |
2188 | -This program is distributed in the hope that it will be useful, but |
2189 | -WITHOUT ANY WARRANTY; without even the implied warranties of |
2190 | -MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR |
2191 | -PURPOSE. See the GNU General Public License for more details. |
2192 | - |
2193 | -You should have received a copy of the GNU General Public License along |
2194 | -with this program. If not, see <http://www.gnu.org/licenses/>. |
2195 | -*/ |
2196 | - |
2197 | - |
2198 | -#ifndef __GCONF_HELPER_H__ |
2199 | -#define __GCONF_HELPER_H__ 1 |
2200 | - |
2201 | -#include <gconf/gconf-client.h> |
2202 | - |
2203 | -#include <glib/gi18n.h> |
2204 | - |
2205 | -#include <dbus/dbus-glib.h> |
2206 | -#include <dbus/dbus-glib-bindings.h> |
2207 | - |
2208 | -#include <libdbusmenu-glib/server.h> |
2209 | -#include <libdbusmenu-glib/menuitem.h> |
2210 | - |
2211 | -#define SUPPRESS_KEY "/apps/indicator-session/suppress_logout_restart_shutdown" |
2212 | -#define GLOBAL_DIR "/apps/indicator-session" |
2213 | - |
2214 | -typedef struct _RestartShutdownLogoutMenuItems |
2215 | -{ |
2216 | - DbusmenuMenuitem * logout_mi; |
2217 | - DbusmenuMenuitem * restart_mi; |
2218 | - DbusmenuMenuitem * shutdown_mi; |
2219 | -} |
2220 | -RestartShutdownLogoutMenuItems; |
2221 | - |
2222 | -void update_menu_entries(RestartShutdownLogoutMenuItems*); |
2223 | -gboolean supress_confirmations (void); |
2224 | - |
2225 | -#endif /* __GCONF_HELPER__ */ |
2226 | |
2227 | === removed file 'src/gtk-dialog/gtk-logout-helper.c' |
2228 | --- src/gtk-dialog/gtk-logout-helper.c 2009-09-24 17:24:09 +0000 |
2229 | +++ src/gtk-dialog/gtk-logout-helper.c 1970-01-01 00:00:00 +0000 |
2230 | @@ -1,173 +0,0 @@ |
2231 | -/* |
2232 | -A small wrapper utility to load indicators and put them as menu items |
2233 | -into the gnome-panel using it's applet interface. |
2234 | - |
2235 | -Copyright 2009 Canonical Ltd. |
2236 | - |
2237 | -Authors: |
2238 | - Ted Gould <ted@canonical.com> |
2239 | - Christoph Korn <c_korn@gmx.de> |
2240 | - |
2241 | -This program is free software: you can redistribute it and/or modify it |
2242 | -under the terms of the GNU General Public License version 3, as published |
2243 | -by the Free Software Foundation. |
2244 | - |
2245 | -This program is distributed in the hope that it will be useful, but |
2246 | -WITHOUT ANY WARRANTY; without even the implied warranties of |
2247 | -MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR |
2248 | -PURPOSE. See the GNU General Public License for more details. |
2249 | - |
2250 | -You should have received a copy of the GNU General Public License along |
2251 | -with this program. If not, see <http://www.gnu.org/licenses/>. |
2252 | -*/ |
2253 | - |
2254 | -#include <config.h> |
2255 | -#include <glib.h> |
2256 | -#include <gtk/gtk.h> |
2257 | -#include <dbus/dbus-glib.h> |
2258 | -#include "logout-dialog.h" |
2259 | -#include "ck-pk-helper.h" |
2260 | -#include "gconf-helper.h" |
2261 | - |
2262 | -static void |
2263 | -session_action (LogoutDialogAction action) |
2264 | -{ |
2265 | - DBusGConnection * sbus; |
2266 | - DBusGProxy * sm_proxy; |
2267 | - GError * error = NULL; |
2268 | - gboolean res = FALSE; |
2269 | - |
2270 | - sbus = dbus_g_bus_get(DBUS_BUS_SESSION, NULL); |
2271 | - if (sbus == NULL) { |
2272 | - g_warning("Unable to get DBus session bus."); |
2273 | - return; |
2274 | - } |
2275 | - sm_proxy = dbus_g_proxy_new_for_name_owner (sbus, |
2276 | - "org.gnome.SessionManager", |
2277 | - "/org/gnome/SessionManager", |
2278 | - "org.gnome.SessionManager", |
2279 | - &error); |
2280 | - if (sm_proxy == NULL) { |
2281 | - g_warning("Unable to get DBus proxy to SessionManager interface: %s", error->message); |
2282 | - g_error_free(error); |
2283 | - return; |
2284 | - } |
2285 | - |
2286 | - g_clear_error (&error); |
2287 | - |
2288 | - if (action == LOGOUT_DIALOG_LOGOUT) { |
2289 | - res = dbus_g_proxy_call_with_timeout (sm_proxy, "Logout", INT_MAX, &error, |
2290 | - G_TYPE_UINT, 1, G_TYPE_INVALID, G_TYPE_INVALID); |
2291 | - } else if (action == LOGOUT_DIALOG_SHUTDOWN) { |
2292 | - res = dbus_g_proxy_call_with_timeout (sm_proxy, "RequestShutdown", INT_MAX, &error, |
2293 | - G_TYPE_INVALID, G_TYPE_INVALID); |
2294 | - } else if (action == LOGOUT_DIALOG_RESTART) { |
2295 | - res = dbus_g_proxy_call_with_timeout (sm_proxy, "RequestReboot", INT_MAX, &error, |
2296 | - G_TYPE_INVALID, G_TYPE_INVALID); |
2297 | - } else { |
2298 | - g_warning ("Unknown session action"); |
2299 | - } |
2300 | - |
2301 | - if (!res) { |
2302 | - if (error != NULL) { |
2303 | - g_warning ("SessionManager action failed: %s", error->message); |
2304 | - } else { |
2305 | - g_warning ("SessionManager action failed: unknown error"); |
2306 | - } |
2307 | - } |
2308 | - |
2309 | - g_object_unref(sm_proxy); |
2310 | - |
2311 | - if (error != NULL) { |
2312 | - g_error_free(error); |
2313 | - } |
2314 | - |
2315 | - return; |
2316 | -} |
2317 | - |
2318 | -static LogoutDialogAction type = LOGOUT_DIALOG_LOGOUT; |
2319 | - |
2320 | -static gboolean |
2321 | -option_logout (const gchar * arg, const gchar * value, gpointer data, GError * error) |
2322 | -{ |
2323 | - type = LOGOUT_DIALOG_LOGOUT; |
2324 | - return TRUE; |
2325 | -} |
2326 | - |
2327 | -static gboolean |
2328 | -option_shutdown (const gchar * arg, const gchar * value, gpointer data, GError * error) |
2329 | -{ |
2330 | - type = LOGOUT_DIALOG_SHUTDOWN; |
2331 | - return TRUE; |
2332 | -} |
2333 | - |
2334 | -static gboolean |
2335 | -option_restart (const gchar * arg, const gchar * value, gpointer data, GError * error) |
2336 | -{ |
2337 | - type = LOGOUT_DIALOG_RESTART; |
2338 | - return TRUE; |
2339 | -} |
2340 | - |
2341 | -static GOptionEntry options[] = { |
2342 | - {"logout", 'l', G_OPTION_FLAG_NO_ARG, G_OPTION_ARG_CALLBACK, option_logout, "Log out of the current session", NULL}, |
2343 | - {"shutdown", 's', G_OPTION_FLAG_NO_ARG, G_OPTION_ARG_CALLBACK, option_shutdown, "Shutdown the entire system", NULL}, |
2344 | - {"restart", 'r', G_OPTION_FLAG_NO_ARG, G_OPTION_ARG_CALLBACK, option_restart, "Restart the system", NULL}, |
2345 | - |
2346 | - {NULL} |
2347 | -}; |
2348 | - |
2349 | -int |
2350 | -main (int argc, char * argv[]) |
2351 | -{ |
2352 | - gtk_init(&argc, &argv); |
2353 | - |
2354 | - /* Setting up i18n and gettext. Apparently, we need |
2355 | - all of these. */ |
2356 | - setlocale (LC_ALL, ""); |
2357 | - bindtextdomain (GETTEXT_PACKAGE, GNOMELOCALEDIR); |
2358 | - textdomain (GETTEXT_PACKAGE); |
2359 | - |
2360 | - GError * error = NULL; |
2361 | - GOptionContext * context = g_option_context_new(" - logout of the current session"); |
2362 | - g_option_context_add_main_entries(context, options, "gtk-logout-helper"); |
2363 | - g_option_context_add_group(context, gtk_get_option_group(TRUE)); |
2364 | - g_option_context_set_help_enabled(context, TRUE); |
2365 | - |
2366 | - if (!g_option_context_parse(context, &argc, &argv, &error)) { |
2367 | - g_debug("Option parsing failed: %s", error->message); |
2368 | - g_error_free(error); |
2369 | - return 1; |
2370 | - } |
2371 | - |
2372 | - /* Init some theme/icon stuff */ |
2373 | - gtk_icon_theme_append_search_path(gtk_icon_theme_get_default(), |
2374 | - INDICATOR_ICONS_DIR); |
2375 | - |
2376 | - GtkWidget * dialog = NULL; |
2377 | - /* TODO: We're disabling PolicyKit checking here because there |
2378 | - is a bug in ConsoleKit where the dialog doesn't come up until |
2379 | - the session is entirely closed. Stupid, but it's better than |
2380 | - not getting a dialog at all. */ |
2381 | - /* if (!pk_require_auth(type) && !supress_confirmations()) { */ |
2382 | - if (!supress_confirmations()) { |
2383 | - dialog = logout_dialog_new(type); |
2384 | - } |
2385 | - |
2386 | - if (dialog != NULL) { |
2387 | - GtkResponseType response = gtk_dialog_run(GTK_DIALOG(dialog)); |
2388 | - gtk_widget_hide(dialog); |
2389 | - |
2390 | - if (response == GTK_RESPONSE_HELP) { |
2391 | - type = LOGOUT_DIALOG_RESTART; |
2392 | - response = GTK_RESPONSE_OK; |
2393 | - } |
2394 | - |
2395 | - if (response != GTK_RESPONSE_OK) { |
2396 | - return 0; |
2397 | - } |
2398 | - } |
2399 | - |
2400 | - session_action(type); |
2401 | - |
2402 | - return 0; |
2403 | -} |
2404 | |
2405 | === removed file 'src/gtk-dialog/logout-dialog.c' |
2406 | --- src/gtk-dialog/logout-dialog.c 2009-10-05 21:11:25 +0000 |
2407 | +++ src/gtk-dialog/logout-dialog.c 1970-01-01 00:00:00 +0000 |
2408 | @@ -1,371 +0,0 @@ |
2409 | -/* |
2410 | - * libgksuui -- Gtk+ widget and convenience functions for requesting passwords |
2411 | - * Copyright (C) 2004 Gustavo Noronha Silva |
2412 | - * |
2413 | - * This library is free software; you can redistribute it and/or |
2414 | - * modify it under the terms of the GNU Lesser General Public |
2415 | - * License as published by the Free Software Foundation; either |
2416 | - * version 2 of the License, or (at your option) any later version. |
2417 | - * |
2418 | - * This library is distributed in the hope that it will be useful, |
2419 | - * but WITHOUT ANY WARRANTY; without even the implied warranty of |
2420 | - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
2421 | - * Lesser General Public License for more details. |
2422 | - * |
2423 | - * You should have received a copy of the GNU Lesser General Public |
2424 | - * License along with this library; if not, write to the |
2425 | - * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, |
2426 | - * Boston, MA 02110-1301 USA |
2427 | - */ |
2428 | - |
2429 | -#include <string.h> |
2430 | -#include <math.h> |
2431 | - |
2432 | -#include <gtk/gtk.h> |
2433 | -#include <gdk/gdkx.h> |
2434 | -#include <glib/gi18n.h> |
2435 | -#include <X11/XKBlib.h> |
2436 | - |
2437 | -#include "logout-dialog.h" |
2438 | -#include "ck-pk-helper.h" |
2439 | - |
2440 | -enum { |
2441 | - PROP_ZERO, |
2442 | - PROP_ACTION |
2443 | -}; |
2444 | - |
2445 | - |
2446 | -static void |
2447 | -logout_dialog_class_init (LogoutDialogClass *klass); |
2448 | - |
2449 | -static void |
2450 | -logout_dialog_init (LogoutDialog *logout_dialog); |
2451 | - |
2452 | -static void |
2453 | -set_property (GObject * object, guint param_id, const GValue * value, GParamSpec *pspec); |
2454 | - |
2455 | -static void |
2456 | -get_property (GObject * object, guint param_id, GValue * value, GParamSpec *pspec); |
2457 | - |
2458 | -static gboolean |
2459 | -timer_cb (gpointer data); |
2460 | - |
2461 | -static void |
2462 | -show_cb (GtkWidget * widget, gpointer data); |
2463 | - |
2464 | -static void |
2465 | -check_restart (LogoutDialog * dialog); |
2466 | - |
2467 | -static gchar* |
2468 | -get_plural_string (LogoutDialog * dialog); |
2469 | - |
2470 | -static const gchar * title_strings[LOGOUT_DIALOG_ACTION_CNT] = { |
2471 | - /* LOGOUT_DIALOG_LOGOUT, */ NC_("title", "Log Out"), |
2472 | - /* LOGOUT_DIALOG_RESTART, */ NC_("title", "Restart"), |
2473 | - /* LOGOUT_DIALOG_SHUTDOWN, */ NC_("title", "Shut Down") |
2474 | -}; |
2475 | - |
2476 | -static const gchar * button_strings[LOGOUT_DIALOG_ACTION_CNT] = { |
2477 | - /* LOGOUT_DIALOG_LOGOUT, */ NC_("button", "Log Out"), |
2478 | - /* LOGOUT_DIALOG_RESTART, */ NC_("button", "Restart"), |
2479 | - /* LOGOUT_DIALOG_SHUTDOWN, */ NC_("button", "Shut Down") |
2480 | -}; |
2481 | - |
2482 | -static const gchar * restart_auth = N_("Restart..."); |
2483 | - |
2484 | -static const gchar * body_logout_update = N_("You recently installed updates which will only take effect after a restart. Restart to apply software updates."); |
2485 | - |
2486 | -static const gchar * icon_strings[LOGOUT_DIALOG_ACTION_CNT] = { |
2487 | - /* LOGOUT_DIALOG_LOGOUT, */ "system-log-out", |
2488 | - /* LOGOUT_DIALOG_RESTART, */ "system-restart", |
2489 | - /* LOGOUT_DIALOG_SHUTDOWN, */ "system-shutdown" |
2490 | -}; |
2491 | - |
2492 | -GType |
2493 | -logout_dialog_get_type (void) |
2494 | -{ |
2495 | - static GType type = 0; |
2496 | - |
2497 | - if (type == 0) |
2498 | - { |
2499 | - static const GTypeInfo info = |
2500 | - { |
2501 | - sizeof (LogoutDialogClass), /* size of class */ |
2502 | - NULL, /* base_init */ |
2503 | - NULL, /* base_finalize */ |
2504 | - (GClassInitFunc) logout_dialog_class_init, |
2505 | - NULL, /* class_finalize */ |
2506 | - NULL, /* class_data */ |
2507 | - sizeof (LogoutDialog), /* size of object */ |
2508 | - 0, /* n_preallocs */ |
2509 | - (GInstanceInitFunc) logout_dialog_init /* instance_init */ |
2510 | - }; |
2511 | - type = g_type_register_static (gtk_dialog_get_type (), |
2512 | - "LogoutDialogType", |
2513 | - &info, 0); |
2514 | - } |
2515 | - |
2516 | - return type; |
2517 | -} |
2518 | - |
2519 | -static gchar* |
2520 | -get_plural_string (LogoutDialog * dialog) |
2521 | -{ |
2522 | - static gchar *plural_string = ""; |
2523 | - |
2524 | - switch (dialog->action) |
2525 | - { |
2526 | - case LOGOUT_DIALOG_LOGOUT: |
2527 | - plural_string = ngettext("You will be logged out in %d second.", |
2528 | - "You will be logged out in %d seconds.", |
2529 | - dialog->timeout); |
2530 | - break; |
2531 | - case LOGOUT_DIALOG_RESTART: |
2532 | - plural_string = ngettext("The computer will restart in %d second.", |
2533 | - "The computer will restart in %d seconds.", |
2534 | - dialog->timeout); |
2535 | - break; |
2536 | - case LOGOUT_DIALOG_SHUTDOWN: |
2537 | - plural_string = ngettext("The computer will be shut down in %d second.", |
2538 | - "The computer will be shut down in %d seconds.", |
2539 | - dialog->timeout); |
2540 | - break; |
2541 | - default: |
2542 | - break; |
2543 | - } |
2544 | - |
2545 | - return plural_string; |
2546 | -} |
2547 | - |
2548 | -static void |
2549 | -logout_dialog_class_init (LogoutDialogClass *klass) |
2550 | -{ |
2551 | - GObjectClass *gobject_class = G_OBJECT_CLASS (klass); |
2552 | - |
2553 | - gobject_class->set_property = set_property; |
2554 | - gobject_class->get_property = get_property; |
2555 | - |
2556 | - g_object_class_install_property(gobject_class, PROP_ACTION, |
2557 | - g_param_spec_int("action", NULL, NULL, |
2558 | - LOGOUT_DIALOG_LOGOUT, LOGOUT_DIALOG_SHUTDOWN, |
2559 | - LOGOUT_DIALOG_LOGOUT, G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY)); |
2560 | - |
2561 | - return; |
2562 | -} |
2563 | - |
2564 | -static void |
2565 | -set_property (GObject * object, guint param_id, const GValue * value, GParamSpec *pspec) |
2566 | -{ |
2567 | - g_return_if_fail(param_id == PROP_ACTION); |
2568 | - |
2569 | - LogoutDialog * dialog = LOGOUT_DIALOG(object); |
2570 | - dialog->action = (LogoutDialogAction)g_value_get_int(value); |
2571 | - |
2572 | - gtk_image_set_from_icon_name(GTK_IMAGE(dialog->image), icon_strings[dialog->action], GTK_ICON_SIZE_DIALOG); |
2573 | - gtk_window_set_title (GTK_WINDOW(dialog), _(title_strings[dialog->action])); |
2574 | - gtk_window_set_icon_name (GTK_WINDOW(dialog), icon_strings[dialog->action]); |
2575 | - gtk_widget_hide(dialog->message); |
2576 | - gtk_button_set_label(GTK_BUTTON(dialog->ok_button), _(button_strings[dialog->action])); |
2577 | - |
2578 | - gchar * timeouttxt = g_strdup_printf(get_plural_string(dialog), dialog->timeout); |
2579 | - gtk_label_set_text(GTK_LABEL(dialog->timeout_text), timeouttxt); |
2580 | - g_free(timeouttxt); |
2581 | - |
2582 | - check_restart(dialog); |
2583 | - |
2584 | - return; |
2585 | -} |
2586 | - |
2587 | -static void |
2588 | -get_property (GObject * object, guint param_id, GValue * value, GParamSpec *pspec) |
2589 | -{ |
2590 | - g_return_if_fail(param_id == PROP_ACTION); |
2591 | - g_value_set_int(value, LOGOUT_DIALOG(object)->action); |
2592 | -} |
2593 | - |
2594 | -static gboolean |
2595 | -timer_cb (gpointer data) |
2596 | -{ |
2597 | - LogoutDialog * dialog = LOGOUT_DIALOG(data); |
2598 | - |
2599 | - if (dialog->timeout == 0) { |
2600 | - gtk_dialog_response(GTK_DIALOG(dialog), GTK_RESPONSE_OK); |
2601 | - dialog->timerfunc = 0; |
2602 | - return FALSE; |
2603 | - } else { |
2604 | - dialog->timeout--; |
2605 | - |
2606 | - gchar * timeouttxt = g_strdup_printf(get_plural_string(dialog), dialog->timeout); |
2607 | - gtk_label_set_text(GTK_LABEL(dialog->timeout_text), timeouttxt); |
2608 | - g_free(timeouttxt); |
2609 | - } |
2610 | - |
2611 | - return TRUE; |
2612 | -} |
2613 | - |
2614 | -static void |
2615 | -show_cb (GtkWidget * widget, gpointer data) |
2616 | -{ |
2617 | - LogoutDialog * dialog = LOGOUT_DIALOG(widget); |
2618 | - |
2619 | - if (dialog->timerfunc != 0) { |
2620 | - g_source_remove(dialog->timerfunc); |
2621 | - dialog->timerfunc = 0; |
2622 | - } |
2623 | - |
2624 | - dialog->timerfunc = g_timeout_add_seconds(1, timer_cb, dialog); |
2625 | - return; |
2626 | -} |
2627 | - |
2628 | -static void |
2629 | -check_restart (LogoutDialog * dialog) |
2630 | -{ |
2631 | - if (dialog->action != LOGOUT_DIALOG_LOGOUT) { |
2632 | - return; |
2633 | - } |
2634 | - |
2635 | - if (g_file_test("/var/run/reboot-required", G_FILE_TEST_EXISTS)) { |
2636 | - if (pk_can_do_action("org.freedesktop.consolekit.system.restart", NULL) || |
2637 | - pk_can_do_action("org.freedesktop.consolekit.system.restart-multiple-users", NULL)) { |
2638 | - |
2639 | - gtk_label_set_text(GTK_LABEL(dialog->message), _(body_logout_update)); |
2640 | - gtk_widget_show(dialog->message); |
2641 | - if (pk_require_auth(LOGOUT_DIALOG_RESTART)) { |
2642 | - gtk_button_set_label(GTK_BUTTON(dialog->restart_button), _(restart_auth)); |
2643 | - } else { |
2644 | - gtk_button_set_label(GTK_BUTTON(dialog->restart_button), _(button_strings[LOGOUT_DIALOG_RESTART])); |
2645 | - } |
2646 | - gtk_widget_show(dialog->restart_button); |
2647 | - } |
2648 | - } |
2649 | - |
2650 | - return; |
2651 | -} |
2652 | - |
2653 | -static gboolean |
2654 | -focus_out_cb (GtkWidget *widget, GdkEventFocus *event, gpointer user_data) |
2655 | -{ |
2656 | - gtk_window_present (GTK_WINDOW(widget)); |
2657 | - return TRUE; |
2658 | -} |
2659 | - |
2660 | -static void |
2661 | -logout_dialog_init (LogoutDialog *logout_dialog) |
2662 | -{ |
2663 | - GtkDialog *dialog; |
2664 | - gint border_width = 6; |
2665 | - |
2666 | - logout_dialog->timeout = 60; |
2667 | - logout_dialog->timerfunc = 0; |
2668 | - |
2669 | - /* dialog window */ |
2670 | - dialog = GTK_DIALOG(logout_dialog); |
2671 | - |
2672 | - /* make sure that our window will always have the focus */ |
2673 | - g_signal_connect (G_OBJECT(dialog), "focus-out-event", |
2674 | - G_CALLBACK(focus_out_cb), NULL); |
2675 | - |
2676 | - logout_dialog->main_vbox = dialog->vbox; |
2677 | - |
2678 | - gtk_window_set_title (GTK_WINDOW(logout_dialog), ""); |
2679 | - gtk_dialog_set_has_separator (GTK_DIALOG(logout_dialog), FALSE); |
2680 | - gtk_container_set_border_width (GTK_CONTAINER(logout_dialog), border_width); |
2681 | - gtk_box_set_spacing (GTK_BOX(logout_dialog->main_vbox), 12); |
2682 | - gtk_window_set_resizable (GTK_WINDOW(logout_dialog), FALSE); |
2683 | - |
2684 | - gtk_window_stick(GTK_WINDOW(logout_dialog)); |
2685 | - gtk_window_set_keep_above(GTK_WINDOW(logout_dialog), TRUE); |
2686 | - gtk_widget_realize(GTK_WIDGET(logout_dialog)); |
2687 | - /* remove superfluous window buttons */ |
2688 | - gdk_window_set_functions (GTK_WIDGET(logout_dialog)->window, 0); |
2689 | - gdk_window_set_decorations (GTK_WIDGET(logout_dialog)->window, GDK_DECOR_BORDER | GDK_DECOR_TITLE); |
2690 | - |
2691 | - /* center window */ |
2692 | - gtk_window_set_position (GTK_WINDOW(logout_dialog), GTK_WIN_POS_CENTER); |
2693 | - |
2694 | - /* the action buttons */ |
2695 | - /* the cancel button */ |
2696 | - logout_dialog->restart_button = gtk_dialog_add_button (dialog, |
2697 | - GTK_STOCK_HELP, |
2698 | - GTK_RESPONSE_HELP); |
2699 | - gtk_button_set_label(GTK_BUTTON(logout_dialog->restart_button), _(button_strings[LOGOUT_DIALOG_RESTART])); |
2700 | - gtk_widget_hide(logout_dialog->restart_button); |
2701 | - |
2702 | - /* the cancel button */ |
2703 | - logout_dialog->cancel_button = gtk_dialog_add_button (dialog, |
2704 | - GTK_STOCK_CANCEL, |
2705 | - GTK_RESPONSE_CANCEL); |
2706 | - /* the ok button */ |
2707 | - logout_dialog->ok_button = gtk_dialog_add_button (dialog, |
2708 | - GTK_STOCK_OK, |
2709 | - GTK_RESPONSE_OK); |
2710 | - gtk_widget_grab_default (logout_dialog->ok_button); |
2711 | - |
2712 | - /* Window Title and Icon */ |
2713 | - gtk_window_set_title (GTK_WINDOW(logout_dialog), _(title_strings[logout_dialog->action])); |
2714 | - gtk_window_set_icon_name (GTK_WINDOW(logout_dialog), icon_strings[logout_dialog->action]); |
2715 | - |
2716 | - /* hbox */ |
2717 | - logout_dialog->hbox = gtk_hbox_new (FALSE, 12); |
2718 | - gtk_container_set_border_width (GTK_CONTAINER(logout_dialog->hbox), 6); |
2719 | - gtk_box_pack_start (GTK_BOX(logout_dialog->main_vbox), |
2720 | - logout_dialog->hbox, FALSE, FALSE, 0); |
2721 | - gtk_widget_show (logout_dialog->hbox); |
2722 | - |
2723 | - /* image */ |
2724 | - logout_dialog->image = |
2725 | - gtk_image_new_from_icon_name (icon_strings[logout_dialog->action], |
2726 | - GTK_ICON_SIZE_DIALOG); |
2727 | - gtk_misc_set_alignment (GTK_MISC(logout_dialog->image), 0.5, 0); |
2728 | - gtk_box_pack_start (GTK_BOX(logout_dialog->hbox), logout_dialog->image, |
2729 | - FALSE, FALSE, 0); |
2730 | - gtk_widget_show (logout_dialog->image); |
2731 | - |
2732 | - /* vbox for text */ |
2733 | - logout_dialog->vbox_text = gtk_vbox_new(FALSE, 12); |
2734 | - gtk_box_pack_start(GTK_BOX(logout_dialog->hbox), logout_dialog->vbox_text, TRUE, TRUE, 0); |
2735 | - gtk_widget_show(logout_dialog->vbox_text); |
2736 | - |
2737 | - /* Message */ |
2738 | - logout_dialog->message = gtk_label_new(""); |
2739 | - gtk_label_set_line_wrap(GTK_LABEL(logout_dialog->message), TRUE); |
2740 | - gtk_label_set_single_line_mode(GTK_LABEL(logout_dialog->message), FALSE); |
2741 | - gtk_label_set_selectable(GTK_LABEL(logout_dialog->message), TRUE); |
2742 | - gtk_misc_set_alignment (GTK_MISC(logout_dialog->message), 0.0, 0.0); |
2743 | - gtk_box_pack_start(GTK_BOX(logout_dialog->vbox_text), logout_dialog->message, TRUE, TRUE, 0); |
2744 | - gtk_widget_show(logout_dialog->message); |
2745 | - |
2746 | - /* timeout */ |
2747 | - logout_dialog->timeout_text = gtk_label_new(""); |
2748 | - gtk_label_set_line_wrap(GTK_LABEL(logout_dialog->timeout_text), TRUE); |
2749 | - gtk_label_set_single_line_mode(GTK_LABEL(logout_dialog->timeout_text), FALSE); |
2750 | - gtk_label_set_selectable(GTK_LABEL(logout_dialog->timeout_text), FALSE); |
2751 | - gtk_misc_set_alignment (GTK_MISC(logout_dialog->timeout_text), 0.0, 0.5); |
2752 | - gtk_box_pack_start(GTK_BOX(logout_dialog->vbox_text), logout_dialog->timeout_text, TRUE, TRUE, 0); |
2753 | - gtk_widget_show(logout_dialog->timeout_text); |
2754 | - |
2755 | - g_signal_connect(G_OBJECT(logout_dialog), "show", G_CALLBACK(show_cb), logout_dialog); |
2756 | - |
2757 | - return; |
2758 | -} |
2759 | - |
2760 | -/** |
2761 | - * logout_dialog_new: |
2762 | - * |
2763 | - * Creates a new #LogoutDialog. |
2764 | - * |
2765 | - * Returns: the new #LogoutDialog |
2766 | - */ |
2767 | -GtkWidget* |
2768 | -logout_dialog_new (LogoutDialogAction action) |
2769 | -{ |
2770 | - LogoutDialog * dialog = g_object_new (LOGOUT_TYPE_DIALOG, "action", action, NULL); |
2771 | - return GTK_WIDGET(dialog); |
2772 | -} |
2773 | - |
2774 | -LogoutDialogAction |
2775 | -logout_dialog_get_action (LogoutDialog * dialog) |
2776 | -{ |
2777 | - return dialog->action; |
2778 | -} |
2779 | - |
2780 | |
2781 | === removed file 'src/gtk-dialog/logout-dialog.h' |
2782 | --- src/gtk-dialog/logout-dialog.h 2009-08-11 13:25:43 +0000 |
2783 | +++ src/gtk-dialog/logout-dialog.h 1970-01-01 00:00:00 +0000 |
2784 | @@ -1,99 +0,0 @@ |
2785 | -/* |
2786 | - * libgksuui -- Gtk+ widget and convenience functions for requesting passwords |
2787 | - * Copyright (C) 2004 Gustavo Noronha Silva |
2788 | - * |
2789 | - * This library is free software; you can redistribute it and/or |
2790 | - * modify it under the terms of the GNU Lesser General Public |
2791 | - * License as published by the Free Software Foundation; either |
2792 | - * version 2 of the License, or (at your option) any later version. |
2793 | - * |
2794 | - * This library is distributed in the hope that it will be useful, |
2795 | - * but WITHOUT ANY WARRANTY; without even the implied warranty of |
2796 | - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
2797 | - * Lesser General Public License for more details. |
2798 | - * |
2799 | - * You should have received a copy of the GNU Lesser General Public |
2800 | - * License along with this library; if not, write to the |
2801 | - * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, |
2802 | - * Boston, MA 02110-1301 USA |
2803 | - */ |
2804 | - |
2805 | -#ifndef __LOGOUT_DIALOG_H__ |
2806 | -#define __LOGOUT_DIALOG_H__ |
2807 | - |
2808 | -#include <gtk/gtk.h> |
2809 | - |
2810 | -G_BEGIN_DECLS |
2811 | - |
2812 | -#define LOGOUT_TYPE_DIALOG (logout_dialog_get_type ()) |
2813 | -#define LOGOUT_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), LOGOUT_TYPE_DIALOG, LogoutDialog)) |
2814 | -#define LOGOUT_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), LOGOUT_TYPE_DIALOG, LogoutDialogClass)) |
2815 | -#define LOGOUT_IS_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), LOGOUT_TYPE_DIALOG)) |
2816 | -#define LOGOUT_IS_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LOGOUT_TYPE_CONTEXT)) |
2817 | -#define LOGOUT_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LOGOUT_TYPE_DIALOG, LogoutDialogClass)) |
2818 | - |
2819 | -typedef struct _LogoutDialogClass LogoutDialogClass; |
2820 | -typedef struct _LogoutDialog LogoutDialog; |
2821 | -typedef enum _LogoutDialogAction LogoutDialogAction; |
2822 | - |
2823 | -enum _LogoutDialogAction { |
2824 | - LOGOUT_DIALOG_LOGOUT, |
2825 | - LOGOUT_DIALOG_RESTART, |
2826 | - LOGOUT_DIALOG_SHUTDOWN, |
2827 | - LOGOUT_DIALOG_ACTION_CNT |
2828 | -}; |
2829 | - |
2830 | -struct _LogoutDialogClass |
2831 | -{ |
2832 | - GtkDialogClass parent_class; |
2833 | -}; |
2834 | - |
2835 | -/** |
2836 | - * LogoutDialog: |
2837 | - * @dialog: parent widget |
2838 | - * @main_vbox: GtkDialog's vbox |
2839 | - * @hbox: box to separate the image of the right-side widgets |
2840 | - * @image: the authorization image, left-side widget |
2841 | - * @entry_vbox: right-side widgets container |
2842 | - * @label: message describing what is required from the user, |
2843 | - * right-side widget |
2844 | - * @entry: place to type the password in, right-side widget |
2845 | - * @ok_button: OK button of the dialog |
2846 | - * @cancel_button: Cancel button of the dialog |
2847 | - * |
2848 | - * Convenience widget based on #GtkDialog to request a password. |
2849 | - */ |
2850 | -struct _LogoutDialog |
2851 | -{ |
2852 | - GtkDialog dialog; |
2853 | - |
2854 | - GtkWidget *main_vbox; |
2855 | - GtkWidget *hbox; |
2856 | - GtkWidget *image; |
2857 | - GtkWidget *ok_button; |
2858 | - GtkWidget *cancel_button; |
2859 | - GtkWidget *restart_button; |
2860 | - GtkWidget *vbox_text; |
2861 | - GtkWidget *message; |
2862 | - GtkWidget *timeout_text; |
2863 | - |
2864 | - LogoutDialogAction action; |
2865 | - |
2866 | - /* private */ |
2867 | - gchar * timeout_result; |
2868 | - guint timeout; |
2869 | - guint timerfunc; |
2870 | -}; |
2871 | - |
2872 | -GType |
2873 | -logout_dialog_get_type (void); |
2874 | - |
2875 | -GtkWidget* |
2876 | -logout_dialog_new (LogoutDialogAction action); |
2877 | - |
2878 | -LogoutDialogAction |
2879 | -logout_dialog_get_action (LogoutDialog * widget); |
2880 | - |
2881 | -G_END_DECLS |
2882 | - |
2883 | -#endif |
2884 | |
2885 | === renamed file 'src/indicator-session.c' => 'src/indicator-me.c' |
2886 | --- src/indicator-session.c 2009-11-04 22:34:26 +0000 |
2887 | +++ src/indicator-me.c 2010-01-04 21:25:21 +0000 |
2888 | @@ -1,6 +1,6 @@ |
2889 | /* |
2890 | -A small wrapper utility to load indicators and put them as menu items |
2891 | -into the gnome-panel using it's applet interface. |
2892 | +A menu that should be close to the user, it's the user's status, |
2893 | +their friends. All about them. It's a user-focused-menu. |
2894 | |
2895 | Copyright 2009 Canonical Ltd. |
2896 | |
2897 | @@ -23,91 +23,70 @@ |
2898 | #include <glib.h> |
2899 | #include <glib-object.h> |
2900 | #include <gtk/gtk.h> |
2901 | -#include <libdbusmenu-gtk/client.h> |
2902 | +#include <libdbusmenu-gtk/menu.h> |
2903 | |
2904 | #include <dbus/dbus-glib.h> |
2905 | #include <dbus/dbus-glib-bindings.h> |
2906 | |
2907 | #include <libindicator/indicator.h> |
2908 | #include <libindicator/indicator-object.h> |
2909 | +#include <libindicator/indicator-service-manager.h> |
2910 | |
2911 | #include "dbus-shared-names.h" |
2912 | -#include "status-service-client.h" |
2913 | - |
2914 | -#define INDICATOR_SESSION_TYPE (indicator_session_get_type ()) |
2915 | -#define INDICATOR_SESSION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), INDICATOR_SESSION_TYPE, IndicatorSession)) |
2916 | -#define INDICATOR_SESSION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), INDICATOR_SESSION_TYPE, IndicatorSessionClass)) |
2917 | -#define IS_INDICATOR_SESSION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), INDICATOR_SESSION_TYPE)) |
2918 | -#define IS_INDICATOR_SESSION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), INDICATOR_SESSION_TYPE)) |
2919 | -#define INDICATOR_SESSION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), INDICATOR_SESSION_TYPE, IndicatorSessionClass)) |
2920 | - |
2921 | -typedef struct _IndicatorSession IndicatorSession; |
2922 | -typedef struct _IndicatorSessionClass IndicatorSessionClass; |
2923 | - |
2924 | -struct _IndicatorSessionClass { |
2925 | +#include "me-service-client.h" |
2926 | + |
2927 | +#define INDICATOR_ME_TYPE (indicator_me_get_type ()) |
2928 | +#define INDICATOR_ME(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), INDICATOR_ME_TYPE, IndicatorMe)) |
2929 | +#define INDICATOR_ME_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), INDICATOR_ME_TYPE, IndicatorMeClass)) |
2930 | +#define IS_INDICATOR_ME(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), INDICATOR_ME_TYPE)) |
2931 | +#define IS_INDICATOR_ME_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), INDICATOR_ME_TYPE)) |
2932 | +#define INDICATOR_ME_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), INDICATOR_ME_TYPE, IndicatorMeClass)) |
2933 | + |
2934 | +#define DEFAULT_ICON "user-offline" |
2935 | + |
2936 | +typedef struct _IndicatorMe IndicatorMe; |
2937 | +typedef struct _IndicatorMeClass IndicatorMeClass; |
2938 | + |
2939 | +struct _IndicatorMeClass { |
2940 | IndicatorObjectClass parent_class; |
2941 | }; |
2942 | |
2943 | -struct _IndicatorSession { |
2944 | +struct _IndicatorMe { |
2945 | IndicatorObject parent; |
2946 | + IndicatorServiceManager * service; |
2947 | }; |
2948 | |
2949 | -GType indicator_session_get_type (void); |
2950 | +GType indicator_me_get_type (void); |
2951 | |
2952 | /* Indicator stuff */ |
2953 | INDICATOR_SET_VERSION |
2954 | -INDICATOR_SET_TYPE(INDICATOR_SESSION_TYPE) |
2955 | +INDICATOR_SET_TYPE(INDICATOR_ME_TYPE) |
2956 | |
2957 | /* Globals */ |
2958 | -static DbusmenuGtkClient * status_client = NULL; |
2959 | -static DbusmenuGtkClient * users_client = NULL; |
2960 | -static DbusmenuGtkClient * session_client = NULL; |
2961 | - |
2962 | -static GtkMenu * main_menu = NULL; |
2963 | static GtkImage * status_image = NULL; |
2964 | - |
2965 | -static GtkWidget * status_separator = NULL; |
2966 | -static GtkWidget * users_separator = NULL; |
2967 | -#define SEPARATOR_SHOWN(sep) (sep != NULL && GTK_WIDGET_VISIBLE(sep)) |
2968 | -static GtkWidget * loading_item = NULL; |
2969 | - |
2970 | -static DBusGConnection * connection = NULL; |
2971 | -static DBusGProxy * proxy = NULL; |
2972 | static DBusGProxy * status_proxy = NULL; |
2973 | |
2974 | -typedef enum { |
2975 | - STATUS_SECTION, |
2976 | - USERS_SECTION, |
2977 | - SESSION_SECTION, |
2978 | - END_OF_SECTIONS |
2979 | -} section_t; |
2980 | - |
2981 | /* Prototypes */ |
2982 | -static void child_added (DbusmenuMenuitem * parent, DbusmenuMenuitem * child, guint position, gpointer section); |
2983 | -static guint status_menu_pos_offset (void); |
2984 | -static guint users_menu_pos_offset (void); |
2985 | -static guint session_menu_pos_offset (void); |
2986 | -static void child_realized (DbusmenuMenuitem * child, gpointer userdata); |
2987 | -static gboolean start_service (gpointer userdata); |
2988 | -static void start_service_phase2 (DBusGProxy * proxy, guint status, GError * error, gpointer data); |
2989 | static GtkLabel * get_label (IndicatorObject * io); |
2990 | static GtkImage * get_icon (IndicatorObject * io); |
2991 | static GtkMenu * get_menu (IndicatorObject * io); |
2992 | |
2993 | -static void indicator_session_class_init (IndicatorSessionClass *klass); |
2994 | -static void indicator_session_init (IndicatorSession *self); |
2995 | -static void indicator_session_dispose (GObject *object); |
2996 | -static void indicator_session_finalize (GObject *object); |
2997 | +static void indicator_me_class_init (IndicatorMeClass *klass); |
2998 | +static void indicator_me_init (IndicatorMe *self); |
2999 | +static void indicator_me_dispose (GObject *object); |
3000 | +static void indicator_me_finalize (GObject *object); |
3001 | +static void connection_changed (IndicatorServiceManager * sm, gboolean connected, gpointer userdata); |
3002 | +static void status_icon_cb (DBusGProxy * proxy, char * icons, GError *error, gpointer userdata); |
3003 | |
3004 | -G_DEFINE_TYPE (IndicatorSession, indicator_session, INDICATOR_OBJECT_TYPE); |
3005 | +G_DEFINE_TYPE (IndicatorMe, indicator_me, INDICATOR_OBJECT_TYPE); |
3006 | |
3007 | static void |
3008 | -indicator_session_class_init (IndicatorSessionClass *klass) |
3009 | +indicator_me_class_init (IndicatorMeClass *klass) |
3010 | { |
3011 | GObjectClass *object_class = G_OBJECT_CLASS (klass); |
3012 | |
3013 | - object_class->dispose = indicator_session_dispose; |
3014 | - object_class->finalize = indicator_session_finalize; |
3015 | + object_class->dispose = indicator_me_dispose; |
3016 | + object_class->finalize = indicator_me_finalize; |
3017 | |
3018 | IndicatorObjectClass * io_class = INDICATOR_OBJECT_CLASS(klass); |
3019 | io_class->get_label = get_label; |
3020 | @@ -118,25 +97,32 @@ |
3021 | } |
3022 | |
3023 | static void |
3024 | -indicator_session_init (IndicatorSession *self) |
3025 | -{ |
3026 | - |
3027 | - return; |
3028 | -} |
3029 | - |
3030 | -static void |
3031 | -indicator_session_dispose (GObject *object) |
3032 | -{ |
3033 | - |
3034 | - G_OBJECT_CLASS (indicator_session_parent_class)->dispose (object); |
3035 | - return; |
3036 | -} |
3037 | - |
3038 | -static void |
3039 | -indicator_session_finalize (GObject *object) |
3040 | -{ |
3041 | - |
3042 | - G_OBJECT_CLASS (indicator_session_parent_class)->finalize (object); |
3043 | +indicator_me_init (IndicatorMe *self) |
3044 | +{ |
3045 | + |
3046 | + /* Init variables */ |
3047 | + self->service = NULL; |
3048 | + |
3049 | + /* Do stuff with them */ |
3050 | + self->service = indicator_service_manager_new_version(INDICATOR_ME_DBUS_NAME, INDICATOR_ME_DBUS_VERSION); |
3051 | + g_signal_connect(G_OBJECT(self->service), INDICATOR_SERVICE_MANAGER_SIGNAL_CONNECTION_CHANGE, G_CALLBACK(connection_changed), self); |
3052 | + |
3053 | + return; |
3054 | +} |
3055 | + |
3056 | +static void |
3057 | +indicator_me_dispose (GObject *object) |
3058 | +{ |
3059 | + |
3060 | + G_OBJECT_CLASS (indicator_me_parent_class)->dispose (object); |
3061 | + return; |
3062 | +} |
3063 | + |
3064 | +static void |
3065 | +indicator_me_finalize (GObject *object) |
3066 | +{ |
3067 | + |
3068 | + G_OBJECT_CLASS (indicator_me_parent_class)->finalize (object); |
3069 | return; |
3070 | } |
3071 | |
3072 | @@ -151,198 +137,26 @@ |
3073 | static GtkImage * |
3074 | get_icon (IndicatorObject * io) |
3075 | { |
3076 | - g_debug("Changing status icon: '%s'", "system-shutdown-panel"); |
3077 | - status_image = GTK_IMAGE(gtk_image_new_from_icon_name("system-shutdown-panel", GTK_ICON_SIZE_MENU)); |
3078 | - gtk_widget_show(GTK_WIDGET(status_image)); |
3079 | + if (status_image == NULL) { |
3080 | + /* Will create the status icon if it doesn't exist already */ |
3081 | + status_icon_cb(NULL, DEFAULT_ICON, NULL, NULL); |
3082 | + } |
3083 | return status_image; |
3084 | } |
3085 | |
3086 | -typedef struct _realized_data_t realized_data_t; |
3087 | -struct _realized_data_t { |
3088 | - section_t section; |
3089 | -}; |
3090 | - |
3091 | -static void |
3092 | -resort_menu (void) |
3093 | -{ |
3094 | - guint location = 0; |
3095 | - guint clientnum; |
3096 | - |
3097 | - for (clientnum = 0; clientnum < 3; clientnum++) { |
3098 | - DbusmenuGtkClient * client = NULL; |
3099 | - if (clientnum == 0) client = status_client; |
3100 | - if (clientnum == 1) client = users_client; |
3101 | - if (clientnum == 2) client = session_client; |
3102 | - |
3103 | - if (client == NULL) continue; |
3104 | - |
3105 | - DbusmenuMenuitem * root = dbusmenu_client_get_root(DBUSMENU_CLIENT(client)); |
3106 | - |
3107 | - GList * children = dbusmenu_menuitem_get_children(root); |
3108 | - if (children == NULL) { |
3109 | - continue; |
3110 | - } |
3111 | - |
3112 | - GList * child; |
3113 | - for (child = children; child != NULL; child = g_list_next(child)) { |
3114 | - GtkMenuItem * widget = dbusmenu_gtkclient_menuitem_get(client, DBUSMENU_MENUITEM(child->data)); |
3115 | - if (widget != NULL) { |
3116 | - gtk_menu_reorder_child(main_menu, GTK_WIDGET(widget), location); |
3117 | - location++; |
3118 | - } |
3119 | - } |
3120 | - |
3121 | - if (clientnum == 0) { |
3122 | - gtk_menu_reorder_child(main_menu, status_separator, location); |
3123 | - location++; |
3124 | - } |
3125 | - if (clientnum == 1) { |
3126 | - gtk_menu_reorder_child(main_menu, users_separator, location); |
3127 | - location++; |
3128 | - } |
3129 | - } |
3130 | - |
3131 | - return; |
3132 | -} |
3133 | - |
3134 | -static void |
3135 | -child_added (DbusmenuMenuitem * parent, DbusmenuMenuitem * child, guint position, gpointer section) |
3136 | -{ |
3137 | - realized_data_t * data = g_new0(realized_data_t, 1); |
3138 | - if (data == NULL) { |
3139 | - g_warning("Unable to allocate data for realization of item"); |
3140 | - return; |
3141 | - } |
3142 | - |
3143 | - data->section = GPOINTER_TO_UINT(section); |
3144 | - |
3145 | - g_signal_connect(G_OBJECT(child), DBUSMENU_MENUITEM_SIGNAL_REALIZED, G_CALLBACK(child_realized), data); |
3146 | - return; |
3147 | -} |
3148 | - |
3149 | -static void |
3150 | -child_realized (DbusmenuMenuitem * child, gpointer userdata) |
3151 | -{ |
3152 | - g_return_if_fail(userdata != NULL); |
3153 | - g_return_if_fail(DBUSMENU_IS_MENUITEM(child)); |
3154 | - |
3155 | - realized_data_t * data = (realized_data_t *)userdata; |
3156 | - section_t section = data->section; |
3157 | - g_free(data); |
3158 | - |
3159 | - DbusmenuGtkClient * client = NULL; |
3160 | - gchar * errorstr = NULL; |
3161 | - guint (*posfunc) (void) = NULL; |
3162 | - |
3163 | - switch (section) { |
3164 | - case STATUS_SECTION: |
3165 | - client = status_client; |
3166 | - errorstr = "Status"; |
3167 | - posfunc = status_menu_pos_offset; |
3168 | - break; |
3169 | - case USERS_SECTION: |
3170 | - client = users_client; |
3171 | - errorstr = "Users"; |
3172 | - posfunc = users_menu_pos_offset; |
3173 | - break; |
3174 | - case SESSION_SECTION: |
3175 | - client = session_client; |
3176 | - errorstr = "Session"; |
3177 | - posfunc = session_menu_pos_offset; |
3178 | - break; |
3179 | - default: |
3180 | - g_warning("Child Added called with an unknown position function!"); |
3181 | - return; |
3182 | - } |
3183 | - |
3184 | - if (client == NULL) { |
3185 | - g_warning("Child realized for a menu we don't have? Section: %s", errorstr); |
3186 | - return; |
3187 | - } |
3188 | - |
3189 | - GtkMenuItem * widget = dbusmenu_gtkclient_menuitem_get(client, child); |
3190 | - |
3191 | - if (widget == NULL) { |
3192 | - g_warning("Had a menu item added to the %s menu, but yet it didn't have a GtkWidget with it. Can't add that to a menu now can we? You need to figure this @#$# out!", errorstr); |
3193 | - return; |
3194 | - } |
3195 | - |
3196 | - gtk_menu_append(main_menu, GTK_WIDGET(widget)); |
3197 | - gtk_widget_show(GTK_WIDGET(widget)); |
3198 | - |
3199 | - resort_menu(); |
3200 | - |
3201 | - gtk_widget_hide(loading_item); |
3202 | - |
3203 | - return; |
3204 | -} |
3205 | - |
3206 | -static void |
3207 | -child_moved (DbusmenuMenuitem * parent, DbusmenuMenuitem * child, guint newpos, guint oldpos, guint (*posfunc) (void)) |
3208 | -{ |
3209 | - |
3210 | - |
3211 | -} |
3212 | - |
3213 | - |
3214 | -/* Status Menu */ |
3215 | -static guint |
3216 | -status_menu_pos_offset (void) |
3217 | -{ |
3218 | - return 0; |
3219 | -} |
3220 | - |
3221 | -static void |
3222 | -status_menu_added (DbusmenuMenuitem * root, DbusmenuMenuitem * child, guint position, gpointer user_data) |
3223 | -{ |
3224 | - gtk_widget_show(GTK_WIDGET(status_separator)); |
3225 | - return; |
3226 | -} |
3227 | - |
3228 | -static void |
3229 | -status_menu_removed (DbusmenuMenuitem * root, DbusmenuMenuitem * child, gpointer user_data) |
3230 | -{ |
3231 | - if (g_list_length(dbusmenu_menuitem_get_children(root)) == 0) { |
3232 | - gtk_widget_hide(GTK_WIDGET(status_separator)); |
3233 | - } |
3234 | - |
3235 | - return; |
3236 | -} |
3237 | - |
3238 | -static void |
3239 | -status_menu_root_changed(DbusmenuGtkClient * client, DbusmenuMenuitem * newroot, GtkMenu * main) |
3240 | -{ |
3241 | - if (newroot == NULL) { |
3242 | - gtk_widget_hide(GTK_WIDGET(status_separator)); |
3243 | - return; |
3244 | - } |
3245 | - |
3246 | - g_signal_connect(G_OBJECT(newroot), DBUSMENU_MENUITEM_SIGNAL_CHILD_ADDED, G_CALLBACK(child_added), GUINT_TO_POINTER(STATUS_SECTION)); |
3247 | - g_signal_connect(G_OBJECT(newroot), DBUSMENU_MENUITEM_SIGNAL_CHILD_REMOVED, G_CALLBACK(status_menu_added), NULL); |
3248 | - g_signal_connect(G_OBJECT(newroot), DBUSMENU_MENUITEM_SIGNAL_CHILD_REMOVED, G_CALLBACK(status_menu_removed), NULL); |
3249 | - g_signal_connect(G_OBJECT(newroot), DBUSMENU_MENUITEM_SIGNAL_CHILD_MOVED, G_CALLBACK(child_moved), GUINT_TO_POINTER(STATUS_SECTION)); |
3250 | - |
3251 | - GList * child = NULL; |
3252 | - guint count = 0; |
3253 | - for (child = dbusmenu_menuitem_get_children(newroot); child != NULL; child = g_list_next(child), count++) { |
3254 | - child_added(newroot, DBUSMENU_MENUITEM(child->data), count, GUINT_TO_POINTER(STATUS_SECTION)); |
3255 | - } |
3256 | - |
3257 | - if (count > 0) { |
3258 | - gtk_widget_show(GTK_WIDGET(status_separator)); |
3259 | - } |
3260 | - |
3261 | - return; |
3262 | -} |
3263 | - |
3264 | static void |
3265 | status_icon_cb (DBusGProxy * proxy, char * icons, GError *error, gpointer userdata) |
3266 | { |
3267 | - g_return_if_fail(status_image != NULL); |
3268 | g_return_if_fail(icons != NULL); |
3269 | g_return_if_fail(icons[0] != '\0'); |
3270 | |
3271 | g_debug("Changing status icon: '%s'", icons); |
3272 | + |
3273 | + if (status_image == NULL) { |
3274 | + status_image = GTK_IMAGE(gtk_image_new_from_icon_name(DEFAULT_ICON, GTK_ICON_SIZE_MENU)); |
3275 | + gtk_widget_show(GTK_WIDGET(status_image)); |
3276 | + } |
3277 | + |
3278 | gtk_image_set_from_icon_name(status_image, icons, GTK_ICON_SIZE_MENU); |
3279 | |
3280 | return; |
3281 | @@ -354,289 +168,44 @@ |
3282 | return status_icon_cb(proxy, icon, NULL, NULL); |
3283 | } |
3284 | |
3285 | - |
3286 | -static gboolean |
3287 | -connect_to_status (gpointer userdata) |
3288 | +static void |
3289 | +connection_changed (IndicatorServiceManager * sm, gboolean connected, gpointer userdata) |
3290 | { |
3291 | - if (status_proxy == NULL) { |
3292 | - GError * error = NULL; |
3293 | - |
3294 | - DBusGConnection * sbus = dbus_g_bus_get(DBUS_BUS_SESSION, NULL); |
3295 | - |
3296 | - status_proxy = dbus_g_proxy_new_for_name_owner(sbus, |
3297 | - INDICATOR_STATUS_DBUS_NAME, |
3298 | - INDICATOR_STATUS_SERVICE_DBUS_OBJECT, |
3299 | - INDICATOR_STATUS_SERVICE_DBUS_INTERFACE, |
3300 | - &error); |
3301 | - |
3302 | - if (error != NULL) { |
3303 | - g_warning("Unable to get status proxy: %s", error->message); |
3304 | - g_error_free(error); |
3305 | - return FALSE; |
3306 | + if (connected) { |
3307 | + if (status_proxy == NULL) { |
3308 | + GError * error = NULL; |
3309 | + |
3310 | + DBusGConnection * sbus = dbus_g_bus_get(DBUS_BUS_SESSION, NULL); |
3311 | + |
3312 | + status_proxy = dbus_g_proxy_new_for_name_owner(sbus, |
3313 | + INDICATOR_ME_DBUS_NAME, |
3314 | + INDICATOR_ME_SERVICE_DBUS_OBJECT, |
3315 | + INDICATOR_ME_SERVICE_DBUS_INTERFACE, |
3316 | + &error); |
3317 | + |
3318 | + if (error != NULL) { |
3319 | + g_warning("Unable to get status proxy: %s", error->message); |
3320 | + g_error_free(error); |
3321 | + } |
3322 | + |
3323 | + dbus_g_proxy_add_signal(status_proxy, "StatusIconsChanged", G_TYPE_STRING, G_TYPE_INVALID); |
3324 | + dbus_g_proxy_connect_signal(status_proxy, "StatusIconsChanged", G_CALLBACK(status_icon_changed), NULL, NULL); |
3325 | } |
3326 | |
3327 | - dbus_g_proxy_add_signal(status_proxy, "StatusIconsChanged", G_TYPE_STRING, G_TYPE_INVALID); |
3328 | - dbus_g_proxy_connect_signal(status_proxy, "StatusIconsChanged", G_CALLBACK(status_icon_changed), NULL, NULL); |
3329 | - } |
3330 | - |
3331 | - org_ayatana_indicator_status_service_status_icons_async(status_proxy, status_icon_cb, NULL); |
3332 | - |
3333 | - return FALSE; |
3334 | -} |
3335 | - |
3336 | -/* Follow up the service being started by connecting |
3337 | - up the DBus Menu Client and creating our separator. |
3338 | - Also creates an idle func to connect to the service for |
3339 | - getting the icon that we should be using on the panel. */ |
3340 | -static void |
3341 | -status_followup (void) |
3342 | -{ |
3343 | - status_client = dbusmenu_gtkclient_new(INDICATOR_STATUS_DBUS_NAME, INDICATOR_STATUS_DBUS_OBJECT); |
3344 | - g_signal_connect(G_OBJECT(status_client), DBUSMENU_GTKCLIENT_SIGNAL_ROOT_CHANGED, G_CALLBACK(status_menu_root_changed), main_menu); |
3345 | - |
3346 | - status_separator = gtk_separator_menu_item_new(); |
3347 | - gtk_menu_shell_append(GTK_MENU_SHELL(main_menu), status_separator); |
3348 | - gtk_widget_hide(status_separator); /* Should be default, I'm just being explicit. $(%*#$ hide already! */ |
3349 | - |
3350 | - g_idle_add(connect_to_status, NULL); |
3351 | - |
3352 | - return; |
3353 | -} |
3354 | - |
3355 | -/* Users menu */ |
3356 | - |
3357 | -static guint |
3358 | -users_menu_pos_offset (void) |
3359 | -{ |
3360 | - guint position = 0; |
3361 | - if (SEPARATOR_SHOWN(status_separator)) { |
3362 | - GList * location = g_list_find(GTK_MENU_SHELL(main_menu)->children, status_separator); |
3363 | - position = g_list_position(GTK_MENU_SHELL(main_menu)->children, location) + 1; |
3364 | - } |
3365 | - |
3366 | - return position; |
3367 | -} |
3368 | - |
3369 | -static void |
3370 | -users_menu_added (DbusmenuMenuitem * root, DbusmenuMenuitem * child, guint position, gpointer user_data) |
3371 | -{ |
3372 | - gtk_widget_show(GTK_WIDGET(users_separator)); |
3373 | - return; |
3374 | -} |
3375 | - |
3376 | -static void |
3377 | -users_menu_removed (DbusmenuMenuitem * root, DbusmenuMenuitem * child, gpointer user_data) |
3378 | -{ |
3379 | - if (g_list_length(dbusmenu_menuitem_get_children(root)) == 0) { |
3380 | - gtk_widget_hide(GTK_WIDGET(users_separator)); |
3381 | - } |
3382 | - |
3383 | - return; |
3384 | -} |
3385 | - |
3386 | -static void |
3387 | -users_menu_root_changed(DbusmenuGtkClient * client, DbusmenuMenuitem * newroot, GtkMenu * main) |
3388 | -{ |
3389 | - if (newroot == NULL) { |
3390 | - gtk_widget_hide(GTK_WIDGET(users_separator)); |
3391 | - return; |
3392 | - } |
3393 | - |
3394 | - g_signal_connect(G_OBJECT(newroot), DBUSMENU_MENUITEM_SIGNAL_CHILD_ADDED, G_CALLBACK(child_added), GUINT_TO_POINTER(USERS_SECTION)); |
3395 | - g_signal_connect(G_OBJECT(newroot), DBUSMENU_MENUITEM_SIGNAL_CHILD_REMOVED, G_CALLBACK(users_menu_added), NULL); |
3396 | - g_signal_connect(G_OBJECT(newroot), DBUSMENU_MENUITEM_SIGNAL_CHILD_REMOVED, G_CALLBACK(users_menu_removed), NULL); |
3397 | - g_signal_connect(G_OBJECT(newroot), DBUSMENU_MENUITEM_SIGNAL_CHILD_MOVED, G_CALLBACK(child_moved), GUINT_TO_POINTER(USERS_SECTION)); |
3398 | - |
3399 | - GList * child = NULL; |
3400 | - guint count = 0; |
3401 | - for (child = dbusmenu_menuitem_get_children(newroot); child != NULL; child = g_list_next(child), count++) { |
3402 | - child_added(newroot, DBUSMENU_MENUITEM(child->data), count, GUINT_TO_POINTER(USERS_SECTION)); |
3403 | - } |
3404 | - |
3405 | - if (count > 0) { |
3406 | - gtk_widget_show(GTK_WIDGET(users_separator)); |
3407 | - } |
3408 | - |
3409 | - return; |
3410 | -} |
3411 | - |
3412 | -/* Follow up the service being started by connecting |
3413 | - up the DBus Menu Client and creating our separator. */ |
3414 | -static void |
3415 | -users_followup (void) |
3416 | -{ |
3417 | - users_client = dbusmenu_gtkclient_new(INDICATOR_USERS_DBUS_NAME, INDICATOR_USERS_DBUS_OBJECT); |
3418 | - g_signal_connect(G_OBJECT(users_client), DBUSMENU_GTKCLIENT_SIGNAL_ROOT_CHANGED, G_CALLBACK(users_menu_root_changed), main_menu); |
3419 | - |
3420 | - users_separator = gtk_separator_menu_item_new(); |
3421 | - gtk_menu_shell_append(GTK_MENU_SHELL(main_menu), users_separator); |
3422 | - gtk_widget_hide(users_separator); /* Should be default, I'm just being explicit. $(%*#$ hide already! */ |
3423 | - |
3424 | - return; |
3425 | -} |
3426 | - |
3427 | -/* Session Menu Stuff */ |
3428 | - |
3429 | -static guint |
3430 | -session_menu_pos_offset (void) |
3431 | -{ |
3432 | - guint position = 0; |
3433 | - if (SEPARATOR_SHOWN(users_separator)) { |
3434 | - GList * location = g_list_find(GTK_MENU_SHELL(main_menu)->children, users_separator); |
3435 | - position = g_list_position(GTK_MENU_SHELL(main_menu)->children, location) + 1; |
3436 | - } else if (SEPARATOR_SHOWN(status_separator)) { |
3437 | - GList * location = g_list_find(GTK_MENU_SHELL(main_menu)->children, status_separator); |
3438 | - position = g_list_position(GTK_MENU_SHELL(main_menu)->children, location) + 1; |
3439 | - } |
3440 | - |
3441 | - return position; |
3442 | -} |
3443 | - |
3444 | -static void |
3445 | -session_menu_removed (DbusmenuMenuitem * root, DbusmenuMenuitem * child, gpointer user_data) |
3446 | -{ |
3447 | - return; |
3448 | -} |
3449 | - |
3450 | -static void |
3451 | -session_menu_root_changed(DbusmenuGtkClient * client, DbusmenuMenuitem * newroot, GtkMenu * main) |
3452 | -{ |
3453 | - if (newroot == NULL) { |
3454 | - /* We're assuming this'll crash the least so it doesn't |
3455 | - hide a separator. May be a bad choice. */ |
3456 | - return; |
3457 | - } |
3458 | - |
3459 | - g_signal_connect(G_OBJECT(newroot), DBUSMENU_MENUITEM_SIGNAL_CHILD_ADDED, G_CALLBACK(child_added), GUINT_TO_POINTER(SESSION_SECTION)); |
3460 | - g_signal_connect(G_OBJECT(newroot), DBUSMENU_MENUITEM_SIGNAL_CHILD_REMOVED, G_CALLBACK(session_menu_removed), NULL); |
3461 | - g_signal_connect(G_OBJECT(newroot), DBUSMENU_MENUITEM_SIGNAL_CHILD_MOVED, G_CALLBACK(child_moved), GUINT_TO_POINTER(SESSION_SECTION)); |
3462 | - |
3463 | - GList * child = NULL; |
3464 | - guint count = 0; |
3465 | - for (child = dbusmenu_menuitem_get_children(newroot); child != NULL; child = g_list_next(child), count++) { |
3466 | - child_added(newroot, DBUSMENU_MENUITEM(child->data), count, GUINT_TO_POINTER(SESSION_SECTION)); |
3467 | - } |
3468 | - |
3469 | - return; |
3470 | -} |
3471 | - |
3472 | -/* Follow up the service being started by connecting |
3473 | - up the DBus Menu Client. */ |
3474 | -static void |
3475 | -session_followup (void) |
3476 | -{ |
3477 | - session_client = dbusmenu_gtkclient_new(INDICATOR_SESSION_DBUS_NAME, INDICATOR_SESSION_DBUS_OBJECT); |
3478 | - g_signal_connect(G_OBJECT(session_client), DBUSMENU_GTKCLIENT_SIGNAL_ROOT_CHANGED, G_CALLBACK(session_menu_root_changed), main_menu); |
3479 | - |
3480 | - return; |
3481 | -} |
3482 | - |
3483 | -/* Base menu stuff */ |
3484 | - |
3485 | -/* This takes the response to the service starting up. |
3486 | - It checks to see if it's started and if so, continues |
3487 | - with the follow function for the particular area that |
3488 | - it's working in. */ |
3489 | -static void |
3490 | -start_service_phase2 (DBusGProxy * proxy, guint status, GError * error, gpointer data) |
3491 | -{ |
3492 | - /* If we've got an error respond to it */ |
3493 | - if (error != NULL) { |
3494 | - g_critical("Starting service has resulted in error."); |
3495 | - g_error_free(error); |
3496 | - /* Try it all again, we need to get this started! */ |
3497 | - g_idle_add(start_service, data); |
3498 | - return; |
3499 | - } |
3500 | - |
3501 | - /* If it's not running or we started it, try again */ |
3502 | - if (status != DBUS_START_REPLY_SUCCESS && status != DBUS_START_REPLY_ALREADY_RUNNING) { |
3503 | - g_critical("Return value isn't indicative of success: %d", status); |
3504 | - /* Try it all again, we need to get this started! */ |
3505 | - g_idle_add(start_service, data); |
3506 | - return; |
3507 | - } |
3508 | - |
3509 | - /* Check which part of the menu we're in and do the |
3510 | - appropriate follow up from the service being started. */ |
3511 | - switch (GPOINTER_TO_INT(data)) { |
3512 | - case STATUS_SECTION: |
3513 | - status_followup(); |
3514 | - break; |
3515 | - case USERS_SECTION: |
3516 | - users_followup(); |
3517 | - break; |
3518 | - case SESSION_SECTION: |
3519 | - session_followup(); |
3520 | - break; |
3521 | - default: |
3522 | - g_critical("Oh, how can we get a value that we don't know!"); |
3523 | - break; |
3524 | - } |
3525 | - |
3526 | - return; |
3527 | -} |
3528 | - |
3529 | -/* Our idle service starter. It looks at the section that |
3530 | - we're doing and then asks async for that service to be |
3531 | - started by dbus. Probably not really useful to be in |
3532 | - the idle loop as it's so quick, but why not. */ |
3533 | -static gboolean |
3534 | -start_service (gpointer userdata) |
3535 | -{ |
3536 | - g_debug("Starting a service"); |
3537 | - |
3538 | - if (proxy == NULL) { |
3539 | - /* If we don't have DBus, let's stay in the idle loop */ |
3540 | - return TRUE; |
3541 | - } |
3542 | - |
3543 | - const gchar * service = NULL; |
3544 | - switch (GPOINTER_TO_INT(userdata)) { |
3545 | - case STATUS_SECTION: |
3546 | - service = INDICATOR_STATUS_DBUS_NAME; |
3547 | - break; |
3548 | - case USERS_SECTION: |
3549 | - service = INDICATOR_USERS_DBUS_NAME; |
3550 | - break; |
3551 | - case SESSION_SECTION: |
3552 | - service = INDICATOR_SESSION_DBUS_NAME; |
3553 | - break; |
3554 | - default: |
3555 | - g_critical("Oh, how can we get a value that we don't know!"); |
3556 | - return FALSE; |
3557 | - } |
3558 | - |
3559 | - org_freedesktop_DBus_start_service_by_name_async (proxy, service, 0 /* Flags */, start_service_phase2, userdata); |
3560 | - |
3561 | - return FALSE; |
3562 | -} |
3563 | - |
3564 | -/* Indicator based function to get the menu for the whole |
3565 | - applet. This starts up asking for the parts of the menu |
3566 | - from the various services. */ |
3567 | + org_ayatana_indicator_me_service_status_icons_async(status_proxy, status_icon_cb, NULL); |
3568 | + } else { |
3569 | + /* If we're disconnecting, go back to offline */ |
3570 | + status_icon_cb(NULL, DEFAULT_ICON, NULL, NULL); |
3571 | + } |
3572 | + |
3573 | + return; |
3574 | +} |
3575 | + |
3576 | +/* Builds the dbusmenu for the service. */ |
3577 | static GtkMenu * |
3578 | get_menu (IndicatorObject * io) |
3579 | { |
3580 | - connection = dbus_g_bus_get(DBUS_BUS_SESSION, NULL); |
3581 | - proxy = dbus_g_proxy_new_for_name(connection, DBUS_SERVICE_DBUS, DBUS_PATH_DBUS, DBUS_INTERFACE_DBUS); |
3582 | - if (proxy == NULL) { |
3583 | - g_warning("Unable to get proxy for DBus itself. Seriously."); |
3584 | - } |
3585 | - |
3586 | - /* Startup in the idle loop */ |
3587 | - g_idle_add(start_service, GINT_TO_POINTER(STATUS_SECTION)); |
3588 | - g_idle_add(start_service, GINT_TO_POINTER(USERS_SECTION)); |
3589 | - g_idle_add(start_service, GINT_TO_POINTER(SESSION_SECTION)); |
3590 | - |
3591 | - /* Build a temp menu incase someone can ask for it |
3592 | - before the services start. Fast user! */ |
3593 | - main_menu = GTK_MENU(gtk_menu_new()); |
3594 | - loading_item = gtk_menu_item_new_with_label("Loading..."); |
3595 | - gtk_menu_shell_append(GTK_MENU_SHELL(main_menu), loading_item); |
3596 | - gtk_widget_show(GTK_WIDGET(loading_item)); |
3597 | - |
3598 | - return main_menu; |
3599 | + return GTK_MENU(dbusmenu_gtkmenu_new(INDICATOR_ME_DBUS_NAME, INDICATOR_ME_DBUS_OBJECT)); |
3600 | } |
3601 | |
3602 | |
3603 | |
3604 | === removed file 'src/lock-helper.c' |
3605 | --- src/lock-helper.c 2009-10-07 17:10:38 +0000 |
3606 | +++ src/lock-helper.c 1970-01-01 00:00:00 +0000 |
3607 | @@ -1,326 +0,0 @@ |
3608 | -/* |
3609 | -A small helper for locking the screen. |
3610 | - |
3611 | -Copyright 2009 Canonical Ltd. |
3612 | - |
3613 | -Authors: |
3614 | - Ted Gould <ted@canonical.com> |
3615 | - |
3616 | -This program is free software: you can redistribute it and/or modify it |
3617 | -under the terms of the GNU General Public License version 3, as published |
3618 | -by the Free Software Foundation. |
3619 | - |
3620 | -This program is distributed in the hope that it will be useful, but |
3621 | -WITHOUT ANY WARRANTY; without even the implied warranties of |
3622 | -MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR |
3623 | -PURPOSE. See the GNU General Public License for more details. |
3624 | - |
3625 | -You should have received a copy of the GNU General Public License along |
3626 | -with this program. If not, see <http://www.gnu.org/licenses/>. |
3627 | -*/ |
3628 | - |
3629 | -#include <dbus/dbus-glib.h> |
3630 | -#include "lock-helper.h" |
3631 | - |
3632 | -static DBusGProxy * gss_proxy = NULL; |
3633 | -static GMainLoop * gss_mainloop = NULL; |
3634 | -static guint cookie = 0; |
3635 | -static DBusGProxyCall * cookie_call = NULL; |
3636 | - |
3637 | -static DBusGProxy * gdm_settings_proxy = NULL; |
3638 | -static gboolean gdm_auto_login = FALSE; |
3639 | -static const gchar * gdm_auto_login_string = "daemon/AutomaticLoginEnable"; |
3640 | - |
3641 | -static gboolean is_guest = FALSE; |
3642 | - |
3643 | -static gdm_autologin_cb_t gdm_autologin_cb = NULL; |
3644 | - |
3645 | -/* Checks to see if there is an error and reports |
3646 | - it. Not much else we can do. */ |
3647 | -static void |
3648 | -unthrottle_return (DBusGProxy * proxy, DBusGProxyCall * call, gpointer data) |
3649 | -{ |
3650 | - GError * error = NULL; |
3651 | - dbus_g_proxy_end_call(proxy, call, &error, |
3652 | - G_TYPE_INVALID); |
3653 | - |
3654 | - if (error != NULL) { |
3655 | - g_warning("Unable to unthrottle: %s", error->message); |
3656 | - } |
3657 | - return; |
3658 | -} |
3659 | - |
3660 | -/* Sends an unthrottle if we're throttled. */ |
3661 | -void |
3662 | -screensaver_unthrottle (void) |
3663 | -{ |
3664 | - g_return_if_fail(cookie != 0); |
3665 | - |
3666 | - dbus_g_proxy_begin_call(gss_proxy, "UnThrottle", |
3667 | - unthrottle_return, NULL, |
3668 | - NULL, |
3669 | - G_TYPE_UINT, cookie, |
3670 | - G_TYPE_INVALID); |
3671 | - |
3672 | - cookie = 0; |
3673 | - return; |
3674 | -} |
3675 | - |
3676 | -/* Gets there return cookie from the throttle command |
3677 | - and sets things valid */ |
3678 | -static void |
3679 | -throttle_return (DBusGProxy * proxy, DBusGProxyCall * call, gpointer data) |
3680 | -{ |
3681 | - GError * error = NULL; |
3682 | - cookie_call = NULL; |
3683 | - |
3684 | - dbus_g_proxy_end_call(proxy, call, &error, |
3685 | - G_TYPE_UINT, &cookie, |
3686 | - G_TYPE_INVALID); |
3687 | - |
3688 | - if (error != NULL) { |
3689 | - g_warning("Unable to throttle the screensaver: %s", error->message); |
3690 | - return; |
3691 | - } |
3692 | - |
3693 | - |
3694 | - if (cookie == 0) { |
3695 | - g_warning("We didn't get a throttle cookie!"); |
3696 | - } |
3697 | - |
3698 | - return; |
3699 | -} |
3700 | - |
3701 | -/* Throttling the screensaver by using the screen saver |
3702 | - command. */ |
3703 | -void |
3704 | -screensaver_throttle (gchar * reason) |
3705 | -{ |
3706 | - g_return_if_fail(cookie_call == NULL); |
3707 | - g_return_if_fail(will_lock_screen()); |
3708 | - |
3709 | - if (cookie != 0) { |
3710 | - screensaver_unthrottle(); |
3711 | - } |
3712 | - |
3713 | - cookie_call = dbus_g_proxy_begin_call(gss_proxy, "Throttle", |
3714 | - throttle_return, NULL, |
3715 | - NULL, |
3716 | - G_TYPE_STRING, "Session Menu", |
3717 | - G_TYPE_STRING, reason, |
3718 | - G_TYPE_INVALID); |
3719 | - |
3720 | - return; |
3721 | -} |
3722 | - |
3723 | -/* Setting up a call back */ |
3724 | -void |
3725 | -lock_screen_gdm_cb_set (gdm_autologin_cb_t cb) |
3726 | -{ |
3727 | - if (gdm_autologin_cb) { |
3728 | - g_warning("Already had a callback, setting up a new one..."); |
3729 | - } |
3730 | - |
3731 | - gdm_autologin_cb = cb; |
3732 | - return; |
3733 | -} |
3734 | - |
3735 | -/* This is our logic on whether the screen should be locked |
3736 | - or not. It effects everything else. */ |
3737 | -gboolean |
3738 | -will_lock_screen (void) |
3739 | -{ |
3740 | - if (gdm_auto_login) { |
3741 | - return FALSE; |
3742 | - } |
3743 | - if (is_guest) { |
3744 | - return FALSE; |
3745 | - } |
3746 | - |
3747 | - return TRUE; |
3748 | -} |
3749 | - |
3750 | -/* Respond to the signal of autologin changing to see if the |
3751 | - setting for timed login changes. */ |
3752 | -static void |
3753 | -gdm_settings_change (DBusGProxy * proxy, const gchar * value, const gchar * old, const gchar * new, gpointer data) |
3754 | -{ |
3755 | - if (g_strcmp0(value, gdm_auto_login_string)) { |
3756 | - /* This is not a setting that we care about, |
3757 | - there is only one. */ |
3758 | - return; |
3759 | - } |
3760 | - g_debug("GDM Settings change: %s", new); |
3761 | - |
3762 | - if (g_strcmp0(new, "true") == 0) { |
3763 | - gdm_auto_login = TRUE; |
3764 | - } else { |
3765 | - gdm_auto_login = FALSE; |
3766 | - } |
3767 | - |
3768 | - if (gdm_autologin_cb != NULL) { |
3769 | - gdm_autologin_cb(); |
3770 | - } |
3771 | - |
3772 | - return; |
3773 | -} |
3774 | - |
3775 | -/* Get back the data from querying to see if there is auto |
3776 | - login enabled in GDM */ |
3777 | -static void |
3778 | -gdm_get_autologin (DBusGProxy * proxy, DBusGProxyCall * call, gpointer data) |
3779 | -{ |
3780 | - GError * error = NULL; |
3781 | - gchar * value = NULL; |
3782 | - |
3783 | - if (!dbus_g_proxy_end_call(proxy, call, &error, G_TYPE_STRING, &value, G_TYPE_INVALID)) { |
3784 | - g_warning("Unable to get autologin setting: %s", error != NULL ? error->message : "null"); |
3785 | - g_error_free(error); |
3786 | - return; |
3787 | - } |
3788 | - |
3789 | - g_return_if_fail(value != NULL); |
3790 | - gdm_settings_change(proxy, gdm_auto_login_string, NULL, value, NULL); |
3791 | - |
3792 | - return; |
3793 | -} |
3794 | - |
3795 | -/* Sets up the proxy and queries for the setting to know |
3796 | - whether we're doing an autologin. */ |
3797 | -static void |
3798 | -build_gdm_proxy (void) |
3799 | -{ |
3800 | - g_return_if_fail(gdm_settings_proxy == NULL); |
3801 | - |
3802 | - /* Grab the system bus */ |
3803 | - DBusGConnection * bus = dbus_g_bus_get(DBUS_BUS_SYSTEM, NULL); |
3804 | - g_return_if_fail(bus != NULL); |
3805 | - |
3806 | - /* Get the settings proxy */ |
3807 | - gdm_settings_proxy = dbus_g_proxy_new_for_name_owner(bus, |
3808 | - "org.gnome.DisplayManager", |
3809 | - "/org/gnome/DisplayManager/Settings", |
3810 | - "org.gnome.DisplayManager.Settings", NULL); |
3811 | - g_return_if_fail(gdm_settings_proxy != NULL); |
3812 | - |
3813 | - /* Signal for value changed */ |
3814 | - dbus_g_proxy_add_signal(gdm_settings_proxy, |
3815 | - "ValueChanged", |
3816 | - G_TYPE_STRING, |
3817 | - G_TYPE_STRING, |
3818 | - G_TYPE_STRING, |
3819 | - G_TYPE_INVALID); |
3820 | - dbus_g_proxy_connect_signal(gdm_settings_proxy, |
3821 | - "ValueChanged", |
3822 | - G_CALLBACK(gdm_settings_change), |
3823 | - NULL, |
3824 | - NULL); |
3825 | - |
3826 | - /* Start to get the initial value */ |
3827 | - dbus_g_proxy_begin_call(gdm_settings_proxy, |
3828 | - "GetValue", |
3829 | - gdm_get_autologin, |
3830 | - NULL, |
3831 | - NULL, |
3832 | - G_TYPE_STRING, |
3833 | - gdm_auto_login_string, |
3834 | - G_TYPE_INVALID); |
3835 | - |
3836 | - return; |
3837 | -} |
3838 | - |
3839 | -/* When the screensave go active, if we've got a mainloop |
3840 | - running we should quit it. */ |
3841 | -static void |
3842 | -gss_active_changed (DBusGProxy * proxy, gboolean active, gpointer data) |
3843 | -{ |
3844 | - if (active && gss_mainloop != NULL) { |
3845 | - g_main_loop_quit(gss_mainloop); |
3846 | - } |
3847 | - |
3848 | - return; |
3849 | -} |
3850 | - |
3851 | -/* Build the gss proxy and set up it's signals */ |
3852 | -void |
3853 | -build_gss_proxy (void) |
3854 | -{ |
3855 | - DBusGConnection * session_bus = dbus_g_bus_get(DBUS_BUS_SESSION, NULL); |
3856 | - g_return_if_fail(session_bus != NULL); |
3857 | - |
3858 | - gss_proxy = dbus_g_proxy_new_for_name_owner(session_bus, |
3859 | - "org.gnome.ScreenSaver", |
3860 | - "/", |
3861 | - "org.gnome.ScreenSaver", |
3862 | - NULL); |
3863 | - g_return_if_fail(gss_proxy != NULL); |
3864 | - |
3865 | - dbus_g_proxy_add_signal(gss_proxy, "ActiveChanged", G_TYPE_BOOLEAN, G_TYPE_INVALID); |
3866 | - dbus_g_proxy_connect_signal(gss_proxy, "ActiveChanged", G_CALLBACK(gss_active_changed), NULL, NULL); |
3867 | - |
3868 | - return; |
3869 | -} |
3870 | - |
3871 | -/* This is a timeout, we only want to wait for the screen to |
3872 | - lock for a little bit, but not forever. */ |
3873 | -static gboolean |
3874 | -activate_timeout (gpointer data) |
3875 | -{ |
3876 | - guint * address = (guint *)data; |
3877 | - *address = 0; |
3878 | - |
3879 | - if (gss_mainloop != NULL) { |
3880 | - g_main_loop_quit(gss_mainloop); |
3881 | - } |
3882 | - |
3883 | - return FALSE; |
3884 | -} |
3885 | - |
3886 | -/* A fun little function to actually lock the screen. If, |
3887 | - that's what you want, let's do it! */ |
3888 | -void |
3889 | -lock_screen (DbusmenuMenuitem * mi, gpointer data) |
3890 | -{ |
3891 | - g_debug("Lock Screen"); |
3892 | - if (!will_lock_screen()) { |
3893 | - g_debug("\tGDM set to autologin, blocking lock"); |
3894 | - return; |
3895 | - } |
3896 | - |
3897 | - g_return_if_fail(gss_proxy != NULL); |
3898 | - |
3899 | - dbus_g_proxy_call_no_reply(gss_proxy, |
3900 | - "Lock", |
3901 | - G_TYPE_INVALID, |
3902 | - G_TYPE_INVALID); |
3903 | - |
3904 | - if (gss_mainloop == NULL) { |
3905 | - gss_mainloop = g_main_loop_new(NULL, FALSE); |
3906 | - } |
3907 | - |
3908 | - guint timer = g_timeout_add_seconds(1, activate_timeout, &timer); |
3909 | - |
3910 | - g_main_loop_run(gss_mainloop); |
3911 | - |
3912 | - if (timer != 0) { |
3913 | - g_source_remove(timer); |
3914 | - } |
3915 | - |
3916 | - return; |
3917 | -} |
3918 | - |
3919 | -/* Do what it takes to make the lock screen function work |
3920 | - and be happy. */ |
3921 | -gboolean |
3922 | -lock_screen_setup (gpointer data) |
3923 | -{ |
3924 | - if (!g_strcmp0(g_get_user_name(), "guest")) { |
3925 | - is_guest = TRUE; |
3926 | - } |
3927 | - |
3928 | - build_gdm_proxy(); |
3929 | - build_gss_proxy(); |
3930 | - |
3931 | - return FALSE; |
3932 | -} |
3933 | - |
3934 | |
3935 | === removed file 'src/lock-helper.h' |
3936 | --- src/lock-helper.h 2009-10-07 15:57:52 +0000 |
3937 | +++ src/lock-helper.h 1970-01-01 00:00:00 +0000 |
3938 | @@ -1,37 +0,0 @@ |
3939 | -/* |
3940 | -A small helper for locking the screen. |
3941 | - |
3942 | -Copyright 2009 Canonical Ltd. |
3943 | - |
3944 | -Authors: |
3945 | - Ted Gould <ted@canonical.com> |
3946 | - |
3947 | -This program is free software: you can redistribute it and/or modify it |
3948 | -under the terms of the GNU General Public License version 3, as published |
3949 | -by the Free Software Foundation. |
3950 | - |
3951 | -This program is distributed in the hope that it will be useful, but |
3952 | -WITHOUT ANY WARRANTY; without even the implied warranties of |
3953 | -MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR |
3954 | -PURPOSE. See the GNU General Public License for more details. |
3955 | - |
3956 | -You should have received a copy of the GNU General Public License along |
3957 | -with this program. If not, see <http://www.gnu.org/licenses/>. |
3958 | -*/ |
3959 | - |
3960 | -#ifndef LOCK_HELPER_H__ |
3961 | -#define LOCK_HELPER_H__ |
3962 | - |
3963 | -#include <libdbusmenu-glib/menuitem.h> |
3964 | - |
3965 | -typedef void (*gdm_autologin_cb_t) (void); |
3966 | - |
3967 | -void screensaver_throttle (gchar * reason); |
3968 | -void screensaver_unthrottle (void); |
3969 | - |
3970 | -gboolean will_lock_screen (void); |
3971 | -void lock_screen (DbusmenuMenuitem * mi, gpointer data); |
3972 | -gboolean lock_screen_setup (gpointer data); |
3973 | -void lock_screen_gdm_cb_set (gdm_autologin_cb_t cb); |
3974 | - |
3975 | -#endif /* LOCK_HELPER_H__ */ |
3976 | |
3977 | === renamed file 'src/status-service-dbus.c' => 'src/me-service-dbus.c' |
3978 | --- src/status-service-dbus.c 2009-08-08 20:54:51 +0000 |
3979 | +++ src/me-service-dbus.c 2010-01-04 21:25:21 +0000 |
3980 | @@ -27,17 +27,17 @@ |
3981 | #include <dbus/dbus-glib.h> |
3982 | |
3983 | #include "dbus-shared-names.h" |
3984 | -#include "status-service-dbus.h" |
3985 | +#include "me-service-dbus.h" |
3986 | |
3987 | static void status_service_dbus_class_init (StatusServiceDbusClass *klass); |
3988 | static void status_service_dbus_init (StatusServiceDbus *self); |
3989 | static void status_service_dbus_dispose (GObject *object); |
3990 | static void status_service_dbus_finalize (GObject *object); |
3991 | -static gboolean _status_service_server_watch (StatusServiceDbus * service, GError ** error); |
3992 | -static gboolean _status_service_server_status_icons (StatusServiceDbus * service, gchar ** icon, GError ** error); |
3993 | -static gboolean _status_service_server_pretty_user_name (StatusServiceDbus * service, gchar ** username, GError ** error); |
3994 | +static gboolean _me_service_server_watch (StatusServiceDbus * service, GError ** error); |
3995 | +static gboolean _me_service_server_status_icons (StatusServiceDbus * service, gchar ** icon, GError ** error); |
3996 | +static gboolean _me_service_server_pretty_user_name (StatusServiceDbus * service, gchar ** username, GError ** error); |
3997 | |
3998 | -#include "status-service-server.h" |
3999 | +#include "me-service-server.h" |
4000 | |
4001 | /* Private */ |
4002 | typedef struct _StatusServiceDbusPrivate StatusServiceDbusPrivate; |
4003 | @@ -106,7 +106,7 @@ |
4004 | g_cclosure_marshal_VOID__STRING, |
4005 | G_TYPE_NONE, 1, G_TYPE_STRING); |
4006 | |
4007 | - dbus_g_object_type_install_info(STATUS_SERVICE_DBUS_TYPE, &dbus_glib__status_service_server_object_info); |
4008 | + dbus_g_object_type_install_info(STATUS_SERVICE_DBUS_TYPE, &dbus_glib__me_service_server_object_info); |
4009 | |
4010 | return; |
4011 | } |
4012 | @@ -117,7 +117,7 @@ |
4013 | |
4014 | DBusGConnection * connection = dbus_g_bus_get(DBUS_BUS_SESSION, NULL); |
4015 | dbus_g_connection_register_g_object(connection, |
4016 | - INDICATOR_STATUS_SERVICE_DBUS_OBJECT, |
4017 | + INDICATOR_ME_SERVICE_DBUS_OBJECT, |
4018 | G_OBJECT(self)); |
4019 | |
4020 | StatusServiceDbusPrivate * priv = STATUS_SERVICE_DBUS_GET_PRIVATE(self); |
4021 | @@ -144,14 +144,14 @@ |
4022 | } |
4023 | |
4024 | static gboolean |
4025 | -_status_service_server_watch (StatusServiceDbus * service, GError ** error) |
4026 | +_me_service_server_watch (StatusServiceDbus * service, GError ** error) |
4027 | { |
4028 | |
4029 | return TRUE; |
4030 | } |
4031 | |
4032 | static gboolean |
4033 | -_status_service_server_status_icons (StatusServiceDbus * service, gchar ** icon, GError ** error) |
4034 | +_me_service_server_status_icons (StatusServiceDbus * service, gchar ** icon, GError ** error) |
4035 | { |
4036 | if (!IS_STATUS_SERVICE_DBUS(service)) { |
4037 | g_warning("NO BAD EVIL!"); |
4038 | @@ -169,7 +169,7 @@ |
4039 | } |
4040 | |
4041 | static gboolean |
4042 | -_status_service_server_pretty_user_name (StatusServiceDbus * service, gchar ** username, GError ** error) |
4043 | +_me_service_server_pretty_user_name (StatusServiceDbus * service, gchar ** username, GError ** error) |
4044 | { |
4045 | if (!IS_STATUS_SERVICE_DBUS(service)) { |
4046 | g_warning("NO BAD EVIL!"); |
4047 | |
4048 | === renamed file 'src/status-service-dbus.h' => 'src/me-service-dbus.h' |
4049 | === renamed file 'src/status-service.c' => 'src/me-service.c' |
4050 | --- src/status-service.c 2009-10-06 22:51:09 +0000 |
4051 | +++ src/me-service.c 2010-01-04 21:25:21 +0000 |
4052 | @@ -35,9 +35,11 @@ |
4053 | #include <libdbusmenu-glib/server.h> |
4054 | #include <libdbusmenu-glib/menuitem.h> |
4055 | |
4056 | +#include <libindicator/indicator-service.h> |
4057 | + |
4058 | #include "dbus-shared-names.h" |
4059 | |
4060 | -#include "status-service-dbus.h" |
4061 | +#include "me-service-dbus.h" |
4062 | |
4063 | #include "status-provider.h" |
4064 | #include "status-provider-mc5.h" |
4065 | @@ -73,7 +75,6 @@ |
4066 | |
4067 | |
4068 | static DbusmenuMenuitem * root_menuitem = NULL; |
4069 | -static DbusmenuMenuitem * status_menuitem = NULL; |
4070 | static DbusmenuMenuitem * status_menuitems[STATUS_PROVIDER_STATUS_LAST] = {0}; |
4071 | static GMainLoop * mainloop = NULL; |
4072 | static StatusServiceDbus * dbus_interface = NULL; |
4073 | @@ -107,7 +108,7 @@ |
4074 | StatusProviderStatus i; |
4075 | for (i = STATUS_PROVIDER_STATUS_ONLINE; i < STATUS_PROVIDER_STATUS_LAST; i++) { |
4076 | if (status_menuitems[i] == NULL) continue; |
4077 | - dbusmenu_menuitem_property_set(status_menuitems[i], DBUSMENU_MENUITEM_PROP_SENSITIVE, "false"); |
4078 | + dbusmenu_menuitem_property_set_bool(status_menuitems[i], DBUSMENU_MENUITEM_PROP_SENSITIVE, FALSE); |
4079 | } |
4080 | } |
4081 | |
4082 | @@ -117,7 +118,7 @@ |
4083 | StatusProviderStatus i; |
4084 | for (i = STATUS_PROVIDER_STATUS_ONLINE; i < STATUS_PROVIDER_STATUS_LAST; i++) { |
4085 | if (status_menuitems[i] == NULL) continue; |
4086 | - dbusmenu_menuitem_property_set(status_menuitems[i], DBUSMENU_MENUITEM_PROP_SENSITIVE, "true"); |
4087 | + dbusmenu_menuitem_property_set_bool(status_menuitems[i], DBUSMENU_MENUITEM_PROP_SENSITIVE, TRUE); |
4088 | } |
4089 | } |
4090 | } |
4091 | @@ -171,7 +172,7 @@ |
4092 | if (name[0] != '\0') { |
4093 | DbusmenuMenuitem * useritem = dbusmenu_menuitem_new(); |
4094 | dbusmenu_menuitem_property_set(useritem, DBUSMENU_MENUITEM_PROP_LABEL, name); |
4095 | - dbusmenu_menuitem_property_set(useritem, DBUSMENU_MENUITEM_PROP_SENSITIVE, "false"); |
4096 | + dbusmenu_menuitem_property_set_bool(useritem, DBUSMENU_MENUITEM_PROP_SENSITIVE, FALSE); |
4097 | dbusmenu_menuitem_child_append(root, useritem); |
4098 | } |
4099 | |
4100 | @@ -191,10 +192,6 @@ |
4101 | |
4102 | build_user_item(root); |
4103 | |
4104 | - status_menuitem = dbusmenu_menuitem_new(); |
4105 | - dbusmenu_menuitem_property_set(status_menuitem, DBUSMENU_MENUITEM_PROP_LABEL, _("Set Status")); |
4106 | - dbusmenu_menuitem_child_append(root, status_menuitem); |
4107 | - |
4108 | StatusProviderStatus i; |
4109 | for (i = STATUS_PROVIDER_STATUS_ONLINE; i < STATUS_PROVIDER_STATUS_LAST; i++) { |
4110 | if (i == STATUS_PROVIDER_STATUS_DISCONNECTED) { |
4111 | @@ -205,15 +202,14 @@ |
4112 | |
4113 | status_menuitems[i] = dbusmenu_menuitem_new(); |
4114 | |
4115 | - dbusmenu_menuitem_property_set(status_menuitems[i], "type", DBUSMENU_CLIENT_TYPES_IMAGE); |
4116 | dbusmenu_menuitem_property_set(status_menuitems[i], DBUSMENU_MENUITEM_PROP_LABEL, _(status_strings[i])); |
4117 | dbusmenu_menuitem_property_set(status_menuitems[i], DBUSMENU_MENUITEM_PROP_ICON, status_icons[i]); |
4118 | if (global_status == STATUS_PROVIDER_STATUS_DISCONNECTED) { |
4119 | - dbusmenu_menuitem_property_set(status_menuitems[i], DBUSMENU_MENUITEM_PROP_SENSITIVE, "false"); |
4120 | + dbusmenu_menuitem_property_set_bool(status_menuitems[i], DBUSMENU_MENUITEM_PROP_SENSITIVE, FALSE); |
4121 | } |
4122 | g_signal_connect(G_OBJECT(status_menuitems[i]), DBUSMENU_MENUITEM_SIGNAL_ITEM_ACTIVATED, G_CALLBACK(status_menu_click), GINT_TO_POINTER(i)); |
4123 | |
4124 | - dbusmenu_menuitem_child_append(status_menuitem, status_menuitems[i]); |
4125 | + dbusmenu_menuitem_child_append(root, status_menuitems[i]); |
4126 | |
4127 | g_debug("Built %s", status_strings[i]); |
4128 | } |
4129 | @@ -221,6 +217,14 @@ |
4130 | return FALSE; |
4131 | } |
4132 | |
4133 | +void |
4134 | +service_shutdown (IndicatorService * service, gpointer user_data) |
4135 | +{ |
4136 | + g_debug("Service shutting down"); |
4137 | + g_main_loop_quit(mainloop); |
4138 | + return; |
4139 | +} |
4140 | + |
4141 | int |
4142 | main (int argc, char ** argv) |
4143 | { |
4144 | @@ -232,25 +236,13 @@ |
4145 | bindtextdomain (GETTEXT_PACKAGE, GNOMELOCALEDIR); |
4146 | textdomain (GETTEXT_PACKAGE); |
4147 | |
4148 | - DBusGConnection * connection = dbus_g_bus_get(DBUS_BUS_SESSION, NULL); |
4149 | - DBusGProxy * bus_proxy = dbus_g_proxy_new_for_name(connection, DBUS_SERVICE_DBUS, DBUS_PATH_DBUS, DBUS_INTERFACE_DBUS); |
4150 | - GError * error = NULL; |
4151 | - guint nameret = 0; |
4152 | - |
4153 | - if (!org_freedesktop_DBus_request_name(bus_proxy, INDICATOR_STATUS_DBUS_NAME, 0, &nameret, &error)) { |
4154 | - g_error("Unable to call to request name"); |
4155 | - return 1; |
4156 | - } |
4157 | - |
4158 | - if (nameret != DBUS_REQUEST_NAME_REPLY_PRIMARY_OWNER) { |
4159 | - g_error("Unable to get name"); |
4160 | - return 1; |
4161 | - } |
4162 | + IndicatorService * service = indicator_service_new_version(INDICATOR_ME_DBUS_NAME, INDICATOR_ME_DBUS_VERSION); |
4163 | + g_signal_connect(G_OBJECT(service), INDICATOR_SERVICE_SIGNAL_SHUTDOWN, G_CALLBACK(service_shutdown), NULL); |
4164 | |
4165 | g_idle_add(build_providers, NULL); |
4166 | |
4167 | root_menuitem = dbusmenu_menuitem_new(); |
4168 | - DbusmenuServer * server = dbusmenu_server_new(INDICATOR_STATUS_DBUS_OBJECT); |
4169 | + DbusmenuServer * server = dbusmenu_server_new(INDICATOR_ME_DBUS_OBJECT); |
4170 | dbusmenu_server_set_root(server, root_menuitem); |
4171 | |
4172 | g_idle_add(build_menu, root_menuitem); |
4173 | |
4174 | === renamed file 'src/status-service.xml' => 'src/me-service.xml' |
4175 | --- src/status-service.xml 2009-08-08 16:47:24 +0000 |
4176 | +++ src/me-service.xml 2010-01-04 21:25:21 +0000 |
4177 | @@ -1,6 +1,6 @@ |
4178 | <?xml version="1.0" encoding="UTF-8"?> |
4179 | <node name="/"> |
4180 | - <interface name="org.ayatana.indicator.status.service"> |
4181 | + <interface name="org.ayatana.indicator.me.service"> |
4182 | |
4183 | <!-- Methods --> |
4184 | <method name="Watch"> |
4185 | |
4186 | === removed file 'src/session-service.c' |
4187 | --- src/session-service.c 2009-10-07 16:56:05 +0000 |
4188 | +++ src/session-service.c 1970-01-01 00:00:00 +0000 |
4189 | @@ -1,339 +0,0 @@ |
4190 | -/* |
4191 | -A small wrapper utility to load indicators and put them as menu items |
4192 | -into the gnome-panel using it's applet interface. |
4193 | - |
4194 | -Copyright 2009 Canonical Ltd. |
4195 | - |
4196 | -Authors: |
4197 | - Ted Gould <ted@canonical.com> |
4198 | - Christoph Korn <c_korn@gmx.de> |
4199 | - |
4200 | -This program is free software: you can redistribute it and/or modify it |
4201 | -under the terms of the GNU General Public License version 3, as published |
4202 | -by the Free Software Foundation. |
4203 | - |
4204 | -This program is distributed in the hope that it will be useful, but |
4205 | -WITHOUT ANY WARRANTY; without even the implied warranties of |
4206 | -MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR |
4207 | -PURPOSE. See the GNU General Public License for more details. |
4208 | - |
4209 | -You should have received a copy of the GNU General Public License along |
4210 | -with this program. If not, see <http://www.gnu.org/licenses/>. |
4211 | -*/ |
4212 | - |
4213 | -#include <config.h> |
4214 | - |
4215 | -#include <glib/gi18n.h> |
4216 | - |
4217 | -#include <dbus/dbus-glib.h> |
4218 | -#include <dbus/dbus-glib-bindings.h> |
4219 | - |
4220 | -#include <libdbusmenu-glib/server.h> |
4221 | -#include <libdbusmenu-glib/menuitem.h> |
4222 | - |
4223 | -#include "dbus-shared-names.h" |
4224 | - |
4225 | -#include "gtk-dialog/gconf-helper.h" |
4226 | - |
4227 | -#include "lock-helper.h" |
4228 | - |
4229 | -#define DKP_ADDRESS "org.freedesktop.DeviceKit.Power" |
4230 | -#define DKP_OBJECT "/org/freedesktop/DeviceKit/Power" |
4231 | -#define DKP_INTERFACE "org.freedesktop.DeviceKit.Power" |
4232 | - |
4233 | -static DbusmenuMenuitem * root_menuitem = NULL; |
4234 | -static GMainLoop * mainloop = NULL; |
4235 | -static DBusGProxy * dkp_main_proxy = NULL; |
4236 | -static DBusGProxy * dkp_prop_proxy = NULL; |
4237 | - |
4238 | -static DBusGProxyCall * suspend_call = NULL; |
4239 | -static DBusGProxyCall * hibernate_call = NULL; |
4240 | - |
4241 | -static DbusmenuMenuitem * hibernate_mi = NULL; |
4242 | -static DbusmenuMenuitem * suspend_mi = NULL; |
4243 | -static DbusmenuMenuitem * logout_mi = NULL; |
4244 | -static DbusmenuMenuitem * restart_mi = NULL; |
4245 | -static DbusmenuMenuitem * shutdown_mi = NULL; |
4246 | - |
4247 | -/* A return from the command to sleep the system. Make sure |
4248 | - that we unthrottle the screensaver. */ |
4249 | -static void |
4250 | -sleep_response (DBusGProxy * proxy, DBusGProxyCall * call, gpointer data) |
4251 | -{ |
4252 | - screensaver_unthrottle(); |
4253 | - return; |
4254 | -} |
4255 | - |
4256 | -/* Let's put this machine to sleep, with some info on how |
4257 | - it should sleep. */ |
4258 | -static void |
4259 | -sleep (DbusmenuMenuitem * mi, gpointer userdata) |
4260 | -{ |
4261 | - gchar * type = (gchar *)userdata; |
4262 | - |
4263 | - if (dkp_main_proxy == NULL) { |
4264 | - g_warning("Can not %s as no DeviceKit Power Proxy", type); |
4265 | - } |
4266 | - |
4267 | - screensaver_throttle(type); |
4268 | - lock_screen(NULL, NULL); |
4269 | - |
4270 | - dbus_g_proxy_begin_call(dkp_main_proxy, |
4271 | - type, |
4272 | - sleep_response, |
4273 | - NULL, |
4274 | - NULL, |
4275 | - G_TYPE_INVALID); |
4276 | - |
4277 | - return; |
4278 | -} |
4279 | - |
4280 | -/* A response to getting the suspend property */ |
4281 | -static void |
4282 | -suspend_prop_cb (DBusGProxy * proxy, DBusGProxyCall * call, gpointer userdata) |
4283 | -{ |
4284 | - suspend_call = NULL; |
4285 | - |
4286 | - GValue candoit = {0}; |
4287 | - GError * error = NULL; |
4288 | - dbus_g_proxy_end_call(proxy, call, &error, G_TYPE_VALUE, &candoit, G_TYPE_INVALID); |
4289 | - if (error != NULL) { |
4290 | - g_warning("Unable to check suspend: %s", error->message); |
4291 | - g_error_free(error); |
4292 | - return; |
4293 | - } |
4294 | - g_debug("Got Suspend: %s", g_value_get_boolean(&candoit) ? "true" : "false"); |
4295 | - |
4296 | - if (suspend_mi != NULL) { |
4297 | - dbusmenu_menuitem_property_set(suspend_mi, DBUSMENU_MENUITEM_PROP_VISIBLE, g_value_get_boolean(&candoit) ? "true" : "false"); |
4298 | - } |
4299 | - |
4300 | - return; |
4301 | -} |
4302 | - |
4303 | -/* Response to getting the hibernate property */ |
4304 | -static void |
4305 | -hibernate_prop_cb (DBusGProxy * proxy, DBusGProxyCall * call, gpointer userdata) |
4306 | -{ |
4307 | - hibernate_call = NULL; |
4308 | - |
4309 | - GValue candoit = {0}; |
4310 | - GError * error = NULL; |
4311 | - dbus_g_proxy_end_call(proxy, call, &error, G_TYPE_VALUE, &candoit, G_TYPE_INVALID); |
4312 | - if (error != NULL) { |
4313 | - g_warning("Unable to check hibernate: %s", error->message); |
4314 | - g_error_free(error); |
4315 | - return; |
4316 | - } |
4317 | - g_debug("Got Hibernate: %s", g_value_get_boolean(&candoit) ? "true" : "false"); |
4318 | - |
4319 | - if (suspend_mi != NULL) { |
4320 | - dbusmenu_menuitem_property_set(hibernate_mi, DBUSMENU_MENUITEM_PROP_VISIBLE, g_value_get_boolean(&candoit) ? "true" : "false"); |
4321 | - } |
4322 | - |
4323 | - return; |
4324 | -} |
4325 | - |
4326 | -/* A signal that we need to recheck to ensure we can still |
4327 | - hibernate and/or suspend */ |
4328 | -static void |
4329 | -dpk_changed_cb (DBusGProxy * proxy, gpointer user_data) |
4330 | -{ |
4331 | - /* Start Async call to see if we can hibernate */ |
4332 | - if (suspend_call == NULL) { |
4333 | - suspend_call = dbus_g_proxy_begin_call(dkp_prop_proxy, |
4334 | - "Get", |
4335 | - suspend_prop_cb, |
4336 | - NULL, |
4337 | - NULL, |
4338 | - G_TYPE_STRING, |
4339 | - DKP_INTERFACE, |
4340 | - G_TYPE_STRING, |
4341 | - "can-suspend", |
4342 | - G_TYPE_INVALID, |
4343 | - G_TYPE_VALUE, |
4344 | - G_TYPE_INVALID); |
4345 | - } |
4346 | - |
4347 | - /* Start Async call to see if we can suspend */ |
4348 | - if (hibernate_call == NULL) { |
4349 | - hibernate_call = dbus_g_proxy_begin_call(dkp_prop_proxy, |
4350 | - "Get", |
4351 | - hibernate_prop_cb, |
4352 | - NULL, |
4353 | - NULL, |
4354 | - G_TYPE_STRING, |
4355 | - DKP_INTERFACE, |
4356 | - G_TYPE_STRING, |
4357 | - "can-hibernate", |
4358 | - G_TYPE_INVALID, |
4359 | - G_TYPE_VALUE, |
4360 | - G_TYPE_INVALID); |
4361 | - } |
4362 | - |
4363 | - return; |
4364 | -} |
4365 | - |
4366 | -/* This function goes through and sets up what we need for |
4367 | - DKp checking. We're even setting up the calls for the props |
4368 | - we need */ |
4369 | -static void |
4370 | -setup_dkp (void) { |
4371 | - DBusGConnection * bus = dbus_g_bus_get(DBUS_BUS_SYSTEM, NULL); |
4372 | - g_return_if_fail(bus != NULL); |
4373 | - |
4374 | - if (dkp_main_proxy == NULL) { |
4375 | - dkp_main_proxy = dbus_g_proxy_new_for_name(bus, |
4376 | - DKP_ADDRESS, |
4377 | - DKP_OBJECT, |
4378 | - DKP_INTERFACE); |
4379 | - } |
4380 | - g_return_if_fail(dkp_main_proxy != NULL); |
4381 | - |
4382 | - if (dkp_prop_proxy == NULL) { |
4383 | - dkp_prop_proxy = dbus_g_proxy_new_for_name(bus, |
4384 | - DKP_ADDRESS, |
4385 | - DKP_OBJECT, |
4386 | - DBUS_INTERFACE_PROPERTIES); |
4387 | - } |
4388 | - g_return_if_fail(dkp_prop_proxy != NULL); |
4389 | - |
4390 | - /* Connect to changed signal */ |
4391 | - dbus_g_proxy_add_signal(dkp_main_proxy, |
4392 | - "Changed", |
4393 | - G_TYPE_INVALID); |
4394 | - |
4395 | - dbus_g_proxy_connect_signal(dkp_main_proxy, |
4396 | - "Changed", |
4397 | - G_CALLBACK(dpk_changed_cb), |
4398 | - NULL, |
4399 | - NULL); |
4400 | - |
4401 | - /* Force an original "changed" event */ |
4402 | - dpk_changed_cb(dkp_main_proxy, NULL); |
4403 | - |
4404 | - return; |
4405 | -} |
4406 | - |
4407 | -/* This is the function to show a dialog on actions that |
4408 | - can destroy data. Currently it just calls the GTK version |
4409 | - but it seems that in the future it should figure out |
4410 | - what's going on and something better. */ |
4411 | -static void |
4412 | -show_dialog (DbusmenuMenuitem * mi, gchar * type) |
4413 | -{ |
4414 | - gchar * helper = g_build_filename(LIBEXECDIR, "gtk-logout-helper", NULL); |
4415 | - gchar * dialog_line = g_strdup_printf("%s --%s", helper, type); |
4416 | - g_free(helper); |
4417 | - |
4418 | - g_debug("Showing dialog '%s'", dialog_line); |
4419 | - |
4420 | - GError * error = NULL; |
4421 | - if (!g_spawn_command_line_async(dialog_line, &error)) { |
4422 | - g_warning("Unable to show dialog: %s", error->message); |
4423 | - g_error_free(error); |
4424 | - } |
4425 | - |
4426 | - g_free(dialog_line); |
4427 | - |
4428 | - return; |
4429 | -} |
4430 | - |
4431 | -/* This function creates all of the menuitems that the service |
4432 | - provides in the UI. It also connects them to the callbacks. */ |
4433 | -static void |
4434 | -create_items (DbusmenuMenuitem * root) { |
4435 | - logout_mi = dbusmenu_menuitem_new(); |
4436 | - if (supress_confirmations()) { |
4437 | - dbusmenu_menuitem_property_set(logout_mi, DBUSMENU_MENUITEM_PROP_LABEL, _("Log Out")); |
4438 | - } else { |
4439 | - dbusmenu_menuitem_property_set(logout_mi, DBUSMENU_MENUITEM_PROP_LABEL, _("Log Out...")); |
4440 | - } |
4441 | - dbusmenu_menuitem_child_append(root, logout_mi); |
4442 | - g_signal_connect(G_OBJECT(logout_mi), DBUSMENU_MENUITEM_SIGNAL_ITEM_ACTIVATED, G_CALLBACK(show_dialog), "logout"); |
4443 | - |
4444 | - suspend_mi = dbusmenu_menuitem_new(); |
4445 | - dbusmenu_menuitem_property_set(suspend_mi, DBUSMENU_MENUITEM_PROP_VISIBLE, "false"); |
4446 | - dbusmenu_menuitem_property_set(suspend_mi, DBUSMENU_MENUITEM_PROP_LABEL, _("Suspend")); |
4447 | - dbusmenu_menuitem_child_append(root, suspend_mi); |
4448 | - g_signal_connect(G_OBJECT(suspend_mi), DBUSMENU_MENUITEM_SIGNAL_ITEM_ACTIVATED, G_CALLBACK(sleep), "Suspend"); |
4449 | - |
4450 | - hibernate_mi = dbusmenu_menuitem_new(); |
4451 | - dbusmenu_menuitem_property_set(hibernate_mi, DBUSMENU_MENUITEM_PROP_VISIBLE, "false"); |
4452 | - dbusmenu_menuitem_property_set(hibernate_mi, DBUSMENU_MENUITEM_PROP_LABEL, _("Hibernate")); |
4453 | - dbusmenu_menuitem_child_append(root, hibernate_mi); |
4454 | - g_signal_connect(G_OBJECT(hibernate_mi), DBUSMENU_MENUITEM_SIGNAL_ITEM_ACTIVATED, G_CALLBACK(sleep), "Hibernate"); |
4455 | - |
4456 | - restart_mi = dbusmenu_menuitem_new(); |
4457 | - if (supress_confirmations()) { |
4458 | - dbusmenu_menuitem_property_set(restart_mi, DBUSMENU_MENUITEM_PROP_LABEL, _("Restart")); |
4459 | - } else { |
4460 | - dbusmenu_menuitem_property_set(restart_mi, DBUSMENU_MENUITEM_PROP_LABEL, _("Restart...")); |
4461 | - } |
4462 | - dbusmenu_menuitem_child_append(root, restart_mi); |
4463 | - g_signal_connect(G_OBJECT(restart_mi), DBUSMENU_MENUITEM_SIGNAL_ITEM_ACTIVATED, G_CALLBACK(show_dialog), "restart"); |
4464 | - |
4465 | - shutdown_mi = dbusmenu_menuitem_new(); |
4466 | - if (supress_confirmations()) { |
4467 | - dbusmenu_menuitem_property_set(shutdown_mi, DBUSMENU_MENUITEM_PROP_LABEL, _("Shut Down")); |
4468 | - } else { |
4469 | - dbusmenu_menuitem_property_set(shutdown_mi, DBUSMENU_MENUITEM_PROP_LABEL, _("Shut Down...")); |
4470 | - } |
4471 | - dbusmenu_menuitem_child_append(root, shutdown_mi); |
4472 | - g_signal_connect(G_OBJECT(shutdown_mi), DBUSMENU_MENUITEM_SIGNAL_ITEM_ACTIVATED, G_CALLBACK(show_dialog), "shutdown"); |
4473 | - |
4474 | - RestartShutdownLogoutMenuItems * restart_shutdown_logout_mi = g_new0 (RestartShutdownLogoutMenuItems, 1); |
4475 | - restart_shutdown_logout_mi->logout_mi = logout_mi; |
4476 | - restart_shutdown_logout_mi->restart_mi = restart_mi; |
4477 | - restart_shutdown_logout_mi->shutdown_mi = shutdown_mi; |
4478 | - |
4479 | - update_menu_entries(restart_shutdown_logout_mi); |
4480 | - |
4481 | - return; |
4482 | -} |
4483 | - |
4484 | -/* Main, is well, main. It brings everything up and throws |
4485 | - us into the mainloop of no return. */ |
4486 | -int |
4487 | -main (int argc, char ** argv) |
4488 | -{ |
4489 | - g_type_init(); |
4490 | - |
4491 | - /* Setting up i18n and gettext. Apparently, we need |
4492 | - all of these. */ |
4493 | - setlocale (LC_ALL, ""); |
4494 | - bindtextdomain (GETTEXT_PACKAGE, GNOMELOCALEDIR); |
4495 | - textdomain (GETTEXT_PACKAGE); |
4496 | - |
4497 | - DBusGConnection * connection = dbus_g_bus_get(DBUS_BUS_SESSION, NULL); |
4498 | - DBusGProxy * bus_proxy = dbus_g_proxy_new_for_name(connection, DBUS_SERVICE_DBUS, DBUS_PATH_DBUS, DBUS_INTERFACE_DBUS); |
4499 | - GError * error = NULL; |
4500 | - guint nameret = 0; |
4501 | - |
4502 | - if (!org_freedesktop_DBus_request_name(bus_proxy, INDICATOR_SESSION_DBUS_NAME, 0, &nameret, &error)) { |
4503 | - g_error("Unable to call to request name"); |
4504 | - return 1; |
4505 | - } |
4506 | - |
4507 | - if (nameret != DBUS_REQUEST_NAME_REPLY_PRIMARY_OWNER) { |
4508 | - g_error("Unable to get name"); |
4509 | - return 1; |
4510 | - } |
4511 | - |
4512 | - g_idle_add(lock_screen_setup, NULL); |
4513 | - |
4514 | - root_menuitem = dbusmenu_menuitem_new(); |
4515 | - g_debug("Root ID: %d", dbusmenu_menuitem_get_id(root_menuitem)); |
4516 | - |
4517 | - create_items(root_menuitem); |
4518 | - setup_dkp(); |
4519 | - |
4520 | - DbusmenuServer * server = dbusmenu_server_new(INDICATOR_SESSION_DBUS_OBJECT); |
4521 | - dbusmenu_server_set_root(server, root_menuitem); |
4522 | - |
4523 | - mainloop = g_main_loop_new(NULL, FALSE); |
4524 | - g_main_loop_run(mainloop); |
4525 | - |
4526 | - return 0; |
4527 | -} |
4528 | - |
4529 | |
4530 | === modified file 'src/status-provider-mc5.c' |
4531 | --- src/status-provider-mc5.c 2009-10-08 20:12:42 +0000 |
4532 | +++ src/status-provider-mc5.c 2010-01-04 21:25:21 +0000 |
4533 | @@ -24,7 +24,7 @@ |
4534 | #include "config.h" |
4535 | #endif |
4536 | |
4537 | -#include "libempathy/empathy-account-manager.h" |
4538 | +#include <telepathy-glib/account-manager.h> |
4539 | |
4540 | #include "status-provider.h" |
4541 | #include "status-provider-mc5.h" |
4542 | @@ -65,7 +65,7 @@ |
4543 | |
4544 | typedef struct _StatusProviderMC5Private StatusProviderMC5Private; |
4545 | struct _StatusProviderMC5Private { |
4546 | - EmpathyAccountManager * manager; |
4547 | + TpAccountManager * manager; |
4548 | StatusProviderStatus status; |
4549 | DBusGProxy * dbus_proxy; |
4550 | }; |
4551 | @@ -83,7 +83,7 @@ |
4552 | /* Internal Funcs */ |
4553 | static void set_status (StatusProvider * sp, StatusProviderStatus status); |
4554 | static StatusProviderStatus get_status (StatusProvider * sp); |
4555 | -static void presence_changed (EmpathyAccountManager * eam, guint type, const gchar * type_str, const gchar * message, StatusProviderMC5 * sp); |
4556 | +static void presence_changed (TpAccountManager * eam, guint type, const gchar * type_str, const gchar * message, StatusProviderMC5 * sp); |
4557 | static void dbus_namechange (DBusGProxy * proxy, const gchar * name, const gchar * prev, const gchar * new, StatusProviderMC5 * self); |
4558 | static void mc5_exists_cb (DBusGProxy * proxy, gboolean exists, GError * error, gpointer userdata); |
4559 | |
4560 | @@ -109,25 +109,41 @@ |
4561 | return; |
4562 | } |
4563 | |
4564 | -/* Build our empathy account manager instance if we don't |
4565 | +/* Build our telepathy account manager instance if we don't |
4566 | have one. */ |
4567 | static void |
4568 | build_eam (StatusProviderMC5 * self) |
4569 | { |
4570 | StatusProviderMC5Private * priv = STATUS_PROVIDER_MC5_GET_PRIVATE(self); |
4571 | + static TpDBusDaemon *daemon = NULL; |
4572 | + GError *error = NULL; |
4573 | |
4574 | if (priv->manager != NULL) { |
4575 | return; |
4576 | } |
4577 | - |
4578 | - priv->manager = EMPATHY_ACCOUNT_MANAGER(g_object_new(EMPATHY_TYPE_ACCOUNT_MANAGER, NULL)); |
4579 | - g_signal_connect(G_OBJECT(priv->manager), "global-presence-changed", G_CALLBACK(presence_changed), self); |
4580 | + /* the daemon is used to communicate via DBus */ |
4581 | + daemon = tp_dbus_daemon_dup(&error); |
4582 | + |
4583 | + if (daemon == NULL) |
4584 | + { |
4585 | + g_debug("Cannot create DBus daemon: %s\n", error->message); |
4586 | + g_error_free(error); |
4587 | + return; |
4588 | + } |
4589 | + |
4590 | + priv->manager = TP_ACCOUNT_MANAGER (g_object_new (TP_TYPE_ACCOUNT_MANAGER, |
4591 | + "dbus-daemon", daemon, |
4592 | + "dbus-connection", ((TpProxy *) daemon)->dbus_connection, |
4593 | + "bus-name", "org.freedesktop.Telepathy.MissionControl5", |
4594 | + "object-path", "/org/freedesktop/Telepathy/AccountManager", |
4595 | + NULL)); |
4596 | + g_signal_connect(G_OBJECT(priv->manager), "most-available-presence-changed", G_CALLBACK(presence_changed), self); |
4597 | |
4598 | return; |
4599 | } |
4600 | |
4601 | /* Creating an instance of the status provider. We set the variables |
4602 | - and create an EmpathyAccountManager object. It does all the hard |
4603 | + and create an TpAccountManager object. It does all the hard |
4604 | work in this module of tracking MissionControl and enumerating the |
4605 | accounts and all that jazz. */ |
4606 | static void |
4607 | @@ -266,8 +282,7 @@ |
4608 | StatusProviderMC5Private * priv = STATUS_PROVIDER_MC5_GET_PRIVATE(sp); |
4609 | |
4610 | build_eam(STATUS_PROVIDER_MC5(sp)); |
4611 | - |
4612 | - empathy_account_manager_request_global_presence(priv->manager, sp_to_tp_map[status], sp_to_mc_map[status], ""); |
4613 | + tp_account_manager_set_all_requested_presences(priv->manager, sp_to_tp_map[status], sp_to_mc_map[status], ""); |
4614 | |
4615 | return; |
4616 | } |
4617 | @@ -287,11 +302,11 @@ |
4618 | return priv->status; |
4619 | } |
4620 | |
4621 | -/* A signal handler for when the EmpatyAccountManager believes |
4622 | +/* A signal handler for when the TpAccountManager believes |
4623 | that the global status has changed. It roughly calculates this |
4624 | by finding the most available of all accounts that are active. */ |
4625 | static void |
4626 | -presence_changed (EmpathyAccountManager * eam, guint type, const gchar * type_str, const gchar * message, StatusProviderMC5 * sp) |
4627 | +presence_changed (TpAccountManager * eam, guint type, const gchar * type_str, const gchar * message, StatusProviderMC5 * sp) |
4628 | { |
4629 | StatusProviderMC5Private * priv = STATUS_PROVIDER_MC5_GET_PRIVATE(sp); |
4630 | |
4631 | |
4632 | === removed file 'src/users-service-dbus.c' |
4633 | --- src/users-service-dbus.c 2009-09-24 22:02:11 +0000 |
4634 | +++ src/users-service-dbus.c 1970-01-01 00:00:00 +0000 |
4635 | @@ -1,1147 +0,0 @@ |
4636 | -/* |
4637 | - * Copyright 2009 Canonical Ltd. |
4638 | - * |
4639 | - * Authors: |
4640 | - * Cody Russell <crussell@canonical.com> |
4641 | - * |
4642 | - * This program is free software: you can redistribute it and/or modify it |
4643 | - * under the terms of the GNU General Public License version 3, as published |
4644 | - * by the Free Software Foundation. |
4645 | - * |
4646 | - * This program is distributed in the hope that it will be useful, but |
4647 | - * WITHOUT ANY WARRANTY; without even the implied warranties of |
4648 | - * MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR |
4649 | - * PURPOSE. See the GNU General Public License for more details. |
4650 | - * |
4651 | - * You should have received a copy of the GNU General Public License along |
4652 | - * with this program. If not, see <http://www.gnu.org/licenses/>. |
4653 | - */ |
4654 | - |
4655 | -#ifdef HAVE_CONFIG_H |
4656 | -#include "config.h" |
4657 | -#endif |
4658 | - |
4659 | -#include <string.h> |
4660 | -#include <errno.h> |
4661 | -#include <pwd.h> |
4662 | - |
4663 | -#include <dbus/dbus-glib.h> |
4664 | -#include <dbus/dbus-glib.h> |
4665 | -#include <dbus/dbus-glib-lowlevel.h> |
4666 | - |
4667 | -#include "dbus-shared-names.h" |
4668 | -#include "users-service-dbus.h" |
4669 | -#include "users-service-client.h" |
4670 | -#include "users-service-marshal.h" |
4671 | - |
4672 | -static void users_service_dbus_class_init (UsersServiceDbusClass *klass); |
4673 | -static void users_service_dbus_init (UsersServiceDbus *self); |
4674 | -static void users_service_dbus_dispose (GObject *object); |
4675 | -static void users_service_dbus_finalize (GObject *object); |
4676 | -static void create_gdm_proxy (UsersServiceDbus *self); |
4677 | -static void create_seat_proxy (UsersServiceDbus *self); |
4678 | -static void create_ck_proxy (UsersServiceDbus *self); |
4679 | -static void create_cksession_proxy (UsersServiceDbus *self); |
4680 | -static gchar *get_seat (UsersServiceDbus *service); |
4681 | -static void users_loaded (DBusGProxy *proxy, |
4682 | - gpointer user_data); |
4683 | -static void user_added (DBusGProxy *proxy, |
4684 | - gint64 uid, |
4685 | - gpointer user_data); |
4686 | -static void user_removed (DBusGProxy *proxy, |
4687 | - gint64 uid, |
4688 | - gpointer user_data); |
4689 | -static void user_updated (DBusGProxy *proxy, |
4690 | - guint uid, |
4691 | - gpointer user_data); |
4692 | -static void seat_proxy_session_added (DBusGProxy *seat_proxy, |
4693 | - const gchar *session_id, |
4694 | - UsersServiceDbus *service); |
4695 | -static void seat_proxy_session_removed (DBusGProxy *seat_proxy, |
4696 | - const gchar *session_id, |
4697 | - UsersServiceDbus *service); |
4698 | -static gboolean do_add_session (UsersServiceDbus *service, |
4699 | - UserData *user, |
4700 | - const gchar *ssid); |
4701 | -static gchar * get_seat_internal (UsersServiceDbus *self); |
4702 | - |
4703 | -/* Private */ |
4704 | -typedef struct _UsersServiceDbusPrivate UsersServiceDbusPrivate; |
4705 | - |
4706 | -struct _UsersServiceDbusPrivate |
4707 | -{ |
4708 | - GHashTable *users; |
4709 | - gint count; |
4710 | - gchar *seat; |
4711 | - gchar *ssid; |
4712 | - |
4713 | - DBusGConnection *system_bus; |
4714 | - |
4715 | - DBusGProxy *gdm_proxy; |
4716 | - DBusGProxy *ck_proxy; |
4717 | - DBusGProxy *seat_proxy; |
4718 | - DBusGProxy *session_proxy; |
4719 | - |
4720 | - GHashTable *exclusions; |
4721 | - GHashTable *sessions; |
4722 | -}; |
4723 | - |
4724 | -#define USERS_SERVICE_DBUS_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), USERS_SERVICE_DBUS_TYPE, UsersServiceDbusPrivate)) |
4725 | - |
4726 | -/* Signals */ |
4727 | -enum { |
4728 | - USERS_LOADED, |
4729 | - USER_ADDED, |
4730 | - USER_REMOVED, |
4731 | - USER_UPDATED, |
4732 | - LAST_SIGNAL |
4733 | -}; |
4734 | - |
4735 | -static guint signals[LAST_SIGNAL] = { 0 }; |
4736 | - |
4737 | -/* GObject Boilerplate */ |
4738 | -G_DEFINE_TYPE (UsersServiceDbus, users_service_dbus, G_TYPE_OBJECT); |
4739 | - |
4740 | -static void |
4741 | -users_service_dbus_class_init (UsersServiceDbusClass *klass) |
4742 | -{ |
4743 | - GObjectClass *object_class = G_OBJECT_CLASS (klass); |
4744 | - |
4745 | - g_type_class_add_private (object_class, sizeof (UsersServiceDbusPrivate)); |
4746 | - |
4747 | - object_class->dispose = users_service_dbus_dispose; |
4748 | - object_class->finalize = users_service_dbus_finalize; |
4749 | - |
4750 | - signals[USERS_LOADED] = g_signal_new ("users-loaded", |
4751 | - G_TYPE_FROM_CLASS (klass), |
4752 | - G_SIGNAL_RUN_LAST, |
4753 | - G_STRUCT_OFFSET (UsersServiceDbusClass, users_loaded), |
4754 | - NULL, NULL, |
4755 | - g_cclosure_marshal_VOID__VOID, |
4756 | - G_TYPE_NONE, 0); |
4757 | - |
4758 | - signals[USER_ADDED] = g_signal_new ("user-added", |
4759 | - G_TYPE_FROM_CLASS (klass), |
4760 | - G_SIGNAL_RUN_LAST, |
4761 | - G_STRUCT_OFFSET (UsersServiceDbusClass, user_added), |
4762 | - NULL, NULL, |
4763 | - _users_service_marshal_VOID__INT64, |
4764 | - G_TYPE_NONE, 1, G_TYPE_INT64); |
4765 | - |
4766 | - signals[USER_REMOVED] = g_signal_new ("user-removed", |
4767 | - G_TYPE_FROM_CLASS (klass), |
4768 | - G_SIGNAL_RUN_LAST, |
4769 | - G_STRUCT_OFFSET (UsersServiceDbusClass, user_removed), |
4770 | - NULL, NULL, |
4771 | - _users_service_marshal_VOID__INT64, |
4772 | - G_TYPE_NONE, 1, G_TYPE_INT64); |
4773 | - |
4774 | - signals[USER_UPDATED] = g_signal_new ("user-updated", |
4775 | - G_TYPE_FROM_CLASS (klass), |
4776 | - G_SIGNAL_RUN_LAST, |
4777 | - G_STRUCT_OFFSET (UsersServiceDbusClass, user_updated), |
4778 | - NULL, NULL, |
4779 | - _users_service_marshal_VOID__INT64, |
4780 | - G_TYPE_NONE, 1, G_TYPE_INT64); |
4781 | -} |
4782 | - |
4783 | -static void |
4784 | -users_service_dbus_init (UsersServiceDbus *self) |
4785 | -{ |
4786 | - GError *error = NULL; |
4787 | - UsersServiceDbusPrivate *priv = USERS_SERVICE_DBUS_GET_PRIVATE (self); |
4788 | - |
4789 | - priv->users = NULL; |
4790 | - priv->count = 0; |
4791 | - |
4792 | - /* Get the system bus */ |
4793 | - priv->system_bus = dbus_g_bus_get (DBUS_BUS_SYSTEM, &error); |
4794 | - if (error != NULL) |
4795 | - { |
4796 | - g_error ("Unable to get system bus: %s", error->message); |
4797 | - g_error_free(error); |
4798 | - |
4799 | - return; |
4800 | - } |
4801 | - |
4802 | - priv->sessions = g_hash_table_new_full (g_str_hash, |
4803 | - g_str_equal, |
4804 | - g_free, |
4805 | - g_free); |
4806 | - |
4807 | - priv->users = g_hash_table_new_full (g_str_hash, |
4808 | - g_str_equal, |
4809 | - g_free, |
4810 | - NULL); |
4811 | - |
4812 | - dbus_g_object_register_marshaller (_users_service_marshal_VOID__INT64, |
4813 | - G_TYPE_NONE, |
4814 | - G_TYPE_INT64, |
4815 | - G_TYPE_INVALID); |
4816 | - |
4817 | - create_gdm_proxy (self); |
4818 | - create_ck_proxy (self); |
4819 | - create_seat_proxy (self); |
4820 | - |
4821 | - users_loaded (priv->gdm_proxy, self); |
4822 | -} |
4823 | - |
4824 | -static void |
4825 | -users_service_dbus_dispose (GObject *object) |
4826 | -{ |
4827 | - G_OBJECT_CLASS (users_service_dbus_parent_class)->dispose (object); |
4828 | -} |
4829 | - |
4830 | -static void |
4831 | -users_service_dbus_finalize (GObject *object) |
4832 | -{ |
4833 | - G_OBJECT_CLASS (users_service_dbus_parent_class)->finalize (object); |
4834 | -} |
4835 | - |
4836 | -static void |
4837 | -create_gdm_proxy (UsersServiceDbus *self) |
4838 | -{ |
4839 | - UsersServiceDbusPrivate *priv = USERS_SERVICE_DBUS_GET_PRIVATE (self); |
4840 | - GError *error = NULL; |
4841 | - |
4842 | - priv->gdm_proxy = dbus_g_proxy_new_for_name_owner (priv->system_bus, |
4843 | - "org.gnome.DisplayManager", |
4844 | - "/org/gnome/DisplayManager/UserManager", |
4845 | - "org.gnome.DisplayManager.UserManager", |
4846 | - &error); |
4847 | - |
4848 | - if (!priv->gdm_proxy) |
4849 | - { |
4850 | - if (error != NULL) |
4851 | - { |
4852 | - g_error ("Unable to get DisplayManager proxy on system bus: %s", error->message); |
4853 | - g_error_free (error); |
4854 | - } |
4855 | - |
4856 | - return; |
4857 | - } |
4858 | - |
4859 | - dbus_g_proxy_add_signal (priv->gdm_proxy, |
4860 | - "UsersLoaded", |
4861 | - G_TYPE_INVALID); |
4862 | - |
4863 | - dbus_g_proxy_add_signal (priv->gdm_proxy, |
4864 | - "UserAdded", |
4865 | - G_TYPE_INT64, |
4866 | - G_TYPE_INVALID); |
4867 | - |
4868 | - dbus_g_proxy_add_signal (priv->gdm_proxy, |
4869 | - "UserRemoved", |
4870 | - G_TYPE_INT64, |
4871 | - G_TYPE_INVALID); |
4872 | - |
4873 | - dbus_g_proxy_add_signal (priv->gdm_proxy, |
4874 | - "UserUpdated", |
4875 | - G_TYPE_INT64, |
4876 | - G_TYPE_INVALID); |
4877 | - |
4878 | - dbus_g_proxy_connect_signal (priv->gdm_proxy, |
4879 | - "UsersLoaded", |
4880 | - G_CALLBACK (users_loaded), |
4881 | - self, |
4882 | - NULL); |
4883 | - |
4884 | - dbus_g_proxy_connect_signal (priv->gdm_proxy, |
4885 | - "UserAdded", |
4886 | - G_CALLBACK (user_added), |
4887 | - self, |
4888 | - NULL); |
4889 | - |
4890 | - dbus_g_proxy_connect_signal (priv->gdm_proxy, |
4891 | - "UserRemoved", |
4892 | - G_CALLBACK (user_removed), |
4893 | - self, |
4894 | - NULL); |
4895 | - |
4896 | - dbus_g_proxy_connect_signal (priv->gdm_proxy, |
4897 | - "UserUpdated", |
4898 | - G_CALLBACK (user_updated), |
4899 | - self, |
4900 | - NULL); |
4901 | -} |
4902 | - |
4903 | -static void |
4904 | -create_ck_proxy (UsersServiceDbus *self) |
4905 | -{ |
4906 | - UsersServiceDbusPrivate *priv = USERS_SERVICE_DBUS_GET_PRIVATE (self); |
4907 | - |
4908 | - priv->ck_proxy = dbus_g_proxy_new_for_name (priv->system_bus, |
4909 | - "org.freedesktop.ConsoleKit", |
4910 | - "/org/freedesktop/ConsoleKit/Manager", |
4911 | - "org.freedesktop.ConsoleKit.Manager"); |
4912 | - |
4913 | - if (!priv->ck_proxy) |
4914 | - { |
4915 | - g_warning ("Failed to get ConsoleKit proxy."); |
4916 | - return; |
4917 | - } |
4918 | -} |
4919 | - |
4920 | -static void |
4921 | -create_seat_proxy (UsersServiceDbus *self) |
4922 | -{ |
4923 | - UsersServiceDbusPrivate *priv = USERS_SERVICE_DBUS_GET_PRIVATE (self); |
4924 | - GError *error = NULL; |
4925 | - |
4926 | - priv->seat = get_seat (self); |
4927 | - if (priv->seat == NULL) |
4928 | - { |
4929 | - return; |
4930 | - } |
4931 | - |
4932 | - priv->seat_proxy = dbus_g_proxy_new_for_name_owner (priv->system_bus, |
4933 | - "org.freedesktop.ConsoleKit", |
4934 | - priv->seat, |
4935 | - "org.freedesktop.ConsoleKit.Seat", |
4936 | - &error); |
4937 | - |
4938 | - if (!priv->seat_proxy) |
4939 | - { |
4940 | - if (error != NULL) |
4941 | - { |
4942 | - g_warning ("Failed to connect to the ConsoleKit seat: %s", error->message); |
4943 | - g_error_free (error); |
4944 | - } |
4945 | - |
4946 | - return; |
4947 | - } |
4948 | - |
4949 | - dbus_g_proxy_add_signal (priv->seat_proxy, |
4950 | - "SessionAdded", |
4951 | - DBUS_TYPE_G_OBJECT_PATH, |
4952 | - G_TYPE_INVALID); |
4953 | - dbus_g_proxy_add_signal (priv->seat_proxy, |
4954 | - "SessionRemoved", |
4955 | - DBUS_TYPE_G_OBJECT_PATH, |
4956 | - G_TYPE_INVALID); |
4957 | - |
4958 | - dbus_g_proxy_connect_signal (priv->seat_proxy, |
4959 | - "SessionAdded", |
4960 | - G_CALLBACK (seat_proxy_session_added), |
4961 | - self, |
4962 | - NULL); |
4963 | - dbus_g_proxy_connect_signal (priv->seat_proxy, |
4964 | - "SessionRemoved", |
4965 | - G_CALLBACK (seat_proxy_session_removed), |
4966 | - self, |
4967 | - NULL); |
4968 | -} |
4969 | - |
4970 | -static void |
4971 | -create_cksession_proxy (UsersServiceDbus *service) |
4972 | -{ |
4973 | - UsersServiceDbusPrivate *priv = USERS_SERVICE_DBUS_GET_PRIVATE (service); |
4974 | - |
4975 | - priv->session_proxy = dbus_g_proxy_new_for_name (priv->system_bus, |
4976 | - "org.freedesktop.ConsoleKit", |
4977 | - priv->ssid, |
4978 | - "org.freedesktop.ConsoleKit.Session"); |
4979 | - |
4980 | - if (!priv->session_proxy) |
4981 | - { |
4982 | - g_warning ("Failed to get ConsoleKit session proxy"); |
4983 | - return; |
4984 | - } |
4985 | -} |
4986 | - |
4987 | -static gchar * |
4988 | -get_seat (UsersServiceDbus *service) |
4989 | -{ |
4990 | - UsersServiceDbusPrivate *priv = USERS_SERVICE_DBUS_GET_PRIVATE (service); |
4991 | - GError *error = NULL; |
4992 | - gchar *ssid = NULL; |
4993 | - gchar *seat; |
4994 | - |
4995 | - if (!dbus_g_proxy_call (priv->ck_proxy, |
4996 | - "GetCurrentSession", |
4997 | - &error, |
4998 | - G_TYPE_INVALID, |
4999 | - DBUS_TYPE_G_OBJECT_PATH, |
5000 | - &ssid, |
The diff has been truncated for viewing.
Removing everything other than status. Now this is all status only. Also, quite a bit of renaming to make things clearer in the future.