Merge lp:~mterry/update-notifier/gtk3-and-gdbus into lp:update-notifier/ubuntu

Proposed by Michael Terry
Status: Merged
Merged at revision: 631
Proposed branch: lp:~mterry/update-notifier/gtk3-and-gdbus
Merge into: lp:update-notifier/ubuntu
Diff against target: 1023 lines (+245/-335)
7 files modified
configure.in (+1/-1)
src/crash.c (+1/-1)
src/hooks.c (+1/-1)
src/reboot.c (+92/-124)
src/update.c (+41/-28)
ui/hooks-dialog.ui (+58/-81)
ui/reboot-dialog.ui (+51/-99)
To merge this branch: bzr merge lp:~mterry/update-notifier/gtk3-and-gdbus
Reviewer Review Type Date Requested Status
Ubuntu Core Development Team Pending
Review via email: mp+67831@code.launchpad.net

Description of the change

Ports to gdbus and gtk3.

To post a comment you must log in.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'configure.in'
--- configure.in 2010-10-05 16:33:46 +0000
+++ configure.in 2011-07-13 14:29:33 +0000
@@ -12,7 +12,7 @@
1212
13GNOME_COMMON_INIT13GNOME_COMMON_INIT
1414
15pkg_modules="gtk+-2.0 >= 2.18.0 gconf-2.0 dbus-glib-1 libnotify gio-2.0 x11"15pkg_modules="gtk+-3.0 gconf-2.0 libnotify gio-2.0 >= 2.26 x11"
1616
17PKG_CHECK_EXISTS(gdu, [ HAVE_GDU=1 ])17PKG_CHECK_EXISTS(gdu, [ HAVE_GDU=1 ])
18if test "x$HAVE_GDU" != "x"; then18if test "x$HAVE_GDU" != "x"; then
1919
=== modified file 'src/crash.c'
--- src/crash.c 2011-06-08 07:28:28 +0000
+++ src/crash.c 2011-07-13 14:29:33 +0000
@@ -176,7 +176,7 @@
176176
177 // crashreport found 177 // crashreport found
178 if(crashreports_found > 0 && !visible) {178 if(crashreports_found > 0 && !visible) {
179 gtk_status_icon_set_tooltip(ta->tray_icon,179 gtk_status_icon_set_tooltip_text(ta->tray_icon,
180 _("Crash report detected"));180 _("Crash report detected"));
181 gtk_status_icon_set_visible(ta->tray_icon, TRUE);181 gtk_status_icon_set_visible(ta->tray_icon, TRUE);
182 /* Show the notification, after a delay so it doesn't look ugly182 /* Show the notification, after a delay so it doesn't look ugly
183183
=== modified file 'src/hooks.c'
--- src/hooks.c 2011-06-08 07:28:28 +0000
+++ src/hooks.c 2011-07-13 14:29:33 +0000
@@ -48,7 +48,7 @@
4848
49 updates = _("Information available");49 updates = _("Information available");
5050
51 gtk_status_icon_set_tooltip(un->tray_icon, updates);51 gtk_status_icon_set_tooltip_text(un->tray_icon, updates);
52}52}
5353
5454
5555
=== modified file 'src/reboot.c'
--- src/reboot.c 2011-06-08 07:28:28 +0000
+++ src/reboot.c 2011-07-13 14:29:33 +0000
@@ -7,8 +7,7 @@
7#include <unistd.h>7#include <unistd.h>
88
9#include <libnotify/notify.h>9#include <libnotify/notify.h>
10#include <dbus/dbus-glib.h>10#include <gio/gio.h>
11#include <dbus/dbus.h>
1211
13#include "update-notifier.h"12#include "update-notifier.h"
14#include "update.h"13#include "update.h"
@@ -41,60 +40,56 @@
41static gboolean40static gboolean
42gdm_action_reboot()41gdm_action_reboot()
43{42{
44 DBusGConnection *connection;43 GVariant *answer;
45 GError *error;44 GDBusProxy *proxy;
46 DBusGProxy *proxy;45
4746 proxy = g_dbus_proxy_new_for_bus_sync (G_BUS_TYPE_SESSION,
48 error = NULL;47 G_DBUS_PROXY_FLAGS_NONE,
49 connection = dbus_g_bus_get (DBUS_BUS_SESSION, &error);48 NULL, /* GDBusInterfaceInfo */
50 if (connection == NULL) {49 "org.gnome.SessionManager",
51 g_error_free (error);50 "/org/gnome/SessionManager",
52 return FALSE;51 "org.gnome.SessionManager",
53 }52 NULL, /* GCancellable */
5453 NULL /* GError */);
55 proxy = dbus_g_proxy_new_for_name (connection,
56 "org.gnome.SessionManager",
57 "/org/gnome/SessionManager",
58 "org.gnome.SessionManager");
59 if (proxy == NULL)54 if (proxy == NULL)
60 return FALSE;55 return FALSE;
6156
62 error = NULL;57 answer = g_dbus_proxy_call_sync (proxy, "RequestReboot", NULL,
63 if (!dbus_g_proxy_call (proxy, "RequestReboot", &error, 58 G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL);
64 G_TYPE_INVALID, G_TYPE_INVALID)) {59 g_object_unref (proxy);
65 g_error_free (error);60
66 return FALSE;61 if (answer == NULL)
67 }62 return FALSE;
63
64 g_variant_unref (answer);
68 return TRUE;65 return TRUE;
69}66}
7067
71static gboolean68static gboolean
72ck_action_reboot()69ck_action_reboot()
73{70{
74 DBusGConnection *connection;71 GVariant *answer;
75 GError *error;72 GDBusProxy *proxy;
76 DBusGProxy *proxy;73
7774 proxy = g_dbus_proxy_new_for_bus_sync (G_BUS_TYPE_SYSTEM,
78 error = NULL;75 G_DBUS_PROXY_FLAGS_NONE,
79 connection = dbus_g_bus_get (DBUS_BUS_SYSTEM, &error);76 NULL, /* GDBusInterfaceInfo */
80 if (connection == NULL) {77 "org.freedesktop.ConsoleKit",
81 g_error_free (error);78 "/org/freedesktop/ConsoleKit/Manager",
82 return FALSE;79 "org.freedesktop.ConsoleKit.Manager",
83 }80 NULL, /* GCancellable */
8481 NULL /* GError */);
85 proxy = dbus_g_proxy_new_for_name (connection,
86 "org.freedesktop.ConsoleKit",
87 "/org/freedesktop/ConsoleKit/Manager",
88 "org.freedesktop.ConsoleKit.Manager");
89 if (proxy == NULL)82 if (proxy == NULL)
90 return FALSE;83 return FALSE;
9184
92 error = NULL;85 answer = g_dbus_proxy_call_sync (proxy, "Restart", NULL,
93 if (!dbus_g_proxy_call (proxy, "Restart", &error,86 G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL);
94 G_TYPE_INVALID, G_TYPE_INVALID)) {87 g_object_unref (proxy);
95 g_error_free (error);88
96 return FALSE;89 if (answer == NULL)
97 }90 return FALSE;
91
92 g_variant_unref (answer);
98 return TRUE;93 return TRUE;
9994
100}95}
@@ -130,92 +125,65 @@
130}125}
131126
132static gboolean127static gboolean
133is_aptdaemon_on_the_system_bus ()
134{
135 DBusConnection *connection;
136 DBusError *dbus_error = NULL;
137 DBusMessage *message, *reply;
138 const char *aptdaemon_bus_name = "org.debian.apt";
139 gboolean res;
140
141 connection = dbus_bus_get(DBUS_BUS_SYSTEM, dbus_error);
142 if (dbus_error != NULL) {
143 g_warning("failed to connect to the system bus");
144 return FALSE;
145 }
146 message = dbus_message_new_method_call(DBUS_SERVICE_DBUS,
147 DBUS_PATH_DBUS,
148 DBUS_INTERFACE_DBUS,
149 "GetNameOwner");
150 if (message == NULL) {
151 g_warning ("failed to create dbus message");
152 return FALSE;
153 }
154
155 dbus_message_append_args(message,
156 DBUS_TYPE_STRING, &aptdaemon_bus_name,
157 DBUS_TYPE_INVALID);
158
159 reply = dbus_connection_send_with_reply_and_block(connection,
160 message,
161 -1,
162 dbus_error);
163 dbus_message_unref(message);
164
165 if (reply) {
166 dbus_message_unref(reply);
167 res = TRUE;
168 } else {
169 res = FALSE;
170 }
171
172 g_debug("aptdaemon on bus: %i", res);
173 return res;
174}
175
176static gboolean
177aptdaemon_pending_transactions ()128aptdaemon_pending_transactions ()
178{129{
179 DBusGConnection *connection;130 GError *error;
180 GError *error;131 GVariant *answer;
181 DBusGProxy *proxy;132 GDBusProxy *proxy;
182 char *current = NULL;133 char *owner = NULL;
183 char **pending = NULL;134 const char *current = NULL;
184 135 char **pending = NULL;
185 if (!is_aptdaemon_on_the_system_bus())136
186 return FALSE;137 error = NULL;
187138 proxy = g_dbus_proxy_new_for_bus_sync (G_BUS_TYPE_SYSTEM,
188 error = NULL;139 G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START,
189 connection = dbus_g_bus_get (DBUS_BUS_SYSTEM, &error);140 NULL, /* GDBusInterfaceInfo */
190 if (connection == NULL) {141 "org.debian.apt",
191 g_debug ("Failed to open connection to bus: %s\n", error->message);142 "/org/debian/apt",
192 g_error_free (error);143 "org.debian.apt",
193 return FALSE;144 NULL, /* GCancellable */
194 }145 &error);
195146 if (proxy == NULL) {
196 proxy = dbus_g_proxy_new_for_name (connection,147 g_debug ("Failed to open connection to bus: %s\n", error->message);
197 "org.debian.apt",148 g_error_free (error);
198 "/org/debian/apt",149 return FALSE;
199 "org.debian.apt");150 }
200 error = NULL;151
201 if (!dbus_g_proxy_call (proxy, "GetActiveTransactions", &error, 152 owner = g_dbus_proxy_get_name_owner (proxy);
202 G_TYPE_INVALID,153 g_debug("aptdaemon on bus: %i", (owner != NULL));
203 G_TYPE_STRING, &current, 154 if (owner == NULL) {
204 G_TYPE_STRV, &pending,155 g_object_unref (proxy);
205 G_TYPE_INVALID)) {156 g_free (owner);
206 g_debug ("error during dbus call: %s\n", error->message);157 return FALSE;
207 g_error_free (error);158 }
208 g_object_unref (proxy);159 g_free (owner);
209 return FALSE;160
210 }161 error = NULL;
162 answer = g_dbus_proxy_call_sync (proxy, "GetActiveTransactions", NULL,
163 G_DBUS_CALL_FLAGS_NONE, -1, NULL, &error);
164 g_object_unref (proxy);
165
166 if (answer == NULL) {
167 g_debug ("error during dbus call: %s\n", error->message);
168 g_error_free (error);
169 return FALSE;
170 }
171
172 if (g_strcmp0 (g_variant_get_type_string (answer), "(sas)") != 0) {
173 g_debug ("aptd answer in unexpected format: %s\n",
174 g_variant_get_type_string (answer));
175 g_variant_unref (answer);
176 return FALSE;
177 }
178
179 g_variant_get (answer, "(&s^a&s)", &current, &pending);
211180
212 gboolean has_pending = FALSE;181 gboolean has_pending = FALSE;
213 if ((current && strcmp(current,"") != 0) || g_strv_length(pending) > 0)182 if ((current && strcmp(current,"") != 0) || g_strv_length(pending) > 0)
214 has_pending = TRUE;183 has_pending = TRUE;
215184
216 g_object_unref (proxy);185 g_free (pending);
217 g_free (current);186 g_variant_unref (answer);
218 g_strfreev (pending);
219187
220 return has_pending;188 return has_pending;
221}189}
@@ -254,7 +222,7 @@
254 /* Skip the rest if the icon is already visible */222 /* Skip the rest if the icon is already visible */
255 if (gtk_status_icon_get_visible (ta->tray_icon))223 if (gtk_status_icon_get_visible (ta->tray_icon))
256 return;224 return;
257 gtk_status_icon_set_tooltip (ta->tray_icon, 225 gtk_status_icon_set_tooltip_text (ta->tray_icon,
258 _("System restart required"));226 _("System restart required"));
259 gtk_status_icon_set_visible (ta->tray_icon, TRUE);227 gtk_status_icon_set_visible (ta->tray_icon, TRUE);
260228
261229
=== modified file 'src/update.c'
--- src/update.c 2011-06-08 07:28:28 +0000
+++ src/update.c 2011-07-13 14:29:33 +0000
@@ -8,12 +8,12 @@
88
9#include <glib.h>9#include <glib.h>
10#include <glib/gstdio.h>10#include <glib/gstdio.h>
11#include <gio/gio.h>
1112
12#include <sys/types.h>13#include <sys/types.h>
13#include <sys/stat.h>14#include <sys/stat.h>
14#include <unistd.h>15#include <unistd.h>
15#include <stdlib.h>16#include <stdlib.h>
16#include <dbus/dbus-glib.h>
1717
18#include "update-notifier.h"18#include "update-notifier.h"
19#include "update.h"19#include "update.h"
@@ -94,7 +94,7 @@
94 "There are %i updates available",94 "There are %i updates available",
95 num_upgrades),95 num_upgrades),
96 num_upgrades);96 num_upgrades);
97 gtk_status_icon_set_tooltip(ta->tray_icon, updates);97 gtk_status_icon_set_tooltip_text(ta->tray_icon, updates);
98 g_free(updates);98 g_free(updates);
99}99}
100100
@@ -216,7 +216,7 @@
216 }216 }
217217
218 // and update the tooltip218 // and update the tooltip
219 gtk_status_icon_set_tooltip(ta->tray_icon, _("A package manager is working"));219 gtk_status_icon_set_tooltip_text(ta->tray_icon, _("A package manager is working"));
220 // and show it220 // and show it
221 gtk_status_icon_set_visible(ta->tray_icon, TRUE);221 gtk_status_icon_set_visible(ta->tray_icon, TRUE);
222222
@@ -279,7 +279,7 @@
279void 279void
280show_error(TrayApplet *ta, gchar *error_str)280show_error(TrayApplet *ta, gchar *error_str)
281{281{
282 gtk_status_icon_set_tooltip(ta->tray_icon, error_str);282 gtk_status_icon_set_tooltip_text(ta->tray_icon, error_str);
283 gtk_status_icon_set_from_icon_name(ta->tray_icon, "dialog-error");283 gtk_status_icon_set_from_icon_name(ta->tray_icon, "dialog-error");
284 gtk_status_icon_set_visible(ta->tray_icon, TRUE);284 gtk_status_icon_set_visible(ta->tray_icon, TRUE);
285}285}
@@ -298,7 +298,7 @@
298 NULL);298 NULL);
299 gtk_status_icon_set_from_pixbuf(ta->tray_icon, src);299 gtk_status_icon_set_from_pixbuf(ta->tray_icon, src);
300 g_object_unref(src);300 g_object_unref(src);
301 gtk_status_icon_set_tooltip(ta->tray_icon,301 gtk_status_icon_set_tooltip_text(ta->tray_icon,
302 _("The update information is outdated. "302 _("The update information is outdated. "
303 "This may be caused by network "303 "This may be caused by network "
304 "problems or by a repository that "304 "problems or by a repository that "
@@ -320,34 +320,47 @@
320static gboolean320static gboolean
321dpkg_lock_is_taken ()321dpkg_lock_is_taken ()
322{322{
323 DBusGConnection *connection;323 GError *error;
324 GError *error;324 GVariant *answer;
325 DBusGProxy *proxy;325 GDBusProxy *proxy;
326 gboolean locked = FALSE;326 gboolean locked = FALSE;
327 327
328 error = NULL;328 error = NULL;
329 connection = dbus_g_bus_get (DBUS_BUS_SYSTEM, &error);329 proxy = g_dbus_proxy_new_for_bus_sync (G_BUS_TYPE_SYSTEM,
330 if (connection == NULL) {330 G_DBUS_PROXY_FLAGS_NONE,
331 g_debug_update ("Failed to open connection to bus: %s\n", error->message);331 NULL, /* GDBusInterfaceInfo */
332 g_error_free (error);332 "com.ubuntu.SystemService",
333 return FALSE;333 "/",
334 }334 "com.ubuntu.SystemService",
335 NULL, /* GCancellable */
336 &error);
337 if (proxy == NULL) {
338 g_debug_update ("Failed to open connection to bus: %s\n", error->message);
339 g_error_free (error);
340 return FALSE;
341 }
335342
336 proxy = dbus_g_proxy_new_for_name (connection,
337 "com.ubuntu.SystemService",
338 "/",
339 "com.ubuntu.SystemService");
340 error = NULL;343 error = NULL;
341 if (!dbus_g_proxy_call (proxy, "is_package_system_locked", &error, 344 answer = g_dbus_proxy_call_sync (proxy, "is_package_system_locked", NULL,
342 G_TYPE_INVALID,345 G_DBUS_CALL_FLAGS_NONE, -1, NULL, &error);
343 G_TYPE_BOOLEAN, &locked, G_TYPE_INVALID)) {
344 g_debug_update ("error during dbus call: %s\n", error->message);
345 g_error_free (error);
346 g_object_unref (proxy);
347 return FALSE;
348 }
349 g_object_unref (proxy);346 g_object_unref (proxy);
350347
348 if (answer == NULL) {
349 g_debug_update ("error during dbus call: %s\n", error->message);
350 g_error_free (error);
351 return FALSE;
352 }
353
354 if (g_strcmp0 (g_variant_get_type_string (answer), "(b)") != 0) {
355 g_debug_update ("SystemService answer in unexpected format: %s\n",
356 g_variant_get_type_string (answer));
357 g_variant_unref (answer);
358 return FALSE;
359 }
360
361 g_variant_get (answer, "(b)", &locked);
362 g_variant_unref (answer);
363
351 g_debug_update ("is_package_system_locked: %i", locked);364 g_debug_update ("is_package_system_locked: %i", locked);
352 return locked;365 return locked;
353}366}
354367
=== modified file 'ui/hooks-dialog.ui'
--- ui/hooks-dialog.ui 2009-06-26 15:59:09 +0000
+++ ui/hooks-dialog.ui 2011-07-13 14:29:33 +0000
@@ -1,219 +1,196 @@
1<?xml version="1.0"?>1<?xml version="1.0" encoding="UTF-8"?>
2<!--*- mode: xml -*-->
3<interface>2<interface>
3 <!-- interface-requires gtk+ 3.0 -->
4 <object class="GtkDialog" id="dialog_hooks">4 <object class="GtkDialog" id="dialog_hooks">
5 <property name="can_focus">False</property>
5 <property name="border_width">6</property>6 <property name="border_width">6</property>
6 <property name="title" translatable="yes"/>
7 <property name="type">GTK_WINDOW_TOPLEVEL</property>
8 <property name="window_position">GTK_WIN_POS_NONE</property>
9 <property name="modal">True</property>7 <property name="modal">True</property>
10 <property name="default_width">550</property>8 <property name="default_width">550</property>
11 <property name="default_height">400</property>9 <property name="default_height">400</property>
12 <property name="resizable">True</property>10 <property name="type_hint">dialog</property>
13 <property name="destroy_with_parent">False</property>
14 <property name="decorated">True</property>
15 <property name="skip_taskbar_hint">False</property>
16 <property name="skip_pager_hint">False</property>
17 <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
18 <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
19 <property name="focus_on_map">True</property>
20 <property name="urgency_hint">False</property>
21 <property name="has_separator">False</property>
22 <child internal-child="vbox">11 <child internal-child="vbox">
23 <object class="GtkVBox" id="dialog-vbox1">12 <object class="GtkBox" id="dialog-vbox1">
24 <property name="visible">True</property>13 <property name="visible">True</property>
25 <property name="homogeneous">False</property>14 <property name="can_focus">False</property>
26 <property name="spacing">12</property>15 <property name="spacing">12</property>
27 <child internal-child="action_area">16 <child internal-child="action_area">
28 <object class="GtkHButtonBox" id="dialog-action_area1">17 <object class="GtkButtonBox" id="dialog-action_area1">
29 <property name="visible">True</property>18 <property name="visible">True</property>
30 <property name="layout_style">GTK_BUTTONBOX_END</property>19 <property name="can_focus">False</property>
20 <property name="layout_style">end</property>
31 <child>21 <child>
32 <object class="GtkButton" id="button_cancel">22 <object class="GtkButton" id="button_cancel">
23 <property name="label">gtk-close</property>
33 <property name="visible">True</property>24 <property name="visible">True</property>
25 <property name="can_focus">True</property>
34 <property name="can_default">True</property>26 <property name="can_default">True</property>
35 <property name="can_focus">True</property>27 <property name="receives_default">False</property>
36 <property name="label">gtk-close</property>28 <property name="use_action_appearance">False</property>
37 <property name="use_stock">True</property>29 <property name="use_stock">True</property>
38 <property name="relief">GTK_RELIEF_NORMAL</property>
39 <property name="focus_on_click">True</property>
40 </object>30 </object>
31 <packing>
32 <property name="expand">False</property>
33 <property name="fill">True</property>
34 <property name="position">0</property>
35 </packing>
41 </child>36 </child>
42 </object>37 </object>
43 <packing>38 <packing>
44 <property name="padding">0</property>
45 <property name="expand">False</property>39 <property name="expand">False</property>
46 <property name="fill">True</property>40 <property name="fill">True</property>
47 <property name="pack_type">GTK_PACK_END</property>41 <property name="pack_type">end</property>
42 <property name="position">0</property>
48 </packing>43 </packing>
49 </child>44 </child>
50 <child>45 <child>
51 <object class="GtkVBox" id="vbox1">46 <object class="GtkVBox" id="vbox1">
47 <property name="visible">True</property>
48 <property name="can_focus">False</property>
52 <property name="border_width">6</property>49 <property name="border_width">6</property>
53 <property name="visible">True</property>
54 <property name="homogeneous">False</property>
55 <property name="spacing">12</property>50 <property name="spacing">12</property>
56 <child>51 <child>
57 <object class="GtkHBox" id="hbox1">52 <object class="GtkHBox" id="hbox1">
58 <property name="visible">True</property>53 <property name="visible">True</property>
59 <property name="homogeneous">False</property>54 <property name="can_focus">False</property>
60 <property name="spacing">12</property>55 <property name="spacing">12</property>
61 <child>56 <child>
62 <object class="GtkImage" id="image">57 <object class="GtkImage" id="image">
63 <property name="visible">True</property>58 <property name="visible">True</property>
64 <property name="stock">gtk-dialog-info</property>59 <property name="can_focus">False</property>
65 <property name="icon_size">6</property>
66 <property name="xalign">0</property>60 <property name="xalign">0</property>
67 <property name="yalign">0</property>61 <property name="yalign">0</property>
68 <property name="xpad">0</property>62 <property name="stock">gtk-dialog-info</property>
69 <property name="ypad">0</property>63 <property name="icon-size">6</property>
70 </object>64 </object>
71 <packing>65 <packing>
72 <property name="padding">0</property>
73 <property name="expand">False</property>66 <property name="expand">False</property>
74 <property name="fill">False</property>67 <property name="fill">False</property>
68 <property name="position">0</property>
75 </packing>69 </packing>
76 </child>70 </child>
77 <child>71 <child>
78 <object class="GtkVBox" id="vbox_messages">72 <object class="GtkVBox" id="vbox_messages">
79 <property name="visible">True</property>73 <property name="visible">True</property>
80 <property name="homogeneous">False</property>74 <property name="can_focus">False</property>
81 <property name="spacing">12</property>75 <property name="spacing">12</property>
82 <child>76 <child>
83 <object class="GtkLabel" id="label_title">77 <object class="GtkLabel" id="label_title">
84 <property name="visible">True</property>78 <property name="visible">True</property>
79 <property name="can_focus">False</property>
80 <property name="xalign">0</property>
85 <property name="label" translatable="yes">&lt;span weight="bold" size="larger"&gt;Update information&lt;/span&gt;</property>81 <property name="label" translatable="yes">&lt;span weight="bold" size="larger"&gt;Update information&lt;/span&gt;</property>
86 <property name="use_underline">False</property>
87 <property name="use_markup">True</property>82 <property name="use_markup">True</property>
88 <property name="justify">GTK_JUSTIFY_LEFT</property>
89 <property name="wrap">True</property>83 <property name="wrap">True</property>
90 <property name="selectable">False</property>
91 <property name="xalign">0</property>
92 <property name="yalign">0.5</property>
93 <property name="xpad">0</property>
94 <property name="ypad">0</property>
95 <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
96 <property name="width_chars">-1</property>
97 <property name="single_line_mode">False</property>
98 <property name="angle">0</property>
99 </object>84 </object>
100 <packing>85 <packing>
101 <property name="padding">0</property>
102 <property name="expand">False</property>86 <property name="expand">False</property>
103 <property name="fill">False</property>87 <property name="fill">False</property>
88 <property name="position">0</property>
104 </packing>89 </packing>
105 </child>90 </child>
106 </object>91 </object>
107 <packing>92 <packing>
108 <property name="padding">0</property>
109 <property name="expand">True</property>93 <property name="expand">True</property>
110 <property name="fill">True</property>94 <property name="fill">True</property>
95 <property name="position">1</property>
111 </packing>96 </packing>
112 </child>97 </child>
113 </object>98 </object>
114 <packing>99 <packing>
115 <property name="padding">0</property>
116 <property name="expand">False</property>100 <property name="expand">False</property>
117 <property name="fill">True</property>101 <property name="fill">True</property>
102 <property name="position">0</property>
118 </packing>103 </packing>
119 </child>104 </child>
120 <child>105 <child>
121 <object class="GtkVBox" id="vbox2">106 <object class="GtkVBox" id="vbox2">
122 <property name="visible">True</property>107 <property name="visible">True</property>
123 <property name="homogeneous">False</property>108 <property name="can_focus">False</property>
124 <property name="spacing">6</property>109 <property name="spacing">6</property>
125 <child>110 <child>
126 <object class="GtkScrolledWindow" id="scrolledwindow1">111 <object class="GtkScrolledWindow" id="scrolledwindow1">
127 <property name="visible">True</property>112 <property name="visible">True</property>
128 <property name="can_focus">True</property>113 <property name="can_focus">True</property>
129 <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>114 <property name="shadow_type">in</property>
130 <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
131 <property name="shadow_type">GTK_SHADOW_IN</property>
132 <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
133 <child>115 <child>
134 <object class="GtkTextView" id="textview_hook">116 <object class="GtkTextView" id="textview_hook">
135 <property name="visible">True</property>117 <property name="visible">True</property>
136 <property name="can_focus">True</property>118 <property name="can_focus">True</property>
137 <property name="editable">False</property>
138 <property name="overwrite">False</property>
139 <property name="accepts_tab">True</property>
140 <property name="justification">GTK_JUSTIFY_LEFT</property>
141 <property name="wrap_mode">GTK_WRAP_WORD</property>
142 <property name="cursor_visible">False</property>
143 <property name="pixels_above_lines">2</property>119 <property name="pixels_above_lines">2</property>
144 <property name="pixels_below_lines">2</property>120 <property name="pixels_below_lines">2</property>
145 <property name="pixels_inside_wrap">0</property>121 <property name="editable">False</property>
122 <property name="wrap_mode">word</property>
146 <property name="left_margin">2</property>123 <property name="left_margin">2</property>
147 <property name="right_margin">2</property>124 <property name="right_margin">2</property>
148 <property name="indent">0</property>125 <property name="cursor_visible">False</property>
149 </object>126 </object>
150 </child>127 </child>
151 </object>128 </object>
152 <packing>129 <packing>
153 <property name="padding">0</property>
154 <property name="expand">True</property>130 <property name="expand">True</property>
155 <property name="fill">True</property>131 <property name="fill">True</property>
132 <property name="position">0</property>
156 </packing>133 </packing>
157 </child>134 </child>
158 <child>135 <child>
159 <object class="GtkHBox" id="hbox2">136 <object class="GtkHBox" id="hbox2">
160 <property name="visible">True</property>137 <property name="visible">True</property>
161 <property name="homogeneous">False</property>138 <property name="can_focus">False</property>
162 <property name="spacing">6</property>139 <property name="spacing">6</property>
163 <child>140 <child>
164 <object class="GtkButton" id="button_run">141 <object class="GtkButton" id="button_run">
165 <property name="visible">True</property>
166 <property name="can_default">True</property>
167 <property name="can_focus">True</property>
168 <property name="label" translatable="yes">_Run this action now</property>142 <property name="label" translatable="yes">_Run this action now</property>
143 <property name="visible">True</property>
144 <property name="can_focus">True</property>
145 <property name="can_default">True</property>
146 <property name="receives_default">False</property>
147 <property name="use_action_appearance">False</property>
169 <property name="use_underline">True</property>148 <property name="use_underline">True</property>
170 <property name="relief">GTK_RELIEF_NORMAL</property>149 <signal name="clicked" handler="on_button_run_clicked" swapped="no"/>
171 <property name="focus_on_click">True</property>
172 <signal handler="on_button_run_clicked" last_modification_time="Thu, 13 Jan 2005 10:13:21 GMT" name="clicked"/>
173 </object>150 </object>
174 <packing>151 <packing>
175 <property name="padding">0</property>
176 <property name="expand">False</property>152 <property name="expand">False</property>
177 <property name="fill">False</property>153 <property name="fill">False</property>
154 <property name="position">0</property>
178 </packing>155 </packing>
179 </child>156 </child>
180 <child>157 <child>
181 <object class="GtkButton" id="button_next">158 <object class="GtkButton" id="button_next">
182 <property name="visible">True</property>
183 <property name="can_default">True</property>
184 <property name="can_focus">True</property>
185 <property name="label">gtk-media-next</property>159 <property name="label">gtk-media-next</property>
160 <property name="visible">True</property>
161 <property name="can_focus">True</property>
162 <property name="can_default">True</property>
163 <property name="receives_default">False</property>
164 <property name="use_action_appearance">False</property>
186 <property name="use_stock">True</property>165 <property name="use_stock">True</property>
187 <property name="relief">GTK_RELIEF_NORMAL</property>166 <signal name="clicked" handler="on_button_next_clicked" swapped="no"/>
188 <property name="focus_on_click">True</property>
189 <signal handler="on_button_next_clicked" last_modification_time="Thu, 13 Jan 2005 10:17:50 GMT" name="clicked"/>
190 </object>167 </object>
191 <packing>168 <packing>
192 <property name="padding">0</property>
193 <property name="expand">False</property>169 <property name="expand">False</property>
194 <property name="fill">False</property>170 <property name="fill">False</property>
195 <property name="pack_type">GTK_PACK_END</property>171 <property name="pack_type">end</property>
172 <property name="position">1</property>
196 </packing>173 </packing>
197 </child>174 </child>
198 </object>175 </object>
199 <packing>176 <packing>
200 <property name="padding">0</property>
201 <property name="expand">False</property>177 <property name="expand">False</property>
202 <property name="fill">True</property>178 <property name="fill">True</property>
179 <property name="position">1</property>
203 </packing>180 </packing>
204 </child>181 </child>
205 </object>182 </object>
206 <packing>183 <packing>
207 <property name="padding">0</property>
208 <property name="expand">True</property>184 <property name="expand">True</property>
209 <property name="fill">True</property>185 <property name="fill">True</property>
186 <property name="position">1</property>
210 </packing>187 </packing>
211 </child>188 </child>
212 </object>189 </object>
213 <packing>190 <packing>
214 <property name="padding">0</property>
215 <property name="expand">True</property>191 <property name="expand">True</property>
216 <property name="fill">True</property>192 <property name="fill">True</property>
193 <property name="position">1</property>
217 </packing>194 </packing>
218 </child>195 </child>
219 </object>196 </object>
220197
=== modified file 'ui/reboot-dialog.ui'
--- ui/reboot-dialog.ui 2009-09-10 10:20:07 +0000
+++ ui/reboot-dialog.ui 2011-07-13 14:29:33 +0000
@@ -1,93 +1,65 @@
1<?xml version="1.0"?>1<?xml version="1.0" encoding="UTF-8"?>
2<!--*- mode: xml -*-->
3<interface>2<interface>
3 <!-- interface-requires gtk+ 3.0 -->
4 <object class="GtkDialog" id="dialog_reboot">4 <object class="GtkDialog" id="dialog_reboot">
5 <property name="can_focus">False</property>
5 <property name="border_width">6</property>6 <property name="border_width">6</property>
6 <property name="title" translatable="yes">Restart Required</property>7 <property name="title" translatable="yes">Restart Required</property>
7 <property name="type">GTK_WINDOW_TOPLEVEL</property>8 <property name="resizable">False</property>
8 <property name="window_position">GTK_WIN_POS_NONE</property>
9 <property name="modal">True</property>9 <property name="modal">True</property>
10 <property name="resizable">False</property>10 <property name="type_hint">dialog</property>
11 <property name="destroy_with_parent">False</property>
12 <property name="decorated">True</property>
13 <property name="skip_taskbar_hint">False</property>
14 <property name="skip_pager_hint">False</property>
15 <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
16 <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
17 <property name="focus_on_map">True</property>
18 <property name="urgency_hint">False</property>
19 <property name="has_separator">False</property>
20 <child internal-child="vbox">11 <child internal-child="vbox">
21 <object class="GtkVBox" id="dialog-vbox1">12 <object class="GtkBox" id="dialog-vbox1">
22 <property name="visible">True</property>13 <property name="visible">True</property>
23 <property name="homogeneous">False</property>14 <property name="can_focus">False</property>
24 <property name="spacing">12</property>15 <property name="spacing">12</property>
25 <child internal-child="action_area">16 <child internal-child="action_area">
26 <object class="GtkHButtonBox" id="dialog-action_area1">17 <object class="GtkButtonBox" id="dialog-action_area1">
27 <property name="visible">True</property>18 <property name="visible">True</property>
28 <property name="layout_style">GTK_BUTTONBOX_END</property>19 <property name="can_focus">False</property>
20 <property name="layout_style">end</property>
29 <child>21 <child>
30 <object class="GtkButton" id="button_cancel">22 <object class="GtkButton" id="button_cancel">
31 <property name="visible">True</property>23 <property name="visible">True</property>
24 <property name="can_focus">True</property>
32 <property name="can_default">True</property>25 <property name="can_default">True</property>
33 <property name="has_default">True</property>26 <property name="has_default">True</property>
34 <property name="can_focus">True</property>27 <property name="receives_default">False</property>
35 <property name="relief">GTK_RELIEF_NORMAL</property>28 <property name="use_action_appearance">False</property>
36 <property name="focus_on_click">True</property>
37 <child>29 <child>
38 <object class="GtkAlignment" id="alignment1">30 <object class="GtkAlignment" id="alignment1">
39 <property name="visible">True</property>31 <property name="visible">True</property>
40 <property name="xalign">0.5</property>32 <property name="can_focus">False</property>
41 <property name="yalign">0.5</property>
42 <property name="xscale">0</property>33 <property name="xscale">0</property>
43 <property name="yscale">0</property>34 <property name="yscale">0</property>
44 <property name="top_padding">0</property>
45 <property name="bottom_padding">0</property>
46 <property name="left_padding">0</property>
47 <property name="right_padding">0</property>
48 <child>35 <child>
49 <object class="GtkHBox" id="hbox2">36 <object class="GtkHBox" id="hbox2">
50 <property name="visible">True</property>37 <property name="visible">True</property>
51 <property name="homogeneous">False</property>38 <property name="can_focus">False</property>
52 <property name="spacing">2</property>39 <property name="spacing">2</property>
53 <child>40 <child>
54 <object class="GtkImage" id="image1">41 <object class="GtkImage" id="image1">
55 <property name="visible">True</property>42 <property name="visible">True</property>
43 <property name="can_focus">False</property>
56 <property name="stock">gtk-cancel</property>44 <property name="stock">gtk-cancel</property>
57 <property name="icon_size">4</property>
58 <property name="xalign">0.5</property>
59 <property name="yalign">0.5</property>
60 <property name="xpad">0</property>
61 <property name="ypad">0</property>
62 </object>45 </object>
63 <packing>46 <packing>
64 <property name="padding">0</property>
65 <property name="expand">False</property>47 <property name="expand">False</property>
66 <property name="fill">False</property>48 <property name="fill">False</property>
49 <property name="position">0</property>
67 </packing>50 </packing>
68 </child>51 </child>
69 <child>52 <child>
70 <object class="GtkLabel" id="label1">53 <object class="GtkLabel" id="label1">
71 <property name="visible">True</property>54 <property name="visible">True</property>
55 <property name="can_focus">False</property>
72 <property name="label" translatable="yes">Restart _Later</property>56 <property name="label" translatable="yes">Restart _Later</property>
73 <property name="use_underline">True</property>57 <property name="use_underline">True</property>
74 <property name="use_markup">False</property>
75 <property name="justify">GTK_JUSTIFY_LEFT</property>
76 <property name="wrap">False</property>
77 <property name="selectable">False</property>
78 <property name="xalign">0.5</property>
79 <property name="yalign">0.5</property>
80 <property name="xpad">0</property>
81 <property name="ypad">0</property>
82 <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
83 <property name="width_chars">-1</property>
84 <property name="single_line_mode">False</property>
85 <property name="angle">0</property>
86 </object>58 </object>
87 <packing>59 <packing>
88 <property name="padding">0</property>
89 <property name="expand">False</property>60 <property name="expand">False</property>
90 <property name="fill">False</property>61 <property name="fill">False</property>
62 <property name="position">1</property>
91 </packing>63 </packing>
92 </child>64 </child>
93 </object>65 </object>
@@ -95,68 +67,53 @@
95 </object>67 </object>
96 </child>68 </child>
97 </object>69 </object>
70 <packing>
71 <property name="expand">False</property>
72 <property name="fill">True</property>
73 <property name="position">0</property>
74 </packing>
98 </child>75 </child>
99 <child>76 <child>
100 <object class="GtkButton" id="button_run">77 <object class="GtkButton" id="button_run">
101 <property name="visible">True</property>78 <property name="visible">True</property>
79 <property name="can_focus">True</property>
102 <property name="can_default">True</property>80 <property name="can_default">True</property>
103 <property name="can_focus">True</property>81 <property name="receives_default">False</property>
104 <property name="relief">GTK_RELIEF_NORMAL</property>82 <property name="use_action_appearance">False</property>
105 <property name="focus_on_click">True</property>
106 <child>83 <child>
107 <object class="GtkAlignment" id="alignment2">84 <object class="GtkAlignment" id="alignment2">
108 <property name="visible">True</property>85 <property name="visible">True</property>
109 <property name="xalign">0.5</property>86 <property name="can_focus">False</property>
110 <property name="yalign">0.5</property>
111 <property name="xscale">0</property>87 <property name="xscale">0</property>
112 <property name="yscale">0</property>88 <property name="yscale">0</property>
113 <property name="top_padding">0</property>
114 <property name="bottom_padding">0</property>
115 <property name="left_padding">0</property>
116 <property name="right_padding">0</property>
117 <child>89 <child>
118 <object class="GtkHBox" id="hbox3">90 <object class="GtkHBox" id="hbox3">
119 <property name="visible">True</property>91 <property name="visible">True</property>
120 <property name="homogeneous">False</property>92 <property name="can_focus">False</property>
121 <property name="spacing">2</property>93 <property name="spacing">2</property>
122 <child>94 <child>
123 <object class="GtkImage" id="image2">95 <object class="GtkImage" id="image2">
124 <property name="visible">True</property>96 <property name="visible">True</property>
97 <property name="can_focus">False</property>
125 <property name="stock">gtk-yes</property>98 <property name="stock">gtk-yes</property>
126 <property name="icon_size">4</property>
127 <property name="xalign">0.5</property>
128 <property name="yalign">0.5</property>
129 <property name="xpad">0</property>
130 <property name="ypad">0</property>
131 </object>99 </object>
132 <packing>100 <packing>
133 <property name="padding">0</property>
134 <property name="expand">False</property>101 <property name="expand">False</property>
135 <property name="fill">False</property>102 <property name="fill">False</property>
103 <property name="position">0</property>
136 </packing>104 </packing>
137 </child>105 </child>
138 <child>106 <child>
139 <object class="GtkLabel" id="label2">107 <object class="GtkLabel" id="label2">
140 <property name="visible">True</property>108 <property name="visible">True</property>
109 <property name="can_focus">False</property>
141 <property name="label" translatable="yes">_Restart Now</property>110 <property name="label" translatable="yes">_Restart Now</property>
142 <property name="use_underline">True</property>111 <property name="use_underline">True</property>
143 <property name="use_markup">False</property>
144 <property name="justify">GTK_JUSTIFY_LEFT</property>
145 <property name="wrap">False</property>
146 <property name="selectable">False</property>
147 <property name="xalign">0.5</property>
148 <property name="yalign">0.5</property>
149 <property name="xpad">0</property>
150 <property name="ypad">0</property>
151 <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
152 <property name="width_chars">-1</property>
153 <property name="single_line_mode">False</property>
154 <property name="angle">0</property>
155 </object>112 </object>
156 <packing>113 <packing>
157 <property name="padding">0</property>
158 <property name="expand">False</property>114 <property name="expand">False</property>
159 <property name="fill">False</property>115 <property name="fill">False</property>
116 <property name="position">1</property>
160 </packing>117 </packing>
161 </child>118 </child>
162 </object>119 </object>
@@ -164,82 +121,77 @@
164 </object>121 </object>
165 </child>122 </child>
166 </object>123 </object>
124 <packing>
125 <property name="expand">False</property>
126 <property name="fill">True</property>
127 <property name="position">1</property>
128 </packing>
167 </child>129 </child>
168 </object>130 </object>
169 <packing>131 <packing>
170 <property name="padding">0</property>
171 <property name="expand">False</property>132 <property name="expand">False</property>
172 <property name="fill">True</property>133 <property name="fill">True</property>
173 <property name="pack_type">GTK_PACK_END</property>134 <property name="pack_type">end</property>
135 <property name="position">0</property>
174 </packing>136 </packing>
175 </child>137 </child>
176 <child>138 <child>
177 <object class="GtkVBox" id="vbox1">139 <object class="GtkVBox" id="vbox1">
140 <property name="visible">True</property>
141 <property name="can_focus">False</property>
178 <property name="border_width">6</property>142 <property name="border_width">6</property>
179 <property name="visible">True</property>
180 <property name="homogeneous">False</property>
181 <property name="spacing">12</property>143 <property name="spacing">12</property>
182 <child>144 <child>
183 <object class="GtkHBox" id="hbox1">145 <object class="GtkHBox" id="hbox1">
184 <property name="visible">True</property>146 <property name="visible">True</property>
185 <property name="homogeneous">False</property>147 <property name="can_focus">False</property>
186 <property name="spacing">12</property>148 <property name="spacing">12</property>
187 <child>149 <child>
188 <object class="GtkImage" id="image">150 <object class="GtkImage" id="image">
189 <property name="visible">True</property>151 <property name="visible">True</property>
152 <property name="can_focus">False</property>
190 <property name="xalign">0</property>153 <property name="xalign">0</property>
191 <property name="yalign">0</property>154 <property name="yalign">0</property>
192 <property name="xpad">0</property>
193 <property name="ypad">0</property>
194 </object>155 </object>
195 <packing>156 <packing>
196 <property name="padding">0</property>
197 <property name="expand">False</property>157 <property name="expand">False</property>
198 <property name="fill">False</property>158 <property name="fill">False</property>
159 <property name="position">0</property>
199 </packing>160 </packing>
200 </child>161 </child>
201 <child>162 <child>
202 <object class="GtkVBox" id="vbox_messages">163 <object class="GtkVBox" id="vbox_messages">
203 <property name="visible">True</property>164 <property name="visible">True</property>
204 <property name="homogeneous">False</property>165 <property name="can_focus">False</property>
205 <property name="spacing">12</property>166 <property name="spacing">12</property>
206 <child>167 <child>
207 <object class="GtkLabel" id="label_message">168 <object class="GtkLabel" id="label_message">
208 <property name="visible">True</property>169 <property name="visible">True</property>
209 <property name="can_focus">True</property>170 <property name="can_focus">True</property>
171 <property name="xalign">0</property>
210 <property name="label" translatable="yes">The computer needs to restart to finish installing updates. Please save your work before continuing.</property>172 <property name="label" translatable="yes">The computer needs to restart to finish installing updates. Please save your work before continuing.</property>
211 <property name="use_underline">False</property>
212 <property name="use_markup">True</property>173 <property name="use_markup">True</property>
213 <property name="justify">GTK_JUSTIFY_LEFT</property>
214 <property name="wrap">True</property>174 <property name="wrap">True</property>
215 <property name="selectable">True</property>175 <property name="selectable">True</property>
216 <property name="xalign">0</property>
217 <property name="yalign">0.5</property>
218 <property name="xpad">0</property>
219 <property name="ypad">0</property>
220 <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
221 <property name="width_chars">-1</property>
222 <property name="single_line_mode">False</property>
223 <property name="angle">0</property>
224 </object>176 </object>
225 <packing>177 <packing>
226 <property name="padding">0</property>
227 <property name="expand">False</property>178 <property name="expand">False</property>
228 <property name="fill">False</property>179 <property name="fill">False</property>
180 <property name="position">0</property>
229 </packing>181 </packing>
230 </child>182 </child>
231 </object>183 </object>
232 <packing>184 <packing>
233 <property name="padding">0</property>
234 <property name="expand">True</property>185 <property name="expand">True</property>
235 <property name="fill">True</property>186 <property name="fill">True</property>
187 <property name="position">1</property>
236 </packing>188 </packing>
237 </child>189 </child>
238 </object>190 </object>
239 <packing>191 <packing>
240 <property name="padding">0</property>
241 <property name="expand">True</property>192 <property name="expand">True</property>
242 <property name="fill">True</property>193 <property name="fill">True</property>
194 <property name="position">0</property>
243 </packing>195 </packing>
244 </child>196 </child>
245 <child>197 <child>
@@ -247,9 +199,9 @@
247 </child>199 </child>
248 </object>200 </object>
249 <packing>201 <packing>
250 <property name="padding">0</property>
251 <property name="expand">True</property>202 <property name="expand">True</property>
252 <property name="fill">True</property>203 <property name="fill">True</property>
204 <property name="position">1</property>
253 </packing>205 </packing>
254 </child>206 </child>
255 </object>207 </object>

Subscribers

People subscribed via source and target branches

to all changes: