Merge lp:~rodrigo-moya/ubuntu/natty/gnome-applets/no-more-deprecated into lp:~ubuntu-desktop/gnome-applets/ubuntu
- Natty (11.04)
- no-more-deprecated
- Merge into ubuntu
Proposed by
Rodrigo Moya
Status: | Merged |
---|---|
Merged at revision: | 57 |
Proposed branch: | lp:~rodrigo-moya/ubuntu/natty/gnome-applets/no-more-deprecated |
Merge into: | lp:~ubuntu-desktop/gnome-applets/ubuntu |
Diff against target: |
1259 lines (+953/-140) 8 files modified
debian/changelog (+15/-0) debian/control (+6/-10) debian/control.in (+6/-10) debian/patches/01_no_more_deprecated.patch (+915/-0) debian/patches/81_silent_applet_cleaning (+5/-8) debian/patches/86_deprecate_battstatus.patch (+2/-63) debian/patches/87_deprecate_modemlights.patch (+2/-48) debian/patches/series (+2/-1) |
To merge this branch: | bzr merge lp:~rodrigo-moya/ubuntu/natty/gnome-applets/no-more-deprecated |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Sebastien Bacher | Needs Fixing | ||
Review via email: mp+41494@code.launchpad.net |
Commit message
Description of the change
To post a comment you must log in.
- 59. By Rodrigo Moya
-
Some more invest applet fixes
- 60. By Rodrigo Moya
-
Add bug numbers
- 61. By Rodrigo Moya
-
New upstream release
Preview Diff
[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1 | === modified file 'debian/changelog' |
2 | --- debian/changelog 2010-11-25 23:24:33 +0000 |
3 | +++ debian/changelog 2010-11-29 16:14:03 +0000 |
4 | @@ -1,3 +1,18 @@ |
5 | +gnome-applets (2.32.1.1-0ubuntu2) UNRELEASED; urgency=low |
6 | + |
7 | + * debian/control*: |
8 | + - Don't build-depend on deprecated python-gnome bindings |
9 | + - Depend on introspection packages |
10 | + * debian/patches/01_no_more_deprecated.patch: |
11 | + - Add patch to migrate null_applet to libpanel-applet-3 (LP: #673109) |
12 | + and invest applet to use GObject introspection (LP: #673110) |
13 | + * debian/patches/81_silent_applet_cleaning: |
14 | + * debian/patches/86_deprecate_battstatus.patch: |
15 | + * debian/patches/87_deprecate_modemlights.patch: |
16 | + - Rebased patches |
17 | + |
18 | + -- Rodrigo Moya <rodrigo.moya@canonical.com> Fri, 26 Nov 2010 19:10:27 +0100 |
19 | + |
20 | gnome-applets (2.32.1.1-0ubuntu1) natty; urgency=low |
21 | |
22 | * New upstream release |
23 | |
24 | === modified file 'debian/control' |
25 | --- debian/control 2010-11-09 22:44:31 +0000 |
26 | +++ debian/control 2010-11-29 16:14:03 +0000 |
27 | @@ -18,7 +18,6 @@ |
28 | libglib2.0-dev (>= 2.22.0), |
29 | libgconf2-dev (>= 2.8.0), |
30 | scrollkeeper (>= 0.1.4) | rarian-compat, |
31 | - libpanel-applet2-dev (>= 2.13.4), |
32 | libpanel-applet-3-dev, |
33 | libgtop2-dev (>= 2.11.92), |
34 | libwnck-dev (>= 2.9.3), |
35 | @@ -26,9 +25,7 @@ |
36 | libnotify-dev (>= 0.3.2), |
37 | libdbus-1-dev (>= 1.1.2), |
38 | libdbus-glib-1-dev (>= 0.74), |
39 | - python-gtk2-dev (>= 2.6), |
40 | python-gobject-dev (>= 2.6), |
41 | - python-gnome2-dev (>= 2.10), |
42 | gnome-icon-theme (>= 2.15.91), |
43 | libxml2-dev (>= 2.5.0), |
44 | libgweather-dev (>= 2.22.1), |
45 | @@ -47,8 +44,7 @@ |
46 | network-manager-dev (>= 0.7), |
47 | x11proto-kb-dev, |
48 | gnome-pkg-tools (>= 0.10), |
49 | - python-support (>= 0.4), |
50 | - python-gnome2-desktop-dev |
51 | + python-support (>= 0.4) |
52 | Vcs-Bzr: https://code.launchpad.net/~ubuntu-desktop/gnome-applets/ubuntu |
53 | |
54 | Package: gnome-applets-data |
55 | @@ -71,17 +67,17 @@ |
56 | gnome-panel (>= 2.32), |
57 | gnome-icon-theme (>= 2.15.91), |
58 | ${python:Depends}, |
59 | - gvfs |
60 | + gvfs, |
61 | + gir1.0-gtk-2.0, |
62 | + gir1.0-gdkpixbuf-2.0, |
63 | + gir1.0-gconf-2.0, |
64 | + gir1.0-panelapplet-3.0 |
65 | Conflicts: trashapplet |
66 | Replaces: trashapplet |
67 | Provides: trashapplet |
68 | Recommends: gnome-system-monitor, |
69 | gnome-media, |
70 | - python-gconf, |
71 | - python-gnome2, |
72 | - python-gnomeapplet, |
73 | python-gobject, |
74 | - python-gtk2, |
75 | policykit-1-gnome |
76 | Suggests: tomboy, |
77 | gnome-netstatus-applet, |
78 | |
79 | === modified file 'debian/control.in' |
80 | --- debian/control.in 2010-11-09 22:44:31 +0000 |
81 | +++ debian/control.in 2010-11-29 16:14:03 +0000 |
82 | @@ -13,7 +13,6 @@ |
83 | libglib2.0-dev (>= 2.22.0), |
84 | libgconf2-dev (>= 2.8.0), |
85 | scrollkeeper (>= 0.1.4) | rarian-compat, |
86 | - libpanel-applet2-dev (>= 2.13.4), |
87 | libpanel-applet-3-dev, |
88 | libgtop2-dev (>= 2.11.92), |
89 | libwnck-dev (>= 2.9.3), |
90 | @@ -21,9 +20,7 @@ |
91 | libnotify-dev (>= 0.3.2), |
92 | libdbus-1-dev (>= 1.1.2), |
93 | libdbus-glib-1-dev (>= 0.74), |
94 | - python-gtk2-dev (>= 2.6), |
95 | python-gobject-dev (>= 2.6), |
96 | - python-gnome2-dev (>= 2.10), |
97 | gnome-icon-theme (>= 2.15.91), |
98 | libxml2-dev (>= 2.5.0), |
99 | libgweather-dev (>= 2.22.1), |
100 | @@ -42,8 +39,7 @@ |
101 | network-manager-dev (>= 0.7), |
102 | x11proto-kb-dev, |
103 | gnome-pkg-tools (>= 0.10), |
104 | - python-support (>= 0.4), |
105 | - python-gnome2-desktop-dev |
106 | + python-support (>= 0.4) |
107 | Vcs-Bzr: https://code.launchpad.net/~ubuntu-desktop/gnome-applets/ubuntu |
108 | |
109 | Package: gnome-applets-data |
110 | @@ -66,17 +62,17 @@ |
111 | gnome-panel (>= 2.32), |
112 | gnome-icon-theme (>= 2.15.91), |
113 | ${python:Depends}, |
114 | - gvfs |
115 | + gvfs, |
116 | + gir1.0-gtk-2.0, |
117 | + gir1.0-gdkpixbuf-2.0, |
118 | + gir1.0-gconf-2.0, |
119 | + gir1.0-panelapplet-3.0 |
120 | Conflicts: trashapplet |
121 | Replaces: trashapplet |
122 | Provides: trashapplet |
123 | Recommends: gnome-system-monitor, |
124 | gnome-media, |
125 | - python-gconf, |
126 | - python-gnome2, |
127 | - python-gnomeapplet, |
128 | python-gobject, |
129 | - python-gtk2, |
130 | policykit-1-gnome |
131 | Suggests: tomboy, |
132 | gnome-netstatus-applet, |
133 | |
134 | === added file 'debian/patches/01_no_more_deprecated.patch' |
135 | --- debian/patches/01_no_more_deprecated.patch 1970-01-01 00:00:00 +0000 |
136 | +++ debian/patches/01_no_more_deprecated.patch 2010-11-29 16:14:03 +0000 |
137 | @@ -0,0 +1,915 @@ |
138 | +diff --git a/configure.in b/configure.in |
139 | +index 1779cd0..eca3982 100644 |
140 | +--- a/configure.in |
141 | ++++ b/configure.in |
142 | +@@ -16,7 +16,6 @@ GLIB_REQUIRED=2.22.0 |
143 | + GIO_REQUIRED=2.15.3 |
144 | + GCONF_REQUIRED=2.8.0 |
145 | + SCROLLKEEPER_REQUIRED=0.1.4 |
146 | +-LIBPANEL_REQUIRED=2.13.4 |
147 | + LIBPANEL3_REQUIRED=2.31.2 |
148 | + LIBGTOP_REQUIRED=2.11.92 |
149 | + LIBXKLAVIER_REQUIRED=4.0 |
150 | +@@ -26,9 +25,7 @@ LIBNOTIFY_REQUIRED=0.3.2 |
151 | + HAL_REQUIRED=0.5.3 |
152 | + DBUS_REQUIRED=1.1.2 |
153 | + DBUS_GLIB_REQUIRED=0.74 |
154 | +-PYGTK_REQUIRED=2.6 |
155 | +-PYGOBJECT_REQUIRED=2.6 |
156 | +-GNOME_PYTHON_REQUIRED=2.10 |
157 | ++PYGOBJECT_REQUIRED=2.26 |
158 | + GNOME_ICON_THEME_REQUIRED=2.15.91 |
159 | + LIBXML_REQUIRED=2.5.0 |
160 | + GWEATHER_REQUIRED=2.22.1 |
161 | +@@ -116,11 +113,6 @@ PKG_CHECK_MODULES(GTK, gtk+-2.0 >= $GTK_REQUIRED) |
162 | + AC_SUBST(GTK_FLAGS) |
163 | + AC_SUBST(GTK_LIBS) |
164 | + |
165 | +-dnl -- check for libpanelapplet (required) ------------------------------------ |
166 | +-PKG_CHECK_MODULES(GNOME_APPLETS, libpanelapplet-2.0 >= $LIBPANEL_REQUIRED) |
167 | +-AC_SUBST(GNOME_APPLETS_CFLAGS) |
168 | +-AC_SUBST(GNOME_APPLETS_LIBS) |
169 | +- |
170 | + dnl -- check for libpanelapplet3 (required) ------------------------------------ |
171 | + PKG_CHECK_MODULES(GNOME_APPLETS3, libpanelapplet-3.0 >= $LIBPANEL3_REQUIRED) |
172 | + AC_SUBST(GNOME_APPLETS3_CFLAGS) |
173 | +@@ -254,9 +246,7 @@ dnl -- check for Python/GNOME modules (optional) ------------------------------ |
174 | + PYGTK_CFLAGS= |
175 | + PYGTK_LIBS= |
176 | + PKG_CHECK_MODULES(PYGTK, |
177 | +- pygtk-2.0 >= $PYGTK_REQUIRED |
178 | +- pygobject-2.0 >= $PYGOBJECT_REQUIRED |
179 | +- gnome-python-2.0 >= $GNOME_PYTHON_REQUIRED, |
180 | ++ pygobject-2.0 >= $PYGOBJECT_REQUIRED, |
181 | + HAVE_PYGTK="yes", HAVE_PYGTK="no") |
182 | + AC_SUBST(PYGTK_LIBS) |
183 | + AC_SUBST(PYGTK_CFLAGS) |
184 | +@@ -559,14 +549,7 @@ dnl *************************************************************************** |
185 | + dnl *** invest-applet specific checks *** |
186 | + dnl *************************************************************************** |
187 | + |
188 | +-if test "x$HAVE_PYGTK" = "xyes" -a "x$HAVE_PYHDRS" = "xyes"; then |
189 | +- AM_CHECK_PYMOD(gnomeapplet,, |
190 | +- BUILD_INVEST_APPLET="yes", BUILD_INVEST_APPLET="no") |
191 | +-else |
192 | +- BUILD_INVEST_APPLET="no" |
193 | +-fi |
194 | +- |
195 | +-AM_CONDITIONAL(BUILD_INVEST_APPLET, test "x$BUILD_INVEST_APPLET" = "xyes") |
196 | ++AM_CONDITIONAL(BUILD_INVEST_APPLET, test "x$HAVE_PYGTK" = "xyes") |
197 | + |
198 | + dnl *************************************************************************** |
199 | + dnl *** Check if IPv6 is available *** |
200 | +diff --git a/invest-applet/invest/__init__.py b/invest-applet/invest/__init__.py |
201 | +index 29fb7d6..ec53bcb 100644 |
202 | +--- a/invest-applet/invest/__init__.py |
203 | ++++ b/invest-applet/invest/__init__.py |
204 | +@@ -3,7 +3,7 @@ from os.path import join, exists, isdir, isfile, dirname, abspath, expanduser |
205 | + from types import ListType |
206 | + import datetime |
207 | + |
208 | +-import gtk, gtk.gdk, gconf, gobject |
209 | ++from gi.repository import Gtk, Gdk, GConf, GObject |
210 | + import cPickle |
211 | + |
212 | + import networkmanager |
213 | +@@ -55,7 +55,7 @@ if not exists(USER_INVEST_DIR): |
214 | + os.chdir(expanduser("~")) |
215 | + |
216 | + #Gconf client |
217 | +-GCONF_CLIENT = gconf.client_get_default() |
218 | ++GCONF_CLIENT = GConf.Client.get_default() |
219 | + |
220 | + # GConf directory for invest in window mode and shared settings |
221 | + GCONF_DIR = "/apps/invest" |
222 | +@@ -205,7 +205,7 @@ def get_gnome_proxy_retry(client, attempts, sleep): |
223 | + gobject.timeout_add(sleep * 1000, get_gnome_proxy_retry, client, attempts, sleep) |
224 | + |
225 | + # use gconf to get proxy config |
226 | +-client = gconf.client_get_default() |
227 | ++client = GConf.Client.get_default() |
228 | + get_gnome_proxy(client) |
229 | + |
230 | + |
231 | +diff --git a/invest-applet/invest/about.py b/invest-applet/invest/about.py |
232 | +index e2829e8..f228ae1 100644 |
233 | +--- a/invest-applet/invest/about.py |
234 | ++++ b/invest-applet/invest/about.py |
235 | +@@ -3,16 +3,16 @@ from os.path import join |
236 | + from gettext import gettext as _ |
237 | + from invest.defs import VERSION |
238 | + import invest |
239 | +-import gtk, gtk.gdk |
240 | ++from gi.repository import Gtk, GdkPixbuf |
241 | + |
242 | + invest_logo = None |
243 | + try: |
244 | +- invest_logo = gtk.gdk.pixbuf_new_from_file_at_size(join(invest.ART_DATA_DIR, "invest_neutral.svg"), 96, 96) |
245 | ++ invest_logo = GdkPixbuf_new_from_file_at_size(join(invest.ART_DATA_DIR, "invest_neutral.svg"), 96, 96) |
246 | + except Exception, msg: |
247 | + pass |
248 | + |
249 | + def show_about(): |
250 | +- about = gtk.AboutDialog() |
251 | ++ about = Gtk.AboutDialog() |
252 | + infos = { |
253 | + "program-name" : _("Invest"), |
254 | + "logo" : invest_logo, |
255 | +diff --git a/invest-applet/invest/applet.py b/invest-applet/invest/applet.py |
256 | +index 4cd5ad7..a0236f2 100644 |
257 | +--- a/invest-applet/invest/applet.py |
258 | ++++ b/invest-applet/invest/applet.py |
259 | +@@ -1,17 +1,16 @@ |
260 | + import os, time |
261 | + from os.path import * |
262 | +-import gnomeapplet, gtk, gtk.gdk, gconf, gobject |
263 | +-gobject.threads_init() |
264 | ++from gi.repository import Gdk, GdkPixbuf, Gtk, PanelApplet, GObject, GConf |
265 | ++GObject.threads_init() |
266 | + from gettext import gettext as _ |
267 | +-import gconf |
268 | + |
269 | + import invest, invest.about, invest.chart, invest.preferences, invest.defs |
270 | + from invest.quotes import QuoteUpdater |
271 | + from invest.widgets import * |
272 | + |
273 | +-gtk.window_set_default_icon_from_file(join(invest.ART_DATA_DIR, "invest_neutral.svg")) |
274 | ++Gtk.Window.set_default_icon_from_file(join(invest.ART_DATA_DIR, "invest_neutral.svg")) |
275 | + |
276 | +-class InvestApplet: |
277 | ++class InvestApplet(PanelApplet.Applet): |
278 | + def __init__(self, applet): |
279 | + self.applet = applet |
280 | + self.applet.setup_menu_from_file ( |
281 | +@@ -22,8 +21,8 @@ class InvestApplet: |
282 | + ("Refresh", self.on_refresh) |
283 | + ]) |
284 | + |
285 | +- evbox = gtk.HBox() |
286 | +- self.applet_icon = gtk.Image() |
287 | ++ evbox = Gtk.HBox() |
288 | ++ self.applet_icon = Gtk.Image() |
289 | + self.set_applet_icon(0) |
290 | + self.applet_icon.show() |
291 | + evbox.add(self.applet_icon) |
292 | +@@ -43,7 +42,7 @@ class InvestApplet: |
293 | + self.new_ilw() |
294 | + |
295 | + def button_clicked(self, widget,event): |
296 | +- if event.type == gtk.gdk.BUTTON_PRESS and event.button == 1: |
297 | ++ if event.type == Gdk.BUTTON_PRESS and event.button == 1: |
298 | + # Three cases... |
299 | + if len (invest.STOCKS) == 0: |
300 | + # a) We aren't configured yet |
301 | +@@ -51,7 +50,7 @@ class InvestApplet: |
302 | + self.reload_ilw() |
303 | + elif not self.quotes_updater.quotes_valid: |
304 | + # b) We can't get the data (e.g. offline) |
305 | +- alert = gtk.MessageDialog(buttons=gtk.BUTTONS_CLOSE) |
306 | ++ alert = Gtk.MessageDialog(buttons=gtk.BUTTONS_CLOSE) |
307 | + alert.set_markup(_("<b>No stock quotes are currently available</b>")) |
308 | + alert.format_secondary_text(_("The server could not be contacted. The computer is either offline or the servers are down. Try again later.")) |
309 | + alert.run() |
310 | +@@ -75,19 +74,19 @@ class InvestApplet: |
311 | + |
312 | + def set_applet_icon(self, change): |
313 | + if change == 1: |
314 | +- pixbuf = gtk.gdk.pixbuf_new_from_file_at_size(join(invest.ART_DATA_DIR, "invest-22_up.png"), -1,-1) |
315 | ++ pixbuf = GdkPixbuf_new_from_file_at_size(join(invest.ART_DATA_DIR, "invest-22_up.png"), -1,-1) |
316 | + elif change == 0: |
317 | +- pixbuf = gtk.gdk.pixbuf_new_from_file_at_size(join(invest.ART_DATA_DIR, "invest-22_neutral.png"), -1,-1) |
318 | ++ pixbuf = GdkPixbuf_new_from_file_at_size(join(invest.ART_DATA_DIR, "invest-22_neutral.png"), -1,-1) |
319 | + else: |
320 | +- pixbuf = gtk.gdk.pixbuf_new_from_file_at_size(join(invest.ART_DATA_DIR, "invest-22_down.png"), -1,-1) |
321 | ++ pixbuf = GdkPixbuf_new_from_file_at_size(join(invest.ART_DATA_DIR, "invest-22_down.png"), -1,-1) |
322 | + self.applet_icon.set_from_pixbuf(pixbuf) |
323 | + |
324 | + def set_applet_tooltip(self, text): |
325 | + self.applet_icon.set_tooltip_text(text) |
326 | + |
327 | +-class InvestmentsListWindow(gtk.Window): |
328 | ++class InvestmentsListWindow(Gtk.Window): |
329 | + def __init__(self, applet, list): |
330 | +- gtk.Window.__init__(self, gtk.WINDOW_TOPLEVEL) |
331 | ++ Gtk.Window.__init__(self, gtk.WINDOW_TOPLEVEL) |
332 | + self.set_type_hint(gtk.gdk.WINDOW_TYPE_HINT_DOCK) |
333 | + self.stick() |
334 | + self.set_resizable(False) |
335 | +@@ -128,58 +127,58 @@ class InvestmentsListWindow(gtk.Window): |
336 | + screen = self.applet.window.get_screen() |
337 | + monitor = screen.get_monitor_geometry (screen.get_monitor_at_window (self.applet.window)) |
338 | + |
339 | +- if self.alignment == gnomeapplet.ORIENT_LEFT: |
340 | +- x = ax - ww |
341 | +- y = ay |
342 | ++ if self.alignment == PanelApplet.ORIENT_LEFT: |
343 | ++ x = ax - ww |
344 | ++ y = ay |
345 | + |
346 | +- if (y + wh > monitor.y + monitor.height): |
347 | +- y = monitor.y + monitor.height - wh |
348 | ++ if (y + wh > monitor.y + monitor.height): |
349 | ++ y = monitor.y + monitor.height - wh |
350 | + |
351 | +- if (y < 0): |
352 | +- y = 0 |
353 | ++ if (y < 0): |
354 | ++ y = 0 |
355 | + |
356 | +- if (y + wh > monitor.height / 2): |
357 | +- gravity = gtk.gdk.GRAVITY_SOUTH_WEST |
358 | +- else: |
359 | +- gravity = gtk.gdk.GRAVITY_NORTH_WEST |
360 | ++ if (y + wh > monitor.height / 2): |
361 | ++ gravity = gtk.gdk.GRAVITY_SOUTH_WEST |
362 | ++ else: |
363 | ++ gravity = gtk.gdk.GRAVITY_NORTH_WEST |
364 | + |
365 | + elif self.alignment == gnomeapplet.ORIENT_RIGHT: |
366 | +- x = ax + aw |
367 | +- y = ay |
368 | ++ x = ax + aw |
369 | ++ y = ay |
370 | + |
371 | +- if (y + wh > monitor.y + monitor.height): |
372 | +- y = monitor.y + monitor.height - wh |
373 | ++ if (y + wh > monitor.y + monitor.height): |
374 | ++ y = monitor.y + monitor.height - wh |
375 | + |
376 | +- if (y < 0): |
377 | +- y = 0 |
378 | ++ if (y < 0): |
379 | ++ y = 0 |
380 | + |
381 | +- if (y + wh > monitor.height / 2): |
382 | +- gravity = gtk.gdk.GRAVITY_SOUTH_EAST |
383 | +- else: |
384 | +- gravity = gtk.gdk.GRAVITY_NORTH_EAST |
385 | ++ if (y + wh > monitor.height / 2): |
386 | ++ gravity = gtk.gdk.GRAVITY_SOUTH_EAST |
387 | ++ else: |
388 | ++ gravity = gtk.gdk.GRAVITY_NORTH_EAST |
389 | + |
390 | + elif self.alignment == gnomeapplet.ORIENT_DOWN: |
391 | +- x = ax |
392 | +- y = ay + ah |
393 | ++ x = ax |
394 | ++ y = ay + ah |
395 | + |
396 | +- if (x + ww > monitor.x + monitor.width): |
397 | +- x = monitor.x + monitor.width - ww |
398 | ++ if (x + ww > monitor.x + monitor.width): |
399 | ++ x = monitor.x + monitor.width - ww |
400 | + |
401 | +- if (x < 0): |
402 | +- x = 0 |
403 | ++ if (x < 0): |
404 | ++ x = 0 |
405 | + |
406 | +- gravity = gtk.gdk.GRAVITY_NORTH_WEST |
407 | ++ gravity = gtk.gdk.GRAVITY_NORTH_WEST |
408 | + elif self.alignment == gnomeapplet.ORIENT_UP: |
409 | +- x = ax |
410 | +- y = ay - wh |
411 | ++ x = ax |
412 | ++ y = ay - wh |
413 | + |
414 | +- if (x + ww > monitor.x + monitor.width): |
415 | +- x = monitor.x + monitor.width - ww |
416 | ++ if (x + ww > monitor.x + monitor.width): |
417 | ++ x = monitor.x + monitor.width - ww |
418 | + |
419 | +- if (x < 0): |
420 | +- x = 0 |
421 | ++ if (x < 0): |
422 | ++ x = 0 |
423 | + |
424 | +- gravity = gtk.gdk.GRAVITY_SOUTH_WEST |
425 | ++ gravity = gtk.gdk.GRAVITY_SOUTH_WEST |
426 | + |
427 | + self.move(x, y) |
428 | + self.set_gravity(gravity) |
429 | +diff --git a/invest-applet/invest/chart.py b/invest-applet/invest/chart.py |
430 | +index c6caff7..3e226e0 100644 |
431 | +--- a/invest-applet/invest/chart.py |
432 | ++++ b/invest-applet/invest/chart.py |
433 | +@@ -1,7 +1,6 @@ |
434 | + #!/usr/bin/env python |
435 | + |
436 | +-import gtk, gtk.gdk |
437 | +-import gobject |
438 | ++from gi.repository import Gtk, GdkPixbuf, GObject |
439 | + import os |
440 | + import invest |
441 | + from gettext import gettext as _ |
442 | +@@ -15,16 +14,16 @@ import time |
443 | + AUTOREFRESH_TIMEOUT = 20*60*1000 # 15 minutes |
444 | + |
445 | + # based on http://www.johnstowers.co.nz/blog/index.php/2007/03/12/threading-and-pygtk/ |
446 | +-class _IdleObject(gobject.GObject): |
447 | ++class _IdleObject(GObject.GObject): |
448 | + """ |
449 | + Override gobject.GObject to always emit signals in the main thread |
450 | + by emmitting on an idle handler |
451 | + """ |
452 | + def __init__(self): |
453 | +- gobject.GObject.__init__(self) |
454 | ++ GObject.GObject.__init__(self) |
455 | + |
456 | + def emit(self, *args): |
457 | +- gobject.idle_add(gobject.GObject.emit,self,*args) |
458 | ++ GObject.idle_add(gobject.GObject.emit,self,*args) |
459 | + |
460 | + class ImageRetriever(Thread, _IdleObject): |
461 | + """ |
462 | +@@ -33,7 +32,7 @@ class ImageRetriever(Thread, _IdleObject): |
463 | + """ |
464 | + __gsignals__ = { |
465 | + "completed": ( |
466 | +- gobject.SIGNAL_RUN_LAST, gobject.TYPE_NONE, []), |
467 | ++ GObject.SIGNAL_RUN_LAST, GObject.TYPE_NONE, []), |
468 | + # FIXME: should we be making use of this? |
469 | + #"progress": ( |
470 | + # gobject.SIGNAL_RUN_LAST, gobject.TYPE_NONE, [ |
471 | +@@ -47,12 +46,12 @@ class ImageRetriever(Thread, _IdleObject): |
472 | + self.retrieved = False |
473 | + |
474 | + def run(self): |
475 | +- self.image = gtk.Image() |
476 | ++ self.image = Gtk.Image() |
477 | + try: sock = urllib.urlopen(self.image_url, proxies = invest.PROXY) |
478 | + except Exception, msg: |
479 | + invest.debug("Error while opening %s: %s" % (self.image_url, msg)) |
480 | + else: |
481 | +- loader = gtk.gdk.PixbufLoader() |
482 | ++ loader = GdkPixbuf.PixbufLoader() |
483 | + loader.connect("closed", lambda loader: self.image.set_from_pixbuf(loader.get_pixbuf())) |
484 | + loader.write(sock.read()) |
485 | + sock.close() |
486 | +@@ -107,7 +106,7 @@ class FinancialChart: |
487 | + win.set_title(_("Financial Chart")) |
488 | + |
489 | + try: |
490 | +- pixbuf = gtk.gdk.pixbuf_new_from_file_at_size(join(invest.ART_DATA_DIR, "invest_neutral.svg"), 96,96) |
491 | ++ pixbuf = GdkPixbuf.pixbuf_new_from_file_at_size(join(invest.ART_DATA_DIR, "invest_neutral.svg"), 96,96) |
492 | + self.ui.get_object("plot").set_from_pixbuf(pixbuf) |
493 | + except Exception, msg: |
494 | + invest.debug("Could not load 'invest-neutral.svg' file: %s" % msg) |
495 | +@@ -241,14 +240,14 @@ class FinancialChart: |
496 | + |
497 | + def on_autorefresh_toggled(self, autorefresh): |
498 | + if self.autorefresh_id != 0: |
499 | +- gobject.source_remove(self.autorefresh_id) |
500 | ++ GObject.source_remove(self.autorefresh_id) |
501 | + self.autorefresh_id = 0 |
502 | + |
503 | + if autorefresh.get_active(): |
504 | +- self.autorefresh_id = gobject.timeout_add(AUTOREFRESH_TIMEOUT, self.on_refresh_chart, True) |
505 | ++ self.autorefresh_id = GObject.timeout_add(AUTOREFRESH_TIMEOUT, self.on_refresh_chart, True) |
506 | + |
507 | + def show_chart(tickers): |
508 | +- ui = gtk.Builder(); |
509 | ++ ui = Gtk.Builder(); |
510 | + ui.add_from_file(os.path.join(invest.BUILDER_DATA_DIR, "financialchart.ui")) |
511 | + chart = FinancialChart(ui) |
512 | + ui.get_object("s").set_text(' '.join(tickers)) |
513 | +diff --git a/invest-applet/invest/help.py b/invest-applet/invest/help.py |
514 | +index 7dfaabf..66399c5 100644 |
515 | +--- a/invest-applet/invest/help.py |
516 | ++++ b/invest-applet/invest/help.py |
517 | +@@ -1,8 +1,8 @@ |
518 | + # -*- coding: utf-8 -*- |
519 | +-import gtk, gtk.gdk |
520 | ++from gi.repository import Gdk, Gtk |
521 | + |
522 | + def show_help(): |
523 | +- gtk.show_uri(None, "ghelp:invest-applet", gtk.gdk.CURRENT_TIME) |
524 | ++ Gtk.show_uri(None, "ghelp:invest-applet", Gdk.CURRENT_TIME) |
525 | + |
526 | + def show_help_section(id): |
527 | +- gtk.show_uri(None, "ghelp:invest-applet?%s" % id, gtk.gdk.CURRENT_TIME) |
528 | ++ Gtk.show_uri(None, "ghelp:invest-applet?%s" % id, Gdk.CURRENT_TIME) |
529 | +diff --git a/invest-applet/invest/invest-applet.py b/invest-applet/invest/invest-applet.py |
530 | +index da1fb05..fd7b334 100755 |
531 | +--- a/invest-applet/invest/invest-applet.py |
532 | ++++ b/invest-applet/invest/invest-applet.py |
533 | +@@ -1,8 +1,8 @@ |
534 | + #!/usr/bin/env python |
535 | + # |
536 | + |
537 | +-import gobject |
538 | +-import gtk, gnomeapplet |
539 | ++from gi.repository import GObject, Gtk, PanelApplet |
540 | ++from invest.applet import InvestApplet |
541 | + |
542 | + import getopt, sys |
543 | + from os.path import * |
544 | +@@ -37,12 +37,12 @@ def applet_factory(applet, iid): |
545 | + |
546 | + # Return a standalone window that holds the applet |
547 | + def build_window(): |
548 | +- app = gtk.Window(gtk.WINDOW_TOPLEVEL) |
549 | ++ app = Gtk.Window(Gtk.WindowType.toplevel) |
550 | + app.set_title(_("Invest Applet")) |
551 | + app.connect("destroy", gtk.main_quit) |
552 | + app.set_property('resizable', False) |
553 | + |
554 | +- applet = gnomeapplet.Applet() |
555 | ++ applet = PanelApplet.Applet() |
556 | + applet_factory(applet, None) |
557 | + applet.reparent(app) |
558 | + |
559 | +@@ -68,7 +68,7 @@ if __name__ == "__main__": |
560 | + try: |
561 | + opts, args = getopt.getopt(sys.argv[1:], "hdw", ["help", "debug", "window"]) |
562 | + except getopt.GetoptError: |
563 | +- # Unknown args were passed, we fallback to bahave as if |
564 | ++ # Unknown args were passed, we fallback to behave as if |
565 | + # no options were passed |
566 | + opts = [] |
567 | + args = sys.argv[1:] |
568 | +@@ -88,11 +88,11 @@ if __name__ == "__main__": |
569 | + |
570 | + if standalone: |
571 | + build_window() |
572 | +- gtk.main() |
573 | ++ Gtk.main() |
574 | + else: |
575 | +- gnomeapplet.bonobo_factory( |
576 | +- "OAFIID:Invest_Applet_Factory", |
577 | +- gnomeapplet.Applet.__gtype__, |
578 | +- invest.defs.PACKAGE, |
579 | +- invest.defs.VERSION, |
580 | +- applet_factory) |
581 | ++ PanelApplet.Applet.factory_main( |
582 | ++ "InvestAppletFactory", |
583 | ++ True, |
584 | ++ InvestApplet.__gtype__, |
585 | ++ applet_factory, |
586 | ++ None) |
587 | +diff --git a/invest-applet/invest/preferences.py b/invest-applet/invest/preferences.py |
588 | +index 2485e16..018a630 100644 |
589 | +--- a/invest-applet/invest/preferences.py |
590 | ++++ b/invest-applet/invest/preferences.py |
591 | +@@ -1,14 +1,14 @@ |
592 | + from gettext import gettext as _ |
593 | + import locale |
594 | + from os.path import join |
595 | +-import gtk, gobject, gconf |
596 | ++from gi.repository import Gtk, GObject, GConf |
597 | + import invest |
598 | + import currencies |
599 | + import cPickle |
600 | + |
601 | + class PrefsDialog: |
602 | + def __init__(self, applet): |
603 | +- self.ui = gtk.Builder() |
604 | ++ self.ui = Gtk.Builder() |
605 | + self.ui.add_from_file(join(invest.BUILDER_DATA_DIR, "prefs-dialog.ui")) |
606 | + |
607 | + self.dialog = self.ui.get_object("preferences") |
608 | +@@ -29,14 +29,14 @@ class PrefsDialog: |
609 | + |
610 | + self.typs = (str, str, float, float, float, float) |
611 | + self.names = (_("Symbol"), _("Label"), _("Amount"), _("Price"), _("Commission"), _("Currency Rate")) |
612 | +- store = gtk.ListStore(*self.typs) |
613 | ++ store = Gtk.ListStore(*self.typs) |
614 | + store.set_sort_column_id(0, gtk.SORT_ASCENDING) |
615 | + self.treeview.set_model(store) |
616 | + self.model = store |
617 | + |
618 | +- completion = gtk.EntryCompletion() |
619 | ++ completion = Gtk.EntryCompletion() |
620 | + self.currency.set_completion(completion) |
621 | +- liststore = gtk.ListStore(gobject.TYPE_STRING, gobject.TYPE_STRING) |
622 | ++ liststore = Gtk.ListStore(gobject.TYPE_STRING, gobject.TYPE_STRING) |
623 | + completion.set_model(liststore) |
624 | + completion.set_text_column(0) |
625 | + for code, label in self.currencies.items(): |
626 | +@@ -107,12 +107,12 @@ class PrefsDialog: |
627 | + return len(text) - text.find(".") - 1 |
628 | + |
629 | + def create_cell (self, view, column, name, typ): |
630 | +- cell_description = gtk.CellRendererText () |
631 | ++ cell_description = Gtk.CellRendererText () |
632 | + if typ == float: |
633 | + cell_description.set_property("xalign", 1.0) |
634 | + cell_description.set_property("editable", True) |
635 | + cell_description.connect("edited", self.on_cell_edited, column, typ) |
636 | +- column_description = gtk.TreeViewColumn (name, cell_description) |
637 | ++ column_description = Gtk.TreeViewColumn (name, cell_description) |
638 | + if typ == str: |
639 | + column_description.set_attributes (cell_description, text=column) |
640 | + column_description.set_sort_column_id(column) |
641 | +diff --git a/invest-applet/invest/quotes.py b/invest-applet/invest/quotes.py |
642 | +index b7ec21b..69472f3 100644 |
643 | +--- a/invest-applet/invest/quotes.py |
644 | ++++ b/invest-applet/invest/quotes.py |
645 | +@@ -1,5 +1,5 @@ |
646 | + from os.path import join |
647 | +-import gnomeapplet, gtk, gtk.gdk, gconf, gobject |
648 | ++from gi.repository import PanelApplet, Gtk, Gdk, GConf, GObject |
649 | + from gettext import gettext as _ |
650 | + import csv |
651 | + import locale |
652 | +@@ -19,16 +19,16 @@ QUOTES_URL="http://finance.yahoo.com/d/quotes.csv?s=%(s)s&f=snc4l1d1t1c1ohgv&e=. |
653 | + QUOTES_CSV_FIELDS=["ticker", "label", "currency", ("trade", float), "date", "time", ("variation", float), ("open", float), ("high", float), ("low", float), ("volume", int)] |
654 | + |
655 | + # based on http://www.johnstowers.co.nz/blog/index.php/2007/03/12/threading-and-pygtk/ |
656 | +-class _IdleObject(gobject.GObject): |
657 | ++class _IdleObject(GObject.GObject): |
658 | + """ |
659 | + Override gobject.GObject to always emit signals in the main thread |
660 | + by emmitting on an idle handler |
661 | + """ |
662 | + def __init__(self): |
663 | +- gobject.GObject.__init__(self) |
664 | ++ GObject.GObject.__init__(self) |
665 | + |
666 | + def emit(self, *args): |
667 | +- gobject.idle_add(gobject.GObject.emit,self,*args) |
668 | ++ GObject.idle_add(gobject.GObject.emit,self,*args) |
669 | + |
670 | + class QuotesRetriever(Thread, _IdleObject): |
671 | + """ |
672 | +@@ -37,7 +37,7 @@ class QuotesRetriever(Thread, _IdleObject): |
673 | + """ |
674 | + __gsignals__ = { |
675 | + "completed": ( |
676 | +- gobject.SIGNAL_RUN_LAST, gobject.TYPE_NONE, []), |
677 | ++ GObject.SIGNAL_RUN_LAST, GObject.TYPE_NONE, []), |
678 | + # FIXME: We don't monitor progress, yet ... |
679 | + #"progress": ( |
680 | + # gobject.SIGNAL_RUN_LAST, gobject.TYPE_NONE, [ |
681 | +@@ -65,14 +65,14 @@ class QuotesRetriever(Thread, _IdleObject): |
682 | + self.emit("completed") |
683 | + |
684 | + |
685 | +-class QuoteUpdater(gtk.ListStore): |
686 | ++class QuoteUpdater(Gtk.ListStore): |
687 | + updated = False |
688 | + last_updated = None |
689 | + quotes_valid = False |
690 | + timeout_id = None |
691 | + SYMBOL, LABEL, CURRENCY, TICKER_ONLY, BALANCE, BALANCE_PCT, VALUE, VARIATION_PCT, PB = range(9) |
692 | + def __init__ (self, change_icon_callback, set_tooltip_callback): |
693 | +- gtk.ListStore.__init__ (self, gobject.TYPE_STRING, gobject.TYPE_STRING, gobject.TYPE_STRING, bool, float, float, float, float, gtk.gdk.Pixbuf) |
694 | ++ Gtk.ListStore.__init__ (self, gobject.TYPE_STRING, gobject.TYPE_STRING, gobject.TYPE_STRING, bool, float, float, float, float, gtk.gdk.Pixbuf) |
695 | + self.set_update_interval(AUTOREFRESH_TIMEOUT) |
696 | + self.change_icon_callback = change_icon_callback |
697 | + self.set_tooltip_callback = set_tooltip_callback |
698 | +@@ -85,11 +85,11 @@ class QuoteUpdater(gtk.ListStore): |
699 | + def set_update_interval(self, interval): |
700 | + if self.timeout_id != None: |
701 | + invest.debug("Canceling refresh timer") |
702 | +- gobject.source_remove(self.timeout_id) |
703 | ++ GObject.source_remove(self.timeout_id) |
704 | + self.timeout_id = None |
705 | + if interval > 0: |
706 | + invest.debug("Setting refresh timer to %s:%02d.%03d" % ( interval / 60000, interval % 60000 / 1000, interval % 1000) ) |
707 | +- self.timeout_id = gobject.timeout_add(interval, self.refresh) |
708 | ++ self.timeout_id = GObject.timeout_add(interval, self.refresh) |
709 | + |
710 | + def nm_state_changed(self): |
711 | + # when nm is online but we do not have an update timer, create it and refresh |
712 | +@@ -406,6 +406,3 @@ class QuoteUpdater(gtk.ListStore): |
713 | + res = False |
714 | + break |
715 | + return res |
716 | +- |
717 | +-if gtk.pygtk_version < (2,8,0): |
718 | +- gobject.type_register(QuoteUpdater) |
719 | +diff --git a/invest-applet/invest/widgets.py b/invest-applet/invest/widgets.py |
720 | +index 13a2ec9..7c9bc91 100644 |
721 | +--- a/invest-applet/invest/widgets.py |
722 | ++++ b/invest-applet/invest/widgets.py |
723 | +@@ -1,6 +1,6 @@ |
724 | + import os, time |
725 | + from os.path import * |
726 | +-import gnomeapplet, gtk, gtk.gdk, gconf, gobject, pango |
727 | ++from gi.repository import PanelApplet, Gtk, Gdk, GConf, GObject, Pango |
728 | + from gettext import gettext as _ |
729 | + import locale |
730 | + import csv |
731 | +@@ -35,9 +35,9 @@ MEDIUM = -1 |
732 | + |
733 | + TICKER_TIMEOUT = 10000#3*60*1000# |
734 | + |
735 | +-class InvestWidget(gtk.TreeView): |
736 | ++class InvestWidget(Gtk.TreeView): |
737 | + def __init__(self, quotes_updater): |
738 | +- gtk.TreeView.__init__(self) |
739 | ++ Gtk.TreeView.__init__(self) |
740 | + self.set_property("rules-hint", True) |
741 | + self.set_reorderable(True) |
742 | + self.set_hover_selection(True) |
743 | +@@ -54,10 +54,10 @@ class InvestWidget(gtk.TreeView): |
744 | + self._getcelldata_balancepct] |
745 | + for i, col_name in enumerate(col_names): |
746 | + if i < 3: |
747 | +- cell = gtk.CellRendererText() |
748 | ++ cell = Gtk.CellRendererText() |
749 | + if i > 0: |
750 | + cell.set_property("xalign", 1.0) |
751 | +- column = gtk.TreeViewColumn (col_name, cell) |
752 | ++ column = Gtk.TreeViewColumn (col_name, cell) |
753 | + if i == 0: |
754 | + column.set_sort_column_id(quotes_updater.LABEL) |
755 | + elif i == 2: |
756 | +@@ -65,15 +65,15 @@ class InvestWidget(gtk.TreeView): |
757 | + column.set_cell_data_func(cell, col_cellgetdata_functions[i]) |
758 | + self.append_column(column) |
759 | + elif i == 3: |
760 | +- cell_pb = gtk.CellRendererPixbuf() |
761 | +- column = gtk.TreeViewColumn (col_name, cell_pb, pixbuf=quotes_updater.PB) |
762 | ++ cell_pb = Gtk.CellRendererPixbuf() |
763 | ++ column = Gtk.TreeViewColumn (col_name, cell_pb, pixbuf=quotes_updater.PB) |
764 | + self.append_column(column) |
765 | + else: |
766 | + # add the last two column only if we have any positions |
767 | + if simple_quotes_only == False: |
768 | +- cell = gtk.CellRendererText() |
769 | ++ cell = Gtk.CellRendererText() |
770 | + cell.set_property("xalign", 1.0) |
771 | +- column = gtk.TreeViewColumn (col_name, cell) |
772 | ++ column = Gtk.TreeViewColumn (col_name, cell) |
773 | + if i == 4: |
774 | + column.set_sort_column_id(quotes_updater.BALANCE) |
775 | + elif i == 5: |
776 | +@@ -156,12 +156,12 @@ class InvestWidget(gtk.TreeView): |
777 | + |
778 | + invest.chart.show_chart([ticker]) |
779 | + |
780 | +-#class InvestTicker(gtk.Label): |
781 | ++#class InvestTicker(Gtk.Label): |
782 | + # def __init__(self): |
783 | +-# gtk.Label.__init__(self, _("Waiting...")) |
784 | ++# Gtk.Label.__init__(self, _("Waiting...")) |
785 | + # |
786 | + # self.quotes = [] |
787 | +-# gobject.timeout_add(TICKER_TIMEOUT, self.scroll_quotes) |
788 | ++# GObject.timeout_add(TICKER_TIMEOUT, self.scroll_quotes) |
789 | + # |
790 | + # get_quotes_updater().connect('quotes-updated', self.on_quotes_update) |
791 | + # |
792 | +@@ -190,9 +190,9 @@ class InvestWidget(gtk.TreeView): |
793 | + # |
794 | + #gobject.type_register(InvestTicker) |
795 | + |
796 | +-class InvestTrend(gtk.Image): |
797 | ++class InvestTrend(Gtk.Image): |
798 | + def __init__(self): |
799 | +- gtk.Image.__init__(self) |
800 | ++ Gtk.Image.__init__(self) |
801 | + self.pixbuf = None |
802 | + self.previous_allocation = (0,0) |
803 | + self.connect('size-allocate', self.on_size_allocate) |
804 | +@@ -202,14 +202,14 @@ class InvestTrend(gtk.Image): |
805 | + if self.previous_allocation == (allocation.width, allocation.height): |
806 | + return |
807 | + |
808 | +- self.pixbuf = gtk.gdk.Pixbuf(gtk.gdk.COLORSPACE_RGB, True, 8, allocation.height, allocation.height) |
809 | ++ self.pixbuf = GdkPixbuf.Pixbuf(Gdk.COLORSPACE_RGB, True, 8, allocation.height, allocation.height) |
810 | + self.set_color("grey") |
811 | + self.previous_allocation = (allocation.width, allocation.height) |
812 | + |
813 | + def set_color(self, color, opacity=0xFF): |
814 | + if self.pixbuf != None: |
815 | + try: |
816 | +- color = pango.Color(color) |
817 | ++ color = Pango.Color(color) |
818 | + factor = float(0xFF)/0xFFFF |
819 | + self.pixbuf.fill( |
820 | + int(color.red*factor)<<24|int(color.green*factor)<<16|int(color.blue*factor)<<8|opacity) |
821 | +@@ -247,4 +247,4 @@ class InvestTrend(gtk.Image): |
822 | + |
823 | + self.set_color(color, opacity) |
824 | + |
825 | +-gobject.type_register(InvestTrend) |
826 | ++GObject.type_register(InvestTrend) |
827 | +diff --git a/null_applet/Makefile.am b/null_applet/Makefile.am |
828 | +index 2fe1d3e..b072b04 100644 |
829 | +--- a/null_applet/Makefile.am |
830 | ++++ b/null_applet/Makefile.am |
831 | +@@ -1,44 +1,40 @@ |
832 | ++applet_in_files = org.gnome.applets.NullApplet.panel-applet.in |
833 | ++service_in_files = org.gnome.panel.applet.NullAppletFactory.service.in |
834 | ++ |
835 | + INCLUDES = \ |
836 | + -I. \ |
837 | + -I$(srcdir) \ |
838 | +- $(GNOME_APPLETS_CFLAGS) |
839 | +- |
840 | +-## The null applet takes over if the mixer isn't built. |
841 | +-if !BUILD_MIXER_APPLET |
842 | +-mixer_server_in = GNOME_MixerApplet.server.in |
843 | +-endif |
844 | ++ $(GNOME_APPLETS3_CFLAGS) |
845 | + |
846 | + libexec_PROGRAMS = null_applet |
847 | + |
848 | +-null_applet_SOURCES = null_applet.c |
849 | ++null_applet_SOURCES = null_applet.c null_applet.h |
850 | ++ |
851 | ++null_applet_LDADD = $(GNOME_APPLETS3_LIBS) |
852 | ++ |
853 | ++appletdir = $(datadir)/gnome-panel/applets |
854 | ++applet_DATA = $(applet_in_files:.panel-applet.in=.panel-applet) |
855 | + |
856 | +-null_applet_LDADD = $(GNOME_APPLETS_LIBS) |
857 | ++$(applet_in_files): $(applet_in_files).in Makefile |
858 | ++ $(AM_V_GEN)sed \ |
859 | ++ -e "s|\@LIBEXECDIR\@|$(libexecdir)|" \ |
860 | ++ -e "s|\@VERSION\@|$(PACKAGE_VERSION)|" \ |
861 | ++ $< > $@ |
862 | + |
863 | +-serverdir = $(libdir)/bonobo/servers |
864 | +-server_in_files = \ |
865 | +- GNOME_NullApplet_Factory.server.in \ |
866 | +- GNOME_CDPlayerApplet.server.in \ |
867 | +- GNOME_MailcheckApplet_Factory.server.in \ |
868 | +- GNOME_Panel_WirelessApplet.server.in \ |
869 | +- GNOME_KeyboardApplet.server.in \ |
870 | +- $(mixer_server_in) |
871 | +-server_DATA = $(server_in_files:.server.in=.server) |
872 | ++%.panel-applet: %.panel-applet.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*po) ; $(INTLTOOL_MERGE) $(top_srcdir)/po $< $@ -d -u -c $(top_builddir)/po/.intltool-merge-cache |
873 | + |
874 | +-@INTLTOOL_SERVER_RULE@ |
875 | ++servicedir = $(datadir)/dbus-1/services |
876 | ++service_DATA = $(service_in_files:.service.in=.service) |
877 | + |
878 | +-GNOME_NullApplet_Factory.server.in: GNOME_NullApplet_Factory.server.in.in |
879 | +- sed -e "s|\@LIBEXECDIR\@|$(libexecdir)|" $< > $@ |
880 | ++org.gnome.panel.applet.NullAppletFactory.service: $(service_in_files) |
881 | ++ $(AM_V_GEN)sed \ |
882 | ++ -e "s|\@LIBEXECDIR\@|$(libexecdir)|" \ |
883 | ++ $< > $@ |
884 | + |
885 | +-CLEANFILES = GNOME_NullApplet_Factory.server.in $(server_DATA) |
886 | ++CLEANFILES = $(applet_DATA) $(applet_DATA).in $(service_DATA) $(schemas_DATA) |
887 | + |
888 | +-## Note that the mixer applet server.in file is always distributed, but |
889 | +-## note always used. |
890 | +-EXTRA_DIST = \ |
891 | +- GNOME_NullApplet_Factory.server.in.in \ |
892 | +- GNOME_CDPlayerApplet.server.in \ |
893 | +- GNOME_MailcheckApplet_Factory.server.in \ |
894 | +- GNOME_Panel_WirelessApplet.server.in \ |
895 | +- GNOME_MixerApplet.server.in \ |
896 | +- GNOME_KeyboardApplet.server.in |
897 | ++EXTRA_DIST = \ |
898 | ++ $(service_in_files) \ |
899 | ++ org.gnome.applets.NullApplet.panel-applet.in.in |
900 | + |
901 | + -include $(top_srcdir)/git.mk |
902 | +diff --git a/null_applet/null_applet.c b/null_applet/null_applet.c |
903 | +index b03521b..d6fb35d 100644 |
904 | +--- a/null_applet/null_applet.c |
905 | ++++ b/null_applet/null_applet.c |
906 | +@@ -24,11 +24,22 @@ |
907 | + #include <config.h> |
908 | + #endif |
909 | + |
910 | ++#include <glib/gi18n-lib.h> |
911 | + #include <gtk/gtk.h> |
912 | + #include <gconf/gconf-client.h> |
913 | +-#include <panel-applet.h> |
914 | ++#include "null_applet.h" |
915 | + |
916 | +-static const char factory_iid[] = "OAFIID:GNOME_NullApplet_Factory"; |
917 | ++G_DEFINE_TYPE(NullApplet, null_applet, PANEL_TYPE_APPLET) |
918 | ++ |
919 | ++static void |
920 | ++null_applet_class_init (NullAppletClass *klass) |
921 | ++{ |
922 | ++} |
923 | ++ |
924 | ++static void |
925 | ++null_applet_init (NullApplet *applet) |
926 | ++{ |
927 | ++} |
928 | + |
929 | + static inline void |
930 | + insert_oafiids (GHashTable *hash_table) |
931 | +@@ -48,8 +59,6 @@ insert_oafiids (GHashTable *hash_table) |
932 | + "OAFIID:GNOME_KeyboardApplet", _("Keyboard Indicator")); |
933 | + } |
934 | + |
935 | +-static gboolean already_running; |
936 | +- |
937 | + static void |
938 | + response_cb (GtkWidget *dialog, gint arg1, gpointer user_data) |
939 | + { |
940 | +@@ -135,11 +144,8 @@ applet_factory (PanelApplet *applet, |
941 | + char *applet_list; |
942 | + GtkWidget *dialog; |
943 | + |
944 | +- if (already_running) |
945 | +- { |
946 | +- return FALSE; |
947 | +- } |
948 | +- already_running = TRUE; |
949 | ++ if (!g_str_equal (iid, "NullApplet")) |
950 | ++ return FALSE; |
951 | + |
952 | + applet_list = get_all_applets (); |
953 | + |
954 | +@@ -167,7 +173,8 @@ applet_factory (PanelApplet *applet, |
955 | + return TRUE; |
956 | + } |
957 | + |
958 | +-PANEL_APPLET_BONOBO_FACTORY (factory_iid, |
959 | +- PANEL_TYPE_APPLET, |
960 | +- "Null-Applet", "0", |
961 | +- applet_factory, NULL) |
962 | ++PANEL_APPLET_OUT_PROCESS_FACTORY ("NullApplet", |
963 | ++ TYPE_NULL_APPLET, |
964 | ++ "null", |
965 | ++ applet_factory, |
966 | ++ NULL) |
967 | +diff --git a/null_applet/null_applet.h b/null_applet/null_applet.h |
968 | +new file mode 100644 |
969 | +index 0000000..1c5f5bf |
970 | +--- /dev/null |
971 | ++++ b/null_applet/null_applet.h |
972 | +@@ -0,0 +1,50 @@ |
973 | ++/* -*- mode: C; c-basic-offset: 4 -*- |
974 | ++ * Null Applet - The Applet Deprecation Applet |
975 | ++ * Copyright (c) 2004, Davyd Madeley |
976 | ++ * |
977 | ++ * This library is free software; you can redistribute it and/or |
978 | ++ * modify it under the terms of the GNU General Public |
979 | ++ * License as published by the Free Software Foundation; either |
980 | ++ * version 2 of the License, or (at your option) any later version. |
981 | ++ * |
982 | ++ * This program is distributed in the hope that it will be useful, |
983 | ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of |
984 | ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
985 | ++ * GNU General Public License for more details. |
986 | ++ * |
987 | ++ * You should have received a copy of the GNU General Public License |
988 | ++ * along with this program; if not, write to the Free Software |
989 | ++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
990 | ++ * |
991 | ++ * Author: |
992 | ++ * Rodrigo Moya <rodrigo@gnome.org> |
993 | ++ */ |
994 | ++ |
995 | ++#ifndef __NULL_APPLET_H |
996 | ++#define __NULL_APPLET_H |
997 | ++ |
998 | ++#include <panel-applet.h> |
999 | ++ |
1000 | ++G_BEGIN_DECLS |
1001 | ++ |
1002 | ++#define TYPE_NULL_APPLET (null_applet_get_type ()) |
1003 | ++#define NULL_APPLET(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_NULL_APPLET, NullApplet)) |
1004 | ++#define NULL_APPLET_CLASS(obj) (G_TYPE_CHECK_CLASS_CAST ((obj), TYPE_NULL_APPLET, NullAppletClass)) |
1005 | ++#define IS_NULL_APPLET(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_NULL_APPLET)) |
1006 | ++#define IS_NULL_APPLET_CLASS(obj) (G_TYPE_CHECK_CLASS_TYPE ((obj), TYPE_NULL_APPLET)) |
1007 | ++#define NULL_APPLET_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_NULL_APPLET, NullAppletClass)) |
1008 | ++ |
1009 | ++typedef struct _NullApplet NullApplet; |
1010 | ++typedef struct _NullAppletClass NullAppletClass; |
1011 | ++ |
1012 | ++struct _NullApplet { |
1013 | ++ PanelApplet parent; |
1014 | ++}; |
1015 | ++ |
1016 | ++struct _NullAppletClass { |
1017 | ++ PanelAppletClass parent_class; |
1018 | ++}; |
1019 | ++ |
1020 | ++G_END_DECLS |
1021 | ++ |
1022 | ++#endif |
1023 | +diff --git a/null_applet/org.gnome.applets.NullApplet.panel-applet.in.in b/null_applet/org.gnome.applets.NullApplet.panel-applet.in.in |
1024 | +new file mode 100644 |
1025 | +index 0000000..b349511 |
1026 | +--- /dev/null |
1027 | ++++ b/null_applet/org.gnome.applets.NullApplet.panel-applet.in.in |
1028 | +@@ -0,0 +1,15 @@ |
1029 | ++[Applet Factory] |
1030 | ++Id=NullAppletFactory |
1031 | ++Location=@LIBEXECDIR@/null_applet |
1032 | ++_Name=Null Applet Factory |
1033 | ++_Description=Null Applet Factory |
1034 | ++ |
1035 | ++[NullApplet] |
1036 | ++_Name=Null applet |
1037 | ++_Description=Check for obsolete applets |
1038 | ++BonoboId=OAFIID:GNOME_MailcheckApplet;OAFIID:GNOME_CDPlayerApplet;OAFIID:GNOME_MixerApplet_Factory;OAFIID:GNOME_MixerApplet;OAFIID:GNOME_KeyboardApplet;OAFIID:GNOME_BattstatApplet;OAFIID:GNOME_ModemLightsApplet; |
1039 | ++X-GNOME-Bugzilla-Bugzilla=GNOME |
1040 | ++X-GNOME-Bugzilla-Product=gnome-applets |
1041 | ++X-GNOME-Bugzilla-Component=null |
1042 | ++X-GNOME-Bugzilla-Version=@VERSION@ |
1043 | ++X-GNOME-Bugzilla-OtherBinaries=null_applet |
1044 | +diff --git a/null_applet/org.gnome.panel.applet.NullAppletFactory.service.in b/null_applet/org.gnome.panel.applet.NullAppletFactory.service.in |
1045 | +new file mode 100644 |
1046 | +index 0000000..49f8d40 |
1047 | +--- /dev/null |
1048 | ++++ b/null_applet/org.gnome.panel.applet.NullAppletFactory.service.in |
1049 | +@@ -0,0 +1,3 @@ |
1050 | ++[D-BUS Service] |
1051 | ++Name=org.gnome.panel.applet.NullAppletFactory |
1052 | ++Exec=@LIBEXECDIR@/null_applet |
1053 | |
1054 | === modified file 'debian/patches/81_silent_applet_cleaning' |
1055 | --- debian/patches/81_silent_applet_cleaning 2010-07-13 04:27:53 +0000 |
1056 | +++ debian/patches/81_silent_applet_cleaning 2010-11-29 16:14:03 +0000 |
1057 | @@ -2,9 +2,9 @@ |
1058 | =================================================================== |
1059 | --- gnome-applets-2.30.0.orig/null_applet/null_applet.c 2010-03-28 16:29:51.000000000 +1100 |
1060 | +++ gnome-applets-2.30.0/null_applet/null_applet.c 2010-07-13 14:23:45.398124000 +1000 |
1061 | -@@ -50,11 +50,13 @@ |
1062 | +@@ -62,11 +62,13 @@ |
1063 | |
1064 | - static gboolean already_running; |
1065 | + } |
1066 | |
1067 | +/* |
1068 | static void |
1069 | @@ -16,7 +16,7 @@ |
1070 | |
1071 | static char |
1072 | *get_all_applets (void) |
1073 | -@@ -133,16 +135,18 @@ |
1074 | +@@ -142,12 +145,14 @@ |
1075 | gpointer user_data) |
1076 | { |
1077 | char *applet_list; |
1078 | @@ -24,11 +24,8 @@ |
1079 | GtkWidget *dialog; |
1080 | + */ |
1081 | |
1082 | - if (already_running) |
1083 | - { |
1084 | + if (!g_str_equal (iid, "NullApplet")) |
1085 | return FALSE; |
1086 | - } |
1087 | - already_running = TRUE; |
1088 | - |
1089 | + |
1090 | applet_list = get_all_applets (); |
1091 | @@ -37,7 +34,7 @@ |
1092 | dialog = gtk_message_dialog_new_with_markup (NULL, |
1093 | GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT, |
1094 | GTK_MESSAGE_INFO, GTK_BUTTONS_OK, |
1095 | -@@ -156,13 +160,14 @@ |
1096 | +@@ -162,13 +166,14 @@ |
1097 | applet_list, |
1098 | _("You will not receive this message again.") |
1099 | ); |
1100 | |
1101 | === modified file 'debian/patches/86_deprecate_battstatus.patch' |
1102 | --- debian/patches/86_deprecate_battstatus.patch 2010-03-29 09:59:14 +0000 |
1103 | +++ debian/patches/86_deprecate_battstatus.patch 2010-11-29 16:14:03 +0000 |
1104 | @@ -1,69 +1,8 @@ |
1105 | -Index: gnome-applets-2.30.0/null_applet/GNOME_BattstatApplet.server.in |
1106 | -=================================================================== |
1107 | ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 |
1108 | -+++ gnome-applets-2.30.0/null_applet/GNOME_BattstatApplet.server.in 2010-03-29 11:55:08.885546800 +0200 |
1109 | -@@ -0,0 +1,21 @@ |
1110 | -+<oaf_info> |
1111 | -+ |
1112 | -+<oaf_server iid="OAFIID:GNOME_BattstatApplet" |
1113 | -+ type="factory" |
1114 | -+ location="OAFIID:GNOME_NullApplet_Factory"> |
1115 | -+ |
1116 | -+ <oaf_attribute name="repo_ids" type="stringv"> |
1117 | -+ <item value="IDL:GNOME/Vertigo/PanelAppletShell:1.0"/> |
1118 | -+ <item value="IDL:Bonobo/Control:1.0"/> |
1119 | -+ <item value="IDL:Bonobo/Unknown:1.0"/> |
1120 | -+ </oaf_attribute> |
1121 | -+ <oaf_attribute name="name" type="string" _value="Battery Charge Monitor (Deprecated)"/> |
1122 | -+ <oaf_attribute name="description" type="string" _value="Monitor a laptop's remaining power"/> |
1123 | -+ <oaf_attribute name="bugzilla:bugzilla" type="string" value="GNOME"/> |
1124 | -+ <oaf_attribute name="bugzilla:product" type="string" value="gnome-applets"/> |
1125 | -+ <oaf_attribute name="bugzilla:component" type="string" value="battery"/> |
1126 | -+ <oaf_attribute name="bugzilla:other_binaries" type="string" value="battstat-applet-2"/> |
1127 | -+ |
1128 | -+</oaf_server> |
1129 | -+ |
1130 | -+</oaf_info> |
1131 | -Index: gnome-applets-2.30.0/null_applet/Makefile.am |
1132 | -=================================================================== |
1133 | ---- gnome-applets-2.30.0.orig/null_applet/Makefile.am 2010-03-28 07:29:51.000000000 +0200 |
1134 | -+++ gnome-applets-2.30.0/null_applet/Makefile.am 2010-03-29 11:57:44.597546031 +0200 |
1135 | -@@ -8,6 +8,11 @@ |
1136 | - mixer_server_in = GNOME_MixerApplet.server.in |
1137 | - endif |
1138 | - |
1139 | -+## The null applet takes over if the battstat applet isn't built |
1140 | -+if !BUILD_BATTSTAT_APPLET |
1141 | -+battstat_server_in = GNOME_BattstatApplet.server.in |
1142 | -+endif |
1143 | -+ |
1144 | - libexec_PROGRAMS = null_applet |
1145 | - |
1146 | - null_applet_SOURCES = null_applet.c |
1147 | -@@ -21,7 +26,8 @@ |
1148 | - GNOME_MailcheckApplet_Factory.server.in \ |
1149 | - GNOME_Panel_WirelessApplet.server.in \ |
1150 | - GNOME_KeyboardApplet.server.in \ |
1151 | -- $(mixer_server_in) |
1152 | -+ $(mixer_server_in) \ |
1153 | -+ $(battstat_server_in) |
1154 | - server_DATA = $(server_in_files:.server.in=.server) |
1155 | - |
1156 | - @INTLTOOL_SERVER_RULE@ |
1157 | -@@ -39,6 +45,7 @@ |
1158 | - GNOME_MailcheckApplet_Factory.server.in \ |
1159 | - GNOME_Panel_WirelessApplet.server.in \ |
1160 | - GNOME_MixerApplet.server.in \ |
1161 | -- GNOME_KeyboardApplet.server.in |
1162 | -+ GNOME_KeyboardApplet.server.in \ |
1163 | -+ GNOME_BattstatApplet.server.in |
1164 | - |
1165 | - -include $(top_srcdir)/git.mk |
1166 | Index: gnome-applets-2.30.0/null_applet/null_applet.c |
1167 | =================================================================== |
1168 | --- gnome-applets-2.30.0.orig/null_applet/null_applet.c 2010-03-29 11:55:08.000000000 +0200 |
1169 | +++ gnome-applets-2.30.0/null_applet/null_applet.c 2010-03-29 11:58:38.588546843 +0200 |
1170 | -@@ -46,6 +46,8 @@ |
1171 | +@@ -57,6 +57,8 @@ |
1172 | "OAFIID:GNOME_MixerApplet", _("Volume Control")); |
1173 | g_hash_table_insert (hash_table, |
1174 | "OAFIID:GNOME_KeyboardApplet", _("Keyboard Indicator")); |
1175 | @@ -71,4 +10,4 @@ |
1176 | + "OAFIID:GNOME_BattstatApplet", _("Battery Charge Monitor")); |
1177 | } |
1178 | |
1179 | - static gboolean already_running; |
1180 | + static void |
1181 | |
1182 | === modified file 'debian/patches/87_deprecate_modemlights.patch' |
1183 | --- debian/patches/87_deprecate_modemlights.patch 2010-03-29 10:01:09 +0000 |
1184 | +++ debian/patches/87_deprecate_modemlights.patch 2010-11-29 16:14:03 +0000 |
1185 | @@ -1,34 +1,8 @@ |
1186 | -Index: gnome-applets-2.30.0/null_applet/GNOME_ModemLights.server.in |
1187 | -=================================================================== |
1188 | ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 |
1189 | -+++ gnome-applets-2.30.0/null_applet/GNOME_ModemLights.server.in 2010-03-29 12:00:10.201547164 +0200 |
1190 | -@@ -0,0 +1,21 @@ |
1191 | -+<oaf_info> |
1192 | -+ |
1193 | -+<oaf_server iid="OAFIID:GNOME_ModemLightsApplet" |
1194 | -+ type="factory" |
1195 | -+ location="OAFIID:GNOME_NullApplet_Factory"> |
1196 | -+ |
1197 | -+ <oaf_attribute name="repo_ids" type="stringv"> |
1198 | -+ <item value="IDL:GNOME/Vertigo/PanelAppletShell:1.0"/> |
1199 | -+ <item value="IDL:Bonobo/Control:1.0"/> |
1200 | -+ <item value="IDL:Bonobo/Unknown:1.0"/> |
1201 | -+ </oaf_attribute> |
1202 | -+ <oaf_attribute name="name" type="string" _value="Modem Monitor (Deprecated)"/> |
1203 | -+ <oaf_attribute name="description" type="string" _value="Activate and monitor a dial-up network connection"/> |
1204 | -+ <oaf_attribute name="bugzilla:bugzilla" type="string" value="GNOME"/> |
1205 | -+ <oaf_attribute name="bugzilla:product" type="string" value="gnome-applets"/> |
1206 | -+ <oaf_attribute name="bugzilla:component" type="string" value="modemlights"/> |
1207 | -+ <oaf_attribute name="bugzilla:other_binaries" type="string" value="modem_applet"/> |
1208 | -+ |
1209 | -+</oaf_server> |
1210 | -+ |
1211 | -+</oaf_info> |
1212 | Index: gnome-applets-2.30.0/null_applet/null_applet.c |
1213 | =================================================================== |
1214 | --- gnome-applets-2.30.0.orig/null_applet/null_applet.c 2010-03-29 11:59:59.000000000 +0200 |
1215 | +++ gnome-applets-2.30.0/null_applet/null_applet.c 2010-03-29 12:00:46.173545772 +0200 |
1216 | -@@ -48,6 +48,8 @@ |
1217 | +@@ -59,6 +59,8 @@ |
1218 | "OAFIID:GNOME_KeyboardApplet", _("Keyboard Indicator")); |
1219 | g_hash_table_insert (hash_table, |
1220 | "OAFIID:GNOME_BattstatApplet", _("Battery Charge Monitor")); |
1221 | @@ -36,24 +10,4 @@ |
1222 | + "OAFIID:GNOME_ModemLightsApplet", _("Modem Monitor")); |
1223 | } |
1224 | |
1225 | - static gboolean already_running; |
1226 | -Index: gnome-applets-2.30.0/null_applet/Makefile.am |
1227 | -=================================================================== |
1228 | ---- gnome-applets-2.30.0.orig/null_applet/Makefile.am 2010-03-29 11:59:59.000000000 +0200 |
1229 | -+++ gnome-applets-2.30.0/null_applet/Makefile.am 2010-03-29 12:00:10.213548548 +0200 |
1230 | -@@ -24,6 +24,7 @@ |
1231 | - GNOME_NullApplet_Factory.server.in \ |
1232 | - GNOME_CDPlayerApplet.server.in \ |
1233 | - GNOME_MailcheckApplet_Factory.server.in \ |
1234 | -+ GNOME_ModemLights.server.in \ |
1235 | - GNOME_Panel_WirelessApplet.server.in \ |
1236 | - GNOME_KeyboardApplet.server.in \ |
1237 | - $(mixer_server_in) \ |
1238 | -@@ -43,6 +44,7 @@ |
1239 | - GNOME_NullApplet_Factory.server.in.in \ |
1240 | - GNOME_CDPlayerApplet.server.in \ |
1241 | - GNOME_MailcheckApplet_Factory.server.in \ |
1242 | -+ GNOME_ModemLights.server.in \ |
1243 | - GNOME_Panel_WirelessApplet.server.in \ |
1244 | - GNOME_MixerApplet.server.in \ |
1245 | - GNOME_KeyboardApplet.server.in \ |
1246 | + static void |
1247 | |
1248 | === modified file 'debian/patches/series' |
1249 | --- debian/patches/series 2010-11-09 22:10:19 +0000 |
1250 | +++ debian/patches/series 2010-11-29 16:14:03 +0000 |
1251 | @@ -1,6 +1,7 @@ |
1252 | +01_no_more_deprecated.patch |
1253 | 15_path-max.patch |
1254 | 80_correct_minicommander_install.patch |
1255 | -81_silent_applet_cleaning |
1256 | +#81_silent_applet_cleaning |
1257 | 86_deprecate_battstatus.patch |
1258 | 87_deprecate_modemlights.patch |
1259 | 88_hide_deprecated_mixer.patch |
Setting to Needs Fixing for now, as discussed on IRC the invest applet needs fixing before landing the update