From fe3677526ec65d560240f346b36a460b941b1241 Mon Sep 17 00:00:00 2001
From: Matthias Clasen <mclasen@redhat.com>
Date: Wed, 19 Mar 2008 18:38:59 -0400
Subject: [PATCH] Rework the update viewer ui to be a bit friendlier

---
 data/pk-update-viewer.glade |  265 ++++++++++++++++---------------------------
 src/pk-update-viewer.c      |   78 ++++---------
 2 files changed, 125 insertions(+), 218 deletions(-)

diff --git a/data/pk-update-viewer.glade b/data/pk-update-viewer.glade
index f0d9b40..60d75f6 100644
--- a/data/pk-update-viewer.glade
+++ b/data/pk-update-viewer.glade
@@ -14,9 +14,8 @@
       <widget class="GtkVBox" id="vbox4">
         <property name="visible">True</property>
         <child>
-          <widget class="GtkNotebook" id="notebook_hidden">
+          <widget class="GtkHBox" id="hbox_hidden">
             <property name="visible">True</property>
-            <property name="can_focus">True</property>
             <child>
               <widget class="GtkVBox" id="vbox_preview">
                 <property name="visible">True</property>
@@ -65,12 +64,10 @@
                 <child>
                   <widget class="GtkHBox" id="hbox3">
                     <property name="visible">True</property>
-                    <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
                     <property name="spacing">6</property>
                     <child>
                       <widget class="GtkLabel" id="label5">
                         <property name="visible">True</property>
-                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
                         <property name="label" translatable="yes">Time since last refresh:</property>
                       </widget>
                       <packing>
@@ -81,7 +78,6 @@
                     <child>
                       <widget class="GtkLabel" id="label_last_updated">
                         <property name="visible">True</property>
-                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
                         <property name="label" translatable="yes">Unknown....</property>
                       </widget>
                       <packing>
@@ -110,9 +106,6 @@
                         <property name="use_stock">True</property>
                         <property name="response_id">0</property>
                       </widget>
-                      <packing>
-                        <property name="secondary">True</property>
-                      </packing>
                     </child>
                     <child>
                       <widget class="GtkButton" id="button_refresh">
@@ -275,25 +268,13 @@
               </widget>
             </child>
             <child>
-              <widget class="GtkLabel" id="label1">
-                <property name="visible">True</property>
-                <property name="label" translatable="yes">Preview</property>
-              </widget>
-              <packing>
-                <property name="type">tab</property>
-                <property name="tab_fill">False</property>
-              </packing>
-            </child>
-            <child>
               <widget class="GtkVBox" id="vbox_details">
-                <property name="visible">True</property>
                 <property name="border_width">12</property>
                 <property name="spacing">12</property>
                 <child>
                   <widget class="GtkVPaned" id="vpaned1">
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
-                    <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
                     <child>
                       <widget class="GtkScrolledWindow" id="scrolledwindow_packages">
                         <property name="visible">True</property>
@@ -383,9 +364,6 @@
                         <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_overview">
@@ -505,45 +483,40 @@
               </packing>
             </child>
             <child>
-              <widget class="GtkLabel" id="label2">
-                <property name="visible">True</property>
-                <property name="label" translatable="yes">Details</property>
-              </widget>
-              <packing>
-                <property name="type">tab</property>
-                <property name="position">1</property>
-                <property name="tab_fill">False</property>
-              </packing>
-            </child>
-            <child>
               <widget class="GtkVBox" id="vbox_progress">
-                <property name="visible">True</property>
                 <property name="border_width">12</property>
                 <property name="spacing">6</property>
                 <child>
-                  <widget class="GtkScrolledWindow" id="scrolledwindow_history">
+                  <widget class="GtkLabel" id="progress_part_label">
                     <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                    <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-                    <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-                    <property name="shadow_type">GTK_SHADOW_IN</property>
-                    <child>
-                      <widget class="GtkTreeView" id="treeview_history">
-                        <property name="visible">True</property>
-                        <property name="can_focus">True</property>
-                        <property name="headers_visible">False</property>
-                      </widget>
-                    </child>
+                    <property name="xalign">0</property>
+                    <property name="yalign">0</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_subpercent">
+                  <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="progress_package_label">
+                    <property name="visible">True</property>
+                    <property name="ellipsize">PANGO_ELLIPSIZE_END</property>
+                  </widget>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">False</property>
                     <property name="position">2</property>
                   </packing>
                 </child>
@@ -560,9 +533,6 @@
                         <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_cancel">
@@ -628,7 +598,7 @@
                     <property name="expand">False</property>
                     <property name="fill">False</property>
                     <property name="pack_type">GTK_PACK_END</property>
-                    <property name="position">1</property>
+                    <property name="position">3</property>
                   </packing>
                 </child>
               </widget>
@@ -637,103 +607,111 @@
               </packing>
             </child>
             <child>
-              <widget class="GtkLabel" id="label3">
-                <property name="visible">True</property>
-                <property name="label" translatable="yes">Progress</property>
-              </widget>
-              <packing>
-                <property name="type">tab</property>
-                <property name="position">2</property>
-                <property name="tab_fill">False</property>
-              </packing>
-            </child>
-            <child>
               <widget class="GtkVBox" id="vbox_confirm">
-                <property name="visible">True</property>
-                <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
                 <property name="border_width">12</property>
                 <property name="spacing">5</property>
                 <child>
-                  <widget class="GtkVBox" id="vbox6">
+                  <widget class="GtkHBox" id="hbox5">
                     <property name="visible">True</property>
-                    <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
-                    <property name="spacing">18</property>
+                    <property name="spacing">12</property>
                     <child>
-                      <widget class="GtkHBox" id="hbox17">
+                      <widget class="GtkImage" id="image15">
                         <property name="visible">True</property>
-                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
-                        <child>
-                          <widget class="GtkLabel" id="label16">
-                            <property name="visible">True</property>
-                            <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
-                            <property name="label" translatable="yes">&lt;b&gt;System Update Completed!&lt;/b&gt;</property>
-                            <property name="use_markup">True</property>
-                          </widget>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">False</property>
-                          </packing>
-                        </child>
+                        <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="GtkHBox" id="hbox18">
+                      <widget class="GtkVBox" id="vbox6">
                         <property name="visible">True</property>
-                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <property name="spacing">10</property>
                         <child>
-                          <widget class="GtkLabel" id="label20">
+                          <widget class="GtkHBox" id="hbox17">
                             <property name="visible">True</property>
-                            <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
-                            <property name="label" translatable="yes">All selected updates have been successfully installed</property>
+                            <child>
+                              <widget class="GtkLabel" id="label16">
+                                <property name="visible">True</property>
+                                <property name="label" translatable="yes">&lt;b&gt;System Update Completed&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>
-                            <property name="fill">False</property>
                           </packing>
                         </child>
-                      </widget>
-                      <packing>
-                        <property name="expand">False</property>
-                        <property name="position">1</property>
-                      </packing>
-                    </child>
-                    <child>
-                      <widget class="GtkHBox" id="hbox_restart">
-                        <property name="visible">True</property>
-                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
-                        <property name="spacing">12</property>
                         <child>
-                          <widget class="GtkImage" id="image15">
+                          <widget class="GtkHBox" id="hbox18">
                             <property name="visible">True</property>
-                            <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
-                            <property name="stock">gtk-dialog-info</property>
-                            <property name="icon_size">6</property>
+                            <child>
+                              <widget class="GtkLabel" id="label20">
+                                <property name="visible">True</property>
+                                <property name="label" translatable="yes">All selected updates have been successfully installed</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="GtkLabel" id="label15">
+                          <widget class="GtkHBox" id="hbox_restart">
                             <property name="visible">True</property>
-                            <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
-                            <property name="label" translatable="yes">&lt;b&gt;A system restart is recommended&lt;/b&gt;</property>
-                            <property name="use_markup">True</property>
+                            <property name="spacing">12</property>
+                            <child>
+                              <widget class="GtkImage" id="image3">
+                                <property name="visible">True</property>
+                                <property name="stock">gtk-dialog-warning</property>
+                                <property name="icon_size">2</property>
+                              </widget>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">False</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <widget class="GtkLabel" id="label15">
+                                <property name="visible">True</property>
+                                <property name="label" translatable="yes">A system restart is recommended</property>
+                                <property name="use_markup">True</property>
+                              </widget>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">False</property>
+                                <property name="position">1</property>
+                              </packing>
+                            </child>
                           </widget>
                           <packing>
                             <property name="expand">False</property>
                             <property name="fill">False</property>
-                            <property name="position">1</property>
+                            <property name="position">2</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <widget class="GtkLabel" id="label1">
+                            <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">2</property>
+                        <property name="position">1</property>
                       </packing>
                     </child>
                   </widget>
@@ -751,9 +729,6 @@
                         <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_restart">
@@ -827,31 +802,16 @@
               </packing>
             </child>
             <child>
-              <widget class="GtkLabel" id="label4">
-                <property name="visible">True</property>
-                <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
-                <property name="label" translatable="yes">Confirm</property>
-              </widget>
-              <packing>
-                <property name="type">tab</property>
-                <property name="position">3</property>
-                <property name="tab_fill">False</property>
-              </packing>
-            </child>
-            <child>
               <widget class="GtkVBox" id="vbox_confirm2">
-                <property name="visible">True</property>
-                <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
                 <property name="border_width">12</property>
                 <property name="spacing">5</property>
                 <child>
                   <widget class="GtkHBox" id="hbox20">
                     <property name="visible">True</property>
-                    <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                    <property name="spacing">12</property>
                     <child>
                       <widget class="GtkImage" id="image17">
                         <property name="visible">True</property>
-                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
                         <property name="stock">gtk-dialog-error</property>
                         <property name="icon_size">6</property>
                       </widget>
@@ -864,16 +824,13 @@
                     <child>
                       <widget class="GtkVBox" id="vbox5">
                         <property name="visible">True</property>
-                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
                         <property name="spacing">10</property>
                         <child>
                           <widget class="GtkHBox" id="hbox21">
                             <property name="visible">True</property>
-                            <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
                             <child>
                               <widget class="GtkLabel" id="label_error_title">
                                 <property name="visible">True</property>
-                                <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
                                 <property name="label">&lt;b&gt;Update was cancelled&lt;/b&gt;</property>
                                 <property name="use_markup">True</property>
                               </widget>
@@ -890,11 +847,9 @@
                         <child>
                           <widget class="GtkHBox" id="hbox22">
                             <property name="visible">True</property>
-                            <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
                             <child>
                               <widget class="GtkLabel" id="label_error_message">
                                 <property name="visible">True</property>
-                                <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
                                 <property name="label">The transaction was cancelled before any actions were taken</property>
                               </widget>
                               <packing>
@@ -912,15 +867,12 @@
                           <widget class="GtkExpander" id="expander1">
                             <property name="visible">True</property>
                             <property name="can_focus">True</property>
-                            <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
                             <child>
                               <widget class="GtkHBox" id="hbox24">
                                 <property name="visible">True</property>
-                                <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
                                 <child>
                                   <widget class="GtkLabel" id="label_error_details">
                                     <property name="visible">True</property>
-                                    <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
                                     <property name="label">Geeky information about the error...</property>
                                     <property name="use_markup">True</property>
                                     <property name="wrap">True</property>
@@ -934,7 +886,6 @@
                             <child>
                               <widget class="GtkLabel" id="label27">
                                 <property name="visible">True</property>
-                                <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
                                 <property name="label" translatable="yes">&lt;b&gt;More details:&lt;/b&gt;</property>
                                 <property name="use_markup">True</property>
                               </widget>
@@ -950,6 +901,15 @@
                             <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>
@@ -962,7 +922,7 @@
                 <child>
                   <widget class="GtkHButtonBox" id="hbuttonbox6">
                     <property name="visible">True</property>
-                    <property name="spacing">5</property>
+                    <property name="spacing">6</property>
                     <property name="layout_style">GTK_BUTTONBOX_END</property>
                     <child>
                       <widget class="GtkButton" id="button_help5">
@@ -972,9 +932,6 @@
                         <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_close5">
@@ -1001,29 +958,7 @@
                 <property name="position">4</property>
               </packing>
             </child>
-            <child>
-              <widget class="GtkLabel" id="label23">
-                <property name="visible">True</property>
-                <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
-                <property name="label" translatable="yes">Error</property>
-              </widget>
-              <packing>
-                <property name="type">tab</property>
-                <property name="position">4</property>
-                <property name="tab_fill">False</property>
-              </packing>
-            </child>
-          </widget>
-        </child>
-        <child>
-          <widget class="GtkStatusbar" id="statusbar_status">
-            <property name="visible">True</property>
           </widget>
-          <packing>
-            <property name="expand">False</property>
-            <property name="fill">False</property>
-            <property name="position">1</property>
-          </packing>
         </child>
       </widget>
     </child>
diff --git a/src/pk-update-viewer.c b/src/pk-update-viewer.c
index b78ace3..e6d961d 100644
--- a/src/pk-update-viewer.c
+++ b/src/pk-update-viewer.c
@@ -46,13 +46,11 @@
 
 static GladeXML *glade_xml = NULL;
 static GtkListStore *list_store_preview = NULL;
-static GtkListStore *list_store_history = NULL;
 static GtkListStore *list_store_details = NULL;
 static GtkListStore *list_store_description = NULL;
 static PkClient *client = NULL;
 static PkTaskList *tlist = NULL;
 static gchar *package = NULL;
-static PkStatusbar *statusbar = NULL;
 
 enum {
 	PREVIEW_COLUMN_ICON,
@@ -106,9 +104,19 @@ pk_button_help_cb (GtkWidget *widget, gboolean data)
 static void
 pk_updates_set_page (PkPageEnum page)
 {
+	GList *list, *l;
 	GtkWidget *widget;
-	widget = glade_xml_get_widget (glade_xml, "notebook_hidden");
-	gtk_notebook_set_current_page (GTK_NOTEBOOK (widget), page);
+	int 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);
+		}
+	}
 
 	/* some pages are resizeable */
 	widget = glade_xml_get_widget (glade_xml, "window_updates");
@@ -287,7 +295,6 @@ pk_updates_package_cb (PkClient *client, PkInfoEnum info, const gchar *package_i
 	PkRoleEnum role;
 	const gchar *icon_name;
 	GtkWidget *widget;
-	GtkTreePath *path;
 
 	pk_client_get_role (client, &role, NULL, NULL);
 	pk_debug ("role = %s, package = %s:%s:%s", pk_role_enum_to_text (role),
@@ -310,19 +317,9 @@ pk_updates_package_cb (PkClient *client, PkInfoEnum info, const gchar *package_i
 
 	if (role == PK_ROLE_ENUM_UPDATE_SYSTEM ||
 	    role == PK_ROLE_ENUM_UPDATE_PACKAGES) {
-		text = pk_package_id_pretty (package_id, summary);
-		icon_name = pk_info_enum_to_icon_name (info);
-		pk_debug ("text=%s", text);
-		gtk_list_store_prepend (list_store_history, &iter);
-		gtk_list_store_set (list_store_history, &iter,
-				    HISTORY_COLUMN_TEXT, text,
-				    HISTORY_COLUMN_ICON, icon_name,
-				    -1);
-
-		/* move focus to top entry */
-		widget = glade_xml_get_widget (glade_xml, "treeview_history");
-		path = gtk_tree_path_new_from_indices (0, -1);
-		gtk_tree_view_scroll_to_cell (GTK_TREE_VIEW (widget), path, NULL, FALSE, 0.0, 0.0);
+		text = pk_package_id_pretty_oneline (package_id, summary);
+		widget = glade_xml_get_widget (glade_xml, "progress_package_label");
+		gtk_label_set_markup (GTK_LABEL (widget), text);
 
 		g_free (text);
 		return;
@@ -498,7 +495,13 @@ pk_updates_update_detail_cb (PkClient *client, const gchar *package_id,
 static void
 pk_updates_status_changed_cb (PkClient *client, PkStatusEnum status, gpointer data)
 {
-	pk_statusbar_set_status (statusbar, status);
+	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);
 }
 
 /**
@@ -753,9 +756,6 @@ pk_updates_finished_cb (PkClient *client, PkExitEnum exit, guint runtime, gpoint
 
 	pk_client_get_role (client, &role, NULL, NULL);
 
-	/* hide widget */
-	pk_statusbar_hide (statusbar);
-
 	if (role == PK_ROLE_ENUM_REFRESH_CACHE) {
 		pk_client_reset (client, NULL);
 
@@ -918,17 +918,11 @@ pk_updates_progress_changed_cb (PkClient *client, guint percentage, guint subper
 				guint elapsed, guint remaining, gpointer data)
 {
 	GtkWidget *widget;
-	widget = glade_xml_get_widget (glade_xml, "progressbar_subpercent");
+	widget = glade_xml_get_widget (glade_xml, "progressbar_percent");
 
-	if (subpercentage == PK_CLIENT_PERCENTAGE_INVALID) {
-		gtk_widget_hide (widget);
-	} else {
+	if (subpercentage != PK_CLIENT_PERCENTAGE_INVALID) {
 		gtk_progress_bar_set_fraction (GTK_PROGRESS_BAR (widget), (gfloat) subpercentage / 100.0);
-		gtk_widget_show (widget);
 	}
-
-	pk_statusbar_set_percentage (statusbar, percentage);
-	pk_statusbar_set_remaining (statusbar, remaining);
 }
 
 /**
@@ -1088,11 +1082,6 @@ main (int argc, char *argv[])
 	/* Hide window first so that the dialogue resizes itself without redrawing */
 	gtk_widget_hide (main_window);
 
-	/* hide the tabs */
-	widget = glade_xml_get_widget (glade_xml, "notebook_hidden");
-	gtk_notebook_set_show_tabs (GTK_NOTEBOOK (widget), FALSE);
-	gtk_notebook_set_show_border (GTK_NOTEBOOK (widget), FALSE);
-
 	/* hide until we have updates */
 	widget = glade_xml_get_widget (glade_xml, "hbox_reboot");
 	gtk_widget_hide (widget);
@@ -1173,7 +1162,6 @@ main (int argc, char *argv[])
 	list_store_details = gtk_list_store_new (PACKAGES_COLUMN_LAST, G_TYPE_STRING,
 						 G_TYPE_STRING, G_TYPE_STRING, G_TYPE_INT, G_TYPE_BOOLEAN);
 	list_store_preview = gtk_list_store_new (PREVIEW_COLUMN_LAST, G_TYPE_STRING, G_TYPE_STRING);
-	list_store_history = gtk_list_store_new (PREVIEW_COLUMN_LAST, G_TYPE_STRING, G_TYPE_STRING);
 	list_store_description = gtk_list_store_new (DESC_COLUMN_LAST, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING);
 
 	/* sorted */
@@ -1189,12 +1177,7 @@ main (int argc, char *argv[])
 	pk_treeview_add_columns (GTK_TREE_VIEW (widget));
 	gtk_tree_view_columns_autosize (GTK_TREE_VIEW (widget));
 
-	/* create history tree view */
-	widget = glade_xml_get_widget (glade_xml, "treeview_history");
-	gtk_tree_view_set_model (GTK_TREE_VIEW (widget),
-				 GTK_TREE_MODEL (list_store_history));
-
-	/* create history tree view */
+	/* create description tree view */
 	widget = glade_xml_get_widget (glade_xml, "treeview_description");
 	gtk_tree_view_set_model (GTK_TREE_VIEW (widget),
 				 GTK_TREE_MODEL (list_store_description));
@@ -1216,19 +1199,10 @@ main (int argc, char *argv[])
 	pk_treeview_add_columns_update (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);
-
 	/* make the refresh button non-clickable until we get completion */
 	widget = glade_xml_get_widget (glade_xml, "button_refresh");
 	gtk_widget_set_sensitive (widget, FALSE);
 
-	/* assume we don't get this yet */
-	widget = glade_xml_get_widget (glade_xml, "progressbar_subpercent");
-	gtk_widget_hide (widget);
-
 	/* set the last updated text */
 	pk_update_update_last_refreshed_time (client);
 
@@ -1248,13 +1222,11 @@ main (int argc, char *argv[])
 
 	g_object_unref (glade_xml);
 	g_object_unref (list_store_preview);
-	g_object_unref (list_store_history);
 	g_object_unref (list_store_description);
 	g_object_unref (list_store_details);
 	g_object_unref (client);
 	g_object_unref (pconnection);
 	g_object_unref (role_list);
-	g_object_unref (statusbar);
 	g_free (package);
 
 	return 0;
-- 
1.5.4.4
