gnome-packagekit r129 - in trunk: data po src



Author: rhughes
Date: Wed Mar 26 15:21:33 2008
New Revision: 129
URL: http://svn.gnome.org/viewvc/gnome-packagekit?rev=129&view=rev

Log:
from git

Added:
   trunk/data/pk-install-file.glade
Modified:
   trunk/data/Makefile.am
   trunk/data/pk-backend-status.glade
   trunk/data/pk-repo.glade
   trunk/po/POTFILES.in
   trunk/src/Makefile.am
   trunk/src/pk-application-main.c
   trunk/src/pk-application.c
   trunk/src/pk-backend-status.c
   trunk/src/pk-common-gui.c
   trunk/src/pk-install-file.c
   trunk/src/pk-repo.c
   trunk/src/pk-transaction-viewer.c
   trunk/src/pk-update-viewer.c

Modified: trunk/data/Makefile.am
==============================================================================
--- trunk/data/Makefile.am	(original)
+++ trunk/data/Makefile.am	Wed Mar 26 15:21:33 2008
@@ -34,6 +34,7 @@
 	pk-signature.glade				\
 	pk-transactions.glade				\
 	pk-backend-status.glade				\
+	pk-install-file.glade				\
 	$(NULL)
 
 EXTRA_DIST =						\

Modified: trunk/data/pk-backend-status.glade
==============================================================================
--- trunk/data/pk-backend-status.glade	(original)
+++ trunk/data/pk-backend-status.glade	Wed Mar 26 15:21:33 2008
@@ -35,24 +35,15 @@
                         <property name="n_columns">2</property>
                         <property name="column_spacing">5</property>
                         <property name="row_spacing">5</property>
-                        <property name="homogeneous">False</property>
                         <child>
-                          <widget class="GtkLabel" id="label19">
-                            <property name="visible">True</property>
-                            <property name="xalign">0</property>
-                            <property name="label" translatable="yes">Backend Name:</property>
-                          </widget>
-                          <packing>
-                            <property name="y_options"></property>
-                          </packing>
-                        </child>
-                        <child>
-                          <widget class="GtkLabel" id="label20">
+                          <widget class="GtkLabel" id="label_author">
                             <property name="visible">True</property>
                             <property name="xalign">0</property>
-                            <property name="label" translatable="yes">Backend Author:</property>
+                            <property name="label">Richard Hughes</property>
                           </widget>
                           <packing>
+                            <property name="left_attach">1</property>
+                            <property name="right_attach">2</property>
                             <property name="top_attach">1</property>
                             <property name="bottom_attach">2</property>
                             <property name="x_options">GTK_FILL</property>
@@ -73,20 +64,28 @@
                           </packing>
                         </child>
                         <child>
-                          <widget class="GtkLabel" id="label_author">
+                          <widget class="GtkLabel" id="label20">
                             <property name="visible">True</property>
                             <property name="xalign">0</property>
-                            <property name="label">Richard Hughes</property>
+                            <property name="label" translatable="yes">Backend Author:</property>
                           </widget>
                           <packing>
-                            <property name="left_attach">1</property>
-                            <property name="right_attach">2</property>
                             <property name="top_attach">1</property>
                             <property name="bottom_attach">2</property>
                             <property name="x_options">GTK_FILL</property>
                             <property name="y_options"></property>
                           </packing>
                         </child>
+                        <child>
+                          <widget class="GtkLabel" id="label19">
+                            <property name="visible">True</property>
+                            <property name="xalign">0</property>
+                            <property name="label" translatable="yes">Backend Name:</property>
+                          </widget>
+                          <packing>
+                            <property name="y_options"></property>
+                          </packing>
+                        </child>
                       </widget>
                     </child>
                   </widget>
@@ -126,115 +125,109 @@
                             <property name="column_spacing">5</property>
                             <property name="row_spacing">5</property>
                             <child>
-                              <widget class="GtkLabel" id="label15">
+                              <widget class="GtkLabel" id="label45">
                                 <property name="visible">True</property>
                                 <property name="xalign">0</property>
-                                <property name="label" translatable="yes">Get Updates:</property>
+                                <property name="label" translatable="yes">Resolve:</property>
                               </widget>
                               <packing>
+                                <property name="top_attach">8</property>
+                                <property name="bottom_attach">9</property>
                                 <property name="x_options">GTK_FILL</property>
                                 <property name="y_options"></property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkLabel" id="label16">
+                              <widget class="GtkImage" id="image_resolve">
                                 <property name="visible">True</property>
-                                <property name="xalign">0</property>
-                                <property name="label" translatable="yes">Refresh Cache:</property>
+                                <property name="icon_name">gtk-dialog-error</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">8</property>
+                                <property name="bottom_attach">9</property>
                                 <property name="x_options">GTK_FILL</property>
-                                <property name="y_options"></property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkLabel" id="label17">
+                              <widget class="GtkLabel" id="label37">
                                 <property name="visible">True</property>
                                 <property name="xalign">0</property>
-                                <property name="label" translatable="yes">Update System:</property>
+                                <property name="label" translatable="yes">Cancel </property>
                               </widget>
                               <packing>
-                                <property name="top_attach">2</property>
-                                <property name="bottom_attach">3</property>
-                                <property name="x_options">GTK_FILL</property>
+                                <property name="top_attach">7</property>
+                                <property name="bottom_attach">8</property>
                                 <property name="y_options"></property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkLabel" id="label25">
+                              <widget class="GtkImage" id="image_cancel">
                                 <property name="visible">True</property>
-                                <property name="xalign">0</property>
-                                <property name="label" translatable="yes">Search Name:</property>
+                                <property name="icon_name">gtk-dialog-error</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">7</property>
+                                <property name="bottom_attach">8</property>
                                 <property name="x_options">GTK_FILL</property>
-                                <property name="y_options"></property>
+                                <property name="y_options">GTK_FILL</property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkLabel" id="label26">
+                              <widget class="GtkImage" id="image_search_file">
                                 <property name="visible">True</property>
-                                <property name="xalign">0</property>
-                                <property name="label" translatable="yes">Search Details:</property>
+                                <property name="icon_name">gtk-dialog-error</property>
                               </widget>
                               <packing>
-                                <property name="top_attach">4</property>
-                                <property name="bottom_attach">5</property>
+                                <property name="left_attach">1</property>
+                                <property name="right_attach">2</property>
+                                <property name="top_attach">6</property>
+                                <property name="bottom_attach">7</property>
                                 <property name="x_options">GTK_FILL</property>
-                                <property name="y_options"></property>
+                                <property name="y_options">GTK_FILL</property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkLabel" id="label27">
+                              <widget class="GtkImage" id="image_search_group">
                                 <property name="visible">True</property>
-                                <property name="xalign">0</property>
-                                <property name="label" translatable="yes">Search Group:</property>
+                                <property name="icon_name">gtk-dialog-error</property>
                               </widget>
                               <packing>
+                                <property name="left_attach">1</property>
+                                <property name="right_attach">2</property>
                                 <property name="top_attach">5</property>
                                 <property name="bottom_attach">6</property>
                                 <property name="x_options">GTK_FILL</property>
-                                <property name="y_options"></property>
-                              </packing>
-                            </child>
-                            <child>
-                              <widget class="GtkLabel" id="label28">
-                                <property name="visible">True</property>
-                                <property name="xalign">0</property>
-                                <property name="label" translatable="yes">Search File:</property>
-                              </widget>
-                              <packing>
-                                <property name="top_attach">6</property>
-                                <property name="bottom_attach">7</property>
-                                <property name="x_options">GTK_FILL</property>
-                                <property name="y_options"></property>
+                                <property name="y_options">GTK_FILL</property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkImage" id="image_get_updates">
+                              <widget class="GtkImage" id="image_search_details">
                                 <property name="visible">True</property>
                                 <property name="icon_name">gtk-dialog-error</property>
                               </widget>
                               <packing>
                                 <property name="left_attach">1</property>
                                 <property name="right_attach">2</property>
+                                <property name="top_attach">4</property>
+                                <property name="bottom_attach">5</property>
+                                <property name="x_options">GTK_FILL</property>
                                 <property name="y_options">GTK_FILL</property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkImage" id="image_refresh_cache">
+                              <widget class="GtkImage" id="image_search_name">
                                 <property name="visible">True</property>
                                 <property name="icon_name">gtk-dialog-error</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">GTK_FILL</property>
                               </packing>
@@ -254,109 +247,115 @@
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkImage" id="image_search_name">
+                              <widget class="GtkImage" id="image_refresh_cache">
                                 <property name="visible">True</property>
                                 <property name="icon_name">gtk-dialog-error</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">GTK_FILL</property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkImage" id="image_search_details">
+                              <widget class="GtkImage" id="image_get_updates">
                                 <property name="visible">True</property>
                                 <property name="icon_name">gtk-dialog-error</property>
                               </widget>
                               <packing>
                                 <property name="left_attach">1</property>
                                 <property name="right_attach">2</property>
-                                <property name="top_attach">4</property>
-                                <property name="bottom_attach">5</property>
-                                <property name="x_options">GTK_FILL</property>
                                 <property name="y_options">GTK_FILL</property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkImage" id="image_search_group">
+                              <widget class="GtkLabel" id="label28">
                                 <property name="visible">True</property>
-                                <property name="icon_name">gtk-dialog-error</property>
+                                <property name="xalign">0</property>
+                                <property name="label" translatable="yes">SearchFile:</property>
+                              </widget>
+                              <packing>
+                                <property name="top_attach">6</property>
+                                <property name="bottom_attach">7</property>
+                                <property name="x_options">GTK_FILL</property>
+                                <property name="y_options"></property>
+                              </packing>
+                            </child>
+                            <child>
+                              <widget class="GtkLabel" id="label27">
+                                <property name="visible">True</property>
+                                <property name="xalign">0</property>
+                                <property name="label" translatable="yes">SearchGroup:</property>
                               </widget>
                               <packing>
-                                <property name="left_attach">1</property>
-                                <property name="right_attach">2</property>
                                 <property name="top_attach">5</property>
                                 <property name="bottom_attach">6</property>
                                 <property name="x_options">GTK_FILL</property>
-                                <property name="y_options">GTK_FILL</property>
+                                <property name="y_options"></property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkImage" id="image_search_file">
+                              <widget class="GtkLabel" id="label26">
                                 <property name="visible">True</property>
-                                <property name="icon_name">gtk-dialog-error</property>
+                                <property name="xalign">0</property>
+                                <property name="label" translatable="yes">SearchDetails:</property>
                               </widget>
                               <packing>
-                                <property name="left_attach">1</property>
-                                <property name="right_attach">2</property>
-                                <property name="top_attach">6</property>
-                                <property name="bottom_attach">7</property>
+                                <property name="top_attach">4</property>
+                                <property name="bottom_attach">5</property>
                                 <property name="x_options">GTK_FILL</property>
-                                <property name="y_options">GTK_FILL</property>
+                                <property name="y_options"></property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkImage" id="image_cancel">
+                              <widget class="GtkLabel" id="label25">
                                 <property name="visible">True</property>
-                                <property name="icon_name">gtk-dialog-error</property>
+                                <property name="xalign">0</property>
+                                <property name="label" translatable="yes">SearchName:</property>
                               </widget>
                               <packing>
-                                <property name="left_attach">1</property>
-                                <property name="right_attach">2</property>
-                                <property name="top_attach">7</property>
-                                <property name="bottom_attach">8</property>
+                                <property name="top_attach">3</property>
+                                <property name="bottom_attach">4</property>
                                 <property name="x_options">GTK_FILL</property>
-                                <property name="y_options">GTK_FILL</property>
+                                <property name="y_options"></property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkLabel" id="label37">
+                              <widget class="GtkLabel" id="label17">
                                 <property name="visible">True</property>
                                 <property name="xalign">0</property>
-                                <property name="label" translatable="yes">Cancel Transaction:</property>
+                                <property name="label" translatable="yes">UpdateSystem:</property>
                               </widget>
                               <packing>
-                                <property name="top_attach">7</property>
-                                <property name="bottom_attach">8</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>
                             </child>
                             <child>
-                              <widget class="GtkImage" id="image_resolve">
+                              <widget class="GtkLabel" id="label16">
                                 <property name="visible">True</property>
-                                <property name="icon_name">gtk-dialog-error</property>
+                                <property name="xalign">0</property>
+                                <property name="label" translatable="yes">RefreshCache:</property>
                               </widget>
                               <packing>
-                                <property name="left_attach">1</property>
-                                <property name="right_attach">2</property>
-                                <property name="top_attach">8</property>
-                                <property name="bottom_attach">9</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="label45">
+                              <widget class="GtkLabel" id="label15">
                                 <property name="visible">True</property>
                                 <property name="xalign">0</property>
-                                <property name="label" translatable="yes">Resolve:</property>
+                                <property name="label" translatable="yes">GetUpdates:</property>
                               </widget>
                               <packing>
-                                <property name="top_attach">8</property>
-                                <property name="bottom_attach">9</property>
                                 <property name="x_options">GTK_FILL</property>
                                 <property name="y_options"></property>
                               </packing>
@@ -371,116 +370,109 @@
                             <property name="column_spacing">5</property>
                             <property name="row_spacing">5</property>
                             <child>
-                              <widget class="GtkLabel" id="label34">
-                                <property name="visible">True</property>
-                                <property name="xalign">0</property>
-                                <property name="label" translatable="yes">Update Package:</property>
-                              </widget>
-                              <packing>
-                                <property name="x_options">GTK_FILL</property>
-                                <property name="y_options"></property>
-                              </packing>
-                            </child>
-                            <child>
-                              <widget class="GtkLabel" id="label33">
+                              <widget class="GtkImage" id="image_get_files">
                                 <property name="visible">True</property>
-                                <property name="xalign">0</property>
-                                <property name="label" translatable="yes">Install Package:</property>
+                                <property name="icon_name">gtk-dialog-error</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">7</property>
+                                <property name="bottom_attach">8</property>
                                 <property name="x_options">GTK_FILL</property>
-                                <property name="y_options"></property>
+                                <property name="y_options">GTK_FILL</property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkLabel" id="label32">
+                              <widget class="GtkLabel" id="label49">
                                 <property name="visible">True</property>
                                 <property name="xalign">0</property>
-                                <property name="label" translatable="yes">Remove Package:</property>
+                                <property name="label" translatable="yes">GetFiles:</property>
                               </widget>
                               <packing>
-                                <property name="top_attach">2</property>
-                                <property name="bottom_attach">3</property>
+                                <property name="top_attach">7</property>
+                                <property name="bottom_attach">8</property>
                                 <property name="x_options">GTK_FILL</property>
                                 <property name="y_options"></property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkLabel" id="label29">
+                              <widget class="GtkImage" id="image_file_install">
                                 <property name="visible">True</property>
-                                <property name="xalign">0</property>
-                                <property name="label" translatable="yes">Get Depends:</property>
+                                <property name="icon_name">gtk-dialog-error</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">8</property>
+                                <property name="bottom_attach">9</property>
                                 <property name="x_options">GTK_FILL</property>
-                                <property name="y_options"></property>
+                                <property name="y_options">GTK_FILL</property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkLabel" id="label30">
+                              <widget class="GtkLabel" id="label44">
                                 <property name="visible">True</property>
                                 <property name="xalign">0</property>
-                                <property name="label" translatable="yes">Get Requires:</property>
+                                <property name="label" translatable="yes">InstallFile:</property>
                               </widget>
                               <packing>
-                                <property name="top_attach">4</property>
-                                <property name="bottom_attach">5</property>
+                                <property name="top_attach">8</property>
+                                <property name="bottom_attach">9</property>
                                 <property name="x_options">GTK_FILL</property>
                                 <property name="y_options"></property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkLabel" id="label31">
+                              <widget class="GtkLabel" id="label38">
                                 <property name="visible">True</property>
                                 <property name="xalign">0</property>
-                                <property name="label" translatable="yes">Get Update Detail:</property>
+                                <property name="label" translatable="yes">GetDescription:</property>
                               </widget>
                               <packing>
-                                <property name="top_attach">5</property>
-                                <property name="bottom_attach">6</property>
-                                <property name="x_options">GTK_FILL</property>
+                                <property name="top_attach">6</property>
+                                <property name="bottom_attach">7</property>
                                 <property name="y_options"></property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkImage" id="image_package_update">
+                              <widget class="GtkImage" id="image_get_description">
                                 <property name="visible">True</property>
                                 <property name="icon_name">gtk-dialog-error</property>
                               </widget>
                               <packing>
                                 <property name="left_attach">1</property>
                                 <property name="right_attach">2</property>
+                                <property name="top_attach">6</property>
+                                <property name="bottom_attach">7</property>
+                                <property name="x_options">GTK_FILL</property>
                                 <property name="y_options">GTK_FILL</property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkImage" id="image_package_install">
+                              <widget class="GtkImage" id="image_get_update_detail">
                                 <property name="visible">True</property>
                                 <property name="icon_name">gtk-dialog-error</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">5</property>
+                                <property name="bottom_attach">6</property>
                                 <property name="x_options">GTK_FILL</property>
                                 <property name="y_options">GTK_FILL</property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkImage" id="image_package_remove">
+                              <widget class="GtkImage" id="image_get_requires">
                                 <property name="visible">True</property>
                                 <property name="icon_name">gtk-dialog-error</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="top_attach">4</property>
+                                <property name="bottom_attach">5</property>
                                 <property name="x_options">GTK_FILL</property>
                                 <property name="y_options">GTK_FILL</property>
                               </packing>
@@ -500,111 +492,118 @@
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkImage" id="image_get_requires">
+                              <widget class="GtkImage" id="image_package_remove">
                                 <property name="visible">True</property>
                                 <property name="icon_name">gtk-dialog-error</property>
                               </widget>
                               <packing>
                                 <property name="left_attach">1</property>
                                 <property name="right_attach">2</property>
-                                <property name="top_attach">4</property>
-                                <property name="bottom_attach">5</property>
+                                <property name="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="GtkImage" id="image_get_update_detail">
+                              <widget class="GtkImage" id="image_package_install">
                                 <property name="visible">True</property>
                                 <property name="icon_name">gtk-dialog-error</property>
                               </widget>
                               <packing>
                                 <property name="left_attach">1</property>
                                 <property name="right_attach">2</property>
-                                <property name="top_attach">5</property>
-                                <property name="bottom_attach">6</property>
+                                <property name="top_attach">1</property>
+                                <property name="bottom_attach">2</property>
                                 <property name="x_options">GTK_FILL</property>
                                 <property name="y_options">GTK_FILL</property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkImage" id="image_get_description">
+                              <widget class="GtkImage" id="image_package_update">
                                 <property name="visible">True</property>
                                 <property name="icon_name">gtk-dialog-error</property>
                               </widget>
                               <packing>
                                 <property name="left_attach">1</property>
                                 <property name="right_attach">2</property>
-                                <property name="top_attach">6</property>
-                                <property name="bottom_attach">7</property>
-                                <property name="x_options">GTK_FILL</property>
                                 <property name="y_options">GTK_FILL</property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkLabel" id="label38">
+                              <widget class="GtkLabel" id="label31">
                                 <property name="visible">True</property>
                                 <property name="xalign">0</property>
-                                <property name="label" translatable="yes">Get Description:</property>
+                                <property name="label" translatable="yes">GetUpdate Detail:</property>
                               </widget>
                               <packing>
-                                <property name="top_attach">6</property>
-                                <property name="bottom_attach">7</property>
+                                <property name="top_attach">5</property>
+                                <property name="bottom_attach">6</property>
+                                <property name="x_options">GTK_FILL</property>
                                 <property name="y_options"></property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkLabel" id="label44">
+                              <widget class="GtkLabel" id="label30">
                                 <property name="visible">True</property>
                                 <property name="xalign">0</property>
-                                <property name="label" translatable="yes">Install File:</property>
+                                <property name="label" translatable="yes">GetRequires:</property>
                               </widget>
                               <packing>
-                                <property name="top_attach">8</property>
-                                <property name="bottom_attach">9</property>
+                                <property name="top_attach">4</property>
+                                <property name="bottom_attach">5</property>
                                 <property name="x_options">GTK_FILL</property>
                                 <property name="y_options"></property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkImage" id="image_file_install">
+                              <widget class="GtkLabel" id="label29">
                                 <property name="visible">True</property>
-                                <property name="icon_name">gtk-dialog-error</property>
+                                <property name="xalign">0</property>
+                                <property name="label" translatable="yes">GetDepends:</property>
                               </widget>
                               <packing>
-                                <property name="left_attach">1</property>
-                                <property name="right_attach">2</property>
-                                <property name="top_attach">8</property>
-                                <property name="bottom_attach">9</property>
+                                <property name="top_attach">3</property>
+                                <property name="bottom_attach">4</property>
                                 <property name="x_options">GTK_FILL</property>
-                                <property name="y_options">GTK_FILL</property>
+                                <property name="y_options"></property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkLabel" id="label49">
+                              <widget class="GtkLabel" id="label32">
                                 <property name="visible">True</property>
                                 <property name="xalign">0</property>
-                                <property name="label" translatable="yes">Get Files:</property>
+                                <property name="label" translatable="yes">RemovePackage:</property>
                               </widget>
                               <packing>
-                                <property name="top_attach">7</property>
-                                <property name="bottom_attach">8</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>
                             </child>
                             <child>
-                              <widget class="GtkImage" id="image_get_files">
+                              <widget class="GtkLabel" id="label33">
                                 <property name="visible">True</property>
-                                <property name="icon_name">gtk-dialog-error</property>
+                                <property name="xalign">0</property>
+                                <property name="label" translatable="yes">InstallPackage:</property>
                               </widget>
                               <packing>
-                                <property name="left_attach">1</property>
-                                <property name="right_attach">2</property>
-                                <property name="top_attach">7</property>
-                                <property name="bottom_attach">8</property>
+                                <property name="top_attach">1</property>
+                                <property name="bottom_attach">2</property>
                                 <property name="x_options">GTK_FILL</property>
-                                <property name="y_options">GTK_FILL</property>
+                                <property name="y_options"></property>
+                              </packing>
+                            </child>
+                            <child>
+                              <widget class="GtkLabel" id="label34">
+                                <property name="visible">True</property>
+                                <property name="xalign">0</property>
+                                <property name="label" translatable="yes">UpdatePackage:</property>
+                              </widget>
+                              <packing>
+                                <property name="x_options">GTK_FILL</property>
+                                <property name="y_options"></property>
                               </packing>
                             </child>
                           </widget>
@@ -615,45 +614,61 @@
                         <child>
                           <widget class="GtkTable" id="table7">
                             <property name="visible">True</property>
-                            <property name="n_rows">3</property>
+                            <property name="n_rows">4</property>
                             <property name="n_columns">2</property>
                             <property name="column_spacing">5</property>
                             <property name="row_spacing">5</property>
                             <child>
-                              <widget class="GtkLabel" id="label46">
+                              <widget class="GtkImage" id="image_what_provides">
                                 <property name="visible">True</property>
-                                <property name="xalign">0</property>
-                                <property name="label" translatable="yes">Get Repository List:</property>
+                                <property name="icon_name">gtk-dialog-error</property>
                               </widget>
                               <packing>
+                                <property name="left_attach">1</property>
+                                <property name="right_attach">2</property>
+                                <property name="top_attach">3</property>
+                                <property name="bottom_attach">4</property>
                                 <property name="x_options">GTK_FILL</property>
-                                <property name="y_options"></property>
+                                <property name="y_options">GTK_FILL</property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkLabel" id="label47">
+                              <widget class="GtkLabel" id="label2">
                                 <property name="visible">True</property>
                                 <property name="xalign">0</property>
-                                <property name="label" translatable="yes">Repository Enable:</property>
+                                <property name="label" translatable="yes">WhatProvides:</property>
                               </widget>
                               <packing>
-                                <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="label48">
+                              <widget class="GtkImage" id="image_get_repo_list">
                                 <property name="visible">True</property>
-                                <property name="xalign">0</property>
-                                <property name="label" translatable="yes">Repository Set Data:</property>
+                                <property name="icon_name">gtk-dialog-error</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">GTK_FILL</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <widget class="GtkImage" id="image_repo_set_data">
+                                <property name="visible">True</property>
+                                <property name="icon_name">gtk-dialog-error</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"></property>
+                                <property name="y_options">GTK_FILL</property>
                               </packing>
                             </child>
                             <child>
@@ -671,29 +686,40 @@
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkImage" id="image_repo_set_data">
+                              <widget class="GtkLabel" id="label48">
                                 <property name="visible">True</property>
-                                <property name="icon_name">gtk-dialog-error</property>
+                                <property name="xalign">0</property>
+                                <property name="label" translatable="yes">RepositorySetData:</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>
+                                <property name="y_options"></property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkImage" id="image_get_repo_list">
+                              <widget class="GtkLabel" id="label47">
                                 <property name="visible">True</property>
-                                <property name="icon_name">gtk-dialog-error</property>
+                                <property name="xalign">0</property>
+                                <property name="label" translatable="yes">RepositoryEnable:</property>
                               </widget>
                               <packing>
-                                <property name="left_attach">1</property>
-                                <property name="right_attach">2</property>
+                                <property name="top_attach">1</property>
+                                <property name="bottom_attach">2</property>
                                 <property name="x_options">GTK_FILL</property>
-                                <property name="y_options">GTK_FILL</property>
+                                <property name="y_options"></property>
+                              </packing>
+                            </child>
+                            <child>
+                              <widget class="GtkLabel" id="label46">
+                                <property name="visible">True</property>
+                                <property name="xalign">0</property>
+                                <property name="label" translatable="yes">GetRepositoryList:</property>
+                              </widget>
+                              <packing>
+                                <property name="x_options">GTK_FILL</property>
+                                <property name="y_options"></property>
                               </packing>
                             </child>
                           </widget>
@@ -738,67 +764,86 @@
                           <widget class="GtkTable" id="table2">
                             <property name="visible">True</property>
                             <property name="n_rows">2</property>
-                            <property name="n_columns">4</property>
+                            <property name="n_columns">6</property>
                             <property name="column_spacing">5</property>
                             <property name="row_spacing">5</property>
                             <child>
-                              <widget class="GtkLabel" id="label14">
+                              <widget class="GtkImage" id="image_supported">
                                 <property name="visible">True</property>
-                                <property name="xalign">0</property>
-                                <property name="label" translatable="yes">GUI:</property>
+                                <property name="icon_name">gtk-dialog-error</property>
                               </widget>
                               <packing>
+                                <property name="left_attach">5</property>
+                                <property name="right_attach">6</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>
+                                <property name="y_options">GTK_FILL</property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkImage" id="image_gui">
+                              <widget class="GtkImage" id="image_visible">
                                 <property name="visible">True</property>
                                 <property name="icon_name">gtk-dialog-error</property>
                               </widget>
                               <packing>
-                                <property name="left_attach">1</property>
-                                <property name="right_attach">2</property>
+                                <property name="left_attach">5</property>
+                                <property name="right_attach">6</property>
+                                <property name="y_options">GTK_FILL</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <widget class="GtkLabel" id="label5">
+                                <property name="visible">True</property>
+                                <property name="xalign">0</property>
+                                <property name="label" translatable="yes">Supported:</property>
+                              </widget>
+                              <packing>
+                                <property name="left_attach">4</property>
+                                <property name="right_attach">5</property>
                                 <property name="top_attach">1</property>
                                 <property name="bottom_attach">2</property>
                                 <property name="x_options">GTK_FILL</property>
-                                <property name="y_options">GTK_FILL</property>
+                                <property name="y_options"></property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkLabel" id="label12">
+                              <widget class="GtkLabel" id="label4">
                                 <property name="visible">True</property>
                                 <property name="xalign">0</property>
-                                <property name="label" translatable="yes">Installed:</property>
+                                <property name="label" translatable="yes">Visible:</property>
                               </widget>
                               <packing>
+                                <property name="left_attach">4</property>
+                                <property name="right_attach">5</property>
+                                <property name="x_options">GTK_FILL</property>
                                 <property name="y_options"></property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkImage" id="image_installed">
+                              <widget class="GtkImage" id="image_free">
                                 <property name="visible">True</property>
                                 <property name="icon_name">gtk-dialog-error</property>
                               </widget>
                               <packing>
-                                <property name="left_attach">1</property>
-                                <property name="right_attach">2</property>
+                                <property name="left_attach">3</property>
+                                <property name="right_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">GTK_FILL</property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkLabel" id="label13">
+                              <widget class="GtkLabel" id="label50">
                                 <property name="visible">True</property>
                                 <property name="xalign">0</property>
-                                <property name="label" translatable="yes">Development:</property>
+                                <property name="label" translatable="yes">Free:</property>
                               </widget>
                               <packing>
                                 <property name="left_attach">2</property>
                                 <property name="right_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>
@@ -815,34 +860,67 @@
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkLabel" id="label50">
+                              <widget class="GtkLabel" id="label13">
                                 <property name="visible">True</property>
                                 <property name="xalign">0</property>
-                                <property name="label" translatable="yes">Free:</property>
+                                <property name="label" translatable="yes">Development:</property>
                               </widget>
                               <packing>
                                 <property name="left_attach">2</property>
                                 <property name="right_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="GtkImage" id="image_free">
+                              <widget class="GtkImage" id="image_installed">
                                 <property name="visible">True</property>
                                 <property name="icon_name">gtk-dialog-error</property>
                               </widget>
                               <packing>
-                                <property name="left_attach">3</property>
-                                <property name="right_attach">4</property>
+                                <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="GtkLabel" id="label12">
+                                <property name="visible">True</property>
+                                <property name="xalign">0</property>
+                                <property name="label" translatable="yes">Installed:</property>
+                              </widget>
+                              <packing>
+                                <property name="y_options"></property>
+                              </packing>
+                            </child>
+                            <child>
+                              <widget class="GtkImage" id="image_gui">
+                                <property name="visible">True</property>
+                                <property name="icon_name">gtk-dialog-error</property>
+                              </widget>
+                              <packing>
+                                <property name="left_attach">1</property>
+                                <property name="right_attach">2</property>
                                 <property name="top_attach">1</property>
                                 <property name="bottom_attach">2</property>
                                 <property name="x_options">GTK_FILL</property>
                                 <property name="y_options">GTK_FILL</property>
                               </packing>
                             </child>
+                            <child>
+                              <widget class="GtkLabel" id="label14">
+                                <property name="visible">True</property>
+                                <property name="xalign">0</property>
+                                <property name="label" translatable="yes">GUI:</property>
+                              </widget>
+                              <packing>
+                                <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>
                           </widget>
                           <packing>
                             <property name="expand">False</property>

Added: trunk/data/pk-install-file.glade
==============================================================================
--- (empty file)
+++ trunk/data/pk-install-file.glade	Wed Mar 26 15:21:33 2008
@@ -0,0 +1,350 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE glade-interface SYSTEM "glade-2.0.dtd">
+<!--*- mode: xml -*-->
+<glade-interface>
+  <widget class="GtkWindow" id="window_updates">
+    <property name="visible">True</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="icon_name">system-software-update</property>
+    <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
+    <child>
+      <widget class="GtkVBox" id="vbox4">
+        <property name="visible">True</property>
+        <child>
+          <widget class="GtkHBox" id="hbox_hidden">
+            <property name="visible">True</property>
+            <child>
+              <widget class="GtkVBox" id="vbox_progress">
+                <property name="border_width">12</property>
+                <property name="spacing">6</property>
+                <child>
+                  <widget class="GtkLabel" id="progress_part_label">
+                    <property name="visible">True</property>
+                    <property name="xalign">0</property>
+                    <property name="yalign">0</property>
+                    <property name="label">&lt;b&gt;Downloading&lt;/b&gt;</property>
+                    <property name="use_markup">True</property>
+                  </widget>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">False</property>
+                  </packing>
+                </child>
+                <child>
+                  <widget class="GtkProgressBar" id="progressbar_percent">
+                    <property name="visible">True</property>
+                    <property name="pulse_step">0.10000000149</property>
+                  </widget>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">False</property>
+                    <property name="position">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <widget class="GtkLabel" id="label1">
+                    <property name="visible">True</property>
+                    <property name="label">    </property>
+                  </widget>
+                  <packing>
+                    <property name="position">2</property>
+                  </packing>
+                </child>
+                <child>
+                  <widget class="GtkHButtonBox" id="hbuttonbox4">
+                    <property name="visible">True</property>
+                    <property name="spacing">6</property>
+                    <property name="layout_style">GTK_BUTTONBOX_END</property>
+                    <child>
+                      <widget class="GtkButton" id="button_help3">
+                        <property name="can_focus">True</property>
+                        <property name="can_default">True</property>
+                        <property name="label">gtk-help</property>
+                        <property name="use_stock">True</property>
+                        <property name="response_id">0</property>
+                      </widget>
+                      <packing>
+                        <property name="secondary">True</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkButton" id="button_close">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="can_default">True</property>
+                        <property name="label">gtk-close</property>
+                        <property name="use_stock">True</property>
+                        <property name="response_id">0</property>
+                      </widget>
+                      <packing>
+                        <property name="position">1</property>
+                      </packing>
+                    </child>
+                  </widget>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">False</property>
+                    <property name="pack_type">GTK_PACK_END</property>
+                    <property name="position">3</property>
+                  </packing>
+                </child>
+              </widget>
+            </child>
+            <child>
+              <widget class="GtkVBox" id="vbox_confirm">
+                <property name="border_width">12</property>
+                <property name="spacing">5</property>
+                <child>
+                  <widget class="GtkHBox" id="hbox5">
+                    <property name="visible">True</property>
+                    <property name="spacing">12</property>
+                    <child>
+                      <widget class="GtkImage" id="image15">
+                        <property name="visible">True</property>
+                        <property name="stock">gtk-dialog-info</property>
+                        <property name="icon_size">6</property>
+                      </widget>
+                      <packing>
+                        <property name="expand">False</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkVBox" id="vbox6">
+                        <property name="visible">True</property>
+                        <property name="spacing">10</property>
+                        <child>
+                          <widget class="GtkHBox" id="hbox17">
+                            <property name="visible">True</property>
+                            <child>
+                              <widget class="GtkLabel" id="label16">
+                                <property name="visible">True</property>
+                                <property name="label" translatable="yes">&lt;b&gt;Installation Complete&lt;/b&gt;</property>
+                                <property name="use_markup">True</property>
+                              </widget>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">False</property>
+                              </packing>
+                            </child>
+                          </widget>
+                          <packing>
+                            <property name="expand">False</property>
+                          </packing>
+                        </child>
+                      </widget>
+                      <packing>
+                        <property name="position">1</property>
+                      </packing>
+                    </child>
+                  </widget>
+                </child>
+                <child>
+                  <widget class="GtkHButtonBox" id="buttonbox_confirm">
+                    <property name="visible">True</property>
+                    <property name="spacing">6</property>
+                    <property name="layout_style">GTK_BUTTONBOX_END</property>
+                    <child>
+                      <widget class="GtkButton" id="button_help4">
+                        <property name="can_focus">True</property>
+                        <property name="can_default">True</property>
+                        <property name="label">gtk-help</property>
+                        <property name="use_stock">True</property>
+                        <property name="response_id">0</property>
+                      </widget>
+                      <packing>
+                        <property name="secondary">True</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkButton" id="button_close2">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="can_default">True</property>
+                        <property name="label">gtk-close</property>
+                        <property name="use_stock">True</property>
+                        <property name="response_id">0</property>
+                      </widget>
+                      <packing>
+                        <property name="position">1</property>
+                      </packing>
+                    </child>
+                  </widget>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">False</property>
+                    <property name="position">1</property>
+                  </packing>
+                </child>
+              </widget>
+              <packing>
+                <property name="position">1</property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkVBox" id="vbox_confirm2">
+                <property name="border_width">12</property>
+                <property name="spacing">5</property>
+                <child>
+                  <widget class="GtkHBox" id="hbox20">
+                    <property name="visible">True</property>
+                    <property name="spacing">12</property>
+                    <child>
+                      <widget class="GtkImage" id="image17">
+                        <property name="visible">True</property>
+                        <property name="stock">gtk-dialog-error</property>
+                        <property name="icon_size">6</property>
+                      </widget>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                        <property name="padding">20</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkVBox" id="vbox5">
+                        <property name="visible">True</property>
+                        <property name="spacing">10</property>
+                        <child>
+                          <widget class="GtkHBox" id="hbox21">
+                            <property name="visible">True</property>
+                            <child>
+                              <widget class="GtkLabel" id="label_error_title">
+                                <property name="visible">True</property>
+                                <property name="label">&lt;b&gt;Installation failed&lt;/b&gt;</property>
+                                <property name="use_markup">True</property>
+                              </widget>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">False</property>
+                              </packing>
+                            </child>
+                          </widget>
+                          <packing>
+                            <property name="expand">False</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <widget class="GtkHBox" id="hbox22">
+                            <property name="visible">True</property>
+                            <child>
+                              <widget class="GtkLabel" id="label_error_message">
+                                <property name="visible">True</property>
+                                <property name="label">The transaction was cancelled before any actions were taken</property>
+                              </widget>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">False</property>
+                              </packing>
+                            </child>
+                          </widget>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="position">1</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <widget class="GtkExpander" id="expander1">
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <child>
+                              <widget class="GtkHBox" id="hbox24">
+                                <property name="visible">True</property>
+                                <child>
+                                  <widget class="GtkLabel" id="label_error_details">
+                                    <property name="visible">True</property>
+                                    <property name="label">Geeky information about the error...</property>
+                                    <property name="use_markup">True</property>
+                                    <property name="wrap">True</property>
+                                  </widget>
+                                  <packing>
+                                    <property name="expand">False</property>
+                                  </packing>
+                                </child>
+                              </widget>
+                            </child>
+                            <child>
+                              <widget class="GtkLabel" id="label27">
+                                <property name="visible">True</property>
+                                <property name="label" translatable="yes">&lt;b&gt;More 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="expand">False</property>
+                            <property name="fill">False</property>
+                            <property name="padding">5</property>
+                            <property name="position">2</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <widget class="GtkLabel" id="label3">
+                            <property name="visible">True</property>
+                            <property name="label">  </property>
+                          </widget>
+                          <packing>
+                            <property name="position">3</property>
+                          </packing>
+                        </child>
+                      </widget>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                        <property name="position">1</property>
+                      </packing>
+                    </child>
+                  </widget>
+                </child>
+                <child>
+                  <widget class="GtkHButtonBox" id="hbuttonbox6">
+                    <property name="visible">True</property>
+                    <property name="spacing">6</property>
+                    <property name="layout_style">GTK_BUTTONBOX_END</property>
+                    <child>
+                      <widget class="GtkButton" id="button_help5">
+                        <property name="can_focus">True</property>
+                        <property name="can_default">True</property>
+                        <property name="label">gtk-help</property>
+                        <property name="use_stock">True</property>
+                        <property name="response_id">0</property>
+                      </widget>
+                      <packing>
+                        <property name="secondary">True</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkButton" id="button_close3">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="can_default">True</property>
+                        <property name="label">gtk-close</property>
+                        <property name="use_stock">True</property>
+                        <property name="response_id">0</property>
+                      </widget>
+                      <packing>
+                        <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="position">2</property>
+              </packing>
+            </child>
+          </widget>
+        </child>
+      </widget>
+    </child>
+  </widget>
+</glade-interface>

Modified: trunk/data/pk-repo.glade
==============================================================================
--- trunk/data/pk-repo.glade	(original)
+++ trunk/data/pk-repo.glade	Wed Mar 26 15:21:33 2008
@@ -12,57 +12,72 @@
     <child>
       <widget class="GtkVBox" id="vbox1">
         <property name="visible">True</property>
-        <property name="border_width">10</property>
-        <property name="spacing">5</property>
         <child>
-          <widget class="GtkScrolledWindow" id="scrolledwindow_repo">
-            <property name="visible">True</property>
-            <property name="can_focus">True</property>
-            <property name="hscrollbar_policy">GTK_POLICY_NEVER</property>
-            <property name="shadow_type">GTK_SHADOW_IN</property>
-            <child>
-              <widget class="GtkTreeView" id="treeview_repo">
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-              </widget>
-            </child>
-          </widget>
-        </child>
-        <child>
-          <widget class="GtkHButtonBox" id="hbuttonbox1">
+          <widget class="GtkVBox" id="vbox1">
             <property name="visible">True</property>
+            <property name="border_width">10</property>
             <property name="spacing">5</property>
-            <property name="layout_style">GTK_BUTTONBOX_END</property>
             <child>
-              <widget class="GtkButton" id="button_help">
+              <widget class="GtkScrolledWindow" id="scrolledwindow_repo">
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
-                <property name="can_default">True</property>
-                <property name="label">gtk-help</property>
-                <property name="use_stock">True</property>
-                <property name="response_id">0</property>
+                <property name="hscrollbar_policy">GTK_POLICY_NEVER</property>
+                <property name="shadow_type">GTK_SHADOW_IN</property>
+                <child>
+                  <widget class="GtkTreeView" id="treeview_repo">
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                  </widget>
+                </child>
               </widget>
-              <packing>
-                <property name="secondary">True</property>
-              </packing>
             </child>
             <child>
-              <widget class="GtkButton" id="button_close">
+              <widget class="GtkHButtonBox" id="hbuttonbox1">
                 <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="can_default">True</property>
-                <property name="label">gtk-close</property>
-                <property name="use_stock">True</property>
-                <property name="response_id">0</property>
+                <property name="spacing">5</property>
+                <property name="layout_style">GTK_BUTTONBOX_END</property>
+                <child>
+                  <widget class="GtkButton" id="button_help">
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="can_default">True</property>
+                    <property name="label">gtk-help</property>
+                    <property name="use_stock">True</property>
+                    <property name="response_id">0</property>
+                  </widget>
+                  <packing>
+                    <property name="secondary">True</property>
+                  </packing>
+                </child>
+                <child>
+                  <widget class="GtkButton" id="button_close">
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="can_default">True</property>
+                    <property name="label">gtk-close</property>
+                    <property name="use_stock">True</property>
+                    <property name="response_id">0</property>
+                  </widget>
+                  <packing>
+                    <property name="position">1</property>
+                  </packing>
+                </child>
               </widget>
               <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
                 <property name="position">1</property>
               </packing>
             </child>
           </widget>
+        </child>
+        <child>
+          <widget class="GtkStatusbar" id="statusbar_status">
+            <property name="visible">True</property>
+            <property name="spacing">2</property>
+          </widget>
           <packing>
             <property name="expand">False</property>
-            <property name="fill">False</property>
             <property name="position">1</property>
           </packing>
         </child>

Modified: trunk/po/POTFILES.in
==============================================================================
--- trunk/po/POTFILES.in	(original)
+++ trunk/po/POTFILES.in	Wed Mar 26 15:21:33 2008
@@ -6,6 +6,7 @@
 data/pk-application.glade
 data/pk-backend-status.glade
 data/pk-install-file.desktop.in
+data/pk-install-file.glade
 data/pk-repo.desktop.in
 data/pk-repo.glade
 data/pk-prefs.desktop.in

Modified: trunk/src/Makefile.am
==============================================================================
--- trunk/src/Makefile.am	(original)
+++ trunk/src/Makefile.am	Wed Mar 26 15:21:33 2008
@@ -162,6 +162,8 @@
 
 pk_repo_SOURCES =					\
 	pk-repo.c					\
+	pk-statusbar.c					\
+	pk-statusbar.h					\
 	pk-common-gui.c					\
 	pk-common-gui.h					\
 	$(NULL)

Modified: trunk/src/pk-application-main.c
==============================================================================
--- trunk/src/pk-application-main.c	(original)
+++ trunk/src/pk-application-main.c	Wed Mar 26 15:21:33 2008
@@ -97,7 +97,7 @@
 	g_option_context_parse (context, &argc, &argv, NULL);
 	g_option_context_free (context);
 
-	if (program_version == TRUE) {
+	if (program_version) {
 		g_print (VERSION "\n");
 		return 0;
 	}

Modified: trunk/src/pk-application.c
==============================================================================
--- trunk/src/pk-application.c	(original)
+++ trunk/src/pk-application.c	Wed Mar 26 15:21:33 2008
@@ -534,13 +534,44 @@
 }
 
 /**
+ * pk_application_refresh_search_results:
+ **/
+static gboolean
+pk_application_refresh_search_results (PkApplication *application)
+{
+	GtkWidget *widget;
+	gboolean ret;
+	GError *error = NULL;
+	PkRoleEnum role;
+
+	/* get role -- do we actually need to do anything */
+	pk_client_get_role (application->priv->client_search, &role, NULL, NULL);
+	if (role == PK_ROLE_ENUM_UNKNOWN) {
+		pk_debug ("no defined role, no not requeuing");
+		return FALSE;
+	}
+
+	gtk_list_store_clear (application->priv->packages_store);
+	ret = pk_client_requeue (application->priv->client_search, &error);
+	if (ret == FALSE) {
+		pk_warning ("failed to requeue the search: %s", error->message);
+		g_error_free (error);
+		return FALSE;
+	}
+
+	/* hide details */
+	widget = glade_xml_get_widget (application->priv->glade_xml, "vbox_description_pane");
+	gtk_widget_hide (widget);
+	return TRUE;
+}
+
+/**
  * pk_application_finished_cb:
  **/
 static void
 pk_application_finished_cb (PkClient *client, PkExitEnum exit, guint runtime, PkApplication *application)
 {
 	GtkWidget *widget;
-	gboolean ret;
 	PkRoleEnum role;
 	gchar *text;
 
@@ -590,12 +621,8 @@
 	/* do we need to update the search? */
 	if (role == PK_ROLE_ENUM_INSTALL_PACKAGE ||
 	    role == PK_ROLE_ENUM_REMOVE_PACKAGE) {
-		/* refresh the search as the items may have changed */
-		gtk_list_store_clear (application->priv->packages_store);
-		ret = pk_client_requeue (application->priv->client_search, NULL);
-		if (ret == FALSE) {
-			pk_warning ("failed to requeue the search");
-		}
+		/* refresh the search as the items may have changed and the filter has not changed */
+		pk_application_refresh_search_results (application);
 	}
 }
 
@@ -638,10 +665,10 @@
 }
 
 /**
- * pk_application_find_cb:
+ * pk_application_perform_search:
  **/
-static void
-pk_application_find_cb (GtkWidget *button_widget, PkApplication *application)
+static gboolean
+pk_application_perform_search (PkApplication *application)
 {
 	GtkWidget *widget;
 	const gchar *package;
@@ -649,18 +676,25 @@
 	GError *error = NULL;
 	gboolean ret;
 
-	g_return_if_fail (application != NULL);
-	g_return_if_fail (PK_IS_APPLICATION (application));
+	/* do we need to cancel a running search? */
+	pk_client_cancel (application->priv->client_search, NULL);
 
 	widget = glade_xml_get_widget (application->priv->glade_xml, "entry_text");
 	package = gtk_entry_get_text (GTK_ENTRY (widget));
+
+	/* have we got input? */
+	if (pk_strzero (package)) {
+		pk_debug ("no input");
+		return FALSE;
+	}
+
 	ret = pk_strvalidate (package);
 	if (ret == FALSE) {
 		pk_debug ("invalid input text, will fail");
-		/* todo - make the dialog turn red... */
+		/* TODO - make the dialog turn red... */
 		pk_application_error_message (application, _("Invalid search text"),
 					      _("The search text contains invalid characters"));
-		return;
+		return FALSE;
 	}
 	pk_debug ("find %s", package);
 
@@ -682,14 +716,14 @@
 		ret = pk_client_search_file (application->priv->client_search, filter_all, package, &error);
 	} else {
 		pk_warning ("invalid search type");
-		return;
+		return FALSE;
 	}
 
 	if (ret == FALSE) {
 		pk_application_error_message (application,
 					      _("The search could not be completed"), error->message);
 		g_error_free (error);
-		return;
+		return FALSE;
 	}
 
 	/* clear existing list */
@@ -709,6 +743,19 @@
 	}
 
 	g_free (filter_all);
+	return TRUE;
+}
+
+/**
+ * pk_application_find_cb:
+ **/
+static void
+pk_application_find_cb (GtkWidget *button_widget, PkApplication *application)
+{
+	g_return_if_fail (application != NULL);
+	g_return_if_fail (PK_IS_APPLICATION (application));
+
+	pk_application_perform_search (application);
 }
 
 /**
@@ -846,6 +893,10 @@
 	widget = glade_xml_get_widget (application->priv->glade_xml, "vbox_description_pane");
 	gtk_widget_hide (widget);
 
+	/* clear the search text if we clicked the group list */
+	widget = glade_xml_get_widget (application->priv->glade_xml, "entry_text");
+	gtk_entry_set_text (GTK_ENTRY (widget), "");
+
 	/* This will only work in single or browse selection mode! */
 	if (gtk_tree_selection_get_selected (selection, &model, &iter)) {
 		gtk_tree_model_get (model, &iter, GROUPS_COLUMN_ID, &id, -1);
@@ -1484,6 +1535,9 @@
 		pk_enum_list_remove (application->priv->current_filter, PK_FILTER_ENUM_INSTALLED);
 		pk_enum_list_remove (application->priv->current_filter, PK_FILTER_ENUM_NOT_INSTALLED);
 	}
+
+	/* refresh the search results */
+	pk_application_perform_search (application);
 }
 
 /**
@@ -1512,6 +1566,9 @@
 		pk_enum_list_remove (application->priv->current_filter, PK_FILTER_ENUM_DEVELOPMENT);
 		pk_enum_list_remove (application->priv->current_filter, PK_FILTER_ENUM_NOT_DEVELOPMENT);
 	}
+
+	/* refresh the search results */
+	pk_application_perform_search (application);
 }
 
 /**
@@ -1540,6 +1597,9 @@
 		pk_enum_list_remove (application->priv->current_filter, PK_FILTER_ENUM_GUI);
 		pk_enum_list_remove (application->priv->current_filter, PK_FILTER_ENUM_NOT_GUI);
 	}
+
+	/* refresh the search results */
+	pk_application_perform_search (application);
 }
 
 /**
@@ -1568,6 +1628,9 @@
 		pk_enum_list_remove (application->priv->current_filter, PK_FILTER_ENUM_FREE);
 		pk_enum_list_remove (application->priv->current_filter, PK_FILTER_ENUM_NOT_FREE);
 	}
+
+	/* refresh the search results */
+	pk_application_perform_search (application);
 }
 
 /**
@@ -1583,6 +1646,9 @@
 	} else {
 		pk_enum_list_remove (application->priv->current_filter, PK_FILTER_ENUM_BASENAME);
 	}
+
+	/* refresh the search results */
+	pk_application_perform_search (application);
 }
 
 /**
@@ -1598,6 +1664,18 @@
 	} else {
 //		pk_enum_list_remove (application->priv->current_filter, PK_FILTER_ENUM_NEWEST);
 	}
+
+	/* refresh the search results */
+	pk_application_perform_search (application);
+}
+
+/**
+ * pk_application_status_changed_cb:
+ **/
+static void
+pk_application_status_changed_cb (PkClient *client, PkStatusEnum status, PkApplication *application)
+{
+	pk_statusbar_set_status (application->priv->statusbar, status);
 }
 
 /**
@@ -1649,6 +1727,8 @@
 			  G_CALLBACK (pk_application_finished_cb), application);
 	g_signal_connect (application->priv->client_search, "progress-changed",
 			  G_CALLBACK (pk_application_progress_changed_cb), application);
+	g_signal_connect (application->priv->client_search, "status-changed",
+			  G_CALLBACK (pk_application_status_changed_cb), application);
 
 	application->priv->client_action = pk_client_new ();
 	g_signal_connect (application->priv->client_action, "package",
@@ -1659,6 +1739,8 @@
 			  G_CALLBACK (pk_application_finished_cb), application);
 	g_signal_connect (application->priv->client_action, "progress-changed",
 			  G_CALLBACK (pk_application_progress_changed_cb), application);
+	g_signal_connect (application->priv->client_action, "status-changed",
+			  G_CALLBACK (pk_application_status_changed_cb), application);
 
 	application->priv->client_description = pk_client_new ();
 	g_signal_connect (application->priv->client_description, "description",
@@ -1669,6 +1751,8 @@
 			  G_CALLBACK (pk_application_finished_cb), application);
 	g_signal_connect (application->priv->client_description, "progress-changed",
 			  G_CALLBACK (pk_application_progress_changed_cb), application);
+	g_signal_connect (application->priv->client_description, "status-changed",
+			  G_CALLBACK (pk_application_status_changed_cb), application);
 
 	application->priv->client_files = pk_client_new ();
 	pk_client_set_use_buffer (application->priv->client_files, TRUE, NULL);
@@ -1680,6 +1764,8 @@
 			  G_CALLBACK (pk_application_finished_cb), application);
 	g_signal_connect (application->priv->client_files, "progress-changed",
 			  G_CALLBACK (pk_application_progress_changed_cb), application);
+	g_signal_connect (application->priv->client_files, "status-changed",
+			  G_CALLBACK (pk_application_status_changed_cb), application);
 
 	/* get actions */
 	application->priv->role_list = pk_client_get_actions (application->priv->client_action);

Modified: trunk/src/pk-backend-status.c
==============================================================================
--- trunk/src/pk-backend-status.c	(original)
+++ trunk/src/pk-backend-status.c	Wed Mar 26 15:21:33 2008
@@ -103,7 +103,7 @@
 	g_option_context_parse (context, &argc, &argv, NULL);
 	g_option_context_free (context);
 
-	if (program_version == TRUE) {
+	if (program_version) {
 		g_print (VERSION "\n");
 		return 0;
 	}
@@ -143,110 +143,122 @@
 	g_free (author);
 
 	/* actions */
-	if (pk_enum_list_contains (role_list, PK_ROLE_ENUM_CANCEL) == TRUE) {
+	if (pk_enum_list_contains (role_list, PK_ROLE_ENUM_CANCEL)) {
 		widget = glade_xml_get_widget (glade_xml, "image_cancel");
 		gtk_image_set_from_icon_name (GTK_IMAGE (widget), "gtk-apply", GTK_ICON_SIZE_MENU);
 	}
-	if (pk_enum_list_contains (role_list, PK_ROLE_ENUM_GET_DEPENDS) == TRUE) {
+	if (pk_enum_list_contains (role_list, PK_ROLE_ENUM_GET_DEPENDS)) {
 		widget = glade_xml_get_widget (glade_xml, "image_get_depends");
 		gtk_image_set_from_icon_name (GTK_IMAGE (widget), "gtk-apply", GTK_ICON_SIZE_MENU);
 	}
-	if (pk_enum_list_contains (role_list, PK_ROLE_ENUM_GET_UPDATE_DETAIL) == TRUE) {
+	if (pk_enum_list_contains (role_list, PK_ROLE_ENUM_GET_UPDATE_DETAIL)) {
 		widget = glade_xml_get_widget (glade_xml, "image_get_update_detail");
 		gtk_image_set_from_icon_name (GTK_IMAGE (widget), "gtk-apply", GTK_ICON_SIZE_MENU);
 	}
-	if (pk_enum_list_contains (role_list, PK_ROLE_ENUM_GET_DESCRIPTION) == TRUE) {
+	if (pk_enum_list_contains (role_list, PK_ROLE_ENUM_GET_DESCRIPTION)) {
 		widget = glade_xml_get_widget (glade_xml, "image_get_description");
 		gtk_image_set_from_icon_name (GTK_IMAGE (widget), "gtk-apply", GTK_ICON_SIZE_MENU);
 	}
-	if (pk_enum_list_contains (role_list, PK_ROLE_ENUM_GET_FILES) == TRUE) {
+	if (pk_enum_list_contains (role_list, PK_ROLE_ENUM_GET_FILES)) {
 		widget = glade_xml_get_widget (glade_xml, "image_get_files");
 		gtk_image_set_from_icon_name (GTK_IMAGE (widget), "gtk-apply", GTK_ICON_SIZE_MENU);
 	}
-	if (pk_enum_list_contains (role_list, PK_ROLE_ENUM_GET_REQUIRES) == TRUE) {
+	if (pk_enum_list_contains (role_list, PK_ROLE_ENUM_GET_REQUIRES)) {
 		widget = glade_xml_get_widget (glade_xml, "image_get_requires");
 		gtk_image_set_from_icon_name (GTK_IMAGE (widget), "gtk-apply", GTK_ICON_SIZE_MENU);
 	}
-	if (pk_enum_list_contains (role_list, PK_ROLE_ENUM_GET_UPDATES) == TRUE) {
+	if (pk_enum_list_contains (role_list, PK_ROLE_ENUM_GET_UPDATES)) {
 		widget = glade_xml_get_widget (glade_xml, "image_get_updates");
 		gtk_image_set_from_icon_name (GTK_IMAGE (widget), "gtk-apply", GTK_ICON_SIZE_MENU);
 	}
-	if (pk_enum_list_contains (role_list, PK_ROLE_ENUM_SEARCH_DETAILS) == TRUE) {
+	if (pk_enum_list_contains (role_list, PK_ROLE_ENUM_SEARCH_DETAILS)) {
 		widget = glade_xml_get_widget (glade_xml, "image_search_details");
 		gtk_image_set_from_icon_name (GTK_IMAGE (widget), "gtk-apply", GTK_ICON_SIZE_MENU);
 	}
-	if (pk_enum_list_contains (role_list, PK_ROLE_ENUM_SEARCH_FILE) == TRUE) {
+	if (pk_enum_list_contains (role_list, PK_ROLE_ENUM_SEARCH_FILE)) {
 		widget = glade_xml_get_widget (glade_xml, "image_search_file");
 		gtk_image_set_from_icon_name (GTK_IMAGE (widget), "gtk-apply", GTK_ICON_SIZE_MENU);
 	}
-	if (pk_enum_list_contains (role_list, PK_ROLE_ENUM_SEARCH_GROUP) == TRUE) {
+	if (pk_enum_list_contains (role_list, PK_ROLE_ENUM_SEARCH_GROUP)) {
 		widget = glade_xml_get_widget (glade_xml, "image_search_group");
 		gtk_image_set_from_icon_name (GTK_IMAGE (widget), "gtk-apply", GTK_ICON_SIZE_MENU);
 	}
-	if (pk_enum_list_contains (role_list, PK_ROLE_ENUM_SEARCH_NAME) == TRUE) {
+	if (pk_enum_list_contains (role_list, PK_ROLE_ENUM_SEARCH_NAME)) {
 		widget = glade_xml_get_widget (glade_xml, "image_search_name");
 		gtk_image_set_from_icon_name (GTK_IMAGE (widget), "gtk-apply", GTK_ICON_SIZE_MENU);
 	}
-	if (pk_enum_list_contains (role_list, PK_ROLE_ENUM_REFRESH_CACHE) == TRUE) {
+	if (pk_enum_list_contains (role_list, PK_ROLE_ENUM_REFRESH_CACHE)) {
 		widget = glade_xml_get_widget (glade_xml, "image_refresh_cache");
 		gtk_image_set_from_icon_name (GTK_IMAGE (widget), "gtk-apply", GTK_ICON_SIZE_MENU);
 	}
-	if (pk_enum_list_contains (role_list, PK_ROLE_ENUM_REMOVE_PACKAGE) == TRUE) {
+	if (pk_enum_list_contains (role_list, PK_ROLE_ENUM_REMOVE_PACKAGE)) {
 		widget = glade_xml_get_widget (glade_xml, "image_package_remove");
 		gtk_image_set_from_icon_name (GTK_IMAGE (widget), "gtk-apply", GTK_ICON_SIZE_MENU);
 	}
-	if (pk_enum_list_contains (role_list, PK_ROLE_ENUM_INSTALL_PACKAGE) == TRUE) {
+	if (pk_enum_list_contains (role_list, PK_ROLE_ENUM_INSTALL_PACKAGE)) {
 		widget = glade_xml_get_widget (glade_xml, "image_package_install");
 		gtk_image_set_from_icon_name (GTK_IMAGE (widget), "gtk-apply", GTK_ICON_SIZE_MENU);
 	}
-	if (pk_enum_list_contains (role_list, PK_ROLE_ENUM_INSTALL_FILE) == TRUE) {
+	if (pk_enum_list_contains (role_list, PK_ROLE_ENUM_INSTALL_FILE)) {
 		widget = glade_xml_get_widget (glade_xml, "image_file_install");
 		gtk_image_set_from_icon_name (GTK_IMAGE (widget), "gtk-apply", GTK_ICON_SIZE_MENU);
 	}
-	if (pk_enum_list_contains (role_list, PK_ROLE_ENUM_UPDATE_PACKAGES) == TRUE) {
+	if (pk_enum_list_contains (role_list, PK_ROLE_ENUM_UPDATE_PACKAGES)) {
 		widget = glade_xml_get_widget (glade_xml, "image_package_update");
 		gtk_image_set_from_icon_name (GTK_IMAGE (widget), "gtk-apply", GTK_ICON_SIZE_MENU);
 	}
-	if (pk_enum_list_contains (role_list, PK_ROLE_ENUM_UPDATE_SYSTEM) == TRUE) {
+	if (pk_enum_list_contains (role_list, PK_ROLE_ENUM_UPDATE_SYSTEM)) {
 		widget = glade_xml_get_widget (glade_xml, "image_system_update");
 		gtk_image_set_from_icon_name (GTK_IMAGE (widget), "gtk-apply", GTK_ICON_SIZE_MENU);
 	}
-	if (pk_enum_list_contains (role_list, PK_ROLE_ENUM_RESOLVE) == TRUE) {
+	if (pk_enum_list_contains (role_list, PK_ROLE_ENUM_RESOLVE)) {
 		widget = glade_xml_get_widget (glade_xml, "image_resolve");
 		gtk_image_set_from_icon_name (GTK_IMAGE (widget), "gtk-apply", GTK_ICON_SIZE_MENU);
 	}
+	if (pk_enum_list_contains (role_list, PK_ROLE_ENUM_WHAT_PROVIDES)) {
+		widget = glade_xml_get_widget (glade_xml, "image_what_provides");
+		gtk_image_set_from_icon_name (GTK_IMAGE (widget), "gtk-apply", GTK_ICON_SIZE_MENU);
+	}
 
 	/* repos */
-	if (pk_enum_list_contains (role_list, PK_ROLE_ENUM_GET_REPO_LIST) == TRUE) {
+	if (pk_enum_list_contains (role_list, PK_ROLE_ENUM_GET_REPO_LIST)) {
 		widget = glade_xml_get_widget (glade_xml, "image_get_repo_list");
 		gtk_image_set_from_icon_name (GTK_IMAGE (widget), "gtk-apply", GTK_ICON_SIZE_MENU);
 	}
-	if (pk_enum_list_contains (role_list, PK_ROLE_ENUM_REPO_ENABLE) == TRUE) {
+	if (pk_enum_list_contains (role_list, PK_ROLE_ENUM_REPO_ENABLE)) {
 		widget = glade_xml_get_widget (glade_xml, "image_repo_enable");
 		gtk_image_set_from_icon_name (GTK_IMAGE (widget), "gtk-apply", GTK_ICON_SIZE_MENU);
 	}
-	if (pk_enum_list_contains (role_list, PK_ROLE_ENUM_REPO_SET_DATA) == TRUE) {
+	if (pk_enum_list_contains (role_list, PK_ROLE_ENUM_REPO_SET_DATA)) {
 		widget = glade_xml_get_widget (glade_xml, "image_repo_set_data");
 		gtk_image_set_from_icon_name (GTK_IMAGE (widget), "gtk-apply", GTK_ICON_SIZE_MENU);
 	}
 
 	/* filters */
-	if (pk_enum_list_contains (filter_list, PK_FILTER_ENUM_INSTALLED) == TRUE) {
+	if (pk_enum_list_contains (filter_list, PK_FILTER_ENUM_INSTALLED)) {
 		widget = glade_xml_get_widget (glade_xml, "image_installed");
 		gtk_image_set_from_icon_name (GTK_IMAGE (widget), "gtk-apply", GTK_ICON_SIZE_MENU);
 	}
-	if (pk_enum_list_contains (filter_list, PK_FILTER_ENUM_DEVELOPMENT) == TRUE) {
+	if (pk_enum_list_contains (filter_list, PK_FILTER_ENUM_DEVELOPMENT)) {
 		widget = glade_xml_get_widget (glade_xml, "image_devel");
 		gtk_image_set_from_icon_name (GTK_IMAGE (widget), "gtk-apply", GTK_ICON_SIZE_MENU);
 	}
-	if (pk_enum_list_contains (filter_list, PK_FILTER_ENUM_GUI) == TRUE) {
+	if (pk_enum_list_contains (filter_list, PK_FILTER_ENUM_GUI)) {
 		widget = glade_xml_get_widget (glade_xml, "image_gui");
 		gtk_image_set_from_icon_name (GTK_IMAGE (widget), "gtk-apply", GTK_ICON_SIZE_MENU);
 	}
-	if (pk_enum_list_contains (filter_list, PK_FILTER_ENUM_FREE) == TRUE) {
+	if (pk_enum_list_contains (filter_list, PK_FILTER_ENUM_FREE)) {
 		widget = glade_xml_get_widget (glade_xml, "image_free");
 		gtk_image_set_from_icon_name (GTK_IMAGE (widget), "gtk-apply", GTK_ICON_SIZE_MENU);
 	}
+	if (pk_enum_list_contains (filter_list, PK_FILTER_ENUM_VISIBLE)) {
+		widget = glade_xml_get_widget (glade_xml, "image_visible");
+		gtk_image_set_from_icon_name (GTK_IMAGE (widget), "gtk-apply", GTK_ICON_SIZE_MENU);
+	}
+	if (pk_enum_list_contains (filter_list, PK_FILTER_ENUM_SUPPORTED)) {
+		widget = glade_xml_get_widget (glade_xml, "image_supported");
+		gtk_image_set_from_icon_name (GTK_IMAGE (widget), "gtk-apply", GTK_ICON_SIZE_MENU);
+	}
 
 	g_object_unref (glade_xml);
 	g_object_unref (client);

Modified: trunk/src/pk-common-gui.c
==============================================================================
--- trunk/src/pk-common-gui.c	(original)
+++ trunk/src/pk-common-gui.c	Wed Mar 26 15:21:33 2008
@@ -62,6 +62,7 @@
 	{PK_STATUS_ENUM_UNKNOWN,		"help-browser"},	/* fall though value */
 	{PK_STATUS_ENUM_WAIT,			"pk-wait"},
 	{PK_STATUS_ENUM_SETUP,			"pk-setup"},
+	{PK_STATUS_ENUM_RUNNING,		"pk-setup"},
 	{PK_STATUS_ENUM_QUERY,			"pk-package-search"},
 	{PK_STATUS_ENUM_INFO,			"pk-package-info"},
 	{PK_STATUS_ENUM_REFRESH_CACHE,		"pk-refresh-cache"},
@@ -570,6 +571,9 @@
 	case PK_ERROR_ENUM_CANNOT_CANCEL:
 		text = _("The transaction cannot be cancelled");
 		break;
+	case PK_ERROR_ENUM_CANNOT_INSTALL_SOURCE_PACKAGE:
+		text = _("Source packages cannot be installed");
+		break;
 	default:
 		text = _("Unknown error");
 	}
@@ -660,6 +664,10 @@
 	case PK_ERROR_ENUM_CANNOT_CANCEL:
 		text = _("The transaction is not safe to be cancelled at this time.");
 		break;
+	case PK_ERROR_ENUM_CANNOT_INSTALL_SOURCE_PACKAGE:
+		text = _("Source packages are not normally installed this way.\n"
+			 "Check the extension of the file you are trying to install.");
+		break;
 	default:
 		text = _("Unknown error, please report a bug.\n"
 			 "More information is available in the detailed report.");
@@ -754,10 +762,13 @@
 		text = _("Unknown state");
 		break;
 	case PK_STATUS_ENUM_SETUP:
-		text = _("Setting up transaction");
+		text = _("Waiting for PackageKit service");
 		break;
 	case PK_STATUS_ENUM_WAIT:
-		text = _("Waiting for transaction lock");
+		text = _("Waiting for other tasks to complete");
+		break;
+	case PK_STATUS_ENUM_RUNNING:
+		text = _("Running transaction");
 		break;
 	case PK_STATUS_ENUM_QUERY:
 		text = _("Querying");

Modified: trunk/src/pk-install-file.c
==============================================================================
--- trunk/src/pk-install-file.c	(original)
+++ trunk/src/pk-install-file.c	Wed Mar 26 15:21:33 2008
@@ -27,6 +27,7 @@
 #include <stdlib.h>
 #include <glib.h>
 #include <glib/gi18n.h>
+#include <glade/glade.h>
 #include <dbus/dbus-glib.h>
 #include <gtk/gtk.h>
 #include <locale.h>
@@ -37,18 +38,157 @@
 #include "pk-progress.h"
 #include "pk-common-gui.h"
 
-static PkProgress *progress = NULL;
-static GMainLoop *loop = NULL;
+static GladeXML *glade_xml = NULL;
+static PkClient *client = NULL;
+
+typedef enum {
+        PAGE_PROGRESS,
+        PAGE_CONFIRM,
+        PAGE_ERROR,
+        PAGE_LAST
+} PkPageEnum;
+
+static void
+pk_updates_set_page (PkPageEnum page)
+{
+        GList *list, *l;
+        GtkWidget *widget;
+        guint i;
+
+        widget = glade_xml_get_widget (glade_xml, "hbox_hidden");
+        list = gtk_container_get_children (GTK_CONTAINER (widget));
+        for (l=list, i=0; l; l=l->next, i++) {
+                if (i == page) {
+                        gtk_widget_show (l->data);
+                } else {
+                        gtk_widget_hide (l->data);
+                }
+        }
+}
+
+static gboolean
+finished_timeout (gpointer data)
+{
+	gtk_main_quit ();
+
+	return FALSE;
+}
+
+static void
+pk_install_file_finished_cb (PkClient   *client,
+			     PkExitEnum  exit,
+			     guint       runtime,
+			     gpointer    data)
+{
+	if (exit == PK_EXIT_ENUM_SUCCESS) {
+                pk_updates_set_page (PAGE_CONFIRM);
+
+		g_timeout_add_seconds (30, finished_timeout, NULL);
+	}
+
+}
+
+static gint pulse_timeout = 0;
+
+static void
+pk_install_file_progress_changed_cb (PkClient *client,
+				     guint     percentage,
+				     guint     subpercentage,
+				     guint     elapsed,
+				     guint     remaining,
+				     gpointer  data)
+{
+        GtkWidget *widget;
+
+        widget = glade_xml_get_widget (glade_xml, "progressbar_percent");
+
+	if (pulse_timeout != 0) {
+		g_source_remove (pulse_timeout);
+		pulse_timeout = 0;
+	}
+
+        if (percentage != PK_CLIENT_PERCENTAGE_INVALID) {
+                gtk_progress_bar_set_fraction (GTK_PROGRESS_BAR (widget), (gfloat) percentage / 100.0);
+        }
+}
+
+static gboolean
+pulse_progress (gpointer data)
+{
+        GtkWidget *widget;
+
+        widget = glade_xml_get_widget (glade_xml, "progressbar_percent");
+
+	gtk_progress_bar_pulse (GTK_PROGRESS_BAR (widget));
+
+	return TRUE;
+}
+
+static void
+pk_install_file_status_changed_cb (PkClient     *client,
+				   PkStatusEnum  status,
+				   gpointer      data)
+{
+        GtkWidget *widget;
+        gchar *text;
+
+        widget = glade_xml_get_widget (glade_xml, "progress_part_label");
+        text = g_strdup_printf ("<b>%s</b>", pk_status_enum_to_localised_text (status));
+        gtk_label_set_markup (GTK_LABEL (widget), text);
+        g_free (text);
+
+	if (status == PK_STATUS_ENUM_WAIT) {
+		if (pulse_timeout == 0) {
+			widget = glade_xml_get_widget (glade_xml, "progressbar_percent");
+
+			gtk_progress_bar_set_pulse_step (GTK_PROGRESS_BAR (widget ), 0.04);
+			pulse_timeout = g_timeout_add (75, pulse_progress, NULL);
+		}
+	}
+}
 
-/**
- * pk_monitor_action_unref_cb:
- **/
 static void
-pk_monitor_action_unref_cb (PkProgress *progress, gpointer data)
+pk_install_file_error_code_cb (PkClient        *client,
+			       PkErrorCodeEnum  code,
+			       const gchar     *details,
+			       gpointer         data)
 {
-	GMainLoop *loop = (GMainLoop *) data;
-	g_object_unref (progress);
-	g_main_loop_quit (loop);
+        GtkWidget *widget;
+        const gchar *title;
+        gchar *title_bold;
+        gchar *details_safe;
+
+        pk_updates_set_page (PAGE_ERROR);
+
+        /* set bold title */
+        widget = glade_xml_get_widget (glade_xml, "label_error_title");
+        title = pk_error_enum_to_localised_text (code);
+        title_bold = g_strdup_printf ("<b>%s</b>", title);
+        gtk_label_set_label (GTK_LABEL (widget), title_bold);
+        g_free (title_bold);
+
+        widget = glade_xml_get_widget (glade_xml, "label_error_message");
+        gtk_label_set_label (GTK_LABEL (widget), pk_error_enum_to_localised_message (code));
+
+        widget = glade_xml_get_widget (glade_xml, "label_error_details");
+        details_safe = g_markup_escape_text (details, -1);
+        gtk_label_set_label (GTK_LABEL (widget), details_safe);
+}
+
+static gboolean
+pk_window_delete_event_cb (GtkWidget    *widget,
+                            GdkEvent    *event,
+                            gpointer    data)
+{
+        gtk_main_quit ();
+
+        return FALSE;
+}
+
+static void
+pk_button_close_cb (GtkWidget *widget, gpointer data)
+{
+        gtk_main_quit ();
 }
 
 /**
@@ -57,13 +197,13 @@
 int
 main (int argc, char *argv[])
 {
-	PkClient *client;
 	GOptionContext *context;
 	gboolean ret;
 	gboolean verbose = FALSE;
 	gboolean program_version = FALSE;
-	gchar *tid;
 	GError *error;
+	GtkWidget *main_window;
+	GtkWidget *widget;
 
 	const GOptionEntry options[] = {
 		{ "verbose", 'v', 0, G_OPTION_ARG_NONE, &verbose,
@@ -92,7 +232,7 @@
 	g_option_context_parse (context, &argc, &argv, NULL);
 	g_option_context_free (context);
 
-	if (program_version == TRUE) {
+	if (program_version) {
 		g_print (VERSION "\n");
 		return 0;
 	}
@@ -110,9 +250,46 @@
 	}
 
 	client = pk_client_new ();
+
+	g_signal_connect (client, "finished",
+			  G_CALLBACK (pk_install_file_finished_cb), NULL);
+	g_signal_connect (client, "progress-changed",
+			  G_CALLBACK (pk_install_file_progress_changed_cb), NULL);
+	g_signal_connect (client, "status-changed",
+			  G_CALLBACK (pk_install_file_status_changed_cb), NULL);
+	g_signal_connect (client, "error-code",
+			  G_CALLBACK (pk_install_file_error_code_cb), NULL);
+
+	glade_xml = glade_xml_new (PK_DATA "/pk-install-file.glade", NULL, NULL);
+	main_window = glade_xml_get_widget (glade_xml, "window_updates");
+
+        /* Get the main window quit */
+	g_signal_connect (main_window, "delete_event",
+			  G_CALLBACK (pk_window_delete_event_cb), NULL);
+
+	widget = glade_xml_get_widget (glade_xml, "button_close");
+	g_signal_connect (widget, "clicked",
+			  G_CALLBACK (pk_button_close_cb), NULL);
+
+	widget = glade_xml_get_widget (glade_xml, "button_close2");
+	g_signal_connect (widget, "clicked",
+			  G_CALLBACK (pk_button_close_cb), NULL);
+
+	widget = glade_xml_get_widget (glade_xml, "button_close3");
+	g_signal_connect (widget, "clicked",
+			  G_CALLBACK (pk_button_close_cb), NULL);
+
+        /* set the label blank initially */
+        widget = glade_xml_get_widget (glade_xml, "progress_part_label");
+        gtk_label_set_label (GTK_LABEL (widget), "");
+
+	pk_updates_set_page (PAGE_PROGRESS);
+
 	error = NULL;
 	ret = pk_client_install_file (client, argv[1], &error);
 	if (ret == FALSE) {
+		gtk_widget_hide (main_window);
+
 		/* check if we got a permission denied */
 		if (g_str_has_prefix (error->message, "org.freedesktop.packagekit.localinstall")) {
 			pk_error_modal_dialog (_("Failed to install"),
@@ -123,17 +300,10 @@
 					       error->message);
 		}
 	} else {
-		loop = g_main_loop_new (NULL, FALSE);
-		tid = pk_client_get_tid (client);
-		/* create a new progress object */
-		progress = pk_progress_new ();
-		g_signal_connect (progress, "action-unref",
-				  G_CALLBACK (pk_monitor_action_unref_cb), loop);
-		pk_progress_monitor_tid (progress, tid);
-		g_free (tid);
-		g_main_loop_run (loop);
+		gtk_main ();
 	}
 
 	g_object_unref (client);
+
 	return 0;
 }

Modified: trunk/src/pk-repo.c
==============================================================================
--- trunk/src/pk-repo.c	(original)
+++ trunk/src/pk-repo.c	Wed Mar 26 15:21:33 2008
@@ -35,12 +35,15 @@
 #include <pk-connection.h>
 #include <pk-enum-list.h>
 #include "pk-common-gui.h"
+#include "pk-statusbar.h"
+
 #include <locale.h>
 
 static GladeXML *glade_xml = NULL;
 static GtkListStore *list_store = NULL;
 static PkClient *client = NULL;
 static PkEnumList *role_list;
+static PkStatusbar *statusbar;
 
 enum
 {
@@ -81,6 +84,8 @@
 	GtkTreePath *path = gtk_tree_path_new_from_string (path_str);
 	gboolean installed;
 	gchar *repo_id;
+	gboolean ret;
+	GError *error = NULL;
 
 	/* do we have the capability? */
 	if (pk_enum_list_contains (role_list, PK_ROLE_ENUM_REPO_ENABLE) == FALSE) {
@@ -97,14 +102,20 @@
 	/* do something with the value */
 	installed ^= 1;
 
-	/* set new value */
-	gtk_list_store_set (GTK_LIST_STORE (model), &iter, REPO_COLUMN_ENABLED, installed, -1);
-
 	/* do this to the repo */
 	pk_debug ("setting %s to %i", repo_id, installed);
 	pk_client_reset (client, NULL);
-	pk_client_repo_enable (client, repo_id, installed, NULL);
+	ret = pk_client_repo_enable (client, repo_id, installed, &error);
+	if (!ret) {
+		pk_warning ("could not set repo enabled state: %s", error->message);
+		g_error_free (error);
+		goto out;
+	}
+
+	/* set new value */
+	gtk_list_store_set (GTK_LIST_STORE (model), &iter, REPO_COLUMN_ENABLED, installed, -1);
 
+out:
 	/* clean up */
 	g_free (repo_id);
 	gtk_tree_path_free (path);
@@ -198,12 +209,30 @@
  * pk_repo_finished_cb:
  **/
 static void
-pk_repo_finished_cb (PkClient *client, PkStatusEnum status, guint runtime, gpointer data)
+pk_repo_finished_cb (PkClient *client, PkExitEnum exit, guint runtime, gpointer data)
 {
 	/* nothing? */
 }
 
 /**
+ * pk_repo_status_changed_cb:
+ **/
+static void
+pk_repo_status_changed_cb (PkClient *client, PkStatusEnum status, gpointer data)
+{
+	pk_statusbar_set_status (statusbar, status);
+}
+
+/**
+ * pk_repo_error_code_cb:
+ **/
+static void
+pk_repo_error_code_cb (PkClient *client, PkErrorCodeEnum code, const gchar *details, gpointer data)
+{
+	pk_error_modal_dialog (pk_error_enum_to_localised_text (code), details);
+}
+
+/**
  * main:
  **/
 int
@@ -256,17 +285,18 @@
 	client = pk_client_new ();
 	g_signal_connect (client, "repo-detail",
 			  G_CALLBACK (pk_repo_detail_cb), NULL);
+	g_signal_connect (client, "status-changed",
+			  G_CALLBACK (pk_repo_status_changed_cb), NULL);
 	g_signal_connect (client, "finished",
 			  G_CALLBACK (pk_repo_finished_cb), NULL);
+	g_signal_connect (client, "error-code",
+			  G_CALLBACK (pk_repo_error_code_cb), NULL);
 
 	/* get actions */
 	role_list = pk_client_get_actions (client);
 
 	glade_xml = glade_xml_new (PK_DATA "/pk-repo.glade", NULL, NULL);
 	main_window = glade_xml_get_widget (glade_xml, "window_repo");
-
-	/* Hide window first so that the dialogue resizes itself without redrawing */
-	gtk_widget_hide (main_window);
 	gtk_window_set_icon_name (GTK_WINDOW (main_window), "system-installer");
 
 	/* Get the main window quit */
@@ -301,6 +331,11 @@
 	pk_treeview_add_columns (GTK_TREE_VIEW (widget));
 	gtk_tree_view_columns_autosize (GTK_TREE_VIEW (widget));
 
+	/* use the in-statusbar for progress */
+	statusbar = pk_statusbar_new ();
+	widget = glade_xml_get_widget (glade_xml, "statusbar_status");
+	pk_statusbar_set_widget (statusbar, widget);
+
 	if (pk_enum_list_contains (role_list, PK_ROLE_ENUM_GET_REPO_LIST)) {
 		/* get the update list */
 		pk_client_get_repo_list (client, NULL);
@@ -311,8 +346,6 @@
 		gtk_widget_set_sensitive (widget, FALSE);
 	}
 
-	gtk_widget_show (main_window);
-
 	g_main_loop_run (loop);
 	g_main_loop_unref (loop);
 
@@ -320,6 +353,7 @@
 	g_object_unref (list_store);
 	g_object_unref (client);
 	g_object_unref (role_list);
+	g_object_unref (statusbar);
 
 	return 0;
 }

Modified: trunk/src/pk-transaction-viewer.c
==============================================================================
--- trunk/src/pk-transaction-viewer.c	(original)
+++ trunk/src/pk-transaction-viewer.c	Wed Mar 26 15:21:33 2008
@@ -150,7 +150,7 @@
 	icon_name = pk_role_enum_to_icon_name (role);
 	gtk_list_store_set (list_store_general, &iter, PACKAGES_COLUMN_GENERAL_ICON, icon_name, -1);
 
-	if (succeeded == TRUE) {
+	if (succeeded) {
 		icon_name = "document-new";
 	} else {
 		icon_name = "dialog-error";
@@ -270,7 +270,7 @@
 	transaction_data = (gchar *) g_hash_table_lookup (hash, tid);
 
 	/* no details? */
-	if (pk_strzero (transaction_data) == TRUE) {
+	if (pk_strzero (transaction_data)) {
 		widget = glade_xml_get_widget (glade_xml, "frame_details");
 		gtk_widget_hide (widget);
 		return;
@@ -374,7 +374,7 @@
 	g_option_context_parse (context, &argc, &argv, NULL);
 	g_option_context_free (context);
 
-	if (program_version == TRUE) {
+	if (program_version) {
 		g_print (VERSION "\n");
 		return 0;
 	}
@@ -446,7 +446,7 @@
         gtk_box_pack_start (GTK_BOX (widget), button, FALSE, FALSE, 0);
         gtk_box_reorder_child (GTK_BOX (widget), button, 1);
 	/* hide the rollback button if we can't do the action */
-	if (pk_enum_list_contains (role_list, PK_ROLE_ENUM_ROLLBACK) == TRUE) {
+	if (pk_enum_list_contains (role_list, PK_ROLE_ENUM_ROLLBACK)) {
 		polkit_gnome_action_set_visible (rollback_action, TRUE);
 	} else {
 		polkit_gnome_action_set_visible (rollback_action, FALSE);

Modified: trunk/src/pk-update-viewer.c
==============================================================================
--- trunk/src/pk-update-viewer.c	(original)
+++ trunk/src/pk-update-viewer.c	Wed Mar 26 15:21:33 2008
@@ -60,7 +60,7 @@
 static PolKitGnomeAction *restart_action = NULL;
 
 /* for the preview throbber */
-static void pk_updates_add_preview_item (PkClient *client, const gchar *icon, const gchar *message, gboolean clear);
+static void pk_updates_add_preview_item (const gchar *icon, const gchar *message, gboolean clear);
 static void pk_updates_description_animation_stop (void);
 static int animation_timeout = 0;
 static int frame_counter = 0;
@@ -322,7 +322,7 @@
 
 	pk_updates_animation_load_frames ();
 
-	pk_updates_add_preview_item (client, NULL, _("Getting information..."), TRUE);
+	pk_updates_add_preview_item (NULL, _("Getting information..."), TRUE);
 
 	widget = glade_xml_get_widget (glade_xml, "treeview_preview");
 	column = gtk_tree_view_get_column (GTK_TREE_VIEW (widget), 0);
@@ -506,10 +506,10 @@
 }
 
 /**
- * pk_button_close_cb:
+ * pk_button_close_and_cancel_cb:
  **/
 static void
-pk_button_close_cb (GtkWidget *widget, gpointer data)
+pk_button_close_and_cancel_cb (GtkWidget *widget, gpointer data)
 {
 	GMainLoop *loop = (GMainLoop *) data;
 
@@ -517,7 +517,15 @@
 	pk_client_cancel (client, NULL);
 
 	g_main_loop_quit (loop);
-	pk_debug ("emitting action-close");
+}
+
+static void
+pk_button_close_cb (GtkWidget *widget, gpointer data)
+{
+	GMainLoop *loop = (GMainLoop *) data;
+
+	/* just close the UI, let the installation continue */
+	g_main_loop_quit (loop);
 }
 
 /**
@@ -770,6 +778,10 @@
 	GtkWidget *widget;
 	gchar *text;
 
+	if (status == PK_STATUS_ENUM_WAIT) {
+		pk_updates_add_preview_item ("dialog-information", _("Waiting for previous tasks to complete!"), TRUE);
+	}
+
 	widget = glade_xml_get_widget (glade_xml, "progress_part_label");
 	text = g_strdup_printf ("<b>%s</b>", pk_status_enum_to_localised_text (status));
 	gtk_label_set_markup (GTK_LABEL (widget), text);
@@ -787,9 +799,6 @@
 {
 	GMainLoop *loop = (GMainLoop *) data;
 
-	/* we might have a transaction running */
-	pk_client_cancel (client, NULL);
-
 	g_main_loop_quit (loop);
 	return FALSE;
 }
@@ -970,7 +979,7 @@
  * pk_updates_add_preview_item:
  **/
 static void
-pk_updates_add_preview_item (PkClient *client, const gchar *icon, const gchar *message, gboolean clear)
+pk_updates_add_preview_item (const gchar *icon, const gchar *message, gboolean clear)
 {
 	GtkWidget *tree_view;
 	GtkTreeSelection *selection;
@@ -1165,7 +1174,7 @@
 	length = pk_client_package_buffer_get_size (client);
 	if (length == 0) {
 		/* put a message in the listbox */
-		pk_updates_add_preview_item (client, "dialog-information", _("There are no updates available!"), TRUE);
+		pk_updates_add_preview_item ("dialog-information", _("There are no updates available!"), TRUE);
 
 		/* if no updates then hide apply */
 		widget = glade_xml_get_widget (glade_xml, "button_review");
@@ -1208,37 +1217,37 @@
 		if (num_security > 0) {
 			icon = pk_info_enum_to_icon_name (PK_INFO_ENUM_SECURITY);
 			text = pk_update_enum_to_localised_text (PK_INFO_ENUM_SECURITY, num_security);
-			pk_updates_add_preview_item (client, icon, text, FALSE);
+			pk_updates_add_preview_item (icon, text, FALSE);
 			g_free (text);
 		}
 		if (num_important > 0) {
 			icon = pk_info_enum_to_icon_name (PK_INFO_ENUM_IMPORTANT);
 			text = pk_update_enum_to_localised_text (PK_INFO_ENUM_IMPORTANT, num_important);
-			pk_updates_add_preview_item (client, icon, text, FALSE);
+			pk_updates_add_preview_item (icon, text, FALSE);
 			g_free (text);
 		}
 		if (num_bugfix > 0) {
 			icon = pk_info_enum_to_icon_name (PK_INFO_ENUM_BUGFIX);
 			text = pk_update_enum_to_localised_text (PK_INFO_ENUM_BUGFIX, num_bugfix);
-			pk_updates_add_preview_item (client, icon, text, FALSE);
+			pk_updates_add_preview_item (icon, text, FALSE);
 			g_free (text);
 		}
 		if (num_enhancement > 0) {
 			icon = pk_info_enum_to_icon_name (PK_INFO_ENUM_ENHANCEMENT);
 			text = pk_update_enum_to_localised_text (PK_INFO_ENUM_ENHANCEMENT, num_enhancement);
-			pk_updates_add_preview_item (client, icon, text, FALSE);
+			pk_updates_add_preview_item (icon, text, FALSE);
 			g_free (text);
 		}
 		if (num_low > 0) {
 			icon = pk_info_enum_to_icon_name (PK_INFO_ENUM_LOW);
 			text = pk_update_enum_to_localised_text (PK_INFO_ENUM_LOW, num_low);
-			pk_updates_add_preview_item (client, icon, text, FALSE);
+			pk_updates_add_preview_item (icon, text, FALSE);
 			g_free (text);
 		}
 		if (num_normal > 0) {
 			icon = pk_info_enum_to_icon_name (PK_INFO_ENUM_NORMAL);
 			text = pk_update_enum_to_localised_text (PK_INFO_ENUM_NORMAL, num_normal);
-			pk_updates_add_preview_item (client, icon, text, FALSE);
+			pk_updates_add_preview_item (icon, text, FALSE);
 			g_free (text);
 		}
 
@@ -1287,7 +1296,7 @@
 		gtk_list_store_clear (list_store_preview);
 
 		/* put a message in the listbox */
-		pk_updates_add_preview_item (client, "dialog-information", _("There is an update already in progress!"), TRUE);
+		pk_updates_add_preview_item ("dialog-information", _("There is an update already in progress!"), TRUE);
 
 		/* if doing it then hide apply and refresh */
 		polkit_gnome_action_set_visible (update_system_action, FALSE);
@@ -1442,9 +1451,6 @@
 	glade_xml = glade_xml_new (PK_DATA "/pk-update-viewer.glade", NULL, NULL);
 	main_window = glade_xml_get_widget (glade_xml, "window_updates");
 
-	/* Hide window first so that the dialogue resizes itself without redrawing */
-	gtk_widget_hide (main_window);
-
 	/* hide until we have updates */
 	widget = glade_xml_get_widget (glade_xml, "hbox_reboot");
 	gtk_widget_hide (widget);
@@ -1479,15 +1485,17 @@
 	g_signal_connect (main_window, "delete_event",
 			  G_CALLBACK (pk_window_delete_event_cb), loop);
 
-	widget = glade_xml_get_widget (glade_xml, "button_close");
-	g_signal_connect (widget, "clicked",
-			  G_CALLBACK (pk_button_close_cb), loop);
-	gtk_widget_set_tooltip_text(widget, _("Close without updating"));
+	/* button_close2 and button_close3 are on the overview/review
+	 * screens, where we want to cancel transactions when closing
+	 */
 	widget = glade_xml_get_widget (glade_xml, "button_close2");
 	g_signal_connect (widget, "clicked",
-			  G_CALLBACK (pk_button_close_cb), loop);
+			  G_CALLBACK (pk_button_close_and_cancel_cb), loop);
 	widget = glade_xml_get_widget (glade_xml, "button_close3");
 	g_signal_connect (widget, "clicked",
+			  G_CALLBACK (pk_button_close_and_cancel_cb), loop);
+	widget = glade_xml_get_widget (glade_xml, "button_close");
+	g_signal_connect (widget, "clicked",
 			  G_CALLBACK (pk_button_close_cb), loop);
 	widget = glade_xml_get_widget (glade_xml, "button_close4");
 	g_signal_connect (widget, "clicked",
@@ -1656,7 +1664,6 @@
 		/* only show this if we succeeded */
 		pk_updates_preview_animation_start ();
 	}
-	gtk_widget_show (main_window);
 
 	g_main_loop_run (loop);
 	g_main_loop_unref (loop);



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