gnome-packagekit r228 - in trunk: data src



Author: rhughes
Date: Wed Jun 18 13:19:59 2008
New Revision: 228
URL: http://svn.gnome.org/viewvc/gnome-packagekit?rev=228&view=rev

Log:
from git

Modified:
   trunk/data/gnome-packagekit.schemas.in
   trunk/data/gpk-application.glade
   trunk/data/gpk-repo.glade
   trunk/data/gpk-update-viewer.glade
   trunk/src/gpk-application.c
   trunk/src/gpk-check-update.c
   trunk/src/gpk-client-depends.c
   trunk/src/gpk-client.c
   trunk/src/gpk-client.h
   trunk/src/gpk-dbus.c
   trunk/src/gpk-dbus.h
   trunk/src/gpk-interface.h
   trunk/src/gpk-interface.xml
   trunk/src/gpk-update-icon.c

Modified: trunk/data/gnome-packagekit.schemas.in
==============================================================================
--- trunk/data/gnome-packagekit.schemas.in	(original)
+++ trunk/data/gnome-packagekit.schemas.in	Wed Jun 18 13:19:59 2008
@@ -246,7 +246,7 @@
       <applyto>/apps/gnome-packagekit/repo/show_details</applyto>
       <owner>gnome-packagekit</owner>
       <type>bool</type>
-      <default>true</default>
+      <default>false</default>
       <locale name="C">
         <short>If we should show all repositories in the software source viewer</short>
         <long>If we should show all repositories in the software source viewer</long>

Modified: trunk/data/gpk-application.glade
==============================================================================
--- trunk/data/gpk-application.glade	(original)
+++ trunk/data/gpk-application.glade	Wed Jun 18 13:19:59 2008
@@ -725,232 +725,61 @@
                                 <property name="visible">True</property>
                                 <property name="spacing">6</property>
                                 <child>
-                                  <widget class="GtkVButtonBox" id="vbuttonbox1">
+                                  <widget class="GtkScrolledWindow" id="scrolledwindow2">
                                     <property name="visible">True</property>
-                                    <property name="spacing">3</property>
-                                    <child>
-                                      <widget class="GtkButton" id="button_install">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">True</property>
-                                        <property name="receives_default">True</property>
-                                        <property name="response_id">0</property>
-                                        <child>
-                                          <widget class="GtkHBox" id="hbox9">
-                                            <property name="visible">True</property>
-                                            <property name="spacing">3</property>
-                                            <child>
-                                              <widget class="GtkImage" id="image1">
-                                                <property name="visible">True</property>
-                                                <property name="stock">gtk-floppy</property>
-                                              </widget>
-                                              <packing>
-                                                <property name="expand">False</property>
-                                              </packing>
-                                            </child>
-                                            <child>
-                                              <widget class="GtkLabel" id="label1">
-                                                <property name="visible">True</property>
-                                                <property name="label" translatable="yes">_Install</property>
-                                                <property name="use_underline">True</property>
-                                              </widget>
-                                              <packing>
-                                                <property name="fill">False</property>
-                                                <property name="position">1</property>
-                                              </packing>
-                                            </child>
-                                          </widget>
-                                        </child>
-                                      </widget>
-                                      <packing>
-                                        <property name="expand">False</property>
-                                        <property name="fill">False</property>
-                                      </packing>
-                                    </child>
-                                    <child>
-                                      <widget class="GtkButton" id="button_remove">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">True</property>
-                                        <property name="receives_default">True</property>
-                                        <property name="response_id">0</property>
-                                        <child>
-                                          <widget class="GtkHBox" id="hbox10">
-                                            <property name="visible">True</property>
-                                            <property name="spacing">3</property>
-                                            <child>
-                                              <widget class="GtkImage" id="image3">
-                                                <property name="visible">True</property>
-                                                <property name="stock">gtk-delete</property>
-                                              </widget>
-                                              <packing>
-                                                <property name="expand">False</property>
-                                              </packing>
-                                            </child>
-                                            <child>
-                                              <widget class="GtkLabel" id="label2">
-                                                <property name="visible">True</property>
-                                                <property name="label" translatable="yes">_Remove</property>
-                                                <property name="use_underline">True</property>
-                                              </widget>
-                                              <packing>
-                                                <property name="fill">False</property>
-                                                <property name="position">1</property>
-                                              </packing>
-                                            </child>
-                                          </widget>
-                                        </child>
-                                      </widget>
-                                      <packing>
-                                        <property name="expand">False</property>
-                                        <property name="fill">False</property>
-                                        <property name="position">1</property>
-                                      </packing>
-                                    </child>
+                                    <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="GtkButton" id="button_homepage">
+                                      <widget class="GtkTextView" id="textview_description">
                                         <property name="visible">True</property>
                                         <property name="can_focus">True</property>
-                                        <property name="receives_default">True</property>
-                                        <property name="response_id">0</property>
-                                        <child>
-                                          <widget class="GtkHBox" id="hbox4">
-                                            <property name="visible">True</property>
-                                            <property name="spacing">3</property>
-                                            <child>
-                                              <widget class="GtkImage" id="image5">
-                                                <property name="visible">True</property>
-                                                <property name="stock">gtk-home</property>
-                                              </widget>
-                                              <packing>
-                                                <property name="expand">False</property>
-                                              </packing>
-                                            </child>
-                                            <child>
-                                              <widget class="GtkLabel" id="label3">
-                                                <property name="visible">True</property>
-                                                <property name="label" translatable="yes">_Website</property>
-                                                <property name="use_underline">True</property>
-                                              </widget>
-                                              <packing>
-                                                <property name="fill">False</property>
-                                                <property name="position">1</property>
-                                              </packing>
-                                            </child>
-                                          </widget>
-                                        </child>
+                                        <property name="border_width">2</property>
+                                        <property name="editable">False</property>
+                                        <property name="wrap_mode">GTK_WRAP_WORD</property>
+                                        <property name="cursor_visible">False</property>
                                       </widget>
-                                      <packing>
-                                        <property name="expand">False</property>
-                                        <property name="fill">False</property>
-                                        <property name="position">2</property>
-                                      </packing>
                                     </child>
                                   </widget>
-                                  <packing>
-                                    <property name="expand">False</property>
-                                  </packing>
                                 </child>
                                 <child>
-                                  <widget class="GtkScrolledWindow" id="scrolledwindow2">
+                                  <widget class="GtkScrolledWindow" id="scrolledwindow_detail">
                                     <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="hscrollbar_policy">GTK_POLICY_NEVER</property>
+                                    <property name="vscrollbar_policy">GTK_POLICY_NEVER</property>
                                     <property name="shadow_type">GTK_SHADOW_IN</property>
                                     <child>
-                                      <widget class="GtkTextView" id="textview_description">
+                                      <widget class="GtkTreeView" id="treeview_detail">
                                         <property name="visible">True</property>
                                         <property name="can_focus">True</property>
-                                        <property name="border_width">2</property>
-                                        <property name="editable">False</property>
-                                        <property name="wrap_mode">GTK_WRAP_WORD</property>
-                                        <property name="cursor_visible">False</property>
+                                        <property name="headers_visible">False</property>
                                       </widget>
                                     </child>
                                   </widget>
                                   <packing>
+                                    <property name="expand">False</property>
                                     <property name="position">1</property>
                                   </packing>
                                 </child>
                                 <child>
-                                  <widget class="GtkVBox" id="vbox_detail_extra">
+                                  <widget class="GtkVBox" id="vbox6">
                                     <property name="visible">True</property>
-                                    <property name="spacing">6</property>
                                     <child>
-                                      <widget class="GtkHBox" id="hbox12">
+                                      <widget class="GtkImage" id="image_icon">
                                         <property name="visible">True</property>
-                                        <child>
-                                          <widget class="GtkVBox" id="vbox6">
-                                            <property name="visible">True</property>
-                                            <child>
-                                              <widget class="GtkImage" id="image_icon">
-                                                <property name="visible">True</property>
-                                                <property name="stock">gtk-missing-image</property>
-                                                <property name="icon_size">6</property>
-                                              </widget>
-                                              <packing>
-                                                <property name="expand">False</property>
-                                                <property name="fill">False</property>
-                                              </packing>
-                                            </child>
-                                          </widget>
-                                        </child>
-                                        <child>
-                                          <widget class="GtkVBox" id="vbox5">
-                                            <property name="visible">True</property>
-                                            <property name="spacing">3</property>
-                                            <child>
-                                              <widget class="GtkHBox" id="hbox13">
-                                                <property name="visible">True</property>
-                                                <child>
-                                                  <widget class="GtkLabel" id="label_source">
-                                                    <property name="visible">True</property>
-                                                    <property name="label">Source: Fedora - Rawhide</property>
-                                                    <property name="wrap">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="hbox14">
-                                                <property name="visible">True</property>
-                                                <child>
-                                                  <widget class="GtkLabel" id="label_filesize">
-                                                    <property name="visible">True</property>
-                                                    <property name="label">Download size: 124kb</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>
-                                          </widget>
-                                          <packing>
-                                            <property name="padding">3</property>
-                                            <property name="position">1</property>
-                                          </packing>
-                                        </child>
+                                        <property name="stock">gtk-missing-image</property>
+                                        <property name="icon_size">6</property>
                                       </widget>
                                       <packing>
-                                        <property name="padding">6</property>
+                                        <property name="expand">False</property>
+                                        <property name="fill">False</property>
                                       </packing>
                                     </child>
                                   </widget>
                                   <packing>
                                     <property name="expand">False</property>
-                                    <property name="fill">False</property>
                                     <property name="position">2</property>
                                   </packing>
                                 </child>

Modified: trunk/data/gpk-repo.glade
==============================================================================
--- trunk/data/gpk-repo.glade	(original)
+++ trunk/data/gpk-repo.glade	Wed Jun 18 13:19:59 2008
@@ -11,89 +11,109 @@
     <child>
       <widget class="GtkVBox" id="vbox1">
         <property name="visible">True</property>
+        <property name="border_width">10</property>
+        <property name="spacing">6</property>
         <child>
-          <widget class="GtkVBox" id="vbox1">
+          <widget class="GtkScrolledWindow" id="scrolledwindow_repo">
             <property name="visible">True</property>
-            <property name="border_width">10</property>
-            <property name="spacing">6</property>
+            <property name="can_focus">True</property>
+            <property name="hscrollbar_policy">GTK_POLICY_NEVER</property>
+            <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+            <property name="shadow_type">GTK_SHADOW_IN</property>
             <child>
-              <widget class="GtkScrolledWindow" id="scrolledwindow_repo">
+              <widget class="GtkTreeView" id="treeview_repo">
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
-                <property name="hscrollbar_policy">GTK_POLICY_NEVER</property>
-                <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-                <property name="shadow_type">GTK_SHADOW_IN</property>
-                <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="GtkCheckButton" id="checkbutton_detail">
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="tooltip" translatable="yes">Shows more software sources that may be interesting</property>
-                <property name="label" translatable="yes" comments="shows extra -source, -debuginfo, and -devel software sources">_Show debug and development software sources</property>
-                <property name="use_underline">True</property>
-                <property name="response_id">0</property>
-                <property name="draw_indicator">True</property>
               </widget>
-              <packing>
-                <property name="expand">False</property>
-                <property name="position">1</property>
-              </packing>
             </child>
+          </widget>
+        </child>
+        <child>
+          <widget class="GtkViewport" id="viewport_animation_preview">
+            <property name="resize_mode">GTK_RESIZE_QUEUE</property>
             <child>
-              <widget class="GtkHButtonBox" id="hbuttonbox1">
+              <widget class="GtkHBox" id="hbox_animation">
                 <property name="visible">True</property>
-                <property name="spacing">5</property>
-                <property name="layout_style">GTK_BUTTONBOX_END</property>
+                <property name="spacing">6</property>
                 <child>
-                  <widget class="GtkButton" id="button_help">
+                  <widget class="Custom" id="image_animation">
                     <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>
+                    <property name="expand">False</property>
+                    <property name="fill">False</property>
                   </packing>
                 </child>
                 <child>
-                  <widget class="GtkButton" id="button_close">
+                  <widget class="GtkLabel" id="label_animation">
                     <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="label">&lt;b&gt;Another system update is in progress&lt;/b&gt;</property>
+                    <property name="use_markup">True</property>
                   </widget>
                   <packing>
+                    <property name="expand">False</property>
                     <property name="position">1</property>
                   </packing>
                 </child>
               </widget>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">2</property>
-              </packing>
             </child>
           </widget>
+          <packing>
+            <property name="expand">False</property>
+            <property name="position">1</property>
+          </packing>
         </child>
         <child>
-          <widget class="GtkStatusbar" id="statusbar_status">
+          <widget class="GtkCheckButton" id="checkbutton_detail">
             <property name="visible">True</property>
-            <property name="spacing">2</property>
+            <property name="can_focus">True</property>
+            <property name="tooltip" translatable="yes">Shows more software sources that may be interesting</property>
+            <property name="label" translatable="yes" comments="shows extra -source, -debuginfo, and -devel software sources">_Show debug and development software sources</property>
+            <property name="use_underline">True</property>
+            <property name="response_id">0</property>
+            <property name="draw_indicator">True</property>
           </widget>
           <packing>
             <property name="expand">False</property>
-            <property name="position">1</property>
+            <property name="position">2</property>
+          </packing>
+        </child>
+        <child>
+          <widget class="GtkHButtonBox" id="hbuttonbox1">
+            <property name="visible">True</property>
+            <property name="spacing">5</property>
+            <property name="layout_style">GTK_BUTTONBOX_END</property>
+            <child>
+              <widget class="GtkButton" id="button_help">
+                <property name="visible">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">3</property>
           </packing>
         </child>
       </widget>

Modified: trunk/data/gpk-update-viewer.glade
==============================================================================
--- trunk/data/gpk-update-viewer.glade	(original)
+++ trunk/data/gpk-update-viewer.glade	Wed Jun 18 13:19:59 2008
@@ -93,104 +93,110 @@
                   </packing>
                 </child>
                 <child>
-                  <widget class="GtkTable" id="time_table">
+                  <widget class="GtkVBox" id="vbox1">
                     <property name="visible">True</property>
-                    <property name="n_rows">2</property>
-                    <property name="n_columns">3</property>
-                    <property name="column_spacing">6</property>
-                    <property name="row_spacing">6</property>
                     <child>
-                      <widget class="GtkLabel" id="label_last_update">
+                      <widget class="GtkTable" id="time_table">
                         <property name="visible">True</property>
-                        <property name="xalign">0</property>
-                        <property name="label">Unknown....</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>
-                      </packing>
-                    </child>
-                    <child>
-                      <widget class="GtkLabel" id="label_last_refresh">
-                        <property name="visible">True</property>
-                        <property name="xalign">0</property>
-                        <property name="label">Unknown....</property>
-                      </widget>
-                      <packing>
-                        <property name="left_attach">1</property>
-                        <property name="right_attach">2</property>
-                        <property name="x_options">GTK_FILL</property>
-                      </packing>
-                    </child>
-                    <child>
-                      <widget class="GtkLabel" id="label1">
-                        <property name="visible">True</property>
-                        <property name="xalign">0</property>
-                        <property name="label" translatable="yes">Last update:</property>
-                      </widget>
-                      <packing>
-                        <property name="top_attach">1</property>
-                        <property name="bottom_attach">2</property>
-                        <property name="x_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">Last refresh:</property>
-                      </widget>
-                      <packing>
-                        <property name="x_options">GTK_FILL</property>
-                      </packing>
-                    </child>
-                    <child>
-                      <widget class="GtkAlignment" id="alignment_refresh">
-                        <property name="visible">True</property>
-                        <property name="xalign">1</property>
-                        <property name="xscale">0</property>
-                        <property name="yscale">0</property>
+                        <property name="n_rows">2</property>
+                        <property name="n_columns">3</property>
+                        <property name="column_spacing">6</property>
+                        <property name="row_spacing">6</property>
                         <child>
-                          <widget class="Custom" id="button_refresh">
+                          <widget class="GtkLabel" id="label_last_update">
                             <property name="visible">True</property>
+                            <property name="xalign">0</property>
+                            <property name="label">Unknown....</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>
+                          </packing>
                         </child>
-                      </widget>
-                      <packing>
-                        <property name="left_attach">2</property>
-                        <property name="right_attach">3</property>
-                      </packing>
-                    </child>
-                    <child>
-                      <widget class="GtkAlignment" id="alignment1">
-                        <property name="visible">True</property>
-                        <property name="xalign">1</property>
-                        <property name="xscale">0</property>
-                        <property name="yscale">0</property>
                         <child>
-                          <widget class="GtkButton" id="button_history">
+                          <widget class="GtkLabel" id="label_last_refresh">
                             <property name="visible">True</property>
-                            <property name="can_focus">True</property>
-                            <property name="receives_default">True</property>
-                            <property name="label" translatable="yes">View History</property>
-                            <property name="response_id">0</property>
+                            <property name="xalign">0</property>
+                            <property name="label">Unknown....</property>
+                          </widget>
+                          <packing>
+                            <property name="left_attach">1</property>
+                            <property name="right_attach">2</property>
+                            <property name="x_options">GTK_FILL</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <widget class="GtkLabel" id="label1">
+                            <property name="visible">True</property>
+                            <property name="xalign">0</property>
+                            <property name="label" translatable="yes">Last update:</property>
+                          </widget>
+                          <packing>
+                            <property name="top_attach">1</property>
+                            <property name="bottom_attach">2</property>
+                            <property name="x_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">Last refresh:</property>
+                          </widget>
+                          <packing>
+                            <property name="x_options">GTK_FILL</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <widget class="GtkAlignment" id="alignment_refresh">
+                            <property name="visible">True</property>
+                            <property name="xalign">1</property>
+                            <property name="xscale">0</property>
+                            <property name="yscale">0</property>
+                            <child>
+                              <widget class="Custom" id="button_refresh">
+                                <property name="visible">True</property>
+                              </widget>
+                            </child>
+                          </widget>
+                          <packing>
+                            <property name="left_attach">2</property>
+                            <property name="right_attach">3</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <widget class="GtkAlignment" id="alignment1">
+                            <property name="visible">True</property>
+                            <property name="xalign">1</property>
+                            <property name="xscale">0</property>
+                            <property name="yscale">0</property>
+                            <child>
+                              <widget class="GtkButton" id="button_history">
+                                <property name="visible">True</property>
+                                <property name="can_focus">True</property>
+                                <property name="receives_default">True</property>
+                                <property name="label" translatable="yes">View History</property>
+                                <property name="response_id">0</property>
+                              </widget>
+                            </child>
                           </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>
+                          </packing>
                         </child>
                       </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="expand">False</property>
                       </packing>
                     </child>
                   </widget>
                   <packing>
-                    <property name="expand">False</property>
-                    <property name="padding">12</property>
                     <property name="position">3</property>
                   </packing>
                 </child>
@@ -292,7 +298,7 @@
             <child>
               <widget class="GtkVBox" id="vbox_details">
                 <property name="border_width">12</property>
-                <property name="spacing">12</property>
+                <property name="spacing">6</property>
                 <child>
                   <widget class="GtkVPaned" id="vpaned1">
                     <property name="visible">True</property>
@@ -376,40 +382,6 @@
                   </packing>
                 </child>
                 <child>
-                  <widget class="GtkHBox" id="hbox_reboot">
-                    <property name="visible">True</property>
-                    <property name="spacing">12</property>
-                    <child>
-                      <widget class="GtkImage" id="image9">
-                        <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>
-                        <property name="fill">False</property>
-                      </packing>
-                    </child>
-                    <child>
-                      <widget class="GtkLabel" id="label18">
-                        <property name="visible">True</property>
-                        <property name="label" translatable="yes">&lt;b&gt;This update will require a reboot&lt;/b&gt;</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">2</property>
-                  </packing>
-                </child>
-                <child>
                   <widget class="GtkHButtonBox" id="buttonbox_review">
                     <property name="visible">True</property>
                     <property name="spacing">6</property>
@@ -499,7 +471,7 @@
                   <packing>
                     <property name="expand">False</property>
                     <property name="fill">False</property>
-                    <property name="position">3</property>
+                    <property name="position">2</property>
                   </packing>
                 </child>
               </widget>

Modified: trunk/src/gpk-application.c
==============================================================================
--- trunk/src/gpk-application.c	(original)
+++ trunk/src/gpk-application.c	Wed Jun 18 13:19:59 2008
@@ -789,6 +789,43 @@
 }
 
 /**
+ * gpk_application_clear_details:
+ **/
+static void
+gpk_application_clear_details (GpkApplication *application)
+{
+	GtkWidget *widget;
+
+	/* hide details */
+	gtk_list_store_clear (application->priv->details_store);
+
+	/* clear the old text */
+	widget = glade_xml_get_widget (application->priv->glade_xml, "textview_description");
+	gpk_application_set_text_buffer (widget, NULL);
+
+	/* hide dead widgets */
+	widget = glade_xml_get_widget (application->priv->glade_xml, "image_icon");
+	gtk_widget_hide (widget);
+
+	widget = glade_xml_get_widget (application->priv->glade_xml, "scrolledwindow_detail");
+	gtk_widget_hide (widget);
+}
+
+/**
+ * gpk_application_clear_packages:
+ **/
+static void
+gpk_application_clear_packages (GpkApplication *application)
+{
+	/* unsorted */
+	gpk_application_treeview_set_sorted (application, FALSE);
+
+	/* clear existing list */
+	gtk_list_store_clear (application->priv->packages_store);
+	application->priv->has_package = FALSE;
+}
+
+/**
  * gpk_application_details_cb:
  **/
 static void
@@ -823,6 +860,10 @@
 	/* check icon actually exists and is valid in this theme */
 	valid = gpk_check_icon_valid (icon);
 
+	/* hide to start */
+	widget = glade_xml_get_widget (application->priv->glade_xml, "scrolledwindow_detail");
+	gtk_widget_show (widget);
+
 	/* nothing in the detail database or invalid */
 	if (valid == FALSE) {
 		info = installed ? PK_INFO_ENUM_INSTALLED : PK_INFO_ENUM_AVAILABLE;
@@ -1015,20 +1056,57 @@
 		return FALSE;
 	}
 
-	gtk_list_store_clear (application->priv->packages_store);
+	/* hide details */
+	gpk_application_clear_details (application);
+	gpk_application_clear_packages (application);
+
 	ret = pk_client_requeue (application->priv->client_search, &error);
 	if (!ret) {
 		pk_warning ("failed to requeue the search: %s", error->message);
 		g_error_free (error);
 		return FALSE;
 	}
-
-	/* hide details */
-	gtk_list_store_clear (application->priv->details_store);
 	return TRUE;
 }
 
 /**
+ * gpk_application_suggest_better_search:
+ **/
+static void
+gpk_application_suggest_better_search (GpkApplication *application)
+{
+	const gchar *message = NULL;
+	const gchar *title = _("No results were found.");
+	GtkTreeIter iter;
+	gchar *text;
+
+	if (application->priv->search_mode == PK_MODE_GROUP ||
+	    application->priv->search_mode == PK_MODE_ALL_PACKAGES) {
+		/* this shouldn't happen */
+		message = _("Try entering a package name in the search bar.");
+	} else {
+		if (application->priv->search_type == PK_SEARCH_NAME ||
+		    application->priv->search_type == PK_SEARCH_FILE) {
+			message = _("Try searching package descriptions by clicking the icon next to the search text.");
+		} else {
+			message = _("Try again with a different search term.");
+		}
+	}
+
+	text = g_strdup_printf ("%s\n%s", title, message);
+
+	gtk_list_store_append (application->priv->packages_store, &iter);
+	gtk_list_store_set (application->priv->packages_store, &iter,
+			    PACKAGES_COLUMN_STATE, FALSE,
+			    PACKAGES_COLUMN_CHECKBOX, FALSE,
+			    PACKAGES_COLUMN_CHECKBOX_ENABLE, FALSE,
+			    PACKAGES_COLUMN_TEXT, text,
+			    PACKAGES_COLUMN_IMAGE, "search",
+			    -1);
+	g_free (text);
+}
+
+/**
  * gpk_application_finished_cb:
  **/
 static void
@@ -1052,15 +1130,9 @@
 
 		/* were there no entries found? */
 		if (exit == PK_EXIT_ENUM_SUCCESS && !application->priv->has_package) {
-			GtkTreeIter iter;
-			gtk_list_store_append (application->priv->packages_store, &iter);
-			gtk_list_store_set (application->priv->packages_store, &iter,
-					    PACKAGES_COLUMN_STATE, FALSE,
-					    PACKAGES_COLUMN_CHECKBOX, FALSE,
-					    PACKAGES_COLUMN_CHECKBOX_ENABLE, FALSE,
-					    PACKAGES_COLUMN_TEXT, _("No results were found"),
-					    PACKAGES_COLUMN_IMAGE, "search",
-					    -1);
+
+			/* try to be helpful... */
+			gpk_application_suggest_better_search (application);
 		}
 
 		/* focus back to the text extry */
@@ -1157,22 +1229,6 @@
 		return FALSE;
 	}
 
-	/* unsorted */
-	gpk_application_treeview_set_sorted (application, FALSE);
-
-	/* clear existing list */
-	gtk_list_store_clear (application->priv->packages_store);
-	application->priv->has_package = FALSE;
-
-	/* hide details */
-	gtk_list_store_clear (application->priv->details_store);
-
-	/* switch around buttons */
-	gpk_application_set_find_cancel_buttons (application, FALSE);
-
-	widget = glade_xml_get_widget (application->priv->glade_xml, "notebook_search_cancel");
-	gtk_notebook_set_current_page (GTK_NOTEBOOK (widget), 1);
-
 	return TRUE;
 }
 
@@ -1197,12 +1253,6 @@
 		return FALSE;
 	}
 
-	/* unsorted */
-	gpk_application_treeview_set_sorted (application, FALSE);
-
-	/* refresh the search as the items may have changed */
-	gtk_list_store_clear (application->priv->packages_store);
-
 	if (application->priv->search_mode == PK_MODE_GROUP) {
 		ret = pk_client_search_group (application->priv->client_search,
 					      application->priv->filters_current,
@@ -1212,16 +1262,15 @@
 					      application->priv->filters_current, &error);
 	}
 
-	if (ret) {
-		/* switch around buttons */
-		gpk_application_set_find_cancel_buttons (application, FALSE);
-	} else {
+	if (!ret) {
 		widget = glade_xml_get_widget (application->priv->glade_xml, "window_manager");
 		gpk_error_dialog_modal (GTK_WINDOW (widget), _("The group could not be queried"),
 					_("Running the transaction failed"), error->message);
 		g_error_free (error);
+		return FALSE;
 	}
-	return ret;
+
+	return TRUE;
 }
 
 /**
@@ -1232,6 +1281,11 @@
 {
 	gboolean ret = FALSE;
 
+	g_return_val_if_fail (PK_IS_APPLICATION (application), FALSE);
+
+	gpk_application_clear_details (application);
+	gpk_application_clear_packages (application);
+
 	if (application->priv->search_mode == PK_MODE_NAME_DETAILS_FILE) {
 		ret = gpk_application_perform_search_name_details_file (application);
 	} else if (application->priv->search_mode == PK_MODE_GROUP ||
@@ -1240,6 +1294,13 @@
 	} else {
 		pk_debug ("doing nothing");
 	}
+	if (!ret) {
+		return ret;
+	}
+
+	/* switch around buttons */
+	gpk_application_set_find_cancel_buttons (application, FALSE);
+
 	return ret;
 }
 
@@ -1386,6 +1447,15 @@
 static void gpk_application_packages_treeview_clicked_cb (GtkTreeSelection *selection, GpkApplication *application);
 
 /**
+ * gpk_application_button_help_cb:
+ **/
+static void
+gpk_application_button_help_cb (GtkWidget *widget_button, GpkApplication *application)
+{
+	gpk_gnome_help ("add-remove");
+}
+
+/**
  * gpk_application_button_clear_cb:
  **/
 static void
@@ -1554,8 +1624,9 @@
 
 	g_return_if_fail (PK_IS_APPLICATION (application));
 
-	/* hide the details */
-	gtk_list_store_clear (application->priv->details_store);
+	/* hide details */
+	gpk_application_clear_details (application);
+	gpk_application_clear_packages (application);
 
 	/* clear the search text if we clicked the group list */
 	widget = glade_xml_get_widget (application->priv->glade_xml, "entry_text");
@@ -1609,7 +1680,9 @@
 		gpk_application_allow_remove (application, FALSE);
 		widget = glade_xml_get_widget (application->priv->glade_xml, "menuitem_selection");
 		gtk_widget_hide (widget);
-		gtk_list_store_clear (application->priv->details_store);
+
+		/* hide details */
+		gpk_application_clear_details (application);
 		return;
 	}
 
@@ -1636,12 +1709,8 @@
 	gpk_application_allow_install (application, show_install);
 	gpk_application_allow_remove (application, show_remove);
 
-	/* clear the old text */
-	widget = glade_xml_get_widget (application->priv->glade_xml, "textview_description");
-	gpk_application_set_text_buffer (widget, NULL);
-
-	/* hide stuff until we have data */
-	gtk_list_store_clear (application->priv->details_store);
+	/* hide details */
+	gpk_application_clear_details (application);
 
 	/* only show run menuitem for installed programs */
 	ret = gpk_application_state_installed (state);
@@ -2444,6 +2513,32 @@
 }
 
 /**
+ * gpk_application_add_welcome:
+ **/
+static void
+gpk_application_add_welcome (GpkApplication *application)
+{
+	GtkTreeIter iter;
+	const gchar *welcome;
+
+	gpk_application_clear_packages (application);
+	gtk_list_store_append (application->priv->packages_store, &iter);
+
+	/* enter something nice */
+	if (pk_enums_contain (application->priv->roles, PK_ROLE_ENUM_SEARCH_GROUP)) {
+		welcome = _("Enter a package name and then click find, or click a group to get started.");
+	} else {
+		welcome = _("Enter a package name and then click find to get started.");
+	}
+	gtk_list_store_set (application->priv->packages_store, &iter,
+			    PACKAGES_COLUMN_STATE, FALSE,
+			    PACKAGES_COLUMN_CHECKBOX, FALSE,
+			    PACKAGES_COLUMN_CHECKBOX_ENABLE, FALSE,
+			    PACKAGES_COLUMN_TEXT, welcome,
+			    PACKAGES_COLUMN_IMAGE, "search", -1);
+}
+
+/**
  * gpk_application_init:
  **/
 static void
@@ -2475,6 +2570,23 @@
 	application->priv->search_mode = PK_MODE_UNKNOWN;
 	application->priv->filters_current = PK_FILTER_ENUM_NONE;
 
+	/* create list stores */
+	application->priv->packages_store = gtk_list_store_new (PACKAGES_COLUMN_LAST,
+							        G_TYPE_STRING,
+							        G_TYPE_UINT,
+							        G_TYPE_BOOLEAN,
+							        G_TYPE_BOOLEAN,
+							        G_TYPE_STRING,
+							        G_TYPE_STRING);
+	application->priv->groups_store = gtk_list_store_new (GROUPS_COLUMN_LAST,
+							      G_TYPE_STRING,
+							      G_TYPE_STRING,
+							      G_TYPE_STRING);
+	application->priv->details_store = gtk_list_store_new (DETAIL_COLUMN_LAST,
+							       G_TYPE_STRING,
+							       G_TYPE_STRING,
+							       G_TYPE_STRING);
+
 	/* add application specific icons to search path */
 	gtk_icon_theme_append_search_path (gtk_icon_theme_get_default (),
                                            PK_DATA G_DIR_SEPARATOR_S "icons");
@@ -2575,6 +2687,11 @@
 			  G_CALLBACK (gpk_application_button_clear_cb), application);
 	gtk_widget_set_tooltip_text (widget, _("Clear current selection"));
 
+	/* help */
+	widget = glade_xml_get_widget (application->priv->glade_xml, "button_help");
+	g_signal_connect (widget, "clicked",
+			  G_CALLBACK (gpk_application_button_help_cb), application);
+
 	/* install */
 	widget = glade_xml_get_widget (application->priv->glade_xml, "button_apply");
 	g_signal_connect (widget, "clicked",
@@ -2627,8 +2744,6 @@
 
 	widget = glade_xml_get_widget (application->priv->glade_xml, "menuitem_selection");
 	gtk_widget_hide (widget);
-	widget = glade_xml_get_widget (application->priv->glade_xml, "image_icon");
-	gtk_widget_hide (widget);
 
 	/* installed filter */
 	widget = glade_xml_get_widget (application->priv->glade_xml, "menuitem_installed_yes");
@@ -2786,9 +2901,6 @@
 	g_signal_connect (widget, "icon-pressed",
 			  G_CALLBACK (gpk_application_entry_text_icon_pressed_cb), application);
 
-	/* coldplug icon to default to search by name*/
-	gpk_application_menu_search_by_name (NULL, application);
-
 	/* hide the filters we can't support */
 	if (pk_enums_contain (application->priv->filters, PK_FILTER_ENUM_INSTALLED) == FALSE) {
 		widget = glade_xml_get_widget (application->priv->glade_xml, "menuitem_installed");
@@ -2857,23 +2969,6 @@
 	g_signal_connect (GTK_TREE_VIEW (widget), "row-activated",
 			  G_CALLBACK (gpk_application_package_row_activated_cb), application);
 
-	/* create list stores */
-	application->priv->packages_store = gtk_list_store_new (PACKAGES_COLUMN_LAST,
-							        G_TYPE_STRING,
-							        G_TYPE_UINT,
-							        G_TYPE_BOOLEAN,
-							        G_TYPE_BOOLEAN,
-							        G_TYPE_STRING,
-							        G_TYPE_STRING);
-	application->priv->groups_store = gtk_list_store_new (GROUPS_COLUMN_LAST,
-							      G_TYPE_STRING,
-							      G_TYPE_STRING,
-							      G_TYPE_STRING);
-	application->priv->details_store = gtk_list_store_new (DETAIL_COLUMN_LAST,
-							       G_TYPE_STRING,
-							       G_TYPE_STRING,
-							       G_TYPE_STRING);
-
 	/* use a list store for the extra data */
 	widget = glade_xml_get_widget (application->priv->glade_xml, "treeview_detail");
 	gtk_tree_view_set_model (GTK_TREE_VIEW (widget), GTK_TREE_MODEL (application->priv->details_store));
@@ -2881,12 +2976,8 @@
 	/* add columns to the tree view */
 	gpk_application_treeview_add_columns_description (application);
 
-	/* make bigger than 1x1 */
-	gpk_application_add_detail_item (application, "foo", "bar", NULL);
-	gtk_list_store_clear (application->priv->details_store);
-
 	/* unsorted */
-	gpk_application_treeview_set_sorted (application, FALSE);
+//	gpk_application_treeview_set_sorted (application, FALSE);
 
 	/* create package tree view */
 	widget = glade_xml_get_widget (application->priv->glade_xml, "treeview_packages");
@@ -2951,6 +3042,15 @@
 	/* set current action */
 	application->priv->action = PK_ACTION_NONE;
 	gpk_application_set_buttons_apply_clear (application);
+
+	/* hide details */
+	gpk_application_clear_details (application);
+
+	/* coldplug icon to default to search by name*/
+	gpk_application_menu_search_by_name (NULL, application);
+
+	/* welcome */
+	gpk_application_add_welcome (application);
 }
 
 /**

Modified: trunk/src/gpk-check-update.c
==============================================================================
--- trunk/src/gpk-check-update.c	(original)
+++ trunk/src/gpk-check-update.c	Wed Jun 18 13:19:59 2008
@@ -480,7 +480,7 @@
 	notify_notification_set_timeout (notification, NOTIFY_EXPIRES_NEVER);
 	notify_notification_set_urgency (notification, NOTIFY_URGENCY_CRITICAL);
 	notify_notification_add_action (notification, "update-just-security",
-					_("Install important updates"), gpk_check_update_libnotify_cb, cupdate, NULL);
+					_("Install these updates"), gpk_check_update_libnotify_cb, cupdate, NULL);
 	notify_notification_add_action (notification, "update-all-packages",
 					_("Install all updates"), gpk_check_update_libnotify_cb, cupdate, NULL);
 	notify_notification_add_action (notification, "do-not-show-notify-critical",
@@ -801,7 +801,7 @@
 	pk_debug ("updates changed");
 
 	/* ignore our own updates */
-	if (cupdate->priv->get_updates_in_progress) {
+	if (!cupdate->priv->get_updates_in_progress) {
 		g_idle_add ((GSourceFunc) gpk_check_update_query_updates, cupdate);
 	}
 }

Modified: trunk/src/gpk-client-depends.c
==============================================================================
--- trunk/src/gpk-client-depends.c	(original)
+++ trunk/src/gpk-client-depends.c	Wed Jun 18 13:19:59 2008
@@ -118,6 +118,7 @@
 		goto out;
 	}
 
+	/* get the packages we depend on */
 	length = g_strv_length (package_ids);
 	for (i=0; i<length; i++) {
 		ret = gpk_client_depends_indervidual (window, list, package_ids[i]);
@@ -127,6 +128,11 @@
 		}
 	}
 
+	/* sometimes a package may pull in a depend we have already selected; we remove those */
+	for (i=0; i<length; i++) {
+		pk_package_list_remove (list, package_ids[i]);
+	}
+
 	/* process package list */
 	string = g_string_new (_("The following packages also have to be downloaded:"));
 	g_string_append (string, "\n\n");

Modified: trunk/src/gpk-client.c
==============================================================================
--- trunk/src/gpk-client.c	(original)
+++ trunk/src/gpk-client.c	Wed Jun 18 13:19:59 2008
@@ -1009,6 +1009,7 @@
 						 "%s", title);
 		gtk_dialog_run (GTK_DIALOG (dialog));
 		gtk_widget_destroy (GTK_WIDGET (dialog));
+		gpk_client_error_set (error, GPK_CLIENT_ERROR_FAILED, "Aborted");
 		ret = FALSE;
 		goto out;
 	}
@@ -1224,7 +1225,7 @@
 }
 
 /**
- * gpk_client_install_package_name:
+ * gpk_client_install_package_names:
  * @gclient: a valid #GpkClient instance
  * @package: a pakage name such as <literal>hal-info</literal>
  * @error: a %GError to put the error code and message in, or %NULL
@@ -1248,6 +1249,8 @@
 	widget = glade_xml_get_widget (gclient->priv->glade_xml, "window_updates");
 	package_ids = gpk_client_resolve_show (GTK_WINDOW (widget), packages);
 	if (package_ids == NULL) {
+		/* generic error message */
+		gpk_client_error_set (error, GPK_CLIENT_ERROR_FAILED, "failed to resolve packages");
 		ret = FALSE;
 		goto out;
 	}
@@ -1431,6 +1434,74 @@
 }
 
 /**
+ * gpk_client_install_font:
+ * @gclient: a valid #GpkClient instance
+ * @font_desc: a font description such as <literal>lang:en_GB</literal>
+ * @error: a %GError to put the error code and message in, or %NULL
+ *
+ * Install a application to handle a mime type
+ *
+ * Return value: %TRUE if the method succeeded
+ **/
+gboolean
+gpk_client_install_font (GpkClient *gclient, const gchar *font_desc, GError **error)
+{
+	gboolean ret;
+	PkPackageList *list = NULL;
+	GError *error_local = NULL;
+	gchar *package_id = NULL;
+	gchar **package_ids = NULL;
+	guint len;
+	GtkWidget *widget;
+
+	g_return_val_if_fail (GPK_IS_CLIENT (gclient), FALSE);
+	g_return_val_if_fail (font_desc != NULL, FALSE);
+
+	ret = pk_client_what_provides (gclient->priv->client_resolve, PK_FILTER_ENUM_NOT_INSTALLED,
+				       PK_PROVIDES_ENUM_FONT, font_desc, &error_local);
+	if (!ret) {
+		gpk_client_error_msg (gclient, _("Failed to search for provides"), _("Incorrect response from search"), error_local->message);
+		gpk_client_error_set (error, GPK_CLIENT_ERROR_FAILED, error_local->message);
+		ret = FALSE;
+		goto out;
+	}
+
+	/* found nothing? */
+	list = pk_client_get_package_list (gclient->priv->client_resolve);
+	len = pk_package_list_get_size (list);
+	if (len == 0) {
+		gpk_client_error_msg (gclient, _("Failed to find font"),
+				      _("No new fonts can be found for this document"), NULL);
+		gpk_client_error_set (error, GPK_CLIENT_ERROR_FAILED, NULL);
+		ret = FALSE;
+		goto out;
+	}
+
+	/* populate a chooser */
+	widget = glade_xml_get_widget (gclient->priv->glade_xml, "window_updates");
+	package_id = gpk_client_chooser_show (GTK_WINDOW (widget), list, 0, _("Available fonts for this document"));
+
+	/* selected nothing */
+	if (package_id == NULL) {
+		gpk_client_error_msg (gclient, _("Failed to install fonts"), _("No fonts were chosen to be installed"), NULL);
+		gpk_client_error_set (error, GPK_CLIENT_ERROR_FAILED, "user chose nothing");
+		ret = FALSE;
+		goto out;
+	}
+
+	/* install this specific package */
+	package_ids = g_strsplit (package_id, "|", 1);
+	ret = gpk_client_install_package_ids (gclient, package_ids, error);
+out:
+	if (list != NULL) {
+		g_object_unref (list);
+	}
+	g_strfreev (package_ids);
+	g_free (package_id);
+	return ret;
+}
+
+/**
  * gpk_client_catalog_progress_cb:
  **/
 static void
@@ -1531,6 +1602,7 @@
 						 GTK_MESSAGE_INFO, GTK_BUTTONS_OK, _("No packages need to be installed"));
 		gtk_dialog_run (GTK_DIALOG (dialog));
 		gtk_widget_destroy (GTK_WIDGET (dialog));
+		gpk_client_error_set (error, GPK_CLIENT_ERROR_FAILED, "No packages need to be installed");
 		ret = FALSE;
 		goto out;
 	}
@@ -1574,6 +1646,7 @@
 		gtk_message_dialog_format_secondary_markup (GTK_MESSAGE_DIALOG (dialog), "Action was cancelled");
 		gtk_dialog_run (GTK_DIALOG (dialog));
 		gtk_widget_destroy (GTK_WIDGET (dialog));
+		gpk_client_error_set (error, GPK_CLIENT_ERROR_FAILED, "Action was cancelled");
 		ret = FALSE;
 		goto out;
 	}

Modified: trunk/src/gpk-client.h
==============================================================================
--- trunk/src/gpk-client.h	(original)
+++ trunk/src/gpk-client.h	Wed Jun 18 13:19:59 2008
@@ -87,6 +87,9 @@
 gboolean	 gpk_client_install_mime_type		(GpkClient	*gclient,
 							 const gchar	*mime_type,
 							 GError		**error);
+gboolean	 gpk_client_install_font		(GpkClient	*gclient,
+							 const gchar	*font_desc,
+							 GError		**error);
 gboolean	 gpk_client_install_package_names	(GpkClient	*gclient,
 							 gchar		**packages,
 							 GError		**error);

Modified: trunk/src/gpk-dbus.c
==============================================================================
--- trunk/src/gpk-dbus.c	(original)
+++ trunk/src/gpk-dbus.c	Wed Jun 18 13:19:59 2008
@@ -50,9 +50,9 @@
 #include "gpk-dbus.h"
 #include "gpk-client.h"
 
-static void     gpk_dbus_class_init	(GpkDbusClass *klass);
-static void     gpk_dbus_init		(GpkDbus      *dbus);
-static void     gpk_dbus_finalize		(GObject	   *object);
+static void     gpk_dbus_class_init	(GpkDbusClass	*klass);
+static void     gpk_dbus_init		(GpkDbus	*dbus);
+static void     gpk_dbus_finalize	(GObject	*object);
 
 #define GPK_DBUS_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GPK_TYPE_DBUS, GpkDbusPrivate))
 
@@ -105,7 +105,7 @@
 {
 	gboolean ret;
 	GError *error;
-	GError *error_local;
+	GError *error_local = NULL;
 	gchar *sender;
 	gchar **full_paths;
 
@@ -140,7 +140,7 @@
 {
 	gboolean ret;
 	GError *error;
-	GError *error_local;
+	GError *error_local = NULL;
 	gchar *sender;
 
 	g_return_if_fail (PK_IS_DBUS (dbus));
@@ -171,7 +171,7 @@
 {
 	gboolean ret;
 	GError *error;
-	GError *error_local;
+	GError *error_local = NULL;
 	gchar *sender;
 	gchar **package_names;
 
@@ -207,12 +207,12 @@
 {
 	gboolean ret;
 	GError *error;
-	GError *error_local;
+	GError *error_local = NULL;
 	gchar *sender;
 
 	g_return_if_fail (PK_IS_DBUS (dbus));
 
-	pk_debug ("InstallmimeType method called: %s", mime_type);
+	pk_debug ("InstallMimeType method called: %s", mime_type);
 
 	/* check sender */
 	sender = dbus_g_method_get_sender (context);
@@ -231,6 +231,37 @@
 }
 
 /**
+ * gpk_dbus_install_font:
+ **/
+void
+gpk_dbus_install_font (GpkDbus *dbus, const gchar *font_desc, DBusGMethodInvocation *context)
+{
+	gboolean ret;
+	GError *error;
+	GError *error_local = NULL;
+	gchar *sender;
+
+	g_return_if_fail (PK_IS_DBUS (dbus));
+
+	pk_debug ("InstallFont method called: %s", font_desc);
+
+	/* check sender */
+	sender = dbus_g_method_get_sender (context);
+	pk_warning ("sender=%s", sender);
+
+	ret = gpk_client_install_font (dbus->priv->gclient, font_desc, &error_local);
+	if (!ret) {
+		error = g_error_new (GPK_DBUS_ERROR, GPK_DBUS_ERROR_DENIED,
+				     "Method failed: %s", error_local->message);
+		g_error_free (error_local);
+		dbus_g_method_return_error (context, error);
+		return;
+	}
+
+	dbus_g_method_return (context);
+}
+
+/**
  * gpk_dbus_class_init:
  * @klass: The GpkDbusClass
  **/

Modified: trunk/src/gpk-dbus.h
==============================================================================
--- trunk/src/gpk-dbus.h	(original)
+++ trunk/src/gpk-dbus.h	Wed Jun 18 13:19:59 2008
@@ -72,6 +72,9 @@
 void		 gpk_dbus_install_mime_type		(GpkDbus	*dbus,
 							 const gchar	*mime_type,
 							 DBusGMethodInvocation *context);
+void		 gpk_dbus_install_font			(GpkDbus	*dbus,
+							 const gchar	*font_desc,
+							 DBusGMethodInvocation *context);
 
 G_END_DECLS
 

Modified: trunk/src/gpk-interface.h
==============================================================================
--- trunk/src/gpk-interface.h	(original)
+++ trunk/src/gpk-interface.h	Wed Jun 18 13:19:59 2008
@@ -53,7 +53,7 @@
 #endif /* !G_ENABLE_DEBUG */
 
 
-/* NONE:STRING,POINTER (/tmp/dbus-binding-tool-c-marshallers.NVE1BU:1) */
+/* NONE:STRING,POINTER (/tmp/dbus-binding-tool-c-marshallers.QE1YCU:1) */
 extern void dbus_glib_marshal_gpk_dbus_VOID__STRING_POINTER (GClosure     *closure,
                                                              GValue       *return_value,
                                                              guint         n_param_values,
@@ -107,13 +107,14 @@
   { (GCallback) gpk_dbus_install_provide_file, dbus_glib_marshal_gpk_dbus_NONE__STRING_POINTER, 61 },
   { (GCallback) gpk_dbus_install_package_name, dbus_glib_marshal_gpk_dbus_NONE__STRING_POINTER, 124 },
   { (GCallback) gpk_dbus_install_mime_type, dbus_glib_marshal_gpk_dbus_NONE__STRING_POINTER, 190 },
+  { (GCallback) gpk_dbus_install_font, dbus_glib_marshal_gpk_dbus_NONE__STRING_POINTER, 250 },
 };
 
 const DBusGObjectInfo dbus_glib_gpk_dbus_object_info = {
   0,
   dbus_glib_gpk_dbus_methods,
-  4,
-"org.freedesktop.PackageKit\0InstallLocalFile\0A\0full_path\0I\0s\0\0org.freedesktop.PackageKit\0InstallProvideFile\0A\0full_path\0I\0s\0\0org.freedesktop.PackageKit\0InstallPackageName\0A\0package_name\0I\0s\0\0org.freedesktop.PackageKit\0InstallMimeType\0A\0mime_type\0I\0s\0\0\0",
+  5,
+"org.freedesktop.PackageKit\0InstallLocalFile\0A\0full_path\0I\0s\0\0org.freedesktop.PackageKit\0InstallProvideFile\0A\0full_path\0I\0s\0\0org.freedesktop.PackageKit\0InstallPackageName\0A\0package_name\0I\0s\0\0org.freedesktop.PackageKit\0InstallMimeType\0A\0mime_type\0I\0s\0\0org.freedesktop.PackageKit\0InstallFont\0A\0font_desc\0I\0s\0\0\0",
 "\0",
 "\0"
 };

Modified: trunk/src/gpk-interface.xml
==============================================================================
--- trunk/src/gpk-interface.xml	(original)
+++ trunk/src/gpk-interface.xml	Wed Jun 18 13:19:59 2008
@@ -17,6 +17,10 @@
       <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
       <arg type="s" name="mime_type" direction="in"/>
     </method>
+    <method name="InstallFont">
+      <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
+      <arg type="s" name="font_desc" direction="in"/>
+    </method>
   </interface>
 </node>
 

Modified: trunk/src/gpk-update-icon.c
==============================================================================
--- trunk/src/gpk-update-icon.c	(original)
+++ trunk/src/gpk-update-icon.c	Wed Jun 18 13:19:59 2008
@@ -88,6 +88,7 @@
 	}
 
 	dbus_g_object_type_install_info (GPK_TYPE_DBUS, &dbus_glib_gpk_dbus_object_info);
+	dbus_g_error_domain_register (GPK_DBUS_ERROR, NULL, GPK_DBUS_TYPE_ERROR);
 	dbus_g_connection_register_g_object (connection, PK_DBUS_PATH, object);
 
 	return TRUE;



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