gnome-packagekit r429 - in trunk: . data help/C po src



Author: rhughes
Date: Wed Nov 19 16:27:11 2008
New Revision: 429
URL: http://svn.gnome.org/viewvc/gnome-packagekit?rev=429&view=rev

Log:
latest snapshot from git

Modified:
   trunk/Makefile.am
   trunk/NEWS
   trunk/configure.ac
   trunk/data/gpk-backend-status.glade
   trunk/data/gpk-client.glade
   trunk/data/gpk-error.glade
   trunk/data/gpk-eula.glade
   trunk/data/gpk-log.glade
   trunk/data/gpk-prefs.glade
   trunk/data/gpk-repo.glade
   trunk/data/gpk-service-pack.glade
   trunk/data/gpk-signature.glade
   trunk/help/C/gnome-packagekit.xml
   trunk/po/POTFILES.in
   trunk/src/Makefile.am
   trunk/src/gpk-application-main.c
   trunk/src/gpk-application.c
   trunk/src/gpk-backend-status.c
   trunk/src/gpk-client-chooser.c
   trunk/src/gpk-client-dialog.c
   trunk/src/gpk-client-eula.c
   trunk/src/gpk-client-run.c
   trunk/src/gpk-client-signature.c
   trunk/src/gpk-client-untrusted.c
   trunk/src/gpk-client.c
   trunk/src/gpk-common.c
   trunk/src/gpk-common.h
   trunk/src/gpk-dialog.c
   trunk/src/gpk-enum.c
   trunk/src/gpk-error.c
   trunk/src/gpk-install-catalog.c
   trunk/src/gpk-install-local-file.c
   trunk/src/gpk-install-mime-type.c
   trunk/src/gpk-install-package-name.c
   trunk/src/gpk-install-provide-file.c
   trunk/src/gpk-log.c
   trunk/src/gpk-prefs.c
   trunk/src/gpk-repo.c
   trunk/src/gpk-service-pack.c
   trunk/src/gpk-update-icon.c
   trunk/src/gpk-update-viewer.c
   trunk/src/gpk-watch.c

Modified: trunk/Makefile.am
==============================================================================
--- trunk/Makefile.am	(original)
+++ trunk/Makefile.am	Wed Nov 19 16:27:11 2008
@@ -3,6 +3,7 @@
 	man						\
 	src						\
 	po						\
+	python						\
 	data						\
 	help
 

Modified: trunk/NEWS
==============================================================================
--- trunk/NEWS	(original)
+++ trunk/NEWS	Wed Nov 19 16:27:11 2008
@@ -1,3 +1,47 @@
+Version 0.3.10
+~~~~~~~~~~~~~~
+Released: 2008-11-10
+
+* Translations
+ - Added Marathi Translation (Sandeep Shedmake)
+ - Added Oriya Translation (Manoj Kumar Giri)
+ - Updated Spanish translation (Daniel Mustieles)
+ - Updated Swedish translation (Daniel Nylander)
+ - Updated Norwegian Bokmal translation (Kjartan Maraas)
+ - Updated Brazilian Portuguese translation (Leonardo Ferreira Fontenelle)
+ - Updated Hebrew Translation (Mark Krapivner)
+ - Updated Polish translation (Tomasz Dominikowski)
+ - Updated Finnish translation (Ville-Pekka Vainio)
+
+* New Features:
+ - Add InstallCatalog for applications to use in the session (Jan Niklas Hasse)
+ - Add InstallPackageNames so we can install multiple packages in one call (Richard Hughes)
+ - Allow pressing escape to clear the preferences capplet (Richard Hughes)
+ - Add a IsPackageInstalled() method for Anjunta (Richard Hughes)
+ - Add Python GTK widgets (Sebastian Heinlein)
+
+* Bugfix:
+ - Use g_mkdir_with_parents when a new enough GIO is not available (Debarshi Ray)
+ - Fix up a few strings after a translation review (Nils Philippsen)
+ - Fix the size request of gpk-application to fix rh#467987 (Richard Hughes)
+ - Fix a lot of translations, and use translator comments where possible (Richard Hughes)
+ - Fix the interaction when installing local files by only showing the copy
+   dialog for non-native paths. Also add a confirm dialog when the files
+   were installed correctly. Fixes rh#469275 (Richard Hughes)
+ - Don't free the value when doing InstallPackageNames(). Fixes fd#18327 (Richard Hughes)
+ - Remove the autocompletion and menu choice GTK options in gpk-application (Richard Hughes)
+ - Don't print a critical warning when not on a session (Richard Hughes)
+ - Allow users to run tools as root after a stern security warning as just
+   closing is slightly rude. Fixes rh#469539 (Richard Hughes)
+ - Make the signature required window modal over the client dialog (Richard Hughes)
+ - Add a quit menu item under the system group in gpk-application (Richard Hughes)
+ - Don't use bullets when there is only one item in the list. Fixes rh#469966 (Richard Hughes)
+ - Don't show the non-local warning for the update icon on a terminal client,
+   just for other applications (Richard Hughes)
+ - Python widgets: Make the progress dialog wider by default (Sebastian Heinlein)
+ - Python widgets: Import the client module in the example only (Sebastian Heinlein)
+ - Python widgets: Show the role of the transaction in the progress window (Sebastian Heinlein)
+
 Version 0.3.9
 ~~~~~~~~~~~~~
 Released: 2008-10-27

Modified: trunk/configure.ac
==============================================================================
--- trunk/configure.ac	(original)
+++ trunk/configure.ac	Wed Nov 19 16:27:11 2008
@@ -1,6 +1,6 @@
 AC_PREREQ(2.52)
 
-AC_INIT(gnome-packagekit, 0.3.10)
+AC_INIT(gnome-packagekit, 0.3.11)
 AC_CONFIG_SRCDIR(src)
 AM_INIT_AUTOMAKE(AC_PACKAGE_NAME, AC_PACKAGE_VERSION)
 AM_CONFIG_HEADER(config.h)
@@ -17,6 +17,10 @@
 # set up gtk-doc
 GTK_DOC_CHECK(1.9)
 
+AM_PATH_PYTHON
+PYTHON_PACKAGE_DIR=${pythondir}/packagekit
+AC_SUBST(PYTHON_PACKAGE_DIR)
+
 AC_PATH_PROG(GLIB_GENMARSHAL, glib-genmarshal)
 
 dnl ---------------------------------------------------------------------------
@@ -256,6 +260,8 @@
 data/icons/48x48/status/Makefile
 data/icons/scalable/categories/Makefile
 data/icons/scalable/status/Makefile
+python/Makefile
+python/packagekit/Makefile
 ])
 
 dnl ==========================================================================

Modified: trunk/data/gpk-backend-status.glade
==============================================================================
--- trunk/data/gpk-backend-status.glade	(original)
+++ trunk/data/gpk-backend-status.glade	Wed Nov 19 16:27:11 2008
@@ -2,20 +2,22 @@
 <!DOCTYPE glade-interface SYSTEM "glade-2.0.dtd">
 <!--*- mode: xml -*-->
 <glade-interface>
-  <widget class="GtkWindow" id="window_backend">
-    <property name="title">Backend Status</property>
+  <widget class="GtkDialog" id="dialog_backend">
+    <property name="border_width">6</property>
+    <property name="title" translatable="yes">Backend Status</property>
     <property name="resizable">False</property>
     <property name="modal">True</property>
-    <property name="window_position">GTK_WIN_POS_CENTER</property>
-    <property name="icon_name">gtk-info</property>
-    <child>
-      <widget class="GtkVBox" id="vbox1">
+    <property name="window_position">GTK_WIN_POS_CENTER_ON_PARENT</property>
+    <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
+    <property name="has_separator">False</property>
+    <child internal-child="vbox">
+      <widget class="GtkVBox" id="dialog-vbox1">
         <property name="visible">True</property>
-        <property name="border_width">5</property>
-        <property name="spacing">5</property>
+        <property name="spacing">2</property>
         <child>
           <widget class="GtkVBox" id="vbox_rows">
             <property name="visible">True</property>
+            <property name="border_width">6</property>
             <property name="spacing">7</property>
             <child>
               <widget class="GtkFrame" id="frame4">
@@ -1020,12 +1022,12 @@
           </widget>
           <packing>
             <property name="expand">False</property>
+            <property name="position">1</property>
           </packing>
         </child>
-        <child>
-          <widget class="GtkHButtonBox" id="hbuttonbox1">
+        <child internal-child="action_area">
+          <widget class="GtkHButtonBox" id="dialog-action_area1">
             <property name="visible">True</property>
-            <property name="spacing">5</property>
             <property name="layout_style">GTK_BUTTONBOX_END</property>
             <child>
               <widget class="GtkButton" id="button_close">
@@ -1040,8 +1042,7 @@
           </widget>
           <packing>
             <property name="expand">False</property>
-            <property name="fill">False</property>
-            <property name="position">1</property>
+            <property name="pack_type">GTK_PACK_END</property>
           </packing>
         </child>
       </widget>

Modified: trunk/data/gpk-client.glade
==============================================================================
--- trunk/data/gpk-client.glade	(original)
+++ trunk/data/gpk-client.glade	Wed Nov 19 16:27:11 2008
@@ -2,21 +2,23 @@
 <!DOCTYPE glade-interface SYSTEM "glade-2.0.dtd">
 <!--*- mode: xml -*-->
 <glade-interface>
-  <widget class="GtkWindow" id="window_client">
+  <widget class="GtkDialog" id="dialog_client">
+    <property name="border_width">6</property>
     <property name="title" translatable="yes">Install Package</property>
     <property name="resizable">False</property>
     <property name="modal">True</property>
-    <property name="window_position">GTK_WIN_POS_CENTER</property>
+    <property name="window_position">GTK_WIN_POS_CENTER_ON_PARENT</property>
     <property name="icon_name">system-software-update</property>
     <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
-    <child>
-      <widget class="GtkVBox" id="vbox_check">
+    <property name="has_separator">False</property>
+    <child internal-child="vbox">
+      <widget class="GtkVBox" id="dialog-vbox1">
         <property name="visible">True</property>
-        <property name="border_width">12</property>
-        <property name="spacing">9</property>
+        <property name="spacing">2</property>
         <child>
           <widget class="GtkHBox" id="hbox2">
             <property name="visible">True</property>
+            <property name="border_width">6</property>
             <property name="spacing">12</property>
             <child>
               <widget class="GtkVBox" id="vbox8">
@@ -28,6 +30,10 @@
                       <widget class="Custom" id="image_status">
                         <property name="visible">True</property>
                       </widget>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                      </packing>
                     </child>
                   </widget>
                   <packing>
@@ -148,11 +154,13 @@
               </packing>
             </child>
           </widget>
+          <packing>
+            <property name="position">1</property>
+          </packing>
         </child>
-        <child>
-          <widget class="GtkHButtonBox" id="buttonbox_main">
+        <child internal-child="action_area">
+          <widget class="GtkHButtonBox" id="dialog-action_area1">
             <property name="visible">True</property>
-            <property name="spacing">6</property>
             <property name="layout_style">GTK_BUTTONBOX_END</property>
             <child>
               <widget class="GtkButton" id="button_help">
@@ -208,8 +216,7 @@
           </widget>
           <packing>
             <property name="expand">False</property>
-            <property name="fill">False</property>
-            <property name="position">1</property>
+            <property name="pack_type">GTK_PACK_END</property>
           </packing>
         </child>
       </widget>

Modified: trunk/data/gpk-error.glade
==============================================================================
--- trunk/data/gpk-error.glade	(original)
+++ trunk/data/gpk-error.glade	Wed Nov 19 16:27:11 2008
@@ -2,17 +2,18 @@
 <!DOCTYPE glade-interface SYSTEM "glade-2.0.dtd">
 <!--*- mode: xml -*-->
 <glade-interface>
-  <widget class="GtkWindow" id="window_error">
+  <widget class="GtkDialog" id="dialog_error">
+    <property name="border_width">6</property>
     <property name="resizable">False</property>
     <property name="modal">True</property>
     <property name="window_position">GTK_WIN_POS_CENTER_ON_PARENT</property>
     <property name="destroy_with_parent">True</property>
     <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
-    <child>
-      <widget class="GtkVBox" id="vbox1">
+    <property name="has_separator">False</property>
+    <child internal-child="vbox">
+      <widget class="GtkVBox" id="dialog-vbox1">
         <property name="visible">True</property>
-        <property name="border_width">10</property>
-        <property name="spacing">12</property>
+        <property name="spacing">2</property>
         <child>
           <widget class="GtkHBox" id="hbox1">
             <property name="visible">True</property>
@@ -124,12 +125,12 @@
           </widget>
           <packing>
             <property name="expand">False</property>
+            <property name="position">1</property>
           </packing>
         </child>
-        <child>
-          <widget class="GtkHButtonBox" id="hbuttonbox2">
+        <child internal-child="action_area">
+          <widget class="GtkHButtonBox" id="dialog-action_area1">
             <property name="visible">True</property>
-            <property name="spacing">6</property>
             <property name="layout_style">GTK_BUTTONBOX_END</property>
             <child>
               <widget class="GtkButton" id="button_close">
@@ -149,7 +150,6 @@
           <packing>
             <property name="expand">False</property>
             <property name="pack_type">GTK_PACK_END</property>
-            <property name="position">1</property>
           </packing>
         </child>
       </widget>

Modified: trunk/data/gpk-eula.glade
==============================================================================
--- trunk/data/gpk-eula.glade	(original)
+++ trunk/data/gpk-eula.glade	Wed Nov 19 16:27:11 2008
@@ -2,66 +2,26 @@
 <!DOCTYPE glade-interface SYSTEM "glade-2.0.dtd">
 <!--*- mode: xml -*-->
 <glade-interface>
-  <widget class="GtkWindow" id="window_eula">
+  <widget class="GtkDialog" id="dialog_eula">
+    <property name="border_width">6</property>
     <property name="title" translatable="yes">License Agreement Required</property>
-    <property name="resizable">False</property>
     <property name="modal">True</property>
     <property name="window_position">GTK_WIN_POS_CENTER_ON_PARENT</property>
-    <property name="destroy_with_parent">True</property>
     <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
-    <child>
-      <widget class="GtkVBox" id="vbox1">
+    <property name="has_separator">False</property>
+    <child internal-child="vbox">
+      <widget class="GtkVBox" id="dialog-vbox1">
         <property name="visible">True</property>
-        <property name="border_width">10</property>
-        <property name="spacing">12</property>
+        <property name="spacing">2</property>
         <child>
           <widget class="GtkTable" id="table1">
             <property name="visible">True</property>
+            <property name="border_width">6</property>
             <property name="n_rows">2</property>
             <property name="n_columns">2</property>
             <property name="column_spacing">9</property>
             <property name="row_spacing">12</property>
             <child>
-              <widget class="GtkScrolledWindow" id="scrolledwindow1">
-                <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="GtkTextView" id="textview_details">
-                    <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                    <property name="editable">False</property>
-                    <property name="wrap_mode">GTK_WRAP_WORD</property>
-                    <property name="cursor_visible">False</property>
-                    <property name="accepts_tab">False</property>
-                  </widget>
-                </child>
-              </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>
-              </packing>
-            </child>
-            <child>
-              <widget class="GtkLabel" id="label2">
-                <property name="visible">True</property>
-              </widget>
-              <packing>
-                <property name="top_attach">1</property>
-                <property name="bottom_attach">2</property>
-              </packing>
-            </child>
-            <child>
-              <widget class="GtkImage" id="image1">
-                <property name="visible">True</property>
-                <property name="stock">gtk-dialog-warning</property>
-                <property name="icon_size">6</property>
-              </widget>
-            </child>
-            <child>
               <widget class="GtkVBox" id="vbox3">
                 <property name="visible">True</property>
                 <property name="spacing">12</property>
@@ -99,18 +59,61 @@
               <packing>
                 <property name="left_attach">1</property>
                 <property name="right_attach">2</property>
+                <property name="x_options">GTK_FILL</property>
+                <property name="y_options">GTK_FILL</property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkImage" id="image1">
+                <property name="visible">True</property>
+                <property name="stock">gtk-dialog-warning</property>
+                <property name="icon_size">6</property>
+              </widget>
+              <packing>
+                <property name="y_options"></property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkLabel" id="label2">
+                <property name="visible">True</property>
+              </widget>
+              <packing>
+                <property name="top_attach">1</property>
+                <property name="bottom_attach">2</property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkScrolledWindow" id="scrolledwindow1">
+                <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="GtkTextView" id="textview_details">
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="editable">False</property>
+                    <property name="wrap_mode">GTK_WRAP_WORD</property>
+                    <property name="cursor_visible">False</property>
+                    <property name="accepts_tab">False</property>
+                  </widget>
+                </child>
+              </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>
               </packing>
             </child>
           </widget>
           <packing>
-            <property name="expand">False</property>
-            <property name="fill">False</property>
+            <property name="position">1</property>
           </packing>
         </child>
-        <child>
-          <widget class="GtkHButtonBox" id="hbuttonbox2">
+        <child internal-child="action_area">
+          <widget class="GtkHButtonBox" id="dialog-action_area1">
             <property name="visible">True</property>
-            <property name="spacing">6</property>
             <property name="layout_style">GTK_BUTTONBOX_END</property>
             <child>
               <widget class="GtkButton" id="button_help">
@@ -157,7 +160,6 @@
           <packing>
             <property name="expand">False</property>
             <property name="pack_type">GTK_PACK_END</property>
-            <property name="position">1</property>
           </packing>
         </child>
       </widget>

Modified: trunk/data/gpk-log.glade
==============================================================================
--- trunk/data/gpk-log.glade	(original)
+++ trunk/data/gpk-log.glade	Wed Nov 19 16:27:11 2008
@@ -7,62 +7,80 @@
     <property name="window_position">GTK_WIN_POS_CENTER</property>
     <property name="icon_name">gtk-info</property>
     <child>
-      <widget class="GtkVBox" id="vbox1">
+      <placeholder/>
+    </child>
+  </widget>
+  <widget class="GtkDialog" id="dialog_simple">
+    <property name="border_width">6</property>
+    <property name="title" translatable="yes">Software Log Viewer</property>
+    <property name="window_position">GTK_WIN_POS_CENTER_ON_PARENT</property>
+    <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
+    <property name="has_separator">False</property>
+    <child internal-child="vbox">
+      <widget class="GtkVBox" id="dialog-vbox1">
         <property name="visible">True</property>
-        <property name="border_width">10</property>
-        <property name="spacing">6</property>
+        <property name="spacing">2</property>
         <child>
-          <widget class="GtkHBox" id="hbox_filter">
+          <widget class="GtkVBox" id="vbox1">
             <property name="visible">True</property>
-            <property name="spacing">6</property>
+            <property name="border_width">6</property>
+            <property name="spacing">9</property>
             <child>
-              <widget class="GtkEntry" id="entry_package">
+              <widget class="GtkHBox" id="hbox_filter">
                 <property name="visible">True</property>
-                <property name="can_focus">True</property>
-              </widget>
-            </child>
-            <child>
-              <widget class="GtkButton" id="button_filter">
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="receives_default">True</property>
-                <property name="label" translatable="yes">Filter</property>
-                <property name="response_id">0</property>
+                <property name="spacing">6</property>
+                <child>
+                  <widget class="GtkEntry" id="entry_package">
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                  </widget>
+                </child>
+                <child>
+                  <widget class="GtkButton" id="button_filter">
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">True</property>
+                    <property name="label" translatable="yes">Filter</property>
+                    <property name="response_id">0</property>
+                  </widget>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="position">1</property>
+                  </packing>
+                </child>
               </widget>
               <packing>
                 <property name="expand">False</property>
-                <property name="position">1</property>
               </packing>
             </child>
-          </widget>
-          <packing>
-            <property name="expand">False</property>
-          </packing>
-        </child>
-        <child>
-          <widget class="GtkScrolledWindow" id="scrolledwindow_simple">
-            <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_AUTOMATIC</property>
-            <property name="shadow_type">GTK_SHADOW_IN</property>
             <child>
-              <widget class="GtkTreeView" id="treeview_simple">
+              <widget class="GtkScrolledWindow" id="scrolledwindow_simple">
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
-                <property name="rules_hint">True</property>
-                <property name="show_expanders">False</property>
+                <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+                <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+                <property name="shadow_type">GTK_SHADOW_IN</property>
+                <child>
+                  <widget class="GtkTreeView" id="treeview_simple">
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="rules_hint">True</property>
+                    <property name="show_expanders">False</property>
+                  </widget>
+                </child>
               </widget>
+              <packing>
+                <property name="position">1</property>
+              </packing>
             </child>
           </widget>
           <packing>
             <property name="position">1</property>
           </packing>
         </child>
-        <child>
-          <widget class="GtkHButtonBox" id="buttonbox">
+        <child internal-child="action_area">
+          <widget class="GtkHButtonBox" id="dialog-action_area1">
             <property name="visible">True</property>
-            <property name="spacing">6</property>
             <property name="layout_style">GTK_BUTTONBOX_END</property>
             <child>
               <widget class="GtkButton" id="button_help">
@@ -115,8 +133,7 @@
           </widget>
           <packing>
             <property name="expand">False</property>
-            <property name="fill">False</property>
-            <property name="position">2</property>
+            <property name="pack_type">GTK_PACK_END</property>
           </packing>
         </child>
       </widget>

Modified: trunk/data/gpk-prefs.glade
==============================================================================
--- trunk/data/gpk-prefs.glade	(original)
+++ trunk/data/gpk-prefs.glade	Wed Nov 19 16:27:11 2008
@@ -2,20 +2,21 @@
 <!DOCTYPE glade-interface SYSTEM "glade-2.0.dtd">
 <!--*- mode: xml -*-->
 <glade-interface>
-  <widget class="GtkWindow" id="window_prefs">
+  <widget class="GtkDialog" id="dialog_prefs">
+    <property name="border_width">6</property>
     <property name="title" translatable="yes">Software Update Preferences</property>
-    <property name="resizable">False</property>
     <property name="modal">True</property>
-    <property name="window_position">GTK_WIN_POS_CENTER</property>
-    <property name="icon_name">gtk-info</property>
-    <child>
-      <widget class="GtkVBox" id="vbox7">
+    <property name="window_position">GTK_WIN_POS_CENTER_ON_PARENT</property>
+    <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
+    <property name="has_separator">False</property>
+    <child internal-child="vbox">
+      <widget class="GtkVBox" id="dialog-vbox1">
         <property name="visible">True</property>
-        <property name="border_width">12</property>
-        <property name="spacing">12</property>
+        <property name="spacing">2</property>
         <child>
           <widget class="GtkVBox" id="vbox4">
             <property name="visible">True</property>
+            <property name="border_width">6</property>
             <property name="spacing">18</property>
             <child>
               <widget class="GtkVBox" id="vbox1">
@@ -47,41 +48,30 @@
                             <property name="column_spacing">20</property>
                             <property name="row_spacing">5</property>
                             <child>
-                              <widget class="GtkComboBox" id="combobox_check">
+                              <widget class="GtkComboBox" id="combobox_upgrade">
                                 <property name="visible">True</property>
                                 <property name="items"></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">GTK_FILL</property>
                                 <property name="y_options">GTK_FILL</property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkComboBox" id="combobox_install">
-                                <property name="visible">True</property>
-                                <property name="items"></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="y_options">GTK_FILL</property>
-                              </packing>
-                            </child>
-                            <child>
-                              <widget class="GtkLabel" id="label_install">
+                              <widget class="GtkLabel" id="label_upgrade">
                                 <property name="visible">True</property>
                                 <property name="xalign">0</property>
-                                <property name="label" translatable="yes">_Automatically install:</property>
+                                <property name="label" translatable="yes">Check for major _upgrades:</property>
                                 <property name="use_underline">True</property>
-                                <property name="mnemonic_widget">combobox_install</property>
+                                <property name="mnemonic_widget">combobox_check</property>
                               </widget>
                               <packing>
-                                <property name="top_attach">1</property>
-                                <property name="bottom_attach">2</property>
+                                <property name="top_attach">2</property>
+                                <property name="bottom_attach">3</property>
                                 <property name="x_options">GTK_FILL</property>
                                 <property name="y_options"></property>
                               </packing>
@@ -100,30 +90,41 @@
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkLabel" id="label_upgrade">
+                              <widget class="GtkLabel" id="label_install">
                                 <property name="visible">True</property>
                                 <property name="xalign">0</property>
-                                <property name="label" translatable="yes">Check for major _upgrades:</property>
+                                <property name="label" translatable="yes">_Automatically install:</property>
                                 <property name="use_underline">True</property>
-                                <property name="mnemonic_widget">combobox_check</property>
+                                <property name="mnemonic_widget">combobox_install</property>
                               </widget>
                               <packing>
-                                <property name="top_attach">2</property>
-                                <property name="bottom_attach">3</property>
+                                <property name="top_attach">1</property>
+                                <property name="bottom_attach">2</property>
                                 <property name="x_options">GTK_FILL</property>
                                 <property name="y_options"></property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkComboBox" id="combobox_upgrade">
+                              <widget class="GtkComboBox" id="combobox_install">
+                                <property name="visible">True</property>
+                                <property name="items"></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="y_options">GTK_FILL</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <widget class="GtkComboBox" id="combobox_check">
                                 <property name="visible">True</property>
                                 <property name="items"></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">GTK_FILL</property>
                                 <property name="y_options">GTK_FILL</property>
                               </packing>
@@ -210,12 +211,12 @@
           <packing>
             <property name="expand">False</property>
             <property name="fill">False</property>
+            <property name="position">2</property>
           </packing>
         </child>
-        <child>
-          <widget class="GtkHButtonBox" id="hbuttonbox1">
+        <child internal-child="action_area">
+          <widget class="GtkHButtonBox" id="dialog-action_area1">
             <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">
@@ -246,8 +247,7 @@
           </widget>
           <packing>
             <property name="expand">False</property>
-            <property name="fill">False</property>
-            <property name="position">1</property>
+            <property name="pack_type">GTK_PACK_END</property>
           </packing>
         </child>
       </widget>

Modified: trunk/data/gpk-repo.glade
==============================================================================
--- trunk/data/gpk-repo.glade	(original)
+++ trunk/data/gpk-repo.glade	Wed Nov 19 16:27:11 2008
@@ -2,86 +2,95 @@
 <!DOCTYPE glade-interface SYSTEM "glade-2.0.dtd">
 <!--*- mode: xml -*-->
 <glade-interface>
-  <widget class="GtkWindow" id="window_repo">
+  <widget class="GtkDialog" id="dialog_repo">
+    <property name="border_width">6</property>
     <property name="title" translatable="yes">Software Sources</property>
     <property name="modal">True</property>
-    <property name="window_position">GTK_WIN_POS_CENTER</property>
-    <property name="icon_name">gtk-info</property>
+    <property name="window_position">GTK_WIN_POS_CENTER_ON_PARENT</property>
     <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
-    <child>
-      <widget class="GtkVBox" id="vbox1">
+    <property name="has_separator">False</property>
+    <child internal-child="vbox">
+      <widget class="GtkVBox" id="dialog-vbox1">
         <property name="visible">True</property>
-        <property name="border_width">10</property>
-        <property name="spacing">6</property>
+        <property name="spacing">2</property>
         <child>
-          <widget class="GtkScrolledWindow" id="scrolledwindow_repo">
+          <widget class="GtkVBox" id="vbox1">
             <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="border_width">6</property>
+            <property name="spacing">6</property>
             <child>
-              <widget class="GtkTreeView" id="treeview_repo">
+              <widget class="GtkScrolledWindow" id="scrolledwindow_repo">
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
-              </widget>
-            </child>
-          </widget>
-        </child>
-        <child>
-          <widget class="GtkViewport" id="viewport_animation_preview">
-            <property name="resize_mode">GTK_RESIZE_QUEUE</property>
-            <child>
-              <widget class="GtkHBox" id="hbox_animation">
-                <property name="visible">True</property>
-                <property name="spacing">6</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>
                 <child>
-                  <widget class="Custom" id="image_animation">
+                  <widget class="GtkTreeView" id="treeview_repo">
                     <property name="visible">True</property>
+                    <property name="can_focus">True</property>
                   </widget>
-                  <packing>
-                    <property name="expand">False</property>
-                    <property name="fill">False</property>
-                  </packing>
                 </child>
+              </widget>
+            </child>
+            <child>
+              <widget class="GtkViewport" id="viewport_animation_preview">
+                <property name="resize_mode">GTK_RESIZE_QUEUE</property>
                 <child>
-                  <widget class="GtkLabel" id="label_animation">
+                  <widget class="GtkHBox" id="hbox_animation">
                     <property name="visible">True</property>
-                    <property name="label">&lt;b&gt;Another system update is in progress&lt;/b&gt;</property>
-                    <property name="use_markup">True</property>
+                    <property name="spacing">6</property>
+                    <child>
+                      <widget class="Custom" id="image_animation">
+                        <property name="visible">True</property>
+                      </widget>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkLabel" id="label_animation">
+                        <property name="visible">True</property>
+                        <property name="label">&lt;b&gt;Another system update is in progress&lt;/b&gt;</property>
+                        <property name="use_markup">True</property>
+                      </widget>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="position">1</property>
+                      </packing>
+                    </child>
                   </widget>
-                  <packing>
-                    <property name="expand">False</property>
-                    <property name="position">1</property>
-                  </packing>
                 </child>
               </widget>
+              <packing>
+                <property name="expand">False</property>
+                <property name="position">1</property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkCheckButton" id="checkbutton_detail">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="tooltip" translatable="yes">Shows more software sources that may be interesting</property>
+                <property name="label" translatable="yes" comments="shows extra -source, -debuginfo, and -devel software sources">_Show debug and development software sources</property>
+                <property name="use_underline">True</property>
+                <property name="response_id">0</property>
+                <property name="draw_indicator">True</property>
+              </widget>
+              <packing>
+                <property name="expand">False</property>
+                <property name="position">2</property>
+              </packing>
             </child>
           </widget>
           <packing>
-            <property name="expand">False</property>
             <property name="position">1</property>
           </packing>
         </child>
-        <child>
-          <widget class="GtkCheckButton" id="checkbutton_detail">
-            <property name="visible">True</property>
-            <property name="can_focus">True</property>
-            <property name="tooltip" translatable="yes">Shows more software sources that may be interesting</property>
-            <property name="label" translatable="yes" comments="shows extra -source, -debuginfo, and -devel software sources">_Show debug and development software sources</property>
-            <property name="use_underline">True</property>
-            <property name="response_id">0</property>
-            <property name="draw_indicator">True</property>
-          </widget>
-          <packing>
-            <property name="expand">False</property>
-            <property name="position">2</property>
-          </packing>
-        </child>
-        <child>
-          <widget class="GtkHButtonBox" id="hbuttonbox1">
+        <child internal-child="action_area">
+          <widget class="GtkHButtonBox" id="dialog-action_area1">
             <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">
@@ -112,8 +121,7 @@
           </widget>
           <packing>
             <property name="expand">False</property>
-            <property name="fill">False</property>
-            <property name="position">3</property>
+            <property name="pack_type">GTK_PACK_END</property>
           </packing>
         </child>
       </widget>

Modified: trunk/data/gpk-service-pack.glade
==============================================================================
--- trunk/data/gpk-service-pack.glade	(original)
+++ trunk/data/gpk-service-pack.glade	Wed Nov 19 16:27:11 2008
@@ -1,245 +1,256 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <!DOCTYPE glade-interface SYSTEM "glade-2.0.dtd">
-<!--Generated with glade3 3.4.5 on Mon Oct 27 15:55:30 2008 -->
+<!--Generated with glade3 3.4.5 on Mon Nov 17 12:50:47 2008 -->
 <glade-interface>
-  <widget class="GtkWindow" id="window_pack">
+  <widget class="GtkDialog" id="dialog_pack">
+    <property name="border_width">6</property>
     <property name="title" translatable="yes">Service Pack Creator</property>
     <property name="resizable">False</property>
+    <property name="window_position">GTK_WIN_POS_CENTER_ON_PARENT</property>
     <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
-    <child>
-      <widget class="GtkVBox" id="vbox1">
+    <property name="has_separator">False</property>
+    <child internal-child="vbox">
+      <widget class="GtkVBox" id="dialog-vbox1">
         <property name="visible">True</property>
-        <property name="border_width">9</property>
-        <property name="spacing">9</property>
+        <property name="spacing">2</property>
         <child>
-          <widget class="GtkFrame" id="frame_type">
+          <widget class="GtkVBox" id="vbox1">
             <property name="visible">True</property>
-            <property name="label_xalign">0</property>
-            <property name="shadow_type">GTK_SHADOW_NONE</property>
+            <property name="border_width">6</property>
+            <property name="spacing">9</property>
             <child>
-              <widget class="GtkAlignment" id="alignment1">
+              <widget class="GtkFrame" id="frame_type">
                 <property name="visible">True</property>
-                <property name="top_padding">9</property>
-                <property name="bottom_padding">6</property>
-                <property name="left_padding">21</property>
+                <property name="label_xalign">0</property>
+                <property name="shadow_type">GTK_SHADOW_NONE</property>
                 <child>
-                  <widget class="GtkVBox" id="vbox3">
+                  <widget class="GtkAlignment" id="alignment1">
                     <property name="visible">True</property>
-                    <property name="spacing">3</property>
+                    <property name="top_padding">9</property>
+                    <property name="bottom_padding">6</property>
+                    <property name="left_padding">21</property>
                     <child>
-                      <widget class="GtkRadioButton" id="radiobutton_copy">
+                      <widget class="GtkVBox" id="vbox3">
                         <property name="visible">True</property>
-                        <property name="can_focus">True</property>
-                        <property name="label" translatable="yes">Create a copy of this computers package list</property>
-                        <property name="response_id">0</property>
-                        <property name="draw_indicator">True</property>
-                        <property name="group">radiobutton_updates</property>
-                      </widget>
-                    </child>
-                    <child>
-                      <widget class="GtkRadioButton" id="radiobutton_updates">
-                        <property name="visible">True</property>
-                        <property name="can_focus">True</property>
-                        <property name="label" translatable="yes">Create an archive of all the pending updates</property>
-                        <property name="response_id">0</property>
-                        <property name="active">True</property>
-                        <property name="draw_indicator">True</property>
-                      </widget>
-                      <packing>
-                        <property name="position">1</property>
-                      </packing>
-                    </child>
-                    <child>
-                      <widget class="GtkRadioButton" id="radiobutton_package">
-                        <property name="visible">True</property>
-                        <property name="can_focus">True</property>
-                        <property name="label" translatable="yes">Create an archive of a specific package</property>
-                        <property name="response_id">0</property>
-                        <property name="draw_indicator">True</property>
-                        <property name="group">radiobutton_updates</property>
-                      </widget>
-                      <packing>
-                        <property name="position">2</property>
-                      </packing>
-                    </child>
-                    <child>
-                      <widget class="GtkAlignment" id="alignment4">
-                        <property name="visible">True</property>
-                        <property name="left_padding">22</property>
+                        <property name="spacing">3</property>
                         <child>
-                          <widget class="GtkEntry" id="entry_package">
+                          <widget class="GtkRadioButton" id="radiobutton_copy">
                             <property name="visible">True</property>
-                            <property name="sensitive">False</property>
                             <property name="can_focus">True</property>
+                            <property name="label" translatable="yes">Create a copy of this computers package list</property>
+                            <property name="response_id">0</property>
+                            <property name="draw_indicator">True</property>
+                            <property name="group">radiobutton_updates</property>
+                          </widget>
+                        </child>
+                        <child>
+                          <widget class="GtkRadioButton" id="radiobutton_updates">
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="label" translatable="yes">Create an archive of all the pending updates</property>
+                            <property name="response_id">0</property>
+                            <property name="active">True</property>
+                            <property name="draw_indicator">True</property>
+                          </widget>
+                          <packing>
+                            <property name="position">1</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <widget class="GtkRadioButton" id="radiobutton_package">
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="label" translatable="yes">Create an archive of a specific package</property>
+                            <property name="response_id">0</property>
+                            <property name="draw_indicator">True</property>
+                            <property name="group">radiobutton_updates</property>
+                          </widget>
+                          <packing>
+                            <property name="position">2</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <widget class="GtkAlignment" id="alignment4">
+                            <property name="visible">True</property>
+                            <property name="left_padding">22</property>
+                            <child>
+                              <widget class="GtkEntry" id="entry_package">
+                                <property name="visible">True</property>
+                                <property name="sensitive">False</property>
+                                <property name="can_focus">True</property>
+                              </widget>
+                            </child>
                           </widget>
+                          <packing>
+                            <property name="position">3</property>
+                          </packing>
                         </child>
                       </widget>
-                      <packing>
-                        <property name="position">3</property>
-                      </packing>
                     </child>
                   </widget>
                 </child>
-              </widget>
-            </child>
-            <child>
-              <widget class="GtkLabel" id="label8">
-                <property name="visible">True</property>
-                <property name="label" translatable="yes">&lt;b&gt;Action&lt;/b&gt;</property>
-                <property name="use_markup">True</property>
+                <child>
+                  <widget class="GtkLabel" id="label8">
+                    <property name="visible">True</property>
+                    <property name="label" translatable="yes">&lt;b&gt;Action&lt;/b&gt;</property>
+                    <property name="use_markup">True</property>
+                  </widget>
+                  <packing>
+                    <property name="type">label_item</property>
+                  </packing>
+                </child>
               </widget>
               <packing>
-                <property name="type">label_item</property>
+                <property name="expand">False</property>
               </packing>
             </child>
-          </widget>
-          <packing>
-            <property name="expand">False</property>
-          </packing>
-        </child>
-        <child>
-          <widget class="GtkFrame" id="frame_details">
-            <property name="visible">True</property>
-            <property name="label_xalign">0</property>
-            <property name="shadow_type">GTK_SHADOW_NONE</property>
             <child>
-              <widget class="GtkAlignment" id="alignment2">
+              <widget class="GtkFrame" id="frame_details">
                 <property name="visible">True</property>
-                <property name="top_padding">9</property>
-                <property name="left_padding">21</property>
+                <property name="label_xalign">0</property>
+                <property name="shadow_type">GTK_SHADOW_NONE</property>
                 <child>
-                  <widget class="GtkTable" id="table1">
+                  <widget class="GtkAlignment" id="alignment2">
                     <property name="visible">True</property>
-                    <property name="n_rows">2</property>
-                    <property name="n_columns">2</property>
-                    <property name="column_spacing">6</property>
-                    <property name="row_spacing">6</property>
-                    <child>
-                      <widget class="GtkFileChooserButton" id="filechooserbutton_directory">
-                        <property name="visible">True</property>
-                        <property name="use_preview_label">False</property>
-                        <property name="preview_widget_active">False</property>
-                        <property name="do_overwrite_confirmation">True</property>
-                        <property name="local_only">False</property>
-                        <property name="action">GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER</property>
-                        <property name="title" translatable="yes">Save New Service Pack</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>
-                      </packing>
-                    </child>
+                    <property name="top_padding">9</property>
+                    <property name="left_padding">21</property>
                     <child>
-                      <widget class="GtkFileChooserButton" id="filechooserbutton_exclude">
-                        <property name="visible">True</property>
-                        <property name="preview_widget_active">False</property>
-                        <property name="do_overwrite_confirmation">True</property>
-                        <property name="local_only">False</property>
-                        <property name="title" translatable="yes">Select A Package List File</property>
-                      </widget>
-                      <packing>
-                        <property name="left_attach">1</property>
-                        <property name="right_attach">2</property>
-                      </packing>
-                    </child>
-                    <child>
-                      <widget class="GtkHBox" id="hbox3">
+                      <widget class="GtkTable" id="table1">
                         <property name="visible">True</property>
+                        <property name="n_rows">2</property>
+                        <property name="n_columns">2</property>
+                        <property name="column_spacing">6</property>
+                        <property name="row_spacing">6</property>
                         <child>
-                          <widget class="GtkLabel" id="label2">
+                          <widget class="GtkHBox" id="hbox1">
                             <property name="visible">True</property>
-                            <property name="label" translatable="yes">Destination package list:</property>
-                            <property name="use_markup">True</property>
+                            <child>
+                              <widget class="GtkLabel" id="label9">
+                                <property name="visible">True</property>
+                                <property name="label" translatable="yes">Output directory:</property>
+                                <property name="use_markup">True</property>
+                              </widget>
+                              <packing>
+                                <property name="expand">False</property>
+                              </packing>
+                            </child>
                           </widget>
                           <packing>
-                            <property name="expand">False</property>
+                            <property name="top_attach">1</property>
+                            <property name="bottom_attach">2</property>
+                            <property name="x_options">GTK_FILL</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <widget class="GtkHBox" id="hbox3">
+                            <property name="visible">True</property>
+                            <child>
+                              <widget class="GtkLabel" id="label2">
+                                <property name="visible">True</property>
+                                <property name="label" translatable="yes">Destination package list:</property>
+                                <property name="use_markup">True</property>
+                              </widget>
+                              <packing>
+                                <property name="expand">False</property>
+                              </packing>
+                            </child>
+                          </widget>
+                          <packing>
+                            <property name="x_options">GTK_FILL</property>
                           </packing>
                         </child>
-                      </widget>
-                      <packing>
-                        <property name="x_options">GTK_FILL</property>
-                      </packing>
-                    </child>
-                    <child>
-                      <widget class="GtkHBox" id="hbox1">
-                        <property name="visible">True</property>
                         <child>
-                          <widget class="GtkLabel" id="label9">
+                          <widget class="GtkFileChooserButton" id="filechooserbutton_exclude">
                             <property name="visible">True</property>
-                            <property name="label" translatable="yes">Output directory:</property>
-                            <property name="use_markup">True</property>
+                            <property name="do_overwrite_confirmation">True</property>
+                            <property name="preview_widget_active">False</property>
+                            <property name="local_only">False</property>
+                            <property name="title" translatable="yes">Select A Package List File</property>
                           </widget>
                           <packing>
-                            <property name="expand">False</property>
+                            <property name="left_attach">1</property>
+                            <property name="right_attach">2</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <widget class="GtkFileChooserButton" id="filechooserbutton_directory">
+                            <property name="visible">True</property>
+                            <property name="use_preview_label">False</property>
+                            <property name="action">GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER</property>
+                            <property name="do_overwrite_confirmation">True</property>
+                            <property name="preview_widget_active">False</property>
+                            <property name="local_only">False</property>
+                            <property name="title" translatable="yes">Save New Service Pack</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>
                           </packing>
                         </child>
                       </widget>
-                      <packing>
-                        <property name="top_attach">1</property>
-                        <property name="bottom_attach">2</property>
-                        <property name="x_options">GTK_FILL</property>
-                      </packing>
                     </child>
                   </widget>
                 </child>
-              </widget>
-            </child>
-            <child>
-              <widget class="GtkLabel" id="label1">
-                <property name="visible">True</property>
-                <property name="label" translatable="yes">&lt;b&gt;Details&lt;/b&gt;</property>
-                <property name="use_markup">True</property>
+                <child>
+                  <widget class="GtkLabel" id="label1">
+                    <property name="visible">True</property>
+                    <property name="label" translatable="yes">&lt;b&gt;Details&lt;/b&gt;</property>
+                    <property name="use_markup">True</property>
+                  </widget>
+                  <packing>
+                    <property name="type">label_item</property>
+                  </packing>
+                </child>
               </widget>
               <packing>
-                <property name="type">label_item</property>
+                <property name="expand">False</property>
+                <property name="position">1</property>
               </packing>
             </child>
-          </widget>
-          <packing>
-            <property name="expand">False</property>
-            <property name="position">1</property>
-          </packing>
-        </child>
-        <child>
-          <widget class="GtkFrame" id="frame_progress">
-            <property name="visible">True</property>
-            <property name="label_xalign">0</property>
-            <property name="shadow_type">GTK_SHADOW_NONE</property>
             <child>
-              <widget class="GtkAlignment" id="alignment3">
+              <widget class="GtkFrame" id="frame_progress">
                 <property name="visible">True</property>
-                <property name="top_padding">9</property>
-                <property name="left_padding">21</property>
+                <property name="label_xalign">0</property>
+                <property name="shadow_type">GTK_SHADOW_NONE</property>
                 <child>
-                  <widget class="GtkProgressBar" id="progressbar_percentage">
+                  <widget class="GtkAlignment" id="alignment3">
                     <property name="visible">True</property>
-                    <property name="show_text">True</property>
+                    <property name="top_padding">9</property>
+                    <property name="left_padding">21</property>
+                    <child>
+                      <widget class="GtkProgressBar" id="progressbar_percentage">
+                        <property name="visible">True</property>
+                        <property name="show_text">True</property>
+                      </widget>
+                    </child>
                   </widget>
                 </child>
-              </widget>
-            </child>
-            <child>
-              <widget class="GtkLabel" id="label10">
-                <property name="visible">True</property>
-                <property name="label" translatable="yes">&lt;b&gt;Progress&lt;/b&gt;</property>
-                <property name="use_markup">True</property>
+                <child>
+                  <widget class="GtkLabel" id="label10">
+                    <property name="visible">True</property>
+                    <property name="label" translatable="yes">&lt;b&gt;Progress&lt;/b&gt;</property>
+                    <property name="use_markup">True</property>
+                  </widget>
+                  <packing>
+                    <property name="type">label_item</property>
+                  </packing>
+                </child>
               </widget>
               <packing>
-                <property name="type">label_item</property>
+                <property name="expand">False</property>
+                <property name="position">2</property>
               </packing>
             </child>
           </widget>
           <packing>
-            <property name="expand">False</property>
-            <property name="position">2</property>
+            <property name="position">1</property>
           </packing>
         </child>
-        <child>
-          <widget class="GtkHButtonBox" id="hbuttonbox1">
+        <child internal-child="action_area">
+          <widget class="GtkHButtonBox" id="dialog-action_area1">
             <property name="visible">True</property>
-            <property name="spacing">6</property>
             <property name="layout_style">GTK_BUTTONBOX_END</property>
             <child>
               <widget class="GtkButton" id="button_help">
@@ -255,12 +266,12 @@
               </packing>
             </child>
             <child>
-              <widget class="GtkButton" id="button_create">
+              <widget class="GtkButton" id="button_close">
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
-                <property name="has_focus">True</property>
                 <property name="receives_default">True</property>
-                <property name="label" translatable="yes">Create</property>
+                <property name="label">gtk-close</property>
+                <property name="use_stock">True</property>
                 <property name="response_id">0</property>
               </widget>
               <packing>
@@ -269,12 +280,12 @@
               </packing>
             </child>
             <child>
-              <widget class="GtkButton" id="button_close">
+              <widget class="GtkButton" id="button_create">
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
+                <property name="has_focus">True</property>
                 <property name="receives_default">True</property>
-                <property name="label">gtk-close</property>
-                <property name="use_stock">True</property>
+                <property name="label" translatable="yes">Create</property>
                 <property name="response_id">0</property>
               </widget>
               <packing>
@@ -285,7 +296,7 @@
           </widget>
           <packing>
             <property name="expand">False</property>
-            <property name="position">3</property>
+            <property name="pack_type">GTK_PACK_END</property>
           </packing>
         </child>
       </widget>

Modified: trunk/data/gpk-signature.glade
==============================================================================
--- trunk/data/gpk-signature.glade	(original)
+++ trunk/data/gpk-signature.glade	Wed Nov 19 16:27:11 2008
@@ -2,21 +2,23 @@
 <!DOCTYPE glade-interface SYSTEM "glade-2.0.dtd">
 <!--*- mode: xml -*-->
 <glade-interface>
-  <widget class="GtkWindow" id="window_gpg">
+  <widget class="GtkDialog" id="dialog_gpg">
+    <property name="border_width">6</property>
     <property name="title" translatable="yes">Software signature is required</property>
     <property name="resizable">False</property>
     <property name="modal">True</property>
     <property name="window_position">GTK_WIN_POS_CENTER_ON_PARENT</property>
     <property name="destroy_with_parent">True</property>
     <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
-    <child>
-      <widget class="GtkVBox" id="vbox1">
+    <property name="has_separator">False</property>
+    <child internal-child="vbox">
+      <widget class="GtkVBox" id="dialog-vbox1">
         <property name="visible">True</property>
-        <property name="border_width">10</property>
-        <property name="spacing">12</property>
+        <property name="spacing">2</property>
         <child>
           <widget class="GtkVBox" id="vbox2">
             <property name="visible">True</property>
+            <property name="border_width">6</property>
             <property name="spacing">12</property>
             <child>
               <widget class="GtkHBox" id="hbox1">
@@ -43,41 +45,36 @@
                 <property name="column_spacing">12</property>
                 <property name="row_spacing">6</property>
                 <child>
-                  <widget class="GtkLabel" id="label_name">
+                  <widget class="GtkLabel" id="label3">
                     <property name="visible">True</property>
                     <property name="xalign">0</property>
-                    <property name="label">Livna.org Freeworld Repo</property>
+                    <property name="label" translatable="yes">Repository name:</property>
                   </widget>
                   <packing>
-                    <property name="left_attach">1</property>
-                    <property name="right_attach">2</property>
+                    <property name="x_options">GTK_FILL</property>
                     <property name="y_options"></property>
                   </packing>
                 </child>
                 <child>
-                  <widget class="GtkLabel" id="label_id">
+                  <widget class="GtkLabel" id="label4">
                     <property name="visible">True</property>
                     <property name="xalign">0</property>
-                    <property name="label">BB7576AC</property>
+                    <property name="label" translatable="yes">Signature URL:</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="top_attach">1</property>
+                    <property name="bottom_attach">2</property>
                     <property name="x_options">GTK_FILL</property>
                     <property name="y_options"></property>
                   </packing>
                 </child>
                 <child>
-                  <widget class="GtkLabel" id="label_user">
+                  <widget class="GtkLabel" id="label5">
                     <property name="visible">True</property>
                     <property name="xalign">0</property>
-                    <property name="label">Livna.org &lt;rpm livna org&gt;</property>
+                    <property name="label" translatable="yes">Signature user identifier:</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">GTK_FILL</property>
@@ -85,40 +82,42 @@
                   </packing>
                 </child>
                 <child>
-                  <widget class="GtkLabel" id="label_url">
+                  <widget class="GtkLabel" id="label6">
                     <property name="visible">True</property>
                     <property name="xalign">0</property>
-                    <property name="label">http://rpm.livna.org/</property>
+                    <property name="label" translatable="yes">Signature identifier:</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="top_attach">3</property>
+                    <property name="bottom_attach">4</property>
                     <property name="x_options">GTK_FILL</property>
                     <property name="y_options"></property>
                   </packing>
                 </child>
                 <child>
-                  <widget class="GtkLabel" id="label6">
+                  <widget class="GtkLabel" id="label_url">
                     <property name="visible">True</property>
                     <property name="xalign">0</property>
-                    <property name="label" translatable="yes">Signature identifier:</property>
+                    <property name="label">http://rpm.livna.org/</property>
                   </widget>
                   <packing>
-                    <property name="top_attach">3</property>
-                    <property name="bottom_attach">4</property>
+                    <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">GTK_FILL</property>
                     <property name="y_options"></property>
                   </packing>
                 </child>
                 <child>
-                  <widget class="GtkLabel" id="label5">
+                  <widget class="GtkLabel" id="label_user">
                     <property name="visible">True</property>
                     <property name="xalign">0</property>
-                    <property name="label" translatable="yes">Signature user identifier:</property>
+                    <property name="label">Livna.org &lt;rpm livna org&gt;</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">GTK_FILL</property>
@@ -126,26 +125,29 @@
                   </packing>
                 </child>
                 <child>
-                  <widget class="GtkLabel" id="label4">
+                  <widget class="GtkLabel" id="label_id">
                     <property name="visible">True</property>
                     <property name="xalign">0</property>
-                    <property name="label" translatable="yes">Signature URL:</property>
+                    <property name="label">BB7576AC</property>
                   </widget>
                   <packing>
-                    <property name="top_attach">1</property>
-                    <property name="bottom_attach">2</property>
+                    <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">GTK_FILL</property>
                     <property name="y_options"></property>
                   </packing>
                 </child>
                 <child>
-                  <widget class="GtkLabel" id="label3">
+                  <widget class="GtkLabel" id="label_name">
                     <property name="visible">True</property>
                     <property name="xalign">0</property>
-                    <property name="label" translatable="yes">Repository name:</property>
+                    <property name="label">Livna.org Freeworld Repo</property>
                   </widget>
                   <packing>
-                    <property name="x_options">GTK_FILL</property>
+                    <property name="left_attach">1</property>
+                    <property name="right_attach">2</property>
                     <property name="y_options"></property>
                   </packing>
                 </child>
@@ -169,12 +171,12 @@
           </widget>
           <packing>
             <property name="expand">False</property>
+            <property name="position">1</property>
           </packing>
         </child>
-        <child>
-          <widget class="GtkHButtonBox" id="hbuttonbox2">
+        <child internal-child="action_area">
+          <widget class="GtkHButtonBox" id="dialog-action_area1">
             <property name="visible">True</property>
-            <property name="spacing">6</property>
             <property name="layout_style">GTK_BUTTONBOX_END</property>
             <child>
               <widget class="GtkButton" id="button_help">
@@ -190,11 +192,11 @@
               </packing>
             </child>
             <child>
-              <widget class="GtkButton" id="button_yes">
+              <widget class="GtkButton" id="button_no">
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
-                <property name="label">gtk-yes</property>
+                <property name="label">gtk-cancel</property>
                 <property name="use_stock">True</property>
                 <property name="response_id">0</property>
               </widget>
@@ -204,11 +206,11 @@
               </packing>
             </child>
             <child>
-              <widget class="GtkButton" id="button_no">
+              <widget class="GtkButton" id="button_yes">
                 <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="label">gtk-yes</property>
                 <property name="use_stock">True</property>
                 <property name="response_id">0</property>
               </widget>
@@ -221,7 +223,6 @@
           <packing>
             <property name="expand">False</property>
             <property name="pack_type">GTK_PACK_END</property>
-            <property name="position">1</property>
           </packing>
         </child>
       </widget>

Modified: trunk/help/C/gnome-packagekit.xml
==============================================================================
--- trunk/help/C/gnome-packagekit.xml	(original)
+++ trunk/help/C/gnome-packagekit.xml	Wed Nov 19 16:27:11 2008
@@ -749,7 +749,7 @@
     </screenshot>
   </figure>
   <para>
-    To trust a repository, you should very the details of the signing key.
+    To trust a repository, you should verify the details of the signing key.
     Normally the best way to do this is to go to the web page of the software
     source, and try to find details about the key used to sign the packages.
     This is normally called a <literal>GPG key</literal>.

Modified: trunk/po/POTFILES.in
==============================================================================
--- trunk/po/POTFILES.in	(original)
+++ trunk/po/POTFILES.in	Wed Nov 19 16:27:11 2008
@@ -54,3 +54,6 @@
 src/gpk-update-icon.c
 src/gpk-update-viewer.c
 src/gpk-watch.c
+python/packagekit/genums.py
+python/packagekit/gtkwidgets.py
+

Modified: trunk/src/Makefile.am
==============================================================================
--- trunk/src/Makefile.am	(original)
+++ trunk/src/Makefile.am	Wed Nov 19 16:27:11 2008
@@ -256,7 +256,7 @@
 BUILT_SOURCES = 					\
 	gpk-marshal.c					\
 	gpk-marshal.h					\
-	gpk-interface.h					\
+	org.freedesktop.PackageKit.h			\
 	$(NULL)
 
 gpk-marshal.c: gpk-marshal.list
@@ -266,12 +266,12 @@
 gpk-marshal.h: gpk-marshal.list
 	glib-genmarshal $< --prefix=gpk_marshal --header > $@
 
-gpk-interface.h: gpk-interface.xml
+org.freedesktop.PackageKit.h: org.freedesktop.PackageKit.xml
 	$(LIBTOOL) --mode=execute dbus-binding-tool	\
 		--prefix=gpk_dbus			\
 		--mode=glib-server			\
-		--output=gpk-interface.h		\
-		$(srcdir)/gpk-interface.xml
+		--output=org.freedesktop.PackageKit.h	\
+		$(srcdir)/org.freedesktop.PackageKit.xml
 
 if EGG_BUILD_TESTS
 
@@ -302,7 +302,7 @@
 
 EXTRA_DIST =						\
 	gpk-marshal.list				\
-	gpk-interface.xml				\
+	org.freedesktop.PackageKit.xml			\
 	$(NULL)
 
 clean-local:

Modified: trunk/src/gpk-application-main.c
==============================================================================
--- trunk/src/gpk-application-main.c	(original)
+++ trunk/src/gpk-application-main.c	Wed Nov 19 16:27:11 2008
@@ -108,7 +108,7 @@
 	gtk_init (&argc, &argv);
 
 	/* are we running privileged */
-	ret = gpk_check_privileged_user (_("Package installer"));
+	ret = gpk_check_privileged_user (_("Package installer"), TRUE);
 	if (!ret) {
 		return 1;
 	}

Modified: trunk/src/gpk-application.c
==============================================================================
--- trunk/src/gpk-application.c	(original)
+++ trunk/src/gpk-application.c	Wed Nov 19 16:27:11 2008
@@ -89,7 +89,7 @@
 	PkClient		*client_files;
 	GpkClient		*gclient;
 	PkConnection		*pconnection;
-	PkExtra			*extra;
+	PkDesktop		*desktop;
 	gchar			*package;
 	gchar			*group;
 	gchar			*url;
@@ -1092,7 +1092,7 @@
 		pk_bitfield_add (state, GPK_STATE_COLLECTION);
 
 	/* use the application icon if available */
-	icon = pk_extra_get_icon_name (application->priv->extra, obj->id->name);
+	icon = gpk_desktop_guess_icon_name (application->priv->desktop, obj->id->name);
 	if (icon == NULL)
 		icon = gpk_application_state_get_icon (state);
 
@@ -3081,13 +3081,10 @@
 			  G_CALLBACK (gpk_application_connection_changed_cb), application);
 
 	/* get localised data from sqlite database */
-	application->priv->extra = pk_extra_new ();
-	ret = pk_extra_set_database (application->priv->extra, NULL);
+	application->priv->desktop = pk_desktop_new ();
+	ret = pk_desktop_open_database (application->priv->desktop, NULL);
 	if (!ret)
-		egg_warning ("Failure setting database");
-
-	/* set the locale to default */
-	pk_extra_set_locale (application->priv->extra, NULL);
+		egg_warning ("Failure opening database");
 
 	/* use custom widgets */
 	glade_set_custom_handler (gpk_application_create_custom_widget, application);
@@ -3494,7 +3491,7 @@
 	g_object_unref (application->priv->client_details);
 	g_object_unref (application->priv->client_files);
 	g_object_unref (application->priv->pconnection);
-	g_object_unref (application->priv->extra);
+	g_object_unref (application->priv->desktop);
 	g_object_unref (application->priv->gconf_client);
 	g_object_unref (application->priv->gclient);
 	g_object_unref (application->priv->package_list);

Modified: trunk/src/gpk-backend-status.c
==============================================================================
--- trunk/src/gpk-backend-status.c	(original)
+++ trunk/src/gpk-backend-status.c	Wed Nov 19 16:27:11 2008
@@ -130,7 +130,7 @@
 	g_signal_connect (widget, "clicked",
 			  G_CALLBACK (pk_updates_close_cb), loop);
 
-	widget = glade_xml_get_widget (glade_xml, "window_backend");
+	widget = glade_xml_get_widget (glade_xml, "dialog_backend");
 	g_signal_connect (widget, "delete_event",
 			  G_CALLBACK (pk_updates_delete_event_cb), loop);
 	gtk_widget_show (GTK_WIDGET (widget));

Modified: trunk/src/gpk-client-chooser.c
==============================================================================
--- trunk/src/gpk-client-chooser.c	(original)
+++ trunk/src/gpk-client-chooser.c	Wed Nov 19 16:27:11 2008
@@ -175,7 +175,7 @@
 	GtkTreeSelection *selection;
 	const PkPackageObj *obj;
 	GtkTreeIter iter;
-	PkExtra *extra;
+	PkDesktop *desktop;
 	gboolean ret;
 	const gchar *icon_name;
 	gchar *text;
@@ -194,7 +194,7 @@
 	glade_xml = glade_xml_new (GPK_DATA "/gpk-log.glade", NULL, NULL);
 
 	/* connect up default actions */
-	widget = glade_xml_get_widget (glade_xml, "window_simple");
+	widget = glade_xml_get_widget (glade_xml, "dialog_simple");
 	g_signal_connect_swapped (widget, "delete_event", G_CALLBACK (gtk_main_quit), NULL);
 
 	/* set a size, if the screen allows */
@@ -207,7 +207,7 @@
 	g_signal_connect (widget, "clicked", G_CALLBACK (gpk_client_chooser_button_close_cb), NULL);
 
 	/* set icon name */
-	widget = glade_xml_get_widget (glade_xml, "window_simple");
+	widget = glade_xml_get_widget (glade_xml, "dialog_simple");
 	gtk_window_set_icon_name (GTK_WINDOW (widget), GPK_ICON_SOFTWARE_INSTALLER);
 	gtk_window_set_title (GTK_WINDOW (widget), title);
 
@@ -237,8 +237,8 @@
 	pk_treeview_add_general_columns (GTK_TREE_VIEW (widget));
 	gtk_tree_view_columns_autosize (GTK_TREE_VIEW (widget));
 
-	/* use PkExtra to get better icon */
-	extra = pk_extra_new ();
+	/* use PkDesktop to get better icon */
+	desktop = pk_desktop_new ();
 
 	/* see what we've got already */
 	len = pk_package_list_get_size (list);
@@ -251,11 +251,8 @@
 		text = gpk_package_id_format_twoline (obj->id, obj->summary);
 
 		/* get the icon */
-		icon_name = pk_extra_get_icon_name (extra, obj->id->name);
-
-		/* check icon actually exists and is valid in this theme */
-		ret = gpk_check_icon_valid (icon_name);
-		if (!ret)
+		icon_name = gpk_desktop_guess_icon_name (desktop, obj->id->name);
+		if (icon_name == NULL)
 			icon_name = gpk_info_enum_to_icon_name (obj->info);
 
 		package_id = pk_package_id_to_string (obj->id);
@@ -268,10 +265,10 @@
 		g_free (text);
 	}
 
-	g_object_unref (extra);
+	g_object_unref (desktop);
 
 	/* show window */
-	widget = glade_xml_get_widget (glade_xml, "window_simple");
+	widget = glade_xml_get_widget (glade_xml, "dialog_simple");
 	gtk_widget_show (widget);
 
 	/* wait for button press */

Modified: trunk/src/gpk-client-dialog.c
==============================================================================
--- trunk/src/gpk-client-dialog.c	(original)
+++ trunk/src/gpk-client-dialog.c	Wed Nov 19 16:27:11 2008
@@ -164,7 +164,7 @@
 	gpk_client_dialog_show_widget (dialog, "label_force_width", TRUE);
 
 	/* show */
-	widget = glade_xml_get_widget (dialog->priv->glade_xml, "window_client");
+	widget = glade_xml_get_widget (dialog->priv->glade_xml, "dialog_client");
 	gtk_widget_realize (widget);
 	gtk_window_present_with_time (GTK_WINDOW (widget), timestamp);
 
@@ -187,7 +187,7 @@
 	/* not sure what to do here, should probably unparent somehow */
 	if (window == NULL) {
 		egg_warning ("parent set NULL when already modal with another window, setting non-modal");
-		widget = glade_xml_get_widget (dialog->priv->glade_xml, "window_client");
+		widget = glade_xml_get_widget (dialog->priv->glade_xml, "dialog_client");
 		gtk_window_set_modal (GTK_WINDOW (widget), FALSE);
 		dialog->priv->has_parent = FALSE;
 
@@ -204,7 +204,7 @@
 		return FALSE;
 	}
 
-	widget = glade_xml_get_widget (dialog->priv->glade_xml, "window_client");
+	widget = glade_xml_get_widget (dialog->priv->glade_xml, "dialog_client");
 	gtk_widget_realize (widget);
 	gtk_window_set_modal (GTK_WINDOW (widget), TRUE);
 	gdk_window_set_transient_for (GTK_WIDGET (widget)->window, window);
@@ -224,7 +224,7 @@
 	g_return_val_if_fail (title != NULL, FALSE);
 
 	egg_debug ("setting window title: %s", title);
-	widget = glade_xml_get_widget (dialog->priv->glade_xml, "window_client");
+	widget = glade_xml_get_widget (dialog->priv->glade_xml, "dialog_client");
 	gtk_window_set_title (GTK_WINDOW (widget), title);
 	return TRUE;
 }
@@ -241,7 +241,7 @@
 	g_return_val_if_fail (icon != NULL, FALSE);
 
 	egg_debug ("setting window icon: %s", icon);
-	widget = glade_xml_get_widget (dialog->priv->glade_xml, "window_client");
+	widget = glade_xml_get_widget (dialog->priv->glade_xml, "dialog_client");
 	gtk_window_set_icon_name (GTK_WINDOW (widget), icon);
 	return TRUE;
 }
@@ -419,7 +419,7 @@
 
 	g_return_val_if_fail (GPK_IS_CLIENT_DIALOG (dialog), NULL);
 
-	widget = glade_xml_get_widget (dialog->priv->glade_xml, "window_client");
+	widget = glade_xml_get_widget (dialog->priv->glade_xml, "dialog_client");
 	return GTK_WINDOW (widget);
 }
 
@@ -462,7 +462,7 @@
 
 	g_return_val_if_fail (GPK_IS_CLIENT_DIALOG (dialog), FALSE);
 
-	widget = glade_xml_get_widget (dialog->priv->glade_xml, "window_client");
+	widget = glade_xml_get_widget (dialog->priv->glade_xml, "dialog_client");
 	gtk_widget_hide (widget);
 
 	if (dialog->priv->pulse_timer_id != 0) {
@@ -585,7 +585,7 @@
 {
 	GtkTreeIter iter;
 	const PkPackageObj *obj;
-	PkExtra *extra;
+	PkDesktop *desktop;
 	const gchar *icon;
 	gchar *package_id;
 	gchar *text;
@@ -603,7 +603,7 @@
 	else if (length > 1)
 		gtk_widget_set_size_request (widget, -1, 150);
 
-	extra = pk_extra_new ();
+	desktop = pk_desktop_new ();
 	length = pk_package_list_get_size (list);
 
 	/* add each well */
@@ -613,9 +613,8 @@
 		package_id = pk_package_id_to_string (obj->id);
 
 		/* get the icon */
-		icon = pk_extra_get_icon_name (extra, obj->id->name);
-		valid = gpk_check_icon_valid (icon);
-		if (!valid)
+		icon = gpk_desktop_guess_icon_name (desktop, obj->id->name);
+		if (icon == NULL)
 			icon = gpk_info_enum_to_icon_name (PK_INFO_ENUM_INSTALLED);
 
 		gtk_list_store_append (dialog->priv->store, &iter);
@@ -628,7 +627,7 @@
 		g_free (package_id);
 	}
 
-	g_object_unref (extra);
+	g_object_unref (desktop);
 
 	return TRUE;
 }
@@ -754,7 +753,7 @@
 				 GTK_TREE_MODEL (dialog->priv->store));
 
 	/* common stuff */
-	widget = glade_xml_get_widget (dialog->priv->glade_xml, "window_client");
+	widget = glade_xml_get_widget (dialog->priv->glade_xml, "dialog_client");
 	g_signal_connect (widget, "delete_event", G_CALLBACK (gpk_client_dialog_window_delete_cb), dialog);
 	widget = glade_xml_get_widget (dialog->priv->glade_xml, "button_close");
 	g_signal_connect (widget, "clicked", G_CALLBACK (gpk_client_dialog_button_close_cb), dialog);

Modified: trunk/src/gpk-client-eula.c
==============================================================================
--- trunk/src/gpk-client-eula.c	(original)
+++ trunk/src/gpk-client-eula.c	Wed Nov 19 16:27:11 2008
@@ -79,13 +79,13 @@
 	glade_xml = glade_xml_new (GPK_DATA "/gpk-eula.glade", NULL, NULL);
 
 	/* connect up default actions */
-	widget = glade_xml_get_widget (glade_xml, "window_eula");
+	widget = glade_xml_get_widget (glade_xml, "dialog_eula");
 	g_signal_connect_swapped (widget, "delete_event", G_CALLBACK (gtk_main_quit), NULL);
 	widget = glade_xml_get_widget (glade_xml, "button_cancel");
 	g_signal_connect_swapped (widget, "clicked", G_CALLBACK (gtk_main_quit), NULL);
 
 	/* set icon name */
-	widget = glade_xml_get_widget (glade_xml, "window_eula");
+	widget = glade_xml_get_widget (glade_xml, "dialog_eula");
 	gtk_window_set_icon_name (GTK_WINDOW (widget), GPK_ICON_SOFTWARE_INSTALLER);
 
 	/* connect up buttons */
@@ -111,7 +111,7 @@
 	gtk_widget_set_size_request (widget, 100, 200);
 
 	/* make modal if window set */
-	widget = glade_xml_get_widget (glade_xml, "window_eula");
+	widget = glade_xml_get_widget (glade_xml, "dialog_eula");
 	if (window != NULL)
 		gtk_window_set_transient_for (GTK_WINDOW (widget), window);
 

Modified: trunk/src/gpk-client-run.c
==============================================================================
--- trunk/src/gpk-client-run.c	(original)
+++ trunk/src/gpk-client-run.c	Wed Nov 19 16:27:11 2008
@@ -38,7 +38,6 @@
 
 static GtkListStore *list_store = NULL;
 static gchar *full_path = NULL;
-static gchar *last_tryexec = NULL;
 
 enum
 {
@@ -166,10 +165,10 @@
 }
 
 /**
- * gpk_client_add_executable:
+ * gpk_client_run_add_desktop_file:
  **/
-static void
-gpk_client_add_executable (const gchar *package_id, const gchar *path)
+static gboolean
+gpk_client_run_add_desktop_file (const gchar *package_id, const gchar *filename)
 {
 	gboolean ret;
 	gchar *icon = NULL;
@@ -181,40 +180,41 @@
 	GtkTreeIter iter;
 	GKeyFile *file;
 	PkPackageId *id;
+	gint weight;
+
+	/* get weight */
+	weight = gpk_desktop_get_file_weight (filename);
+	if (weight < 0) {
+		egg_debug ("ignoring %s", filename);
+		goto out;
+	}
 
 	/* get some data from the desktop file */
 	file = g_key_file_new ();
-	ret = g_key_file_load_from_file (file, path, G_KEY_FILE_NONE, NULL);
-	if (ret) {
-		exec = g_key_file_get_string (file, G_KEY_FILE_DESKTOP_GROUP, "TryExec", NULL);
-		/* try harder */
-		if (exec == NULL)
-			exec = g_key_file_get_string (file, G_KEY_FILE_DESKTOP_GROUP, "Exec", NULL);
-		/* abandon attempt */
-		if (exec == NULL)
-			goto out;
-
-		/* have we the same executable name?
-		 * this helps when there's "f-spot", "fspot --import %f", and "f-spot --view" in 3
-		 * different desktop files */
-		if (egg_strequal (exec, last_tryexec)) {
-			egg_debug ("same as the last exec '%s' so skipping", exec);
-			goto out;
-		}
+	ret = g_key_file_load_from_file (file, filename, G_KEY_FILE_NONE, NULL);
+	if (!ret) {
+		egg_debug ("failed to load %s", filename);
+		goto out;
+	}
 
-		/* save for next time */
-		g_free (last_tryexec);
-		last_tryexec = g_strdup (exec);
-
-		name = g_key_file_get_locale_string (file, G_KEY_FILE_DESKTOP_GROUP, "Name", NULL, NULL);
-		icon = g_key_file_get_string (file, G_KEY_FILE_DESKTOP_GROUP, "Icon", NULL);
-		summary = g_key_file_get_locale_string (file, G_KEY_FILE_DESKTOP_GROUP, "Comment", NULL, NULL);
-		/* try harder */
-		if (summary == NULL) {
-			summary = g_key_file_get_locale_string (file, G_KEY_FILE_DESKTOP_GROUP, "GenericName", NULL, NULL);
-		}
+	exec = g_key_file_get_string (file, G_KEY_FILE_DESKTOP_GROUP, "TryExec", NULL);
+	/* try harder */
+	if (exec == NULL)
+		exec = g_key_file_get_string (file, G_KEY_FILE_DESKTOP_GROUP, "Exec", NULL);
+
+	/* abandon attempt */
+	if (exec == NULL) {
+		ret = FALSE;
+		goto out;
 	}
 
+	name = g_key_file_get_locale_string (file, G_KEY_FILE_DESKTOP_GROUP, "Name", NULL, NULL);
+	icon = g_key_file_get_string (file, G_KEY_FILE_DESKTOP_GROUP, "Icon", NULL);
+	summary = g_key_file_get_locale_string (file, G_KEY_FILE_DESKTOP_GROUP, "Comment", NULL, NULL);
+	/* try harder */
+	if (summary == NULL)
+		summary = g_key_file_get_locale_string (file, G_KEY_FILE_DESKTOP_GROUP, "GenericName", NULL, NULL);
+
 	/* put formatted text into treeview */
 	gtk_list_store_append (list_store, &iter);
 	joint = g_strdup_printf ("%s - %s", name, summary);
@@ -231,59 +231,63 @@
 		icon = g_strdup (gpk_info_enum_to_icon_name (PK_INFO_ENUM_AVAILABLE));
 	gtk_list_store_set (list_store, &iter,
 			    GPK_CHOOSER_COLUMN_TEXT, text,
-			    GPK_CHOOSER_COLUMN_FULL_PATH, exec, -1);
-	gtk_list_store_set (list_store, &iter, GPK_CHOOSER_COLUMN_ICON, icon, -1);
-
+			    GPK_CHOOSER_COLUMN_FULL_PATH, exec,
+			    GPK_CHOOSER_COLUMN_ICON, icon, -1);
 out:
-	g_key_file_free (file);
+	if (file != NULL)
+		g_key_file_free (file);
 	g_free (exec);
 	g_free (icon);
 	g_free (name);
 	g_free (text);
 	g_free (joint);
 	g_free (summary);
+
+	return ret;
 }
 
 /**
- * gpk_client_add_package_ids:
+ * gpk_client_run_add_package_ids:
  **/
 static guint
-gpk_client_add_package_ids (gchar **package_ids)
+gpk_client_run_add_package_ids (gchar **package_ids)
 {
 	guint i, j;
 	guint length;
 	guint added = 0;
-	guint files_len;
-	gchar **files;
-	const gchar *package_id;
-	GError *error = NULL;
-	GpkClient *gclient;
+	const gchar *filename;
+	GPtrArray *array;
+	gchar **parts;
+	gboolean ret;
+	PkDesktop *desktop;
 
-	length = g_strv_length (package_ids);
-	gclient = gpk_client_new ();
-	/* only show if we need to download a cache */
-	gpk_client_set_interaction (gclient, GPK_CLIENT_INTERACT_NEVER);
+	/* open database */
+	desktop = pk_desktop_new ();
+	ret = pk_desktop_open_database (desktop, NULL);
+	if (!ret) {
+		egg_debug ("failed to open desktop DB");
+		goto out;
+	}
 
+	/* add each package */
+	length = g_strv_length (package_ids);
 	for (i=0; i<length; i++) {
-		package_id = package_ids[i];
-		egg_debug ("package_id=%s", package_id);
-		files = gpk_client_get_file_list (gclient, package_id, &error);
-		if (files == NULL) {
-			egg_warning ("could not get file list: %s", error->message);
-			g_error_free (error);
-			error = NULL;
-			continue;
-		}
-		files_len = g_strv_length (files);
-		for (j=0; j<files_len; j++) {
-			if (g_str_has_suffix (files[j], ".desktop")) {
-				egg_debug ("package=%s, file=%s", package_id, files[j]);
-				gpk_client_add_executable (package_id, files[j]);
-				added++;
+		parts = g_strsplit (package_ids[i], ";", 0);
+		array = pk_desktop_get_files_for_package (desktop, parts[0], NULL);
+		if (array != NULL) {
+			for (j=0; j<array->len; j++) {
+				filename = g_ptr_array_index (array, j);
+				ret = gpk_client_run_add_desktop_file (package_ids[i], filename);
+				if (ret)
+					added++;
 			}
+			g_ptr_array_foreach (array, (GFunc) g_free, NULL);
+			g_ptr_array_free (array, TRUE);
 		}
+		g_strfreev (parts);
 	}
-	g_object_unref (gclient);
+	g_object_unref (desktop);
+out:
 	return added;
 }
 
@@ -308,7 +312,7 @@
 	glade_xml = glade_xml_new (GPK_DATA "/gpk-log.glade", NULL, NULL);
 
 	/* connect up default actions */
-	widget = glade_xml_get_widget (glade_xml, "window_simple");
+	widget = glade_xml_get_widget (glade_xml, "dialog_simple");
 	g_signal_connect_swapped (widget, "delete_event", G_CALLBACK (gtk_main_quit), NULL);
 
 	/* set a size, if the screen allows */
@@ -328,7 +332,7 @@
 	gtk_widget_hide (widget);
 
 	/* set icon name */
-	widget = glade_xml_get_widget (glade_xml, "window_simple");
+	widget = glade_xml_get_widget (glade_xml, "dialog_simple");
 	gtk_window_set_icon_name (GTK_WINDOW (widget), GPK_ICON_SOFTWARE_INSTALLER);
 	/* TRANSLATORS: window title: do we want to execute a program we just installed? */
 	gtk_window_set_title (GTK_WINDOW (widget), _("Run new application?"));
@@ -353,24 +357,22 @@
 	gtk_tree_view_columns_autosize (GTK_TREE_VIEW (widget));
 
 	/* add all the apps */
-	len = gpk_client_add_package_ids (package_ids);
+	len = gpk_client_run_add_package_ids (package_ids);
 	if (len == 0) {
 		egg_debug ("no executable file for %s", package_ids[0]);
 		goto out;
 	}
 
 	/* show window */
-	widget = glade_xml_get_widget (glade_xml, "window_simple");
+	widget = glade_xml_get_widget (glade_xml, "dialog_simple");
 	gtk_widget_show (widget);
 
 	/* wait for button press */
 	gtk_main ();
 
 out:
-	g_free (last_tryexec);
-
 	/* hide window */
-	widget = glade_xml_get_widget (glade_xml, "window_simple");
+	widget = glade_xml_get_widget (glade_xml, "dialog_simple");
 	if (GTK_IS_WIDGET (widget))
 		gtk_widget_hide (widget);
 

Modified: trunk/src/gpk-client-signature.c
==============================================================================
--- trunk/src/gpk-client-signature.c	(original)
+++ trunk/src/gpk-client-signature.c	Wed Nov 19 16:27:11 2008
@@ -73,13 +73,13 @@
 	glade_xml = glade_xml_new (GPK_DATA "/gpk-signature.glade", NULL, NULL);
 
 	/* connect up default actions */
-	widget = glade_xml_get_widget (glade_xml, "window_gpg");
+	widget = glade_xml_get_widget (glade_xml, "dialog_gpg");
 	g_signal_connect_swapped (widget, "delete_event", G_CALLBACK (gtk_main_quit), NULL);
 	widget = glade_xml_get_widget (glade_xml, "button_no");
 	g_signal_connect_swapped (widget, "clicked", G_CALLBACK (gtk_main_quit), NULL);
 
 	/* set icon name */
-	widget = glade_xml_get_widget (glade_xml, "window_gpg");
+	widget = glade_xml_get_widget (glade_xml, "dialog_gpg");
 	gtk_window_set_icon_name (GTK_WINDOW (widget), GPK_ICON_SOFTWARE_INSTALLER);
 
 	/* connect up buttons */
@@ -99,12 +99,12 @@
 	gtk_label_set_label (GTK_LABEL (widget), key_id);
 
 	/* make modal if window set */
-	widget = glade_xml_get_widget (glade_xml, "window_gpg");
+	widget = glade_xml_get_widget (glade_xml, "dialog_gpg");
 	if (window != NULL)
 		gtk_window_set_transient_for (GTK_WINDOW (widget), window);
 
 	/* show window */
-	widget = glade_xml_get_widget (glade_xml, "window_gpg");
+	widget = glade_xml_get_widget (glade_xml, "dialog_gpg");
 	gtk_widget_show (widget);
 
 	/* wait for button press */

Modified: trunk/src/gpk-client-untrusted.c
==============================================================================
--- trunk/src/gpk-client-untrusted.c	(original)
+++ trunk/src/gpk-client-untrusted.c	Wed Nov 19 16:27:11 2008
@@ -68,11 +68,11 @@
 	glade_xml = glade_xml_new (GPK_DATA "/gpk-error.glade", NULL, NULL);
 
 	/* connect up actions */
-	widget = glade_xml_get_widget (glade_xml, "window_error");
+	widget = glade_xml_get_widget (glade_xml, "dialog_error");
 	g_signal_connect_swapped (widget, "delete_event", G_CALLBACK (gtk_main_quit), NULL);
 
 	/* set icon name */
-	widget = glade_xml_get_widget (glade_xml, "window_error");
+	widget = glade_xml_get_widget (glade_xml, "dialog_error");
 	gtk_window_set_icon_name (GTK_WINDOW (widget), GPK_ICON_SOFTWARE_INSTALLER);
 
 	/* close button */
@@ -87,8 +87,12 @@
 	g_free (text);
 
 	/* message */
-	message = g_strdup_printf ("%s\n%s",
-				   /* TRANSLATORS: this is untrusted -- warn the user */
+	message = g_strdup_printf ("%s\n%s\n\n%s\n%s",
+				   /* TRANSLATORS: is not GPG signed */
+				   _("The package is not signed by a trusted provider."),
+				   /* TRANSLATORS: user has to trust provider -- I know, this sucks */
+				   _("Do not install this package unless you are sure it is safe to do so."),
+				   /* TRANSLATORS: warn the user that all bets are off */
 				   _("Malicious software can damage your computer or cause other harm."),
 				   /* TRANSLATORS: ask if they are absolutely sure they want to do this */
 				   _("Are you <b>sure</b> you want to install this package?"));
@@ -122,7 +126,7 @@
 	gtk_box_pack_start (GTK_BOX (widget), button, FALSE, FALSE, 0);
 
 	/* show window */
-	widget = glade_xml_get_widget (glade_xml, "window_error");
+	widget = glade_xml_get_widget (glade_xml, "dialog_error");
 	gtk_widget_show (widget);
 
 	/* wait for button press */

Modified: trunk/src/gpk-client.c
==============================================================================
--- trunk/src/gpk-client.c	(original)
+++ trunk/src/gpk-client.c	Wed Nov 19 16:27:11 2008
@@ -80,7 +80,7 @@
 	GpkClientDialog		*dialog;
 	GpkVendor		*vendor;
 	guint			 finished_timer_id;
-	PkExtra			*extra;
+	PkDesktop		*desktop;
 	PkControl		*control;
 	PkBitfield		 roles;
 	gboolean		 using_secondary_client;
@@ -1887,6 +1887,8 @@
 			/* TRANSLATORS: nothing found */
 			gpk_client_dialog_set_message (gclient->priv->dialog, _("The file could not be found in any packages"));
 			gpk_client_dialog_set_help_id (gclient->priv->dialog, "dialog-package-not-found");
+			/* TRANSLATORS: button: show the user a button to get more help finding stuff */
+			gpk_client_dialog_set_action (gclient->priv->dialog, _("More information"));
 			/* only show the "more info" button if there is a valid link */
 			if (info_url != NULL)
 				gpk_client_dialog_show_page (gclient->priv->dialog, GPK_CLIENT_DIALOG_PAGE_WARNING, GPK_CLIENT_DIALOG_BUTTON_ACTION, 0);
@@ -2306,6 +2308,8 @@
 			/* TRANSLATORS: nothing found in the software sources that helps */
 			gpk_client_dialog_set_message (gclient->priv->dialog, _("No new applications can be found to handle this type of file"));
 			gpk_client_dialog_set_help_id (gclient->priv->dialog, "dialog-package-not-found");
+			/* TRANSLATORS: button: show the user a button to get more help finding stuff */
+			gpk_client_dialog_set_action (gclient->priv->dialog, _("More information"));
 			/* only show the "more info" button if there is a valid link */
 			if (info_url != NULL)
 				gpk_client_dialog_show_page (gclient->priv->dialog, GPK_CLIENT_DIALOG_PAGE_WARNING, GPK_CLIENT_DIALOG_BUTTON_ACTION, 0);
@@ -2453,6 +2457,8 @@
 			/* TRANSLATORS: message: tell the user we suck */
 			gpk_client_dialog_set_message (gclient->priv->dialog, _("No new fonts can be found for this document"));
 			gpk_client_dialog_set_help_id (gclient->priv->dialog, "dialog-package-not-found");
+			/* TRANSLATORS: button: show the user a button to get more help finding stuff */
+			gpk_client_dialog_set_action (gclient->priv->dialog, _("More information"));
 			/* only show the "more info" button if there is a valid link */
 			if (info_url != NULL)
 				gpk_client_dialog_show_page (gclient->priv->dialog, GPK_CLIENT_DIALOG_PAGE_WARNING, GPK_CLIENT_DIALOG_BUTTON_ACTION, 0);
@@ -2993,7 +2999,6 @@
 	gpk_client_dialog_set_title (gclient->priv->dialog, _("Update packages"));
 	gpk_client_dialog_set_message (gclient->priv->dialog, "");
 	gpk_client_dialog_set_help_id (gclient->priv->dialog, "dialog-update-packages");
-	gpk_client_dialog_set_help_id (gclient->priv->dialog, "dialog-update-packages");
 	if (gclient->priv->show_progress)
 		gpk_client_dialog_show_page (gclient->priv->dialog, GPK_CLIENT_DIALOG_PAGE_PROGRESS, GPK_CLIENT_DIALOG_PACKAGE_PADDING, 0);
 
@@ -3022,6 +3027,14 @@
 
 	g_return_if_fail (GPK_IS_CLIENT (gclient));
 
+	gpk_client_dialog_set_title (gclient->priv->dialog, _("Signature required"));
+	gpk_client_dialog_set_image_status (gclient->priv->dialog, PK_STATUS_ENUM_SIG_CHECK);
+	gpk_client_dialog_set_message (gclient->priv->dialog, "");
+	gpk_client_dialog_set_percentage (gclient->priv->dialog, 101);
+	gpk_client_dialog_set_help_id (gclient->priv->dialog, NULL);
+	if (gclient->priv->show_progress)
+		gpk_client_dialog_show_page (gclient->priv->dialog, GPK_CLIENT_DIALOG_PAGE_CUSTOM, pk_bitfield_value (GPK_CLIENT_DIALOG_WIDGET_PROGRESS_BAR), 0);
+
 	widget = GTK_WIDGET (gpk_client_dialog_get_window (gclient->priv->dialog));
 	ret = gpk_client_signature_show (GTK_WINDOW (widget), package_id, repository_name, key_url, key_userid,
 					 key_id, key_fingerprint, key_timestamp);
@@ -3354,7 +3367,7 @@
  * gpk_client_set_parent_exec:
  *
  * This sets the package name of the application that is trying to install
- * software, e.g. "totem" and is used for the PkExtra lookup to provide
+ * software, e.g. "totem" and is used for the PkDesktop lookup to provide
  * a translated name and icon.
  **/
 gboolean
@@ -3386,10 +3399,10 @@
 	package = gpk_client_get_package_for_exec (gclient, exec);
 	egg_debug ("got package %s", package);
 
-	/* try to get from PkExtra */
+	/* try to get from PkDesktop */
 	if (package != NULL) {
-		gclient->priv->parent_title = g_strdup (pk_extra_get_summary (gclient->priv->extra, package));
-		gclient->priv->parent_icon_name = g_strdup (pk_extra_get_icon_name (gclient->priv->extra, package));
+		gclient->priv->parent_title = gpk_desktop_guess_localised_name (gclient->priv->desktop, package);
+		gclient->priv->parent_icon_name = gpk_desktop_guess_icon_name (gclient->priv->desktop, package);
 		/* fallback to package name */
 		if (gclient->priv->parent_title == NULL) {
 			egg_debug ("did not get localised description for %s", package);
@@ -3503,6 +3516,10 @@
 	gtk_icon_theme_append_search_path (gtk_icon_theme_get_default (),
 					   GPK_DATA G_DIR_SEPARATOR_S "icons");
 
+	/* only initialise if the application didn't do it before */
+	if (!notify_is_initted ())
+		notify_init ("gpk-client");
+
 	gclient->priv->vendor = gpk_vendor_new ();
 	gclient->priv->dialog = gpk_client_dialog_new ();
 	gpk_client_dialog_set_window_icon (gclient->priv->dialog, "pk-package-installed");
@@ -3553,11 +3570,10 @@
 			  G_CALLBACK (gpk_client_secondary_finished_cb), gclient);
 
 	/* used for icons and translations */
-	gclient->priv->extra = pk_extra_new ();
-	ret = pk_extra_set_database (gclient->priv->extra, NULL);
+	gclient->priv->desktop = pk_desktop_new ();
+	ret = pk_desktop_open_database (gclient->priv->desktop, NULL);
 	if (!ret)
-		egg_warning ("failed to set extra database");
-	pk_extra_set_locale (gclient->priv->extra, NULL);
+		egg_warning ("failed to open desktop database");
 
 	/* cache the upgrade array */
 	gclient->priv->upgrade_array = g_ptr_array_new ();
@@ -3591,7 +3607,7 @@
 	g_object_unref (gclient->priv->client_resolve);
 	g_object_unref (gclient->priv->client_secondary);
 	g_object_unref (gclient->priv->control);
-	g_object_unref (gclient->priv->extra);
+	g_object_unref (gclient->priv->desktop);
 	g_object_unref (gclient->priv->gconf_client);
 	g_object_unref (gclient->priv->dialog);
 	g_object_unref (gclient->priv->vendor);

Modified: trunk/src/gpk-common.c
==============================================================================
--- trunk/src/gpk-common.c	(original)
+++ trunk/src/gpk-common.c	Wed Nov 19 16:27:11 2008
@@ -31,6 +31,7 @@
 #include <dbus/dbus-glib.h>
 #include <polkit-gnome/polkit-gnome.h>
 #include <packagekit-glib/packagekit.h>
+#include <locale.h>
 
 #include "egg-debug.h"
 #include "egg-string.h"
@@ -169,7 +170,7 @@
  * gpk_check_privileged_user
  **/
 gboolean
-gpk_check_privileged_user (const gchar *application_name)
+gpk_check_privileged_user (const gchar *application_name, gboolean show_ui)
 {
 	EggConsoleKit *ck = NULL;
 	guint uid;
@@ -181,6 +182,8 @@
 
 	uid = getuid ();
 	if (uid == 0) {
+		if (!show_ui)
+			goto out;
 		if (application_name == NULL)
 			/* TRANSLATORS: these tools cannot run as root (unknown name) */
 			title = g_strdup (_("This application is running as a privileged user"));
@@ -219,6 +222,8 @@
 	/* we are not local */
 	ret = egg_console_kit_is_local (ck);
 	if (!ret) {
+		if (!show_ui)
+			goto out;
 		if (application_name == NULL)
 			/* TRANSLATORS: the user is not sitting in front of the keyboard */
 			title = g_strdup (_("This application is running when the session is not local"));
@@ -240,6 +245,8 @@
 	/* we are not active */
 	ret = egg_console_kit_is_active (ck);
 	if (!ret) {
+		if (!show_ui)
+			goto out;
 		if (application_name == NULL)
 			/* TRANSLATORS: the user is not active, i.e. is idle */
 			title = g_strdup (_("This application is running when the session is not active"));
@@ -272,7 +279,7 @@
 gpk_check_icon_valid (const gchar *icon)
 {
 	GtkIconInfo *icon_info;
-	static GtkIconTheme *icon_theme = NULL;
+	GtkIconTheme *icon_theme = NULL;
 	gboolean ret = TRUE;
 
 	/* trivial case */
@@ -280,8 +287,7 @@
 		return FALSE;
 
 	/* no unref required */
-	if (icon_theme == NULL)
-		icon_theme = gtk_icon_theme_get_default ();
+	icon_theme = gtk_icon_theme_get_default ();
 
 	/* default to 32x32 */
 	icon_info = gtk_icon_theme_lookup_icon (icon_theme, icon, 32, GTK_ICON_LOOKUP_USE_BUILTIN);
@@ -295,6 +301,169 @@
 	return ret;
 }
 
+
+
+/**
+ * gpk_desktop_get_file_weight:
+ **/
+gint
+gpk_desktop_get_file_weight (const gchar *filename)
+{
+	GKeyFile *file;
+	gboolean ret;
+	gchar *value;
+	gint weight = 0;
+	const gchar *locale;
+
+	locale = setlocale (LC_ALL, NULL);
+	file = g_key_file_new ();
+	ret = g_key_file_load_from_file (file, filename, G_KEY_FILE_KEEP_TRANSLATIONS, NULL);
+	if (!ret) {
+		egg_debug ("failed to open %s", filename);
+		weight = G_MININT;
+		goto out;
+	}
+
+	/* application */
+	value = g_key_file_get_string (file, G_KEY_FILE_DESKTOP_GROUP, G_KEY_FILE_DESKTOP_KEY_TYPE, NULL);
+	if (egg_strequal (value, G_KEY_FILE_DESKTOP_TYPE_APPLICATION))
+		weight += 10;
+	g_free (value);
+
+	/* icon */
+	value = g_key_file_get_string (file, G_KEY_FILE_DESKTOP_GROUP, G_KEY_FILE_DESKTOP_KEY_ICON, NULL);
+	if (value != NULL && gpk_check_icon_valid (value))
+		weight += 50;
+	g_free (value);
+
+	/* hidden */
+	value = g_key_file_get_string (file, G_KEY_FILE_DESKTOP_GROUP, G_KEY_FILE_DESKTOP_KEY_HIDDEN, NULL);
+	if (value != NULL)
+		weight -= 100;
+	g_free (value);
+
+	value = g_key_file_get_string (file, G_KEY_FILE_DESKTOP_GROUP, G_KEY_FILE_DESKTOP_KEY_NO_DISPLAY, NULL);
+	if (egg_strequal (value, "true"))
+		weight -= 100;
+	g_free (value);
+
+	/* hidden */
+	value = g_key_file_get_locale_string (file, G_KEY_FILE_DESKTOP_GROUP, G_KEY_FILE_DESKTOP_KEY_NAME, locale, NULL);
+	if (value != NULL)
+		weight += 30;
+	g_free (value);
+
+out:
+	g_key_file_free (file);
+	return weight;
+}
+
+/**
+ * gpk_desktop_guess_best_file:
+ **/
+gchar *
+gpk_desktop_guess_best_file (PkDesktop *desktop, const gchar *package)
+{
+	GPtrArray *array;
+	const gchar *filename;
+	gchar *best_file = NULL;
+	guint i;
+	guint max = G_MININT;
+	guint max_index = 0;
+	gint weight;
+
+	array = pk_desktop_get_files_for_package (desktop, package, NULL);
+	if (array == NULL)
+		goto out;
+	if (array->len == 0)
+		goto out;
+
+	/* go through each option, and weight each one */
+	for (i=0; i<array->len; i++) {
+		filename = g_ptr_array_index (array, i);
+		weight = gpk_desktop_get_file_weight (filename);
+		egg_debug ("file %s has weight %i", filename, weight);
+		if (weight > max) {
+			max = weight;
+			max_index = i;
+		}
+	}
+
+	/* we've got a best */
+	best_file = g_strdup (g_ptr_array_index (array, max_index));
+	egg_debug ("using %s", best_file);
+out:
+	if (array != NULL) {
+		g_ptr_array_foreach (array, (GFunc) g_free, NULL);
+		g_ptr_array_free (array, TRUE);
+	}
+	return best_file;
+}
+
+/**
+ * gpk_desktop_guess_icon_name:
+ **/
+gchar *
+gpk_desktop_guess_icon_name (PkDesktop *desktop, const gchar *package)
+{
+	GKeyFile *file;
+	gchar *filename;
+	gchar *data = NULL;
+	gboolean ret;
+
+	filename = gpk_desktop_guess_best_file (desktop, package);
+	if (filename == NULL)
+		goto out;
+
+	/* get data from file */
+	file = g_key_file_new ();
+	ret = g_key_file_load_from_file (file, filename, G_KEY_FILE_NONE, NULL);
+	if (!ret) {
+		egg_warning ("failed to open %s", filename);
+		goto out;
+	}
+	data = g_key_file_get_string (file, G_KEY_FILE_DESKTOP_GROUP, G_KEY_FILE_DESKTOP_KEY_ICON, NULL);
+	g_key_file_free (file);
+
+	/* one final check */
+	if (data != NULL && !gpk_check_icon_valid (data)) {
+		g_free (data);
+		data = NULL;
+	}
+out:
+	g_free (filename);
+	return data;
+}
+
+/**
+ * gpk_desktop_guess_localised_name:
+ **/
+gchar *
+gpk_desktop_guess_localised_name (PkDesktop *desktop, const gchar *package)
+{
+	GKeyFile *file;
+	gchar *filename;
+	gchar *data = NULL;
+	gboolean ret;
+
+	filename = gpk_desktop_guess_best_file (desktop, package);
+	if (filename == NULL)
+		goto out;
+
+	/* get data from file */
+	file = g_key_file_new ();
+	ret = g_key_file_load_from_file (file, filename, G_KEY_FILE_KEEP_TRANSLATIONS, NULL);
+	if (!ret) {
+		egg_warning ("failed to open %s", filename);
+		goto out;
+	}
+	data = g_key_file_get_string (file, G_KEY_FILE_DESKTOP_GROUP, G_KEY_FILE_DESKTOP_KEY_NAME, NULL);
+	g_key_file_free (file);
+out:
+	g_free (filename);
+	return data;
+}
+
 /**
  * gpk_set_animated_icon_from_status:
  **/

Modified: trunk/src/gpk-common.h
==============================================================================
--- trunk/src/gpk-common.h	(original)
+++ trunk/src/gpk-common.h	Wed Nov 19 16:27:11 2008
@@ -85,13 +85,22 @@
 gchar		*gpk_package_id_name_version		(const PkPackageId *id);
 
 gchar		*gpk_time_to_localised_string		(guint		 time_secs);
-gboolean	 gpk_check_privileged_user		(const gchar	*application_name);
+gboolean	 gpk_check_privileged_user		(const gchar	*application_name,
+							 gboolean	 show_ui);
+
+gchar		*gpk_desktop_guess_best_file		(PkDesktop	*desktop,
+							 const gchar	*package);
+gchar		*gpk_desktop_guess_icon_name		(PkDesktop	*desktop,
+							 const gchar	*package);
+gchar		*gpk_desktop_guess_localised_name	(PkDesktop	*desktop,
+							 const gchar	*package);
+gint		 gpk_desktop_get_file_weight		(const gchar	*filename);
 gboolean	 gpk_check_icon_valid			(const gchar	*icon);
 gboolean	 gpk_set_animated_icon_from_status	(GpkAnimatedIcon *icon,
 							 PkStatusEnum	 status,
 							 GtkIconSize	 size);
 gchar		*gpk_strv_join_locale			(gchar		**array);
-GtkEntryCompletion	*gpk_package_entry_completion_new	(void);
+GtkEntryCompletion *gpk_package_entry_completion_new	(void);
 gboolean	 gpk_window_set_size_request		(GtkWindow	*window,
 							 guint		 width,
 							 guint		 height);

Modified: trunk/src/gpk-dialog.c
==============================================================================
--- trunk/src/gpk-dialog.c	(original)
+++ trunk/src/gpk-dialog.c	Wed Nov 19 16:27:11 2008
@@ -84,7 +84,7 @@
 	GtkListStore *store;
 	GtkTreeIter iter;
 	const PkPackageObj *obj;
-	PkExtra *extra;
+	PkDesktop *desktop;
 	const gchar *icon;
 	gchar *package_id;
 	gchar *text;
@@ -92,7 +92,7 @@
 	guint i;
 	gboolean valid;
 
-	extra = pk_extra_new ();
+	desktop = pk_desktop_new ();
 	store = gtk_list_store_new (GPK_DIALOG_STORE_LAST, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING);
 	length = pk_package_list_get_size (list);
 
@@ -103,11 +103,9 @@
 		package_id = pk_package_id_to_string (obj->id);
 
 		/* get the icon */
-		icon = pk_extra_get_icon_name (extra, obj->id->name);
-		valid = gpk_check_icon_valid (icon);
-		if (!valid) {
+		icon = gpk_desktop_guess_icon_name (desktop, obj->id->name);
+		if (icon == NULL)
 			icon = gpk_info_enum_to_icon_name (PK_INFO_ENUM_INSTALLED);
-		}
 
 		gtk_list_store_append (store, &iter);
 		gtk_list_store_set (store, &iter,
@@ -119,7 +117,7 @@
 		g_free (package_id);
 	}
 
-	g_object_unref (extra);
+	g_object_unref (desktop);
 	return store;
 }
 

Modified: trunk/src/gpk-enum.c
==============================================================================
--- trunk/src/gpk-enum.c	(original)
+++ trunk/src/gpk-enum.c	Wed Nov 19 16:27:11 2008
@@ -323,7 +323,7 @@
 		text = _("An internal system error has occurred");
 		break;
 	case PK_ERROR_ENUM_GPG_FAILURE:
-		text = _("A security trust relationship is not present");
+		text = _("A security signature is not present");
 		break;
 	case PK_ERROR_ENUM_PACKAGE_NOT_INSTALLED:
 		text = _("The package is not installed");
@@ -407,10 +407,10 @@
 		text = _("Local install failed");
 		break;
 	case PK_ERROR_ENUM_BAD_GPG_SIGNATURE:
-		text = _("Bad GPG signature");
+		text = _("Bad security signature");
 		break;
 	case PK_ERROR_ENUM_MISSING_GPG_SIGNATURE:
-		text = _("Missing GPG signature");
+		text = _("Missing security signature");
 		break;
 	case PK_ERROR_ENUM_REPO_CONFIGURATION_ERROR:
 		text = _("Repository configuration invalid");
@@ -433,6 +433,9 @@
 	case PK_ERROR_ENUM_NO_MORE_MIRRORS_TO_TRY:
 		text = _("No more mirrors are available");
 		break;
+	case PK_ERROR_ENUM_NO_DISTRO_UPGRADE_DATA:
+		text = _("No distribution upgrade data is available");
+		break;
 	default:
 		egg_warning ("Unknown error");
 	}
@@ -464,11 +467,11 @@
 		break;
 	case PK_ERROR_ENUM_NOT_SUPPORTED:
 		text = _("The action is not supported by this backend.\n"
-			 "Please report a bug at " GPK_BUGZILLA_URL " as this should not have happened.");
+			 "Please report a bug in your distribution bugtracker as this should not have happened.");
 		break;
 	case PK_ERROR_ENUM_INTERNAL_ERROR:
 		text = _("A problem that we were not expecting has occurred.\n"
-			 "Please report this bug at " GPK_BUGZILLA_URL " with the error description.");
+			 "Please report this bug in your distribution bugtracker with the error description.");
 		break;
 	case PK_ERROR_ENUM_GPG_FAILURE:
 		text = _("A security trust relationship could not be made with software source.\n"
@@ -575,11 +578,11 @@
 			 "More information is available in the detailed report.");
 		break;
 	case PK_ERROR_ENUM_BAD_GPG_SIGNATURE:
-		text = _("The package signature could not be verified.");
+		text = _("The package security signature could not be verified.");
 		break;
 	case PK_ERROR_ENUM_MISSING_GPG_SIGNATURE:
-		text = _("The package signature was missing and this package is untrusted.\n"
-			 "This package was not signed with a GPG key when created.");
+		text = _("The package security signature is missing and this package is untrusted.\n"
+			 "This package was not signed when created.");
 		break;
 	case PK_ERROR_ENUM_REPO_CONFIGURATION_ERROR:
 		text = _("Repository configuration was invalid and could not be read.");
@@ -605,6 +608,10 @@
 		text = _("Required data could not be found on any of the configured software sources.\n"
 			 "There were no more download mirrors that could be tried.");
 		break;
+	case PK_ERROR_ENUM_NO_DISTRO_UPGRADE_DATA:
+		text = _("Required upgrade data could not be found in any of the configured software sources.\n"
+			 "The list of distribution upgrades will be unavailable.");
+		break;
 	default:
 		egg_warning ("Unknown error, please report a bug at " GPK_BUGZILLA_URL ".\n"
 			    "More information is available in the detailed report.");
@@ -708,10 +715,10 @@
 		text = _("The priority was invalid");
 		break;
 	case PK_MESSAGE_ENUM_BACKEND_ERROR:
-		text = _("Generic backend error");
+		text = _("Backend warning");
 		break;
 	case PK_MESSAGE_ENUM_DAEMON_ERROR:
-		text = _("Generic daemon error");
+		text = _("Daemon warning");
 		break;
 	case PK_MESSAGE_ENUM_CACHE_BEING_REBUILT:
 		text = _("The package list cache is being rebuilt");
@@ -1092,6 +1099,9 @@
 	case PK_ROLE_ENUM_GET_CATEGORIES:
 		text = _("Getting categories");
 		break;
+	case PK_ROLE_ENUM_GET_OLD_TRANSACTIONS:
+		text = _("Getting old transactions");
+		break;
 	default:
 		egg_warning ("role unrecognised: %s", pk_role_enum_to_text (role));
 	}
@@ -1198,6 +1208,9 @@
 	case PK_ROLE_ENUM_GET_CATEGORIES:
 		text = _("Got categories");
 		break;
+	case PK_ROLE_ENUM_GET_OLD_TRANSACTIONS:
+		text = _("Got old transactions");
+		break;
 	default:
 		egg_warning ("role unrecognised: %s", pk_role_enum_to_text (role));
 	}

Modified: trunk/src/gpk-error.c
==============================================================================
--- trunk/src/gpk-error.c	(original)
+++ trunk/src/gpk-error.c	Wed Nov 19 16:27:11 2008
@@ -57,7 +57,7 @@
 	glade_xml = glade_xml_new (GPK_DATA "/gpk-error.glade", NULL, NULL);
 
 	/* connect up actions */
-	widget = glade_xml_get_widget (glade_xml, "window_error");
+	widget = glade_xml_get_widget (glade_xml, "dialog_error");
 	g_signal_connect_swapped (widget, "delete_event", G_CALLBACK (gtk_main_quit), NULL);
 
 	/* make modal if window set */
@@ -94,7 +94,7 @@
 	}
 
 	/* show window */
-	widget = glade_xml_get_widget (glade_xml, "window_error");
+	widget = glade_xml_get_widget (glade_xml, "dialog_error");
 	gtk_window_present_with_time (GTK_WINDOW (widget), timestamp);
 	gtk_window_set_title (GTK_WINDOW (widget), "");
 	gtk_window_set_icon_name (GTK_WINDOW (widget), GPK_ICON_SOFTWARE_INSTALLER);

Modified: trunk/src/gpk-install-catalog.c
==============================================================================
--- trunk/src/gpk-install-catalog.c	(original)
+++ trunk/src/gpk-install-catalog.c	Wed Nov 19 16:27:11 2008
@@ -76,7 +76,7 @@
 	gtk_init (&argc, &argv);
 
 	/* are we running privileged */
-	ret = gpk_check_privileged_user (_("Catalog installer"));
+	ret = gpk_check_privileged_user (_("Catalog installer"), TRUE);
 	if (!ret)
 		return 1;
 

Modified: trunk/src/gpk-install-local-file.c
==============================================================================
--- trunk/src/gpk-install-local-file.c	(original)
+++ trunk/src/gpk-install-local-file.c	Wed Nov 19 16:27:11 2008
@@ -76,7 +76,7 @@
 	gtk_init (&argc, &argv);
 
 	/* TRANSLATORS: title to pass to to the user if there are not enough privs */
-	ret = gpk_check_privileged_user (_("Local file installer"));
+	ret = gpk_check_privileged_user (_("Local file installer"), TRUE);
 	if (!ret)
 		return 1;
 

Modified: trunk/src/gpk-install-mime-type.c
==============================================================================
--- trunk/src/gpk-install-mime-type.c	(original)
+++ trunk/src/gpk-install-mime-type.c	Wed Nov 19 16:27:11 2008
@@ -72,7 +72,7 @@
 	gtk_init (&argc, &argv);
 
 	/* TRANSLATORS: title to pass to to the user if there are not enough privs */
-	ret = gpk_check_privileged_user (_("Mime type installer"));
+	ret = gpk_check_privileged_user (_("Mime type installer"), TRUE);
 	if (!ret)
 		return 1;
 

Modified: trunk/src/gpk-install-package-name.c
==============================================================================
--- trunk/src/gpk-install-package-name.c	(original)
+++ trunk/src/gpk-install-package-name.c	Wed Nov 19 16:27:11 2008
@@ -75,7 +75,7 @@
 	gtk_init (&argc, &argv);
 
 	/* TRANSLATORS: application name to pass to to the user if there are not enough privs */
-	ret = gpk_check_privileged_user (_("Package Name Installer"));
+	ret = gpk_check_privileged_user (_("Package Name Installer"), TRUE);
 	if (!ret)
 		return 1;
 

Modified: trunk/src/gpk-install-provide-file.c
==============================================================================
--- trunk/src/gpk-install-provide-file.c	(original)
+++ trunk/src/gpk-install-provide-file.c	Wed Nov 19 16:27:11 2008
@@ -72,7 +72,7 @@
 	gtk_init (&argc, &argv);
 
 	/* TRANSLATORS: application name to pass to to the user if there are not enough privs */
-	ret = gpk_check_privileged_user (_("Provide File Installer"));
+	ret = gpk_check_privileged_user (_("Provide File Installer"), TRUE);
 	if (!ret)
 		return 1;
 

Modified: trunk/src/gpk-log.c
==============================================================================
--- trunk/src/gpk-log.c	(original)
+++ trunk/src/gpk-log.c	Wed Nov 19 16:27:11 2008
@@ -30,6 +30,8 @@
 #include <string.h>
 #include <dbus/dbus-glib.h>
 #include <locale.h>
+#include <sys/types.h>
+#include <pwd.h>
 
 #include <polkit-gnome/polkit-gnome.h>
 #include <gconf/gconf-client.h>
@@ -60,6 +62,8 @@
 	GPK_LOG_COLUMN_ROLE,
 	GPK_LOG_COLUMN_DETAILS,
 	GPK_LOG_COLUMN_ID,
+	GPK_LOG_COLUMN_USER,
+	GPK_LOG_COLUMN_TOOL,
 	GPK_LOG_COLUMN_LAST
 };
 
@@ -250,6 +254,20 @@
 							   "markup", GPK_LOG_COLUMN_DETAILS, NULL);
 	gtk_tree_view_append_column (treeview, column);
 	gtk_tree_view_column_set_expand (column, TRUE);
+
+	/* TRANSLATORS: column for the username, e.g. Richard Hughes */
+	column = gtk_tree_view_column_new_with_attributes (_("Username"), renderer,
+							   "markup", GPK_LOG_COLUMN_USER, NULL);
+	gtk_tree_view_append_column (treeview, column);
+	gtk_tree_view_column_set_expand (column, FALSE);
+	gtk_tree_view_column_set_sort_column_id (column, GPK_LOG_COLUMN_USER);
+
+	/* TRANSLATORS: column for the application used for the install, e.g. Add/Remove Programs */
+	column = gtk_tree_view_column_new_with_attributes (_("Application"), renderer,
+							   "markup", GPK_LOG_COLUMN_TOOL, NULL);
+	gtk_tree_view_append_column (treeview, column);
+	gtk_tree_view_column_set_expand (column, FALSE);
+	gtk_tree_view_column_set_sort_column_id (column, GPK_LOG_COLUMN_TOOL);
 }
 
 /**
@@ -318,7 +336,7 @@
 gpk_log_activated_cb (EggUnique *egg_unique, gpointer data)
 {
 	GtkWidget *widget;
-	widget = glade_xml_get_widget (glade_xml, "window_simple");
+	widget = glade_xml_get_widget (glade_xml, "dialog_simple");
 	gtk_window_present (GTK_WINDOW (widget));
 }
 
@@ -344,6 +362,10 @@
 	if (filter == NULL)
 		return TRUE;
 
+	/* matches cmdline */
+	if (obj->cmdline != NULL && g_strrstr (obj->cmdline, filter) != NULL)
+		ret = TRUE;
+
 	/* look in all the data for the filter string */
 	packages = g_strsplit (obj->data, "\n", 0);
 	length = g_strv_length (packages);
@@ -388,7 +410,10 @@
 	gchar **date_part;
 	const gchar *icon_name;
 	const gchar *role_text;
+	const gchar *username = NULL;
+	const gchar *tool;
 	static guint count;
+	struct passwd *pw;
 
 	/* put formatted text into treeview */
 	details = gpk_log_get_details_localised (obj->timespec, obj->data);
@@ -398,6 +423,31 @@
 	icon_name = gpk_role_enum_to_icon_name (obj->role);
 	role_text = gpk_role_enum_to_localised_past (obj->role);
 
+	/* query real name */
+	pw = getpwuid(obj->uid);
+	if (pw != NULL) {
+		if (pw->pw_gecos != NULL)
+			username = pw->pw_gecos;
+		else if (pw->pw_name != NULL)
+			username = pw->pw_name;
+	}
+
+	/* get nice name for tool name */
+	if (egg_strequal (obj->cmdline, "pkcon"))
+		/* TRANSLATORS: short name for pkcon */
+		tool = _("Command line client");
+	else if (egg_strequal (obj->cmdline, "gpk-application"))
+		/* TRANSLATORS: short name for gpk-update-viewer */
+		tool = _("Add/Remove Software");
+	else if (egg_strequal (obj->cmdline, "gpk-update-viewer"))
+		/* TRANSLATORS: short name for gpk-update-viewer */
+		tool = _("Update System");
+	else if (egg_strequal (obj->cmdline, "gpk-update-icon"))
+		/* TRANSLATORS: short name for gpk-update-icon */
+		tool = _("Update Icon");
+	else
+		tool = obj->cmdline;
+
 	gtk_list_store_append (list_store, &iter);
 	gtk_list_store_set (list_store, &iter,
 			    GPK_LOG_COLUMN_ICON, icon_name,
@@ -405,7 +455,9 @@
 			    GPK_LOG_COLUMN_DATE, date_part[1],
 			    GPK_LOG_COLUMN_ROLE, role_text,
 			    GPK_LOG_COLUMN_DETAILS, details,
-			    GPK_LOG_COLUMN_ID, obj->tid, -1);
+			    GPK_LOG_COLUMN_ID, obj->tid,
+			    GPK_LOG_COLUMN_USER, username,
+			    GPK_LOG_COLUMN_TOOL, tool, -1);
 
 	/* add to db */
 	pk_obj_list_add (tid_list, obj->tid);
@@ -602,7 +654,7 @@
 	gtk_init (&argc, &argv);
 
 	/* are we running privileged */
-	ret = gpk_check_privileged_user (_("Log viewer"));
+	ret = gpk_check_privileged_user (_("Log viewer"), TRUE);
 	if (!ret)
 		return 1;
 
@@ -635,11 +687,11 @@
 	g_object_unref (control);
 
 	glade_xml = glade_xml_new (GPK_DATA "/gpk-log.glade", NULL, NULL);
-	widget = glade_xml_get_widget (glade_xml, "window_simple");
+	widget = glade_xml_get_widget (glade_xml, "dialog_simple");
 	gtk_window_set_icon_name (GTK_WINDOW (widget), GPK_ICON_SOFTWARE_LOG);
 
 	/* set a size, if the screen allows */
-	gpk_window_set_size_request (GTK_WINDOW (widget), 750, 300);
+	gpk_window_set_size_request (GTK_WINDOW (widget), 900, 300);
 
 	/* if command line arguments are set, then setup UI */
 	if (filter != NULL) {
@@ -692,7 +744,7 @@
 
 	/* create list stores */
 	list_store = gtk_list_store_new (GPK_LOG_COLUMN_LAST, G_TYPE_STRING, G_TYPE_STRING,
-					 G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING);
+					 G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING);
 
 	/* create transaction_id tree view */
 	widget = glade_xml_get_widget (glade_xml, "treeview_simple");
@@ -714,7 +766,7 @@
 	gpk_log_refresh ();
 
 	/* show */
-	widget = glade_xml_get_widget (glade_xml, "window_simple");
+	widget = glade_xml_get_widget (glade_xml, "dialog_simple");
 	gtk_widget_show (widget);
 	gtk_main ();
 

Modified: trunk/src/gpk-prefs.c
==============================================================================
--- trunk/src/gpk-prefs.c	(original)
+++ trunk/src/gpk-prefs.c	Wed Nov 19 16:27:11 2008
@@ -331,26 +331,11 @@
 gpk_prefs_activated_cb (EggUnique *egg_unique, gpointer data)
 {
 	GtkWidget *widget;
-	widget = glade_xml_get_widget (glade_xml, "window_prefs");
+	widget = glade_xml_get_widget (glade_xml, "dialog_prefs");
 	gtk_window_present (GTK_WINDOW (widget));
 }
 
 /**
- * gpk_prefs_key_event_cb
- **/
-static gboolean
-gpk_prefs_key_event_cb (GtkWidget *widget, GdkEventKey *event, gpointer data)
-{
-	if (event->keyval == GDK_Escape) {
-		/* user pressed escape key, close the window */
-		gtk_main_quit ();
-		return TRUE;
-	}
-	/* returns FALSE to propagate event further */
-	return FALSE;
-}
-
-/**
  * main:
  **/
 int
@@ -414,9 +399,7 @@
 	g_object_unref (control);
 
 	glade_xml = glade_xml_new (GPK_DATA "/gpk-prefs.glade", NULL, NULL);
-	main_window = glade_xml_get_widget (glade_xml, "window_prefs");
-	g_signal_connect (main_window, "key_press_event",
-			  G_CALLBACK (gpk_prefs_key_event_cb), NULL);
+	main_window = glade_xml_get_widget (glade_xml, "dialog_prefs");
 
 	/* Hide window first so that the dialogue resizes itself without redrawing */
 	gtk_widget_hide (main_window);

Modified: trunk/src/gpk-repo.c
==============================================================================
--- trunk/src/gpk-repo.c	(original)
+++ trunk/src/gpk-repo.c	Wed Nov 19 16:27:11 2008
@@ -233,7 +233,7 @@
 gpk_repo_error_code_cb (PkClient *client, PkErrorCodeEnum code, const gchar *details, gpointer data)
 {
 	GtkWidget *widget;
-	widget = glade_xml_get_widget (glade_xml, "window_repo");
+	widget = glade_xml_get_widget (glade_xml, "dialog_repo");
 	/* TRANSLATORS: for one reason or another, we could not enable or disable a software source */
 	gpk_error_dialog_modal (GTK_WINDOW (widget), _("Failed to change status"),
 				gpk_error_enum_to_localised_text (code), details);
@@ -298,7 +298,7 @@
 gpk_repo_activated_cb (EggUnique *egg_unique, gpointer data)
 {
 	GtkWidget *widget;
-	widget = glade_xml_get_widget (glade_xml, "window_repo");
+	widget = glade_xml_get_widget (glade_xml, "dialog_repo");
 	gtk_window_present (GTK_WINDOW (widget));
 }
 
@@ -360,7 +360,7 @@
 	gtk_init (&argc, &argv);
 
 	/* TRANSLATORS: title to pass to to the user if there are not enough privs */
-	ret = gpk_check_privileged_user (_("Software source viewer"));
+	ret = gpk_check_privileged_user (_("Software source viewer"), TRUE);
 	if (!ret) {
 		return 1;
 	}
@@ -395,7 +395,7 @@
 	glade_set_custom_handler (gpk_repo_create_custom_widget, NULL);
 
 	glade_xml = glade_xml_new (GPK_DATA "/gpk-repo.glade", NULL, NULL);
-	main_window = glade_xml_get_widget (glade_xml, "window_repo");
+	main_window = glade_xml_get_widget (glade_xml, "dialog_repo");
 	gtk_window_set_icon_name (GTK_WINDOW (main_window), GPK_ICON_SOFTWARE_SOURCES);
 
 	/* Get the main window quit */

Modified: trunk/src/gpk-service-pack.c
==============================================================================
--- trunk/src/gpk-service-pack.c	(original)
+++ trunk/src/gpk-service-pack.c	Wed Nov 19 16:27:11 2008
@@ -242,7 +242,7 @@
 
 	/* display errors if not exactly one match */
 	if (len == 0) {
-		widget = glade_xml_get_widget (glade_xml, "window_pack");
+		widget = glade_xml_get_widget (glade_xml, "dialog_pack");
 		/* TRANSLATORS: message details when there were no packages found of that name */
 		text = g_strdup_printf (_("No package '%s' found!"), package);
 		/* TRANSLATORS: did not create pack file */
@@ -250,7 +250,7 @@
 		g_free (text);
 		goto out;
 	} else if (len > 1) {
-		widget = glade_xml_get_widget (glade_xml, "window_pack");
+		widget = glade_xml_get_widget (glade_xml, "dialog_pack");
 		/* TRANSLATORS: more than one match for the package name */
 		text = g_strdup_printf (_("More than one possible package '%s' found!"), package);
 		/* TRANSLATORS: did not create pack file */
@@ -376,7 +376,7 @@
 	if (action == GPK_ACTION_ENUM_COPY) {
 		ret = gpk_pack_copy_package_lists (filename, &error);
 		if (!ret) {
-			widget = glade_xml_get_widget (glade_xml, "window_pack");
+			widget = glade_xml_get_widget (glade_xml, "dialog_pack");
 			/* TRANSLATORS: Could not create package list */
 			gpk_error_dialog_modal (GTK_WINDOW (widget), _("Create error"), _("Cannot copy system package list"), error->message);
 			g_error_free (error);
@@ -395,7 +395,7 @@
 		widget = glade_xml_get_widget (glade_xml, "entry_package");
 		package = gtk_entry_get_text (GTK_ENTRY(widget));
 		if (egg_strzero (package)) {
-			widget = glade_xml_get_widget (glade_xml, "window_pack");
+			widget = glade_xml_get_widget (glade_xml, "dialog_pack");
 			/* TRANSLATORS: Could not create package list */
 			gpk_error_dialog_modal (GTK_WINDOW (widget), _("Create error"), _("No package name selected"), NULL);
 			goto out;
@@ -410,7 +410,7 @@
 	list = pk_package_list_new ();
 	ret = pk_obj_list_from_file (PK_OBJ_LIST(list), exclude);
 	if (!ret) {
-		widget = glade_xml_get_widget (glade_xml, "window_pack");
+		widget = glade_xml_get_widget (glade_xml, "dialog_pack");
 		/* TRANSLATORS: we could not read the file list for the destination computer */
 		gpk_error_dialog_modal (GTK_WINDOW (widget), _("Create error"), _("Cannot read destination package list"), NULL);
 		goto out;
@@ -429,7 +429,7 @@
 	else if (action == GPK_ACTION_ENUM_PACKAGE)
 		ret = pk_service_pack_create_for_package_ids (pack, package_ids, &error);
 	if (!ret) {
-		widget = glade_xml_get_widget (glade_xml, "window_pack");
+		widget = glade_xml_get_widget (glade_xml, "dialog_pack");
 		/* TRANSLATORS: we could not create the pack file, generic error */
 		gpk_error_dialog_modal (GTK_WINDOW (widget), _("Create error"), _("Cannot create service pack"), error->message);
 		g_error_free (error);
@@ -586,7 +586,7 @@
 	g_object_unref (control);
 
 	glade_xml = glade_xml_new (GPK_DATA "/gpk-service-pack.glade", NULL, NULL);
-	main_window = glade_xml_get_widget (glade_xml, "window_pack");
+	main_window = glade_xml_get_widget (glade_xml, "dialog_pack");
 
 	/* Hide window first so that the dialogue resizes itself without redrawing */
 	gtk_widget_hide (main_window);

Modified: trunk/src/gpk-update-icon.c
==============================================================================
--- trunk/src/gpk-update-icon.c	(original)
+++ trunk/src/gpk-update-icon.c	Wed Nov 19 16:27:11 2008
@@ -41,7 +41,7 @@
 #include "gpk-firmware.h"
 #include "gpk-hardware.h"
 #include "gpk-dbus.h"
-#include "gpk-interface.h"
+#include "org.freedesktop.PackageKit.h"
 #include "gpk-common.h"
 
 /**
@@ -162,7 +162,7 @@
 	gtk_init (&argc, &argv);
 
 	/* TRANSLATORS: title to pass to to the user if there are not enough privs */
-	ret = gpk_check_privileged_user (_("Update applet"));
+	ret = gpk_check_privileged_user (_("Update applet"), FALSE);
 	if (!ret)
 		return 1;
 

Modified: trunk/src/gpk-update-viewer.c
==============================================================================
--- trunk/src/gpk-update-viewer.c	(original)
+++ trunk/src/gpk-update-viewer.c	Wed Nov 19 16:27:11 2008
@@ -35,6 +35,7 @@
 #include <polkit-gnome/polkit-gnome.h>
 #include <gconf/gconf-client.h>
 #include <packagekit-glib/packagekit.h>
+#include <libnotify/notify.h>
 
 #include "egg-debug.h"
 #include "egg-string.h"
@@ -1859,6 +1860,7 @@
 	}
 
 	egg_debug_init (verbose);
+	notify_init ("gpk-update-viewer");
 	gtk_init (&argc, &argv);
 
 	/* add application specific icons to search path */

Modified: trunk/src/gpk-watch.c
==============================================================================
--- trunk/src/gpk-watch.c	(original)
+++ trunk/src/gpk-watch.c	Wed Nov 19 16:27:11 2008
@@ -397,6 +397,7 @@
 	gboolean ret;
 	GError *error = NULL;
 	const gchar *title;
+	gchar *title_prefix;
 	const gchar *message;
 	gboolean is_active;
 	gboolean value;
@@ -438,8 +439,11 @@
 	g_free (watch->priv->error_details);
 	watch->priv->error_details = g_markup_escape_text (details, -1);
 
+	/* TRANSLATORS: Prefix to the title shown in the libnotify popup */
+	title_prefix = g_strdup_printf ("%s: %s", _("Package Manager"), title);
+
 	/* do the bubble */
-	notification = notify_notification_new (title, message, "help-browser", NULL);
+	notification = notify_notification_new (title_prefix, message, "help-browser", NULL);
 	notify_notification_set_timeout (notification, 15000);
 	notify_notification_set_urgency (notification, NOTIFY_URGENCY_LOW);
 	notify_notification_add_action (notification, "show-error-details",
@@ -451,6 +455,7 @@
 		egg_warning ("error: %s", error->message);
 		g_error_free (error);
 	}
+	g_free (title_prefix);
 }
 
 /**
@@ -462,6 +467,7 @@
 	gboolean ret;
 	GError *error = NULL;
 	const gchar *title;
+	gchar *title_prefix;
 	const gchar *filename;
 	gchar *escaped_details;
 	gboolean value;
@@ -477,13 +483,15 @@
         }
 
 	title = gpk_message_enum_to_localised_text (message);
+	/* TRANSLATORS: Prefix to the title shown in the libnotify popup */
+	title_prefix = g_strdup_printf ("%s: %s", _("Package Manager"), title);
 	filename = gpk_message_enum_to_icon_name (message);
 
 	/* we need to format this */
 	escaped_details = g_markup_escape_text (details, -1);
 
 	/* do the bubble */
-	notification = notify_notification_new (title, escaped_details, "help-browser", NULL);
+	notification = notify_notification_new (title_prefix, escaped_details, "help-browser", NULL);
 	notify_notification_set_timeout (notification, NOTIFY_EXPIRES_NEVER);
 	notify_notification_set_urgency (notification, NOTIFY_URGENCY_LOW);
 	ret = notify_notification_show (notification, &error);
@@ -493,6 +501,7 @@
 	}
 
 	g_free (escaped_details);
+	g_free (title_prefix);
 }
 
 /**



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