gnome-packagekit r75 - in trunk: . data src



Author: rhughes
Date: Mon Jan  7 20:54:40 2008
New Revision: 75
URL: http://svn.gnome.org/viewvc/gnome-packagekit?rev=75&view=rev

Log:
from git

Modified:
   trunk/NEWS
   trunk/data/gnome-packagekit.schemas.in
   trunk/data/pk-application.desktop.in
   trunk/data/pk-application.glade
   trunk/data/pk-prefs.glade
   trunk/data/pk-progress.glade
   trunk/data/pk-update-viewer.desktop.in
   trunk/data/pk-update-viewer.glade
   trunk/src/pk-application.c
   trunk/src/pk-common-gui.h
   trunk/src/pk-notify.c
   trunk/src/pk-update-viewer.c
   trunk/src/pk-watch.c

Modified: trunk/NEWS
==============================================================================
--- trunk/NEWS	(original)
+++ trunk/NEWS	Mon Jan  7 20:54:40 2008
@@ -1,5 +1,6 @@
 Version 0.1.5
 ~~~~~~~~~~~~~
+Released: 2007-12-21
 
 * Translations
  - Add Catalan translation (Gil Forcada)
@@ -24,6 +25,7 @@
 ~~~~~~~~~~~~~
 Version 0.1.4
 ~~~~~~~~~~~~~
+Released: 2007-11-26
 
 * Translations:
  - Updated es translation (Jorge Gonzalez)
@@ -48,6 +50,7 @@
 ~~~~~~~~~~~~~
 Version 0.1.3
 ~~~~~~~~~~~~~
+Released: 2007-11-10
 
 * Translations:
  - Add Hungarian translation (Gabor Kelemen)
@@ -69,6 +72,7 @@
 ~~~~~~~~~~~~~
 Version 0.1.2
 ~~~~~~~~~~~~~
+Released: 2007-11-01
 
 * Translations:
  - Add nl translation (Reinout van Schouwen)
@@ -103,6 +107,7 @@
 ~~~~~~~~~~~~~
 Version 0.1.1
 ~~~~~~~~~~~~~
+Released: 2007-10-23
 
 * Translations:
  - Updated Norwegian bokmÃl translation (Kjartan Maraas)
@@ -124,6 +129,7 @@
 ~~~~~~~~~~~~~
 Version 0.1.0
 ~~~~~~~~~~~~~
+Released: 2007-10-16
 
 * The first public release of gnome-packagekit!
 * Current applications and tools:

Modified: trunk/data/gnome-packagekit.schemas.in
==============================================================================
--- trunk/data/gnome-packagekit.schemas.in	(original)
+++ trunk/data/gnome-packagekit.schemas.in	Mon Jan  7 20:54:40 2008
@@ -2,6 +2,66 @@
   <schemalist>
 
     <schema>
+      <key>/schemas/apps/gnome-packagekit/notify_restart</key>
+      <applyto>/apps/gnome-packagekit/notify_restart</applyto>
+      <owner>gnome-packagekit</owner>
+      <type>bool</type>
+      <default>true</default>
+      <locale name="C">
+        <short>Notify the user when we have to restart</short>
+        <long>Notify the user when we have to restart</long>
+      </locale>
+    </schema>
+
+    <schema>
+      <key>/schemas/apps/gnome-packagekit/notify_battery_update</key>
+      <applyto>/apps/gnome-packagekit/notify_battery_update</applyto>
+      <owner>gnome-packagekit</owner>
+      <type>bool</type>
+      <default>true</default>
+      <locale name="C">
+        <short>Notify the user when we have not started an autoupdate on battery</short>
+        <long>Notify the user when we have not started an autoupdate on battery</long>
+      </locale>
+    </schema>
+
+    <schema>
+      <key>/schemas/apps/gnome-packagekit/notify_started</key>
+      <applyto>/apps/gnome-packagekit/notify_started</applyto>
+      <owner>gnome-packagekit</owner>
+      <type>bool</type>
+      <default>true</default>
+      <locale name="C">
+        <short>Notify the user when we have started a transaction</short>
+        <long>Notify the user when we have started a transaction</long>
+      </locale>
+    </schema>
+
+    <schema>
+      <key>/schemas/apps/gnome-packagekit/notify_message</key>
+      <applyto>/apps/gnome-packagekit/notify_message</applyto>
+      <owner>gnome-packagekit</owner>
+      <type>bool</type>
+      <default>true</default>
+      <locale name="C">
+        <short>Notify the user when we have messages</short>
+        <long>Notify the user when we have messages</long>
+      </locale>
+    </schema>
+
+    <schema>
+      <key>/schemas/apps/gnome-packagekit/notify_errors</key>
+      <applyto>/apps/gnome-packagekit/notify_errors</applyto>
+      <owner>gnome-packagekit</owner>
+      <type>bool</type>
+      <default>true</default>
+      <locale name="C">
+        <short>Notify the user when we have errors</short>
+        <long>Notify the user when we have errors</long>
+      </locale>
+    </schema>
+
+    <schema>
       <key>/schemas/apps/gnome-packagekit/notify_complete</key>
       <applyto>/apps/gnome-packagekit/notify_complete</applyto>
       <owner>gnome-packagekit</owner>

Modified: trunk/data/pk-application.desktop.in
==============================================================================
--- trunk/data/pk-application.desktop.in	(original)
+++ trunk/data/pk-application.desktop.in	Mon Jan  7 20:54:40 2008
@@ -2,7 +2,7 @@
 Encoding=UTF-8
 _Name=Add/Remove Software
 _GenericName=Add/Remove Software
-_Comment=Add or remove packages from your system
+_Comment=Change the software installed on the system
 Icon=system-installer
 Exec=pk-application
 Terminal=false

Modified: trunk/data/pk-application.glade
==============================================================================
--- trunk/data/pk-application.glade	(original)
+++ trunk/data/pk-application.glade	Mon Jan  7 20:54:40 2008
@@ -70,7 +70,7 @@
 			      <property name="editable">True</property>
 			      <property name="visibility">True</property>
 			      <property name="max_length">0</property>
-			      <property name="text" translatable="yes"></property>
+			      <property name="text" translatable="no"></property>
 			      <property name="has_frame">True</property>
 			      <property name="invisible_char">â</property>
 			      <property name="activates_default">False</property>
@@ -170,7 +170,7 @@
 		      <child>
 			<widget class="GtkComboBox" id="combobox_depth">
 			  <property name="visible">True</property>
-			  <property name="items" translatable="yes"></property>
+			  <property name="items" translatable="no"></property>
 			  <property name="add_tearoffs">False</property>
 			  <property name="focus_on_click">True</property>
 			</widget>
@@ -248,7 +248,7 @@
 			      <child>
 				<widget class="GtkComboBox" id="combobox_filter_installed">
 				  <property name="visible">True</property>
-				  <property name="items" translatable="yes"></property>
+				  <property name="items" translatable="no"></property>
 				  <property name="add_tearoffs">False</property>
 				  <property name="focus_on_click">True</property>
 				</widget>
@@ -292,7 +292,7 @@
 			      <child>
 				<widget class="GtkComboBox" id="combobox_filter_devel">
 				  <property name="visible">True</property>
-				  <property name="items" translatable="yes"></property>
+				  <property name="items" translatable="no"></property>
 				  <property name="add_tearoffs">False</property>
 				  <property name="focus_on_click">True</property>
 				</widget>
@@ -309,7 +309,7 @@
 			      <child>
 				<widget class="GtkComboBox" id="combobox_filter_gui">
 				  <property name="visible">True</property>
-				  <property name="items" translatable="yes"></property>
+				  <property name="items" translatable="no"></property>
 				  <property name="add_tearoffs">False</property>
 				  <property name="focus_on_click">True</property>
 				</widget>
@@ -381,7 +381,7 @@
 			      <child>
 				<widget class="GtkComboBox" id="combobox_filter_free">
 				  <property name="visible">True</property>
-				  <property name="items" translatable="yes"></property>
+				  <property name="items" translatable="no"></property>
 				  <property name="add_tearoffs">False</property>
 				  <property name="focus_on_click">True</property>
 				</widget>
@@ -627,7 +627,7 @@
 				      <property name="left_margin">0</property>
 				      <property name="right_margin">0</property>
 				      <property name="indent">0</property>
-				      <property name="text" translatable="yes"></property>
+				      <property name="text" translatable="no"></property>
 				    </widget>
 				  </child>
 				</widget>
@@ -673,7 +673,7 @@
 				  <child>
 				    <widget class="GtkLabel" id="label_filesize">
 				      <property name="visible">True</property>
-				      <property name="label" translatable="yes">1024kb</property>
+				      <property name="label" translatable="no"></property>
 				      <property name="use_underline">False</property>
 				      <property name="use_markup">False</property>
 				      <property name="justify">GTK_JUSTIFY_LEFT</property>
@@ -764,7 +764,7 @@
 				      <property name="left_margin">0</property>
 				      <property name="right_margin">0</property>
 				      <property name="indent">0</property>
-				      <property name="text" translatable="yes"></property>
+				      <property name="text" translatable="no"></property>
 				    </widget>
 				  </child>
 				</widget>
@@ -837,7 +837,7 @@
 				      <property name="left_margin">0</property>
 				      <property name="right_margin">0</property>
 				      <property name="indent">0</property>
-				      <property name="text" translatable="yes"></property>
+				      <property name="text" translatable="no"></property>
 				    </widget>
 				  </child>
 				</widget>
@@ -910,7 +910,7 @@
 				      <property name="left_margin">0</property>
 				      <property name="right_margin">0</property>
 				      <property name="indent">0</property>
-				      <property name="text" translatable="yes"></property>
+				      <property name="text" translatable="no"></property>
 				    </widget>
 				  </child>
 				</widget>

Modified: trunk/data/pk-prefs.glade
==============================================================================
--- trunk/data/pk-prefs.glade	(original)
+++ trunk/data/pk-prefs.glade	Mon Jan  7 20:54:40 2008
@@ -127,7 +127,7 @@
 			  <child>
 			    <widget class="GtkComboBox" id="combobox_install">
 			      <property name="visible">True</property>
-			      <property name="items" translatable="yes"></property>
+			      <property name="items" translatable="no"></property>
 			      <property name="add_tearoffs">False</property>
 			      <property name="focus_on_click">True</property>
 			    </widget>
@@ -143,7 +143,7 @@
 			  <child>
 			    <widget class="GtkComboBox" id="combobox_check">
 			      <property name="visible">True</property>
-			      <property name="items" translatable="yes"></property>
+			      <property name="items" translatable="no"></property>
 			      <property name="add_tearoffs">False</property>
 			      <property name="focus_on_click">True</property>
 			    </widget>

Modified: trunk/data/pk-progress.glade
==============================================================================
--- trunk/data/pk-progress.glade	(original)
+++ trunk/data/pk-progress.glade	Mon Jan  7 20:54:40 2008
@@ -35,38 +35,6 @@
                 <property name="visible">True</property>
                 <property name="spacing">10</property>
                 <child>
-                  <widget class="GtkHBox" id="hbox_role">
-                    <property name="visible">True</property>
-                    <property name="spacing">5</property>
-                    <property name="homogeneous">True</property>
-                    <child>
-                      <widget class="GtkLabel" id="label_role2">
-                        <property name="visible">True</property>
-                        <property name="xalign">0</property>
-                        <property name="label" translatable="yes">Task Description:</property>
-                      </widget>
-                      <packing>
-                        <property name="expand">False</property>
-                      </packing>
-                    </child>
-                    <child>
-                      <widget class="GtkLabel" id="label_role">
-                        <property name="visible">True</property>
-                        <property name="xalign">0</property>
-                        <property name="label" translatable="yes">Unknown</property>
-                      </widget>
-                      <packing>
-                        <property name="expand">False</property>
-                        <property name="position">1</property>
-                      </packing>
-                    </child>
-                  </widget>
-                  <packing>
-                    <property name="expand">False</property>
-                    <property name="fill">False</property>
-                  </packing>
-                </child>
-                <child>
                   <widget class="GtkHBox" id="hbox_percentage">
                     <property name="visible">True</property>
                     <property name="spacing">5</property>
@@ -96,7 +64,6 @@
                   <packing>
                     <property name="expand">False</property>
                     <property name="fill">False</property>
-                    <property name="position">1</property>
                   </packing>
                 </child>
                 <child>
@@ -129,7 +96,7 @@
                   <packing>
                     <property name="expand">False</property>
                     <property name="fill">False</property>
-                    <property name="position">2</property>
+                    <property name="position">1</property>
                   </packing>
                 </child>
                 <child>
@@ -159,7 +126,7 @@
                   <packing>
                     <property name="expand">False</property>
                     <property name="fill">False</property>
-                    <property name="position">3</property>
+                    <property name="position">2</property>
                   </packing>
                 </child>
               </widget>

Modified: trunk/data/pk-update-viewer.desktop.in
==============================================================================
--- trunk/data/pk-update-viewer.desktop.in	(original)
+++ trunk/data/pk-update-viewer.desktop.in	Mon Jan  7 20:54:40 2008
@@ -1,13 +1,13 @@
 [Desktop Entry]
 Encoding=UTF-8
-_Name=Software Update Viewer
+_Name=Update System
 _GenericName=Software Update Viewer
-_Comment=Show details for software updates
+_Comment=Update software installed on the system
 Icon=system-software-update
 Exec=pk-update-viewer
 Terminal=false
 Type=Application
-Categories=GNOME;GTK;System;X-Red-Hat-Base;
-OnlyShowIn=GNOME;
+Categories=GNOME;GTK;Settings;System;PackageManager;
+OnlyShowIn=GNOME
 StartupNotify=true
 

Modified: trunk/data/pk-update-viewer.glade
==============================================================================
--- trunk/data/pk-update-viewer.glade	(original)
+++ trunk/data/pk-update-viewer.glade	Mon Jan  7 20:54:40 2008
@@ -1,720 +1,205 @@
-<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*-->
-<!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd";>
-
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE glade-interface SYSTEM "glade-2.0.dtd">
+<!--*- mode: xml -*-->
 <glade-interface>
-<requires lib="gnome"/>
-
-<widget class="GtkWindow" id="window_updates">
-  <property name="visible">True</property>
-  <property name="title" translatable="yes">Software Update Viewer</property>
-  <property name="type">GTK_WINDOW_TOPLEVEL</property>
-  <property name="window_position">GTK_WIN_POS_CENTER</property>
-  <property name="modal">True</property>
-  <property name="resizable">True</property>
-  <property name="destroy_with_parent">False</property>
-  <property name="icon_name">gtk-info</property>
-  <property name="decorated">True</property>
-  <property name="skip_taskbar_hint">False</property>
-  <property name="skip_pager_hint">False</property>
-  <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
-  <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
-  <property name="focus_on_map">True</property>
-  <property name="urgency_hint">False</property>
-
-  <child>
-    <widget class="GtkVBox" id="vbox4">
-      <property name="visible">True</property>
-      <property name="homogeneous">False</property>
-      <property name="spacing">0</property>
-
-      <child>
-	<widget class="GtkVBox" id="vbox1">
-	  <property name="border_width">10</property>
-	  <property name="visible">True</property>
-	  <property name="homogeneous">False</property>
-	  <property name="spacing">5</property>
-
-	  <child>
-	    <widget class="GtkVBox" id="vbox_rows">
-	      <property name="visible">True</property>
-	      <property name="homogeneous">False</property>
-	      <property name="spacing">10</property>
-
-	      <child>
-		<widget class="GtkScrolledWindow" id="scrolledwindow_packages">
-		  <property name="visible">True</property>
-		  <property name="can_focus">True</property>
-		  <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-		  <property name="vscrollbar_policy">GTK_POLICY_ALWAYS</property>
-		  <property name="shadow_type">GTK_SHADOW_IN</property>
-		  <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
-
-		  <child>
-		    <widget class="GtkTreeView" id="treeview_updates">
-		      <property name="visible">True</property>
-		      <property name="can_focus">True</property>
-		      <property name="headers_visible">True</property>
-		      <property name="rules_hint">False</property>
-		      <property name="reorderable">False</property>
-		      <property name="enable_search">True</property>
-		      <property name="fixed_height_mode">False</property>
-		      <property name="hover_selection">False</property>
-		      <property name="hover_expand">False</property>
-		    </widget>
-		  </child>
-		</widget>
-		<packing>
-		  <property name="padding">0</property>
-		  <property name="expand">True</property>
-		  <property name="fill">True</property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkFrame" id="frame_details">
-		  <property name="visible">True</property>
-		  <property name="label_xalign">0</property>
-		  <property name="label_yalign">0.5</property>
-		  <property name="shadow_type">GTK_SHADOW_NONE</property>
-
-		  <child>
-		    <widget class="GtkAlignment" id="alignment6">
-		      <property name="visible">True</property>
-		      <property name="xalign">0.5</property>
-		      <property name="yalign">0.5</property>
-		      <property name="xscale">1</property>
-		      <property name="yscale">1</property>
-		      <property name="top_padding">0</property>
-		      <property name="bottom_padding">0</property>
-		      <property name="left_padding">12</property>
-		      <property name="right_padding">0</property>
-
-		      <child>
-			<widget class="GtkVBox" id="vbox5">
-			  <property name="border_width">5</property>
-			  <property name="visible">True</property>
-			  <property name="homogeneous">False</property>
-			  <property name="spacing">5</property>
-
-			  <child>
-			    <widget class="GtkScrolledWindow" id="scrolledwindow_details">
-			      <property name="visible">True</property>
-			      <property name="can_focus">True</property>
-			      <property name="hscrollbar_policy">GTK_POLICY_NEVER</property>
-			      <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-			      <property name="shadow_type">GTK_SHADOW_IN</property>
-			      <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
-
-			      <child>
-				<widget class="GtkTextView" id="textview_details">
-				  <property name="visible">True</property>
-				  <property name="can_focus">True</property>
-				  <property name="editable">False</property>
-				  <property name="overwrite">False</property>
-				  <property name="accepts_tab">True</property>
-				  <property name="justification">GTK_JUSTIFY_LEFT</property>
-				  <property name="wrap_mode">GTK_WRAP_WORD</property>
-				  <property name="cursor_visible">False</property>
-				  <property name="pixels_above_lines">0</property>
-				  <property name="pixels_below_lines">0</property>
-				  <property name="pixels_inside_wrap">0</property>
-				  <property name="left_margin">0</property>
-				  <property name="right_margin">0</property>
-				  <property name="indent">0</property>
-				  <property name="text" translatable="yes"></property>
-				</widget>
-			      </child>
-			    </widget>
-			    <packing>
-			      <property name="padding">0</property>
-			      <property name="expand">True</property>
-			      <property name="fill">True</property>
-			    </packing>
-			  </child>
-
-			  <child>
-			    <widget class="GtkTable" id="table1">
-			      <property name="visible">True</property>
-			      <property name="n_rows">5</property>
-			      <property name="n_columns">2</property>
-			      <property name="homogeneous">False</property>
-			      <property name="row_spacing">0</property>
-			      <property name="column_spacing">10</property>
-
-			      <child>
-				<widget class="GtkLabel" id="label_version">
-				  <property name="visible">True</property>
-				  <property name="label" translatable="yes">data</property>
-				  <property name="use_underline">False</property>
-				  <property name="use_markup">False</property>
-				  <property name="justify">GTK_JUSTIFY_LEFT</property>
-				  <property name="wrap">False</property>
-				  <property name="selectable">False</property>
-				  <property name="xalign">0</property>
-				  <property name="yalign">0.5</property>
-				  <property name="xpad">0</property>
-				  <property name="ypad">0</property>
-				  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-				  <property name="width_chars">-1</property>
-				  <property name="single_line_mode">False</property>
-				  <property name="angle">0</property>
-				</widget>
-				<packing>
-				  <property name="left_attach">1</property>
-				  <property name="right_attach">2</property>
-				  <property name="top_attach">0</property>
-				  <property name="bottom_attach">1</property>
-				  <property name="y_options"></property>
-				</packing>
-			      </child>
-
-			      <child>
-				<widget class="GtkLabel" id="label_updates">
-				  <property name="visible">True</property>
-				  <property name="label" translatable="yes">data</property>
-				  <property name="use_underline">False</property>
-				  <property name="use_markup">False</property>
-				  <property name="justify">GTK_JUSTIFY_LEFT</property>
-				  <property name="wrap">False</property>
-				  <property name="selectable">False</property>
-				  <property name="xalign">0</property>
-				  <property name="yalign">0.5</property>
-				  <property name="xpad">0</property>
-				  <property name="ypad">0</property>
-				  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-				  <property name="width_chars">-1</property>
-				  <property name="single_line_mode">False</property>
-				  <property name="angle">0</property>
-				</widget>
-				<packing>
-				  <property name="left_attach">1</property>
-				  <property name="right_attach">2</property>
-				  <property name="top_attach">1</property>
-				  <property name="bottom_attach">2</property>
-				  <property name="x_options">fill</property>
-				  <property name="y_options"></property>
-				</packing>
-			      </child>
-
-			      <child>
-				<widget class="GtkLabel" id="label_obsoletes">
-				  <property name="visible">True</property>
-				  <property name="label" translatable="yes">data</property>
-				  <property name="use_underline">False</property>
-				  <property name="use_markup">False</property>
-				  <property name="justify">GTK_JUSTIFY_LEFT</property>
-				  <property name="wrap">False</property>
-				  <property name="selectable">False</property>
-				  <property name="xalign">0</property>
-				  <property name="yalign">0.5</property>
-				  <property name="xpad">0</property>
-				  <property name="ypad">0</property>
-				  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-				  <property name="width_chars">-1</property>
-				  <property name="single_line_mode">False</property>
-				  <property name="angle">0</property>
-				</widget>
-				<packing>
-				  <property name="left_attach">1</property>
-				  <property name="right_attach">2</property>
-				  <property name="top_attach">2</property>
-				  <property name="bottom_attach">3</property>
-				  <property name="x_options">fill</property>
-				  <property name="y_options"></property>
-				</packing>
-			      </child>
-
-			      <child>
-				<widget class="GtkLabel" id="label_repo">
-				  <property name="visible">True</property>
-				  <property name="label" translatable="yes">data</property>
-				  <property name="use_underline">False</property>
-				  <property name="use_markup">False</property>
-				  <property name="justify">GTK_JUSTIFY_LEFT</property>
-				  <property name="wrap">False</property>
-				  <property name="selectable">False</property>
-				  <property name="xalign">0</property>
-				  <property name="yalign">0.5</property>
-				  <property name="xpad">0</property>
-				  <property name="ypad">0</property>
-				  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-				  <property name="width_chars">-1</property>
-				  <property name="single_line_mode">False</property>
-				  <property name="angle">0</property>
-				</widget>
-				<packing>
-				  <property name="left_attach">1</property>
-				  <property name="right_attach">2</property>
-				  <property name="top_attach">3</property>
-				  <property name="bottom_attach">4</property>
-				  <property name="x_options">fill</property>
-				  <property name="y_options"></property>
-				</packing>
-			      </child>
-
-			      <child>
-				<widget class="GtkLabel" id="label_obsoletes_left">
-				  <property name="visible">True</property>
-				  <property name="label" translatable="yes">Obsoletes:</property>
-				  <property name="use_underline">False</property>
-				  <property name="use_markup">False</property>
-				  <property name="justify">GTK_JUSTIFY_LEFT</property>
-				  <property name="wrap">False</property>
-				  <property name="selectable">False</property>
-				  <property name="xalign">0</property>
-				  <property name="yalign">0.5</property>
-				  <property name="xpad">0</property>
-				  <property name="ypad">0</property>
-				  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-				  <property name="width_chars">-1</property>
-				  <property name="single_line_mode">False</property>
-				  <property name="angle">0</property>
-				</widget>
-				<packing>
-				  <property name="left_attach">0</property>
-				  <property name="right_attach">1</property>
-				  <property name="top_attach">2</property>
-				  <property name="bottom_attach">3</property>
-				  <property name="y_padding">3</property>
-				  <property name="x_options">fill</property>
-				  <property name="y_options"></property>
-				</packing>
-			      </child>
-
-			      <child>
-				<widget class="GtkLabel" id="label_updates_left">
-				  <property name="visible">True</property>
-				  <property name="label" translatable="yes">Updates:</property>
-				  <property name="use_underline">False</property>
-				  <property name="use_markup">False</property>
-				  <property name="justify">GTK_JUSTIFY_LEFT</property>
-				  <property name="wrap">False</property>
-				  <property name="selectable">False</property>
-				  <property name="xalign">0</property>
-				  <property name="yalign">0.5</property>
-				  <property name="xpad">0</property>
-				  <property name="ypad">0</property>
-				  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-				  <property name="width_chars">-1</property>
-				  <property name="single_line_mode">False</property>
-				  <property name="angle">0</property>
-				</widget>
-				<packing>
-				  <property name="left_attach">0</property>
-				  <property name="right_attach">1</property>
-				  <property name="top_attach">1</property>
-				  <property name="bottom_attach">2</property>
-				  <property name="y_padding">3</property>
-				  <property name="x_options">fill</property>
-				  <property name="y_options"></property>
-				</packing>
-			      </child>
-
-			      <child>
-				<widget class="GtkLabel" id="label_version_left">
-				  <property name="visible">True</property>
-				  <property name="label" translatable="yes">Version:</property>
-				  <property name="use_underline">False</property>
-				  <property name="use_markup">False</property>
-				  <property name="justify">GTK_JUSTIFY_LEFT</property>
-				  <property name="wrap">False</property>
-				  <property name="selectable">False</property>
-				  <property name="xalign">0</property>
-				  <property name="yalign">0.5</property>
-				  <property name="xpad">0</property>
-				  <property name="ypad">0</property>
-				  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-				  <property name="width_chars">-1</property>
-				  <property name="single_line_mode">False</property>
-				  <property name="angle">0</property>
-				</widget>
-				<packing>
-				  <property name="left_attach">0</property>
-				  <property name="right_attach">1</property>
-				  <property name="top_attach">0</property>
-				  <property name="bottom_attach">1</property>
-				  <property name="y_padding">3</property>
-				  <property name="x_options">fill</property>
-				  <property name="y_options"></property>
-				</packing>
-			      </child>
-
-			      <child>
-				<widget class="GtkLabel" id="label_repo_left">
-				  <property name="visible">True</property>
-				  <property name="label" translatable="yes">Repository:</property>
-				  <property name="use_underline">False</property>
-				  <property name="use_markup">False</property>
-				  <property name="justify">GTK_JUSTIFY_LEFT</property>
-				  <property name="wrap">False</property>
-				  <property name="selectable">False</property>
-				  <property name="xalign">0</property>
-				  <property name="yalign">0.5</property>
-				  <property name="xpad">0</property>
-				  <property name="ypad">0</property>
-				  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-				  <property name="width_chars">-1</property>
-				  <property name="single_line_mode">False</property>
-				  <property name="angle">0</property>
-				</widget>
-				<packing>
-				  <property name="left_attach">0</property>
-				  <property name="right_attach">1</property>
-				  <property name="top_attach">3</property>
-				  <property name="bottom_attach">4</property>
-				  <property name="y_padding">3</property>
-				  <property name="x_options">fill</property>
-				  <property name="y_options"></property>
-				</packing>
-			      </child>
-
-			      <child>
-				<widget class="GtkLabel" id="label_restart">
-				  <property name="visible">True</property>
-				  <property name="label" translatable="yes">A system restart is required</property>
-				  <property name="use_underline">False</property>
-				  <property name="use_markup">False</property>
-				  <property name="justify">GTK_JUSTIFY_LEFT</property>
-				  <property name="wrap">False</property>
-				  <property name="selectable">False</property>
-				  <property name="xalign">0</property>
-				  <property name="yalign">0.5</property>
-				  <property name="xpad">0</property>
-				  <property name="ypad">0</property>
-				  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-				  <property name="width_chars">-1</property>
-				  <property name="single_line_mode">False</property>
-				  <property name="angle">0</property>
-				</widget>
-				<packing>
-				  <property name="left_attach">1</property>
-				  <property name="right_attach">2</property>
-				  <property name="top_attach">4</property>
-				  <property name="bottom_attach">5</property>
-				  <property name="x_options">fill</property>
-				  <property name="y_options"></property>
-				</packing>
-			      </child>
-
-			      <child>
-				<widget class="GtkLabel" id="label_restart_left">
-				  <property name="visible">True</property>
-				  <property name="label" translatable="yes">Restart:</property>
-				  <property name="use_underline">False</property>
-				  <property name="use_markup">False</property>
-				  <property name="justify">GTK_JUSTIFY_LEFT</property>
-				  <property name="wrap">False</property>
-				  <property name="selectable">False</property>
-				  <property name="xalign">0</property>
-				  <property name="yalign">0.5</property>
-				  <property name="xpad">0</property>
-				  <property name="ypad">0</property>
-				  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-				  <property name="width_chars">-1</property>
-				  <property name="single_line_mode">False</property>
-				  <property name="angle">0</property>
-				</widget>
-				<packing>
-				  <property name="left_attach">0</property>
-				  <property name="right_attach">1</property>
-				  <property name="top_attach">4</property>
-				  <property name="bottom_attach">5</property>
-				  <property name="y_padding">3</property>
-				  <property name="x_options">fill</property>
-				  <property name="y_options"></property>
-				</packing>
-			      </child>
-			    </widget>
-			    <packing>
-			      <property name="padding">0</property>
-			      <property name="expand">False</property>
-			      <property name="fill">False</property>
-			    </packing>
-			  </child>
-
-			  <child>
-			    <widget class="GtkHButtonBox" id="hbuttonbox2">
-			      <property name="visible">True</property>
-			      <property name="layout_style">GTK_BUTTONBOX_START</property>
-			      <property name="spacing">5</property>
-
-			      <child>
-				<widget class="GtkButton" id="button_url">
-				  <property name="visible">True</property>
-				  <property name="can_default">True</property>
-				  <property name="can_focus">True</property>
-				  <property name="relief">GTK_RELIEF_NORMAL</property>
-				  <property name="focus_on_click">True</property>
-
-				  <child>
-				    <widget class="GtkAlignment" id="alignment6">
-				      <property name="visible">True</property>
-				      <property name="xalign">0.5</property>
-				      <property name="yalign">0.5</property>
-				      <property name="xscale">0</property>
-				      <property name="yscale">0</property>
-				      <property name="top_padding">0</property>
-				      <property name="bottom_padding">0</property>
-				      <property name="left_padding">0</property>
-				      <property name="right_padding">0</property>
-
-				      <child>
-					<widget class="GtkHBox" id="hbox6">
-					  <property name="visible">True</property>
-					  <property name="homogeneous">False</property>
-					  <property name="spacing">2</property>
-
-					  <child>
-					    <widget class="GtkImage" id="image3">
-					      <property name="visible">True</property>
-					      <property name="stock">gtk-dialog-info</property>
-					      <property name="icon_size">4</property>
-					      <property name="xalign">0.5</property>
-					      <property name="yalign">0.5</property>
-					      <property name="xpad">0</property>
-					      <property name="ypad">0</property>
-					    </widget>
-					    <packing>
-					      <property name="padding">0</property>
-					      <property name="expand">False</property>
-					      <property name="fill">False</property>
-					    </packing>
-					  </child>
-
-					  <child>
-					    <widget class="GtkLabel" id="label24">
-					      <property name="visible">True</property>
-					      <property name="label" translatable="yes">More Information</property>
-					      <property name="use_underline">True</property>
-					      <property name="use_markup">False</property>
-					      <property name="justify">GTK_JUSTIFY_LEFT</property>
-					      <property name="wrap">False</property>
-					      <property name="selectable">False</property>
-					      <property name="xalign">0.5</property>
-					      <property name="yalign">0.5</property>
-					      <property name="xpad">0</property>
-					      <property name="ypad">0</property>
-					      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-					      <property name="width_chars">-1</property>
-					      <property name="single_line_mode">False</property>
-					      <property name="angle">0</property>
-					    </widget>
-					    <packing>
-					      <property name="padding">0</property>
-					      <property name="expand">False</property>
-					      <property name="fill">False</property>
-					    </packing>
-					  </child>
-					</widget>
-				      </child>
-				    </widget>
-				  </child>
-				</widget>
-			      </child>
-
-			      <child>
-				<widget class="GtkButton" id="button_update">
-				  <property name="visible">True</property>
-				  <property name="can_default">True</property>
-				  <property name="can_focus">True</property>
-				  <property name="relief">GTK_RELIEF_NORMAL</property>
-				  <property name="focus_on_click">True</property>
-
-				  <child>
-				    <widget class="GtkAlignment" id="alignment7">
-				      <property name="visible">True</property>
-				      <property name="xalign">0.5</property>
-				      <property name="yalign">0.5</property>
-				      <property name="xscale">0</property>
-				      <property name="yscale">0</property>
-				      <property name="top_padding">0</property>
-				      <property name="bottom_padding">0</property>
-				      <property name="left_padding">0</property>
-				      <property name="right_padding">0</property>
-
-				      <child>
-					<widget class="GtkHBox" id="hbox7">
-					  <property name="visible">True</property>
-					  <property name="homogeneous">False</property>
-					  <property name="spacing">2</property>
-
-					  <child>
-					    <widget class="GtkImage" id="image4">
-					      <property name="visible">True</property>
-					      <property name="stock">gtk-harddisk</property>
-					      <property name="icon_size">4</property>
-					      <property name="xalign">0.5</property>
-					      <property name="yalign">0.5</property>
-					      <property name="xpad">0</property>
-					      <property name="ypad">0</property>
-					    </widget>
-					    <packing>
-					      <property name="padding">0</property>
-					      <property name="expand">False</property>
-					      <property name="fill">False</property>
-					    </packing>
-					  </child>
-
-					  <child>
-					    <widget class="GtkLabel" id="label25">
-					      <property name="visible">True</property>
-					      <property name="label" translatable="yes">Update this package now</property>
-					      <property name="use_underline">True</property>
-					      <property name="use_markup">False</property>
-					      <property name="justify">GTK_JUSTIFY_LEFT</property>
-					      <property name="wrap">False</property>
-					      <property name="selectable">False</property>
-					      <property name="xalign">0.5</property>
-					      <property name="yalign">0.5</property>
-					      <property name="xpad">0</property>
-					      <property name="ypad">0</property>
-					      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-					      <property name="width_chars">-1</property>
-					      <property name="single_line_mode">False</property>
-					      <property name="angle">0</property>
-					    </widget>
-					    <packing>
-					      <property name="padding">0</property>
-					      <property name="expand">False</property>
-					      <property name="fill">False</property>
-					    </packing>
-					  </child>
-					</widget>
-				      </child>
-				    </widget>
-				  </child>
-				</widget>
-			      </child>
-			    </widget>
-			    <packing>
-			      <property name="padding">0</property>
-			      <property name="expand">False</property>
-			      <property name="fill">False</property>
-			    </packing>
-			  </child>
-			</widget>
-		      </child>
-		    </widget>
-		  </child>
-
-		  <child>
-		    <widget class="GtkLabel" id="label24">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">&lt;b&gt;Details&lt;/b&gt;</property>
-		      <property name="use_underline">False</property>
-		      <property name="use_markup">True</property>
-		      <property name="justify">GTK_JUSTIFY_LEFT</property>
-		      <property name="wrap">False</property>
-		      <property name="selectable">False</property>
-		      <property name="xalign">0.5</property>
-		      <property name="yalign">0.5</property>
-		      <property name="xpad">0</property>
-		      <property name="ypad">0</property>
-		      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-		      <property name="width_chars">-1</property>
-		      <property name="single_line_mode">False</property>
-		      <property name="angle">0</property>
-		    </widget>
-		    <packing>
-		      <property name="type">label_item</property>
-		    </packing>
-		  </child>
-		</widget>
-		<packing>
-		  <property name="padding">0</property>
-		  <property name="expand">False</property>
-		  <property name="fill">True</property>
-		</packing>
-	      </child>
-	    </widget>
-	    <packing>
-	      <property name="padding">0</property>
-	      <property name="expand">True</property>
-	      <property name="fill">True</property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkHButtonBox" id="hbuttonbox1">
-	      <property name="visible">True</property>
-	      <property name="layout_style">GTK_BUTTONBOX_END</property>
-	      <property name="spacing">5</property>
-
-	      <child>
-		<widget class="GtkButton" id="button_help">
-		  <property name="visible">True</property>
-		  <property name="can_default">True</property>
-		  <property name="can_focus">True</property>
-		  <property name="label">gtk-help</property>
-		  <property name="use_stock">True</property>
-		  <property name="relief">GTK_RELIEF_NORMAL</property>
-		  <property name="focus_on_click">True</property>
-		</widget>
-	      </child>
-
-	      <child>
-		<widget class="GtkButton" id="button_refresh">
-		  <property name="visible">True</property>
-		  <property name="can_default">True</property>
-		  <property name="can_focus">True</property>
-		  <property name="label">gtk-refresh</property>
-		  <property name="use_stock">True</property>
-		  <property name="relief">GTK_RELIEF_NORMAL</property>
-		  <property name="focus_on_click">True</property>
-		</widget>
-	      </child>
-
-	      <child>
-		<widget class="GtkButton" id="button_close">
-		  <property name="visible">True</property>
-		  <property name="can_default">True</property>
-		  <property name="can_focus">True</property>
-		  <property name="label">gtk-close</property>
-		  <property name="use_stock">True</property>
-		  <property name="relief">GTK_RELIEF_NORMAL</property>
-		  <property name="focus_on_click">True</property>
-		</widget>
-	      </child>
-
-	      <child>
-		<widget class="GtkButton" id="button_apply">
-		  <property name="visible">True</property>
-		  <property name="can_default">True</property>
-		  <property name="can_focus">True</property>
-		  <property name="label">gtk-apply</property>
-		  <property name="use_stock">True</property>
-		  <property name="relief">GTK_RELIEF_NORMAL</property>
-		  <property name="focus_on_click">True</property>
-		</widget>
-	      </child>
-	    </widget>
-	    <packing>
-	      <property name="padding">0</property>
-	      <property name="expand">False</property>
-	      <property name="fill">False</property>
-	    </packing>
-	  </child>
-	</widget>
-	<packing>
-	  <property name="padding">0</property>
-	  <property name="expand">True</property>
-	  <property name="fill">True</property>
-	</packing>
-      </child>
-
-      <child>
-	<widget class="GtkStatusbar" id="statusbar_status">
-	  <property name="visible">True</property>
-	  <property name="has_resize_grip">True</property>
-	</widget>
-	<packing>
-	  <property name="padding">0</property>
-	  <property name="expand">False</property>
-	  <property name="fill">False</property>
-	</packing>
-      </child>
-    </widget>
-  </child>
-</widget>
-
+  <widget class="GtkWindow" id="window_updates">
+    <property name="visible">True</property>
+    <property name="title" translatable="yes">Update System</property>
+    <property name="modal">True</property>
+    <property name="window_position">GTK_WIN_POS_CENTER</property>
+    <property name="icon_name">system-software-update</property>
+    <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
+    <child>
+      <widget class="GtkVBox" id="vbox4">
+        <property name="visible">True</property>
+        <child>
+          <widget class="GtkVBox" id="vbox1">
+            <property name="visible">True</property>
+            <property name="border_width">10</property>
+            <property name="spacing">5</property>
+            <child>
+              <widget class="GtkVBox" id="vbox_rows">
+                <property name="visible">True</property>
+                <property name="spacing">10</property>
+                <child>
+                  <widget class="GtkScrolledWindow" id="scrolledwindow_packages">
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+                    <property name="shadow_type">GTK_SHADOW_IN</property>
+                    <child>
+                      <widget class="GtkTreeView" id="treeview_updates">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                      </widget>
+                    </child>
+                  </widget>
+                </child>
+
+                <child>
+                  <widget class="GtkExpander" id="details_expander">
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="expanded">False</property>
+                    <property name="spacing">6</property>
+
+                    <child>
+                      <widget class="GtkScrolledWindow" id="details_scrolledwindow">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="hscrollbar_policy">GTK_POLICY_NEVER</property>
+                        <property name="vscrollbar_policy">GTK_POLICY_NEVER</property>
+                        <property name="shadow_type">GTK_SHADOW_IN</property>
+                        <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
+
+                        <child>
+                          <widget class="GtkTextView" id="details_textview">
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="editable">False</property>
+                            <property name="overwrite">False</property>
+                            <property name="accepts_tab">True</property>
+                            <property name="justification">GTK_JUSTIFY_LEFT</property>
+                            <property name="wrap_mode">GTK_WRAP_WORD</property>
+                            <property name="cursor_visible">False</property>
+                            <property name="pixels_above_lines">0</property>
+                            <property name="pixels_below_lines">0</property>
+                            <property name="pixels_inside_wrap">0</property>
+                            <property name="left_margin">0</property>
+                            <property name="right_margin">0</property>
+                            <property name="indent">0</property>
+                            <property name="text"></property>
+                          </widget>
+                        </child>
+                      </widget>
+                    </child>
+
+                    <child>
+                      <widget class="GtkLabel" id="details_label">
+                        <property name="visible">True</property>
+                        <property name="label" translatable="yes">&lt;b&gt;Details&lt;/b&gt;</property>
+                        <property name="use_underline">False</property>
+                        <property name="use_markup">True</property>
+                        <property name="justify">GTK_JUSTIFY_LEFT</property>
+                        <property name="wrap">False</property>
+                        <property name="selectable">False</property>
+                        <property name="xalign">0.5</property>
+                        <property name="yalign">0.5</property>
+                        <property name="xpad">0</property>
+                        <property name="ypad">0</property>
+                        <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+                        <property name="width_chars">-1</property>
+                        <property name="single_line_mode">False</property>
+                        <property name="angle">0</property>
+                      </widget>
+                      <packing>
+                        <property name="type">label_item</property>
+                      </packing>
+                    </child>
+		  </widget>
+                  <packing>
+                    <property name="padding">12</property>
+                    <property name="expand">False</property>
+                    <property name="fill">True</property>
+                  </packing>
+                </child>
+              </widget>
+            </child>
+            <child>
+              <widget class="GtkHButtonBox" id="hbuttonbox1">
+                <property name="visible">True</property>
+                <property name="spacing">5</property>
+                <property name="layout_style">GTK_BUTTONBOX_END</property>
+                <child>
+                  <widget class="GtkButton" id="button_help">
+                    <property name="visible">False</property>
+                    <property name="can_focus">True</property>
+                    <property name="can_default">True</property>
+                    <property name="label">gtk-help</property>
+                    <property name="use_stock">True</property>
+                    <property name="response_id">0</property>
+                  </widget>
+                  <packing>
+                    <property name="secondary">True</property>
+                  </packing>
+                </child>
+                <child>
+                  <widget class="GtkButton" id="button_refresh">
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="can_default">True</property>
+                    <property name="label">Force _Refresh</property>
+                    <property name="use_underline">True</property>
+                    <property name="response_id">0</property>
+                  </widget>
+                  <packing>
+                    <property name="position">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <widget class="GtkButton" id="button_close">
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="can_default">True</property>
+                    <property name="label">gtk-cancel</property>
+                    <property name="use_stock">True</property>
+                    <property name="response_id">0</property>
+                  </widget>
+                  <packing>
+                    <property name="position">2</property>
+                  </packing>
+                </child>
+                <child>
+                  <widget class="GtkButton" id="button_update">
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="can_default">True</property>
+                    <property name="response_id">0</property>
+                    <child>
+                      <widget class="GtkLabel" id="label25">
+                        <property name="visible">True</property>
+                        <property name="label" translatable="yes">Update _Package</property>
+                        <property name="use_underline">True</property>
+                      </widget>
+                    </child>
+                  </widget>
+                  <packing>
+                    <property name="position">3</property>
+                  </packing>
+                </child>
+                <child>
+                  <widget class="GtkButton" id="button_apply">
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="can_default">True</property>
+                    <property name="label" translatable="yes">_Update System</property>
+                    <property name="use_underline">True</property>
+                    <property name="response_id">0</property>
+                  </widget>
+                  <packing>
+                    <property name="position">4</property>
+                  </packing>
+                </child>
+              </widget>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">1</property>
+              </packing>
+            </child>
+          </widget>
+        </child>
+        <child>
+          <widget class="GtkStatusbar" id="statusbar_status">
+            <property name="visible">True</property>
+          </widget>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">False</property>
+            <property name="position">1</property>
+          </packing>
+        </child>
+      </widget>
+    </child>
+  </widget>
 </glade-interface>

Modified: trunk/src/pk-application.c
==============================================================================
--- trunk/src/pk-application.c	(original)
+++ trunk/src/pk-application.c	Mon Jan  7 20:54:40 2008
@@ -126,7 +126,7 @@
 }
 
 /**
- * pk_application_error_code_cb:
+ * pk_application_error_message:
  **/
 static void
 pk_application_error_message (PkApplication *application, const gchar *title, const gchar *details)

Modified: trunk/src/pk-common-gui.h
==============================================================================
--- trunk/src/pk-common-gui.h	(original)
+++ trunk/src/pk-common-gui.h	Mon Jan  7 20:54:40 2008
@@ -32,6 +32,11 @@
 
 #define PK_CONF_NOTIFY_COMPLETED	"/apps/gnome-packagekit/notify_complete"
 #define PK_CONF_NOTIFY_AVAILABLE	"/apps/gnome-packagekit/notify_available"
+#define PK_CONF_NOTIFY_ERROR		"/apps/gnome-packagekit/notify_errors"
+#define PK_CONF_NOTIFY_MESSAGE		"/apps/gnome-packagekit/notify_message"
+#define PK_CONF_NOTIFY_STARTED		"/apps/gnome-packagekit/notify_started"
+#define PK_CONF_NOTIFY_BATTERY_UPDATE	"/apps/gnome-packagekit/notify_battery_update"
+#define PK_CONF_NOTIFY_RESTART		"/apps/gnome-packagekit/notify_restart"
 #define PK_CONF_FIND_AS_TYPE		"/apps/gnome-packagekit/find_as_you_type"
 #define PK_CONF_SESSION_STARTUP_TIMEOUT	"/apps/gnome-packagekit/session_startup_timeout"
 #define PK_CONF_FREQUENCY_GET_UPDATES	"/apps/gnome-packagekit/frequency_get_updates"

Modified: trunk/src/pk-notify.c
==============================================================================
--- trunk/src/pk-notify.c	(original)
+++ trunk/src/pk-notify.c	Mon Jan  7 20:54:40 2008
@@ -102,7 +102,7 @@
 			      _("Functionality incomplete"),
 			      _("No help yet, sorry..."), "help-browser",
 			      PK_NOTIFY_URGENCY_LOW, PK_NOTIFY_TIMEOUT_SHORT);
-	pk_smart_icon_notify_button (notify->priv->sicon, PK_NOTIFY_BUTTON_DO_NOT_SHOW_AGAIN, NULL);
+	pk_smart_icon_notify_button (notify->priv->sicon, PK_NOTIFY_BUTTON_DO_NOT_SHOW_AGAIN, PK_CONF_NOTIFY_ERROR);
 	pk_smart_icon_notify_show (notify->priv->sicon);
 }
 #endif
@@ -120,6 +120,51 @@
 }
 
 /**
+ * pk_notify_about_dialog_url_cb:
+ **/
+static void 
+pk_notify_about_dialog_url_cb (GtkAboutDialog *about, const char *address, gpointer data)
+{
+	GError *error = NULL;
+	gboolean ret;
+	char *cmdline;
+	GdkScreen *gscreen;
+	GtkWidget *error_dialog;
+	gchar *url;
+	gchar *protocol = (gchar*) data;
+
+	if (protocol != NULL)
+		url = g_strconcat (protocol, address, NULL);
+	else
+		url = g_strdup (address);
+
+	gscreen = gtk_window_get_screen (GTK_WINDOW (about));
+
+	cmdline = g_strconcat ("xdg-open ", url, NULL);
+	ret = gdk_spawn_command_line_on_screen (gscreen, cmdline, &error);
+	g_free (cmdline);
+
+	if (ret == TRUE)
+		goto out;
+
+	g_error_free (error);
+	error = NULL;
+
+	cmdline = g_strconcat ("gnome-open ", url, NULL);
+	ret = gdk_spawn_command_line_on_screen (gscreen, cmdline, &error);
+	g_free (cmdline);
+        
+	if (ret == FALSE) {
+		error_dialog = gtk_message_dialog_new (NULL, GTK_DIALOG_MODAL, GTK_MESSAGE_INFO, GTK_BUTTONS_OK, "Failed to show url %s", error->message); 
+		gtk_dialog_run (GTK_DIALOG (error_dialog));
+		g_error_free (error);
+	}
+
+out:
+	g_free (url);
+}
+
+/**
  * pk_notify_show_about_cb:
  **/
 static void
@@ -159,6 +204,14 @@
 	license_trans = g_strconcat (_(license[0]), "\n\n", _(license[1]), "\n\n",
 				     _(license[2]), "\n\n", _(license[3]), "\n",  NULL);
 
+	/* FIXME: unnecessary with libgnomeui >= 2.16.0 */
+	static gboolean been_here = FALSE;
+	if (!been_here) {
+		been_here = TRUE;
+		gtk_about_dialog_set_url_hook (pk_notify_about_dialog_url_cb, NULL, NULL);
+		gtk_about_dialog_set_email_hook (pk_notify_about_dialog_url_cb, "mailto:";, NULL);
+	}
+
 	gtk_window_set_default_icon_name ("system-installer");
 	gtk_show_about_dialog (NULL,
 			       "version", VERSION,
@@ -265,7 +318,7 @@
 					  _("The system update has completed"), message, "software-update-available",
 					  PK_NOTIFY_URGENCY_LOW, PK_NOTIFY_TIMEOUT_LONG);
 		pk_smart_icon_notify_button (notify->priv->sicon, PK_NOTIFY_BUTTON_RESTART_COMPUTER, NULL);
-		pk_smart_icon_notify_button (notify->priv->sicon, PK_NOTIFY_BUTTON_DO_NOT_SHOW_AGAIN, NULL);
+		pk_smart_icon_notify_button (notify->priv->sicon, PK_NOTIFY_BUTTON_DO_NOT_SHOW_AGAIN, PK_CONF_NOTIFY_RESTART);
 		pk_smart_icon_notify_show (notify->priv->sicon);
 	}
 	pk_debug ("resetting client %p", client);
@@ -291,7 +344,7 @@
 		pk_warning ("failed to update system");
 		pk_smart_icon_notify_new (notify->priv->sicon, _("Failed to update system"), _("Client action was refused"),
 				      "process-stop", PK_NOTIFY_URGENCY_LOW, PK_NOTIFY_TIMEOUT_SHORT);
-		pk_smart_icon_notify_button (notify->priv->sicon, PK_NOTIFY_BUTTON_DO_NOT_SHOW_AGAIN, NULL);
+		pk_smart_icon_notify_button (notify->priv->sicon, PK_NOTIFY_BUTTON_DO_NOT_SHOW_AGAIN, PK_CONF_NOTIFY_ERROR);
 		pk_smart_icon_notify_show (notify->priv->sicon);
 	}
 	return ret;
@@ -415,7 +468,7 @@
 				  _("Updates are being automatically installed on your computer"), "software-update-urgent",
 				  PK_NOTIFY_URGENCY_LOW, PK_NOTIFY_TIMEOUT_LONG);
 	pk_smart_icon_notify_button (notify->priv->sicon, PK_NOTIFY_BUTTON_CANCEL_UPDATE, NULL);
-	pk_smart_icon_notify_button (notify->priv->sicon, PK_NOTIFY_BUTTON_DO_NOT_SHOW_AGAIN, NULL);
+	pk_smart_icon_notify_button (notify->priv->sicon, PK_NOTIFY_BUTTON_DO_NOT_SHOW_AGAIN, PK_CONF_NOTIFY_STARTED);
 	pk_smart_icon_notify_show (notify->priv->sicon);
 }
 
@@ -485,7 +538,9 @@
 					      _("Will not install updates"),
 					      _("Automatic updates are not being installed as the computer is on battery power"),
 					      "dialog-information", PK_NOTIFY_URGENCY_LOW, PK_NOTIFY_TIMEOUT_LONG);
-			pk_smart_icon_notify_button (notify->priv->sicon, PK_NOTIFY_BUTTON_DO_NOT_SHOW_AGAIN, NULL);
+			pk_smart_icon_notify_button (notify->priv->sicon,
+						     PK_NOTIFY_BUTTON_DO_NOT_SHOW_AGAIN,
+						     PK_CONF_NOTIFY_BATTERY_UPDATE);
 			pk_smart_icon_notify_show (notify->priv->sicon);
 			return;
 		}
@@ -550,8 +605,9 @@
 		return;
 	}
 
-	pk_smart_icon_notify_new (notify->priv->sicon, title, details, "help-browser", PK_NOTIFY_URGENCY_LOW, PK_NOTIFY_TIMEOUT_LONG);
-	pk_smart_icon_notify_button (notify->priv->sicon, PK_NOTIFY_BUTTON_DO_NOT_SHOW_AGAIN, NULL);
+	pk_smart_icon_notify_new (notify->priv->sicon, title, details, "help-browser",
+				  PK_NOTIFY_URGENCY_LOW, PK_NOTIFY_TIMEOUT_LONG);
+	pk_smart_icon_notify_button (notify->priv->sicon, PK_NOTIFY_BUTTON_DO_NOT_SHOW_AGAIN, PK_CONF_NOTIFY_ERROR);
 	pk_smart_icon_notify_show (notify->priv->sicon);
 }
 
@@ -713,10 +769,14 @@
 
 	pk_debug ("got: %i with data %s", button, data);
 	/* find the localised text */
-	if (button == PK_NOTIFY_BUTTON_DO_NOT_SHOW_AGAIN) {
-		pk_warning ("moo");
-	} else if (button == PK_NOTIFY_BUTTON_DO_NOT_WARN_AGAIN) {
-		pk_warning ("moo");
+	if (button == PK_NOTIFY_BUTTON_DO_NOT_SHOW_AGAIN ||
+	    button == PK_NOTIFY_BUTTON_DO_NOT_WARN_AGAIN) {
+		if (data == NULL) {
+			pk_warning ("data NULL");
+		} else {
+			pk_debug ("setting %s to FALSE", data);
+			gconf_client_set_bool (notify->priv->gconf_client, data, FALSE, NULL);
+		}
 	} else if (button == PK_NOTIFY_BUTTON_CANCEL_UPDATE) {
 		gboolean ret;
 		ret = pk_client_cancel (notify->priv->client_update_system);

Modified: trunk/src/pk-update-viewer.c
==============================================================================
--- trunk/src/pk-update-viewer.c	(original)
+++ trunk/src/pk-update-viewer.c	Mon Jan  7 20:54:40 2008
@@ -777,6 +777,39 @@
 }
 
 /**
+ * pk_updates_error_message:
+ **/
+static void
+pk_updates_error_message (const gchar *title, const gchar *details)
+{
+	GtkWidget *main_window;
+	GtkWidget *dialog;
+	gchar *escaped_details;
+
+	pk_warning ("error %s:%s", title, details);
+	main_window = glade_xml_get_widget (glade_xml, "window_updates");
+
+	/* we need to format this */
+	escaped_details = pk_error_format_details (details);
+
+	dialog = gtk_message_dialog_new (GTK_WINDOW (main_window), GTK_DIALOG_DESTROY_WITH_PARENT,
+					 GTK_MESSAGE_ERROR, GTK_BUTTONS_CLOSE, title);
+	gtk_message_dialog_format_secondary_markup (GTK_MESSAGE_DIALOG (dialog), escaped_details);
+	gtk_dialog_run (GTK_DIALOG (dialog));
+	gtk_widget_destroy (GTK_WIDGET (dialog));
+	g_free (escaped_details);
+}
+
+/**
+ * pk_updates_error_code_cb:
+ **/
+static void
+pk_updates_error_code_cb (PkClient *client, PkErrorCodeEnum code, const gchar *details, gpointer data)
+{
+	pk_updates_error_message (pk_error_enum_to_localised_text (code), details);
+}
+
+/**
  * main:
  **/
 int
@@ -838,6 +871,8 @@
 			  G_CALLBACK (pk_updates_update_detail_cb), NULL);
 	g_signal_connect (client, "transaction-status-changed",
 			  G_CALLBACK (pk_updates_transaction_status_changed_cb), NULL);
+	g_signal_connect (client, "error-code",
+			  G_CALLBACK (pk_updates_error_code_cb), NULL);
 
 	/* get actions */
 	role_list = pk_client_get_actions (client);

Modified: trunk/src/pk-watch.c
==============================================================================
--- trunk/src/pk-watch.c	(original)
+++ trunk/src/pk-watch.c	Mon Jan  7 20:54:40 2008
@@ -320,8 +320,8 @@
 
 	/* libnotify dialog */
 	pk_smart_icon_notify_new (watch->priv->sicon, _("Task completed"), message,
-			      "help-browser", PK_NOTIFY_URGENCY_LOW, PK_NOTIFY_TIMEOUT_SHORT);
-	pk_smart_icon_notify_button (watch->priv->sicon, PK_NOTIFY_BUTTON_DO_NOT_SHOW_AGAIN, NULL);
+				  "help-browser", PK_NOTIFY_URGENCY_LOW, PK_NOTIFY_TIMEOUT_SHORT);
+	pk_smart_icon_notify_button (watch->priv->sicon, PK_NOTIFY_BUTTON_DO_NOT_SHOW_AGAIN, PK_CONF_NOTIFY_COMPLETED);
 	pk_smart_icon_notify_show (watch->priv->sicon);
 	g_free (message);
 	g_free (package_id);
@@ -363,8 +363,9 @@
 	/* we need to format this */
 	escaped_details = pk_error_format_details (details);
 
-	pk_smart_icon_notify_new (watch->priv->sicon, title, escaped_details, "help-browser", PK_NOTIFY_URGENCY_LOW, PK_NOTIFY_TIMEOUT_LONG);
-	pk_smart_icon_notify_button (watch->priv->sicon, PK_NOTIFY_BUTTON_DO_NOT_SHOW_AGAIN, NULL);
+	pk_smart_icon_notify_new (watch->priv->sicon, title, escaped_details, "help-browser",
+				  PK_NOTIFY_URGENCY_LOW, PK_NOTIFY_TIMEOUT_LONG);
+	pk_smart_icon_notify_button (watch->priv->sicon, PK_NOTIFY_BUTTON_DO_NOT_SHOW_AGAIN, PK_CONF_NOTIFY_ERROR);
 	pk_smart_icon_notify_show (watch->priv->sicon);
 	g_free (escaped_details);
 }
@@ -388,13 +389,59 @@
 	/* we need to format this */
 	escaped_details = pk_error_format_details (details);
 
-	pk_smart_icon_notify_new (watch->priv->sicon, title, escaped_details, filename, PK_NOTIFY_URGENCY_LOW, PK_NOTIFY_TIMEOUT_NEVER);
-	pk_smart_icon_notify_button (watch->priv->sicon, PK_NOTIFY_BUTTON_DO_NOT_SHOW_AGAIN, NULL);
+	pk_smart_icon_notify_new (watch->priv->sicon, title, escaped_details, filename,
+				  PK_NOTIFY_URGENCY_LOW, PK_NOTIFY_TIMEOUT_NEVER);
+	pk_smart_icon_notify_button (watch->priv->sicon, PK_NOTIFY_BUTTON_DO_NOT_SHOW_AGAIN, PK_CONF_NOTIFY_MESSAGE);
 	pk_smart_icon_notify_show (watch->priv->sicon);
 	g_free (escaped_details);
 }
 
 /**
+ * pk_watch_about_dialog_url_cb:
+ **/
+static void 
+pk_watch_about_dialog_url_cb (GtkAboutDialog *about, const char *address, gpointer data)
+{
+	GError *error = NULL;
+	gboolean ret;
+	char *cmdline;
+	GdkScreen *gscreen;
+	GtkWidget *error_dialog;
+	gchar *url;
+	gchar *protocol = (gchar*) data;
+
+	if (protocol != NULL)
+		url = g_strconcat (protocol, address, NULL);
+	else
+		url = g_strdup (address);
+
+	gscreen = gtk_window_get_screen (GTK_WINDOW (about));
+
+	cmdline = g_strconcat ("xdg-open ", url, NULL);
+	ret = gdk_spawn_command_line_on_screen (gscreen, cmdline, &error);
+	g_free (cmdline);
+
+	if (ret == TRUE)
+		goto out;
+
+	g_error_free (error);
+	error = NULL;
+
+	cmdline = g_strconcat ("gnome-open ", url, NULL);
+	ret = gdk_spawn_command_line_on_screen (gscreen, cmdline, &error);
+	g_free (cmdline);
+        
+	if (ret == FALSE) {
+		error_dialog = gtk_message_dialog_new (NULL, GTK_DIALOG_MODAL, GTK_MESSAGE_INFO, GTK_BUTTONS_OK, "Failed to show url %s", error->message); 
+		gtk_dialog_run (GTK_DIALOG (error_dialog));
+		g_error_free (error);
+	}
+
+out:
+	g_free (url);
+}
+
+/**
  * pk_watch_show_about_cb:
  **/
 static void
@@ -434,6 +481,14 @@
 	license_trans = g_strconcat (_(license[0]), "\n\n", _(license[1]), "\n\n",
 				     _(license[2]), "\n\n", _(license[3]), "\n",  NULL);
 
+	/* FIXME: unnecessary with libgnomeui >= 2.16.0 */
+	static gboolean been_here = FALSE;
+	if (!been_here) {
+		been_here = TRUE;
+		gtk_about_dialog_set_url_hook (pk_watch_about_dialog_url_cb, NULL, NULL);
+		gtk_about_dialog_set_email_hook (pk_watch_about_dialog_url_cb, "mailto:";, NULL);
+	}
+
 	gtk_window_set_default_icon_name ("system-installer");
 	gtk_show_about_dialog (NULL,
 			       "version", VERSION,
@@ -524,7 +579,6 @@
 		pk_warning ("failed to refresh cache");
 		pk_smart_icon_notify_new (watch->priv->sicon, _("Failed to refresh cache"), _("Client action was refused"),
 				      "process-stop", PK_NOTIFY_URGENCY_LOW, PK_NOTIFY_TIMEOUT_SHORT);
-		pk_smart_icon_notify_button (watch->priv->sicon, PK_NOTIFY_BUTTON_DO_NOT_SHOW_AGAIN, NULL);
 		pk_smart_icon_notify_show (watch->priv->sicon);
 	}
 }



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]