gnome-packagekit r286 - in trunk: . data data/icons data/icons/16x16/status data/icons/22x22/status data/icons/24x24/status data/icons/48x48/status data/icons/scalable/status help help/C po src
- From: rhughes svn gnome org
- To: svn-commits-list gnome org
- Subject: gnome-packagekit r286 - in trunk: . data data/icons data/icons/16x16/status data/icons/22x22/status data/icons/24x24/status data/icons/48x48/status data/icons/scalable/status help help/C po src
- Date: Tue, 16 Sep 2008 16:47:42 +0000 (UTC)
Author: rhughes
Date: Tue Sep 16 16:47:41 2008
New Revision: 286
URL: http://svn.gnome.org/viewvc/gnome-packagekit?rev=286&view=rev
Log:
from git
Removed:
trunk/src/gpk-application-state.c
trunk/src/gpk-application-state.h
Modified:
trunk/Makefile.am
trunk/NEWS
trunk/configure.ac
trunk/data/gpk-application.glade
trunk/data/gpk-client.glade
trunk/data/icons/16x16/status/Makefile.am
trunk/data/icons/22x22/status/Makefile.am
trunk/data/icons/22x22/status/pk-update-high.png
trunk/data/icons/24x24/status/Makefile.am
trunk/data/icons/24x24/status/pk-update-high.png
trunk/data/icons/48x48/status/Makefile.am
trunk/data/icons/generate_48x48_icons.sh
trunk/data/icons/scalable/status/Makefile.am
trunk/help/C/gnome-packagekit.xml
trunk/help/Makefile.am
trunk/po/POTFILES.in
trunk/po/ar.po
trunk/po/ca.po
trunk/po/cs.po
trunk/po/cy.po
trunk/po/de.po
trunk/po/el.po
trunk/po/en_GB.po
trunk/po/es.po
trunk/po/fi.po
trunk/po/fr.po
trunk/po/gl.po
trunk/po/he.po
trunk/po/hu.po
trunk/po/it.po
trunk/po/ja.po
trunk/po/nb.po
trunk/po/nl.po
trunk/po/oc.po
trunk/po/pa.po
trunk/po/pl.po
trunk/po/pt_BR.po
trunk/po/ru.po
trunk/po/sv.po
trunk/po/tr.po
trunk/src/Makefile.am
trunk/src/gpk-application.c
trunk/src/gpk-client.c
trunk/src/gpk-common.c
trunk/src/gpk-interface.h
Modified: trunk/Makefile.am
==============================================================================
--- trunk/Makefile.am (original)
+++ trunk/Makefile.am Tue Sep 16 16:47:41 2008
@@ -1,5 +1,4 @@
SUBDIRS = \
- libunique \
docs \
man \
src \
Modified: trunk/NEWS
==============================================================================
--- trunk/NEWS (original)
+++ trunk/NEWS Tue Sep 16 16:47:41 2008
@@ -1,13 +1,65 @@
+Version 0.3.3
+~~~~~~~~~~~~~~
+Released: 2008-09-16
+
+* Translations
+ - Updated Spanish translation (Daniel Mustieles)
+ - Updated Hebrew translation (Mark Krapivner)
+ - Updated Finnish translation (Ville-Pekka Vainio)
+
+* New
+ - Add two new icons, pk-collection-available and pk-collection-installed (Mike Langlie)
+ - Add pk-package-blocked icon for blocked packages (Richard Hughes)
+ - Add a --timed-exit parameter so we can do memory profiling (Richard Hughes)
+ - If the installed applications have an application icon, use it in gpk-application (Richard Hughes)
+ - Add InstallGStreamerCodecs to the session interface (Richard Hughes)
+ - Change the session dbus interface to support sending a xid and timestamp so
+ we can do focus stealing and modal windows correctly (Richard Hughes)
+ - Add a new GObject to GpkClient to abstract out the window interactions (Richard Hughes)
+ - Add a test script to install codecs with a XID and timestamp (Richard Hughes)
+
+* Bugfix:
+ - Don't make blocked selectable in the gpk-update-viewer tool (Richard Hughes)
+ - Add some images into the help file to make it more interesting (Richard Hughes)
+ - Only clear the last data details and show the spinner if it takes a little while,
+ else we flicker the display too much (Richard Hughes)
+ - Convert the codec installer dbus interface from as to a(ss) as suggested by davidz (Richard Hughes)
+ - Add a function gpk_error_dialog_modal_with_time so we can deal with focus stealing (Richard Hughes)
+ - Don't ignore collection packages in gpk-application (Richard Hughes)
+ - Fix a number of memory leaks in the client tools (Richard Hughes)
+ - Add two new methods: gpk_client_set_parent_xid() and gpk_client_update_timestamp() so
+ we can fix focus stealing and modal windows (Richard Hughes)
+ - Support INFO_ENUM_COLLECTION_INSTALLED and INFO_ENUM_COLLECTION_AVAILABLE (Richard Hughes)
+ - Add a new confirm dialog for the codec and mime type searching (Richard Hughes)
+ - Don't show the finshed UI when using gpk-application (Richard Hughes)
+
+Version 0.3.2
+~~~~~~~~~~~~~~
+Released: 2008-09-08
+
+* Translations
+ - Updated Spanish translation (Daniel Mustieles)
+ - Brazilian Portuguese translation updated (Igor Pires Soares)
+ - Updated Finnish translation (Ville-Pekka Vainio)
+
+* Bugfix:
+ - Don't present the user with ok/cancel dialogs, instead use the verb (Richard Hughes)
+ - Use the correct system-search icon name in gpk-application (Richard Hughes)
+ - Correct the orientation of the shadow in the pk-update-high icons (Richard Hughes)
+ - Fix the GType name clash as suggested by Rob Taylor (Richard Hughes)
+ - Show the 'install firmware' bubble only if the firmware is available (Richard Hughes)
+ - Add text for new error enum. Fixes rh#459870 (Robin Norwood)
+
Version 0.3.1
~~~~~~~~~~~~~~
Released: 2008-08-27
-New:
+* New:
- Support all the PkMessage types (Richard Hughes)
- Add UI to set the interval for checking for distro upgrades (Richard Hughes)
- Detect when we need a distro upgrade (Richard Hughes)
-Bugfix:
+* Bugfix:
- Fix a spelling error from Resolved to Resolving (Daniel Nicoletti)
- Fix the shadow in the refresh cache animation. Fixes fd#17236 (Michael Monreal)
- Add some new text for GetDistroUpgrades and the new group enums (Richard Hughes)
@@ -28,14 +80,14 @@
- Updated Polish translation (Wadim Dziedzic)
- Updated Occitan translation (Yannig Marchegay)
-New:
+* New:
- Change the client tools to the updated 0.3.x API (Richard Hughes)
- Force a pre-cache of all the update detail at startup (Richard Hughes)
- Populate the package auto-completion box in gpk-application (Richard Hughes)
- Support the new fields in the update details (Richard Hughes)
- Allow gpk-install-file to install .pack files (Shishir Goel)
-Bugfix:
+* Bugfix:
- Add a blocked update handler (Daniel Nicoletti)
- Make some of the glade labels non-translatable (Kjartan Maraas)
- Correct some typos found by Andre Klapper (Richard Hughes)
Modified: trunk/configure.ac
==============================================================================
--- trunk/configure.ac (original)
+++ trunk/configure.ac Tue Sep 16 16:47:41 2008
@@ -1,6 +1,6 @@
AC_PREREQ(2.52)
-AC_INIT(gnome-packagekit, 0.3.2)
+AC_INIT(gnome-packagekit, 0.3.4)
AC_CONFIG_SRCDIR(src)
AM_INIT_AUTOMAKE(AC_PACKAGE_NAME, AC_PACKAGE_VERSION)
AM_CONFIG_HEADER(config.h)
@@ -45,7 +45,7 @@
dnl ---------------------------------------------------------------------------
dnl - Library dependencies
dnl ---------------------------------------------------------------------------
-PACKAGEKIT_REQUIRED=0.2.2
+PACKAGEKIT_REQUIRED=0.3.3
GLIB_REQUIRED=2.14.0
GTK_REQUIRED=2.12.0
DBUS_REQUIRED=1.1.2
@@ -209,7 +209,6 @@
dnl ---------------------------------------------------------------------------
AC_OUTPUT([
Makefile
-libunique/Makefile
src/Makefile
help/Makefile
man/Makefile
Modified: trunk/data/gpk-application.glade
==============================================================================
--- trunk/data/gpk-application.glade (original)
+++ trunk/data/gpk-application.glade Tue Sep 16 16:47:41 2008
@@ -724,6 +724,7 @@
<widget class="GtkHBox" id="hbox2">
<property name="visible">True</property>
<property name="spacing">6</property>
+ <property name="homogeneous">True</property>
<child>
<widget class="GtkScrolledWindow" id="scrolledwindow2">
<property name="visible">True</property>
@@ -763,26 +764,6 @@
<property name="position">1</property>
</packing>
</child>
- <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>
- <packing>
- <property name="expand">False</property>
- <property name="position">2</property>
- </packing>
- </child>
</widget>
<packing>
<property name="expand">False</property>
Modified: trunk/data/gpk-client.glade
==============================================================================
--- trunk/data/gpk-client.glade (original)
+++ trunk/data/gpk-client.glade Tue Sep 16 16:47:41 2008
@@ -2,7 +2,7 @@
<!DOCTYPE glade-interface SYSTEM "glade-2.0.dtd">
<!--*- mode: xml -*-->
<glade-interface>
- <widget class="GtkWindow" id="window_updates">
+ <widget class="GtkWindow" id="window_client">
<property name="title" translatable="yes">Install Package</property>
<property name="resizable">False</property>
<property name="modal">True</property>
@@ -10,286 +10,64 @@
<property name="icon_name">system-software-update</property>
<property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
<child>
- <widget class="GtkVBox" id="vbox4">
+ <widget class="GtkVBox" id="vbox_check">
<property name="visible">True</property>
+ <property name="border_width">12</property>
+ <property name="spacing">9</property>
<child>
- <widget class="GtkHBox" id="hbox_hidden">
+ <widget class="GtkHBox" id="hbox2">
<property name="visible">True</property>
+ <property name="spacing">12</property>
<child>
- <widget class="GtkVBox" id="vbox_progress">
- <property name="border_width">12</property>
- <property name="spacing">6</property>
+ <widget class="GtkVBox" id="vbox8">
+ <property name="visible">True</property>
<child>
- <widget class="GtkTable" id="table1">
+ <widget class="GtkHBox" id="hbox1">
<property name="visible">True</property>
- <property name="n_rows">2</property>
- <property name="n_columns">2</property>
- <property name="column_spacing">6</property>
- <property name="row_spacing">6</property>
- <child>
- <widget class="GtkVBox" id="vbox2">
- <property name="visible">True</property>
- <property name="spacing">6</property>
- <child>
- <widget class="GtkLabel" id="progress_part_label">
- <property name="visible">True</property>
- <property name="xalign">0</property>
- <property name="yalign">0</property>
- <property name="label"><b>Downloading</b></property>
- <property name="use_markup">True</property>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
- <child>
- <widget class="GtkProgressBar" id="progressbar_percent">
- <property name="visible">True</property>
- <property name="pulse_step">0.10000000149</property>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">1</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="left_attach">1</property>
- <property name="right_attach">2</property>
- <property name="y_options">GTK_FILL</property>
- </packing>
- </child>
- <child>
- <widget class="GtkVBox" id="vbox1">
- <property name="visible">True</property>
- <child>
- <widget class="GtkHBox" id="hbox1">
- <property name="visible">True</property>
- <child>
- <widget class="GtkLabel" id="label_package">
- <property name="label"><b>The second update</b>
-(update2)</property>
- <property name="use_markup">True</property>
- <property name="wrap">True</property>
- </widget>
- <packing>
- <property name="expand">False</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="expand">False</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="left_attach">1</property>
- <property name="right_attach">2</property>
- <property name="top_attach">1</property>
- <property name="bottom_attach">2</property>
- <property name="y_options">GTK_FILL</property>
- </packing>
- </child>
<child>
<widget class="Custom" id="image_status">
<property name="visible">True</property>
</widget>
- <packing>
- <property name="x_options">GTK_FILL</property>
- <property name="y_options">GTK_FILL</property>
- </packing>
- </child>
- <child>
- <widget class="GtkVBox" id="vbox3">
- <property name="visible">True</property>
- <child>
- <widget class="GtkImage" id="image_package">
- <property name="stock">gtk-spell-check</property>
- <property name="icon_size">6</property>
- </widget>
- <packing>
- <property name="expand">False</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="top_attach">1</property>
- <property name="bottom_attach">2</property>
- <property name="x_options">GTK_FILL</property>
- <property name="y_options">GTK_FILL</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="expand">False</property>
- </packing>
- </child>
- <child>
- <widget class="GtkHButtonBox" id="hbuttonbox4">
- <property name="visible">True</property>
- <property name="spacing">6</property>
- <property name="layout_style">GTK_BUTTONBOX_END</property>
- <child>
- <widget class="GtkButton" id="button_help3">
- <property name="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_cancel">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="can_default">True</property>
- <property name="label">gtk-cancel</property>
- <property name="use_stock">True</property>
- <property name="response_id">0</property>
- </widget>
- <packing>
- <property name="position">1</property>
- </packing>
- </child>
- <child>
- <widget class="GtkButton" id="button_close">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="can_default">True</property>
- <property name="label">gtk-close</property>
- <property name="use_stock">True</property>
- <property name="response_id">0</property>
- </widget>
- <packing>
- <property name="position">2</property>
- </packing>
</child>
</widget>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
- <property name="pack_type">GTK_PACK_END</property>
- <property name="position">1</property>
</packing>
</child>
</widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
</child>
<child>
- <widget class="GtkVBox" id="vbox_confirm">
- <property name="border_width">12</property>
- <property name="spacing">5</property>
+ <widget class="GtkVBox" id="vbox9">
+ <property name="visible">True</property>
+ <property name="spacing">12</property>
<child>
- <widget class="GtkHBox" id="hbox5">
+ <widget class="GtkHBox" id="hbox3">
<property name="visible">True</property>
- <property name="spacing">12</property>
<child>
- <widget class="GtkImage" id="image15">
+ <widget class="GtkLabel" id="label_title">
<property name="visible">True</property>
- <property name="stock">gtk-dialog-info</property>
- <property name="icon_size">6</property>
+ <property name="label"><b>Totem requires (Downloading)</b></property>
+ <property name="use_markup">True</property>
+ <property name="wrap">True</property>
</widget>
<packing>
<property name="expand">False</property>
</packing>
</child>
- <child>
- <widget class="GtkVBox" id="vbox6">
- <property name="visible">True</property>
- <property name="spacing">10</property>
- <child>
- <widget class="GtkHBox" id="hbox17">
- <property name="visible">True</property>
- <child>
- <widget class="GtkLabel" id="label16">
- <property name="visible">True</property>
- <property name="label" translatable="yes"><b>Installation Complete</b></property>
- <property name="use_markup">True</property>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="expand">False</property>
- </packing>
- </child>
- <child>
- <widget class="GtkHBox" id="hbox_reboot">
- <property name="spacing">5</property>
- <child>
- <widget class="GtkImage" id="image1">
- <property name="visible">True</property>
- <property name="stock">gtk-dialog-warning</property>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
- <child>
- <widget class="GtkLabel" id="label2">
- <property name="visible">True</property>
- <property name="label" translatable="yes">A system restart is recommended</property>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="position">1</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="position">1</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">1</property>
- </packing>
- </child>
</widget>
+ <packing>
+ <property name="expand">False</property>
+ </packing>
</child>
<child>
- <widget class="GtkHButtonBox" id="buttonbox_confirm">
+ <widget class="GtkProgressBar" id="progressbar_percent">
<property name="visible">True</property>
- <property name="spacing">6</property>
- <property name="layout_style">GTK_BUTTONBOX_END</property>
- <child>
- <widget class="GtkButton" id="button_help4">
- <property name="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_close2">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="can_default">True</property>
- <property name="label">gtk-close</property>
- <property name="use_stock">True</property>
- <property name="response_id">0</property>
- </widget>
- <packing>
- <property name="position">1</property>
- </packing>
- </child>
+ <property name="pulse_step">0.10000000149</property>
</widget>
<packing>
<property name="expand">False</property>
@@ -297,172 +75,123 @@
<property name="position">1</property>
</packing>
</child>
- </widget>
- <packing>
- <property name="position">1</property>
- </packing>
- </child>
- <child>
- <widget class="GtkVBox" id="vbox_confirm2">
- <property name="border_width">12</property>
- <property name="spacing">5</property>
<child>
- <widget class="GtkHBox" id="hbox20">
+ <widget class="GtkVBox" id="vbox10">
<property name="visible">True</property>
- <property name="spacing">12</property>
- <child>
- <widget class="GtkImage" id="image17">
- <property name="visible">True</property>
- <property name="stock">gtk-dialog-error</property>
- <property name="icon_size">6</property>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="padding">20</property>
- </packing>
- </child>
<child>
- <widget class="GtkVBox" id="vbox5">
+ <widget class="GtkHBox" id="hbox_message">
<property name="visible">True</property>
- <property name="spacing">10</property>
<child>
- <widget class="GtkHBox" id="hbox21">
+ <widget class="GtkLabel" id="label_message">
<property name="visible">True</property>
- <child>
- <widget class="GtkLabel" id="label_error_title">
- <property name="visible">True</property>
- <property name="label"><b>Installation failed</b></property>
- <property name="use_markup">True</property>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
+ <property name="label">Some <b>extra</b> codecs are required:</property>
+ <property name="use_markup">True</property>
+ <property name="wrap">True</property>
</widget>
<packing>
<property name="expand">False</property>
</packing>
</child>
<child>
- <widget class="GtkHBox" id="hbox22">
+ <widget class="GtkLabel" id="label_force_height">
+ <property name="height_request">50</property>
<property name="visible">True</property>
- <child>
- <widget class="GtkLabel" id="label_error_message">
- <property name="visible">True</property>
- <property name="label">The transaction was cancelled before any actions were taken</property>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
+ <property name="label" translatable="yes"> </property>
</widget>
<packing>
<property name="expand">False</property>
<property name="position">1</property>
</packing>
</child>
- <child>
- <widget class="GtkExpander" id="expander1">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <child>
- <widget class="GtkHBox" id="hbox24">
- <property name="visible">True</property>
- <child>
- <widget class="GtkLabel" id="label_error_details">
- <property name="visible">True</property>
- <property name="label">Geeky information about the error...</property>
- <property name="use_markup">True</property>
- <property name="wrap">True</property>
- </widget>
- <packing>
- <property name="expand">False</property>
- </packing>
- </child>
- </widget>
- </child>
- <child>
- <widget class="GtkLabel" id="label27">
- <property name="visible">True</property>
- <property name="label" translatable="yes"><b>More details:</b></property>
- <property name="use_markup">True</property>
- </widget>
- <packing>
- <property name="type">label_item</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="padding">5</property>
- <property name="position">2</property>
- </packing>
- </child>
- <child>
- <widget class="GtkLabel" id="label3">
- <property name="visible">True</property>
- <property name="label"> </property>
- </widget>
- <packing>
- <property name="position">3</property>
- </packing>
- </child>
</widget>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">1</property>
- </packing>
</child>
</widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="position">2</property>
+ </packing>
</child>
<child>
- <widget class="GtkHButtonBox" id="hbuttonbox6">
+ <widget class="GtkLabel" id="label_force_width">
+ <property name="width_request">400</property>
+ <property name="height_request">1</property>
<property name="visible">True</property>
- <property name="spacing">6</property>
- <property name="layout_style">GTK_BUTTONBOX_END</property>
- <child>
- <widget class="GtkButton" id="button_help5">
- <property name="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_close3">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="can_default">True</property>
- <property name="label">gtk-close</property>
- <property name="use_stock">True</property>
- <property name="response_id">0</property>
- </widget>
- <packing>
- <property name="position">1</property>
- </packing>
- </child>
+ <property name="label" translatable="yes"> </property>
</widget>
<packing>
<property name="expand">False</property>
- <property name="position">1</property>
+ <property name="position">3</property>
</packing>
</child>
</widget>
<packing>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </widget>
+ </child>
+ <child>
+ <widget class="GtkHButtonBox" id="buttonbox_main">
+ <property name="visible">True</property>
+ <property name="spacing">6</property>
+ <property name="layout_style">GTK_BUTTONBOX_END</property>
+ <child>
+ <widget class="GtkButton" id="button_help">
+ <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_cancel">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="label" translatable="yes">gtk-cancel</property>
+ <property name="use_stock">True</property>
+ <property name="response_id">0</property>
+ </widget>
+ <packing>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkButton" id="button_close">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="label" translatable="yes">gtk-close</property>
+ <property name="use_stock">True</property>
+ <property name="response_id">0</property>
+ </widget>
+ <packing>
<property name="position">2</property>
</packing>
</child>
+ <child>
+ <widget class="GtkButton" id="button_action">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="label">Action</property>
+ <property name="response_id">0</property>
+ </widget>
+ <packing>
+ <property name="position">3</property>
+ </packing>
+ </child>
</widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
</child>
</widget>
</child>
Modified: trunk/data/icons/16x16/status/Makefile.am
==============================================================================
--- trunk/data/icons/16x16/status/Makefile.am (original)
+++ trunk/data/icons/16x16/status/Makefile.am Tue Sep 16 16:47:41 2008
@@ -5,10 +5,13 @@
iconsdir = $(themedir)/$(size)/$(context)
icons_DATA = \
+ pk-collection-installed.png \
+ pk-collection-available.png \
pk-package-installed.png \
pk-package-available.png \
pk-package-add.png \
pk-package-cleanup.png \
+ pk-package-blocked.png \
pk-package-delete.png \
pk-package-download.png \
pk-package-search.png \
Modified: trunk/data/icons/22x22/status/Makefile.am
==============================================================================
--- trunk/data/icons/22x22/status/Makefile.am (original)
+++ trunk/data/icons/22x22/status/Makefile.am Tue Sep 16 16:47:41 2008
@@ -5,10 +5,13 @@
iconsdir = $(themedir)/$(size)/$(context)
icons_DATA = \
+ pk-collection-installed.png \
+ pk-collection-available.png \
pk-package-installed.png \
pk-package-available.png \
pk-package-add.png \
pk-package-cleanup.png \
+ pk-package-blocked.png \
pk-package-delete.png \
pk-package-download.png \
pk-package-search.png \
Modified: trunk/data/icons/22x22/status/pk-update-high.png
==============================================================================
Binary files. No diff available.
Modified: trunk/data/icons/24x24/status/Makefile.am
==============================================================================
--- trunk/data/icons/24x24/status/Makefile.am (original)
+++ trunk/data/icons/24x24/status/Makefile.am Tue Sep 16 16:47:41 2008
@@ -5,10 +5,13 @@
iconsdir = $(themedir)/$(size)/$(context)
icons_DATA = \
+ pk-collection-installed.png \
+ pk-collection-available.png \
pk-package-installed.png \
pk-package-available.png \
pk-package-add.png \
pk-package-cleanup.png \
+ pk-package-blocked.png \
pk-package-delete.png \
pk-package-download.png \
pk-package-search.png \
Modified: trunk/data/icons/24x24/status/pk-update-high.png
==============================================================================
Binary files. No diff available.
Modified: trunk/data/icons/48x48/status/Makefile.am
==============================================================================
--- trunk/data/icons/48x48/status/Makefile.am (original)
+++ trunk/data/icons/48x48/status/Makefile.am Tue Sep 16 16:47:41 2008
@@ -5,10 +5,13 @@
iconsdir = $(themedir)/$(size)/$(context)
icons_DATA = \
+ pk-collection-installed.png \
+ pk-collection-available.png \
pk-package-installed.png \
pk-package-available.png \
pk-package-add.png \
pk-package-cleanup.png \
+ pk-package-blocked.png \
pk-package-delete.png \
pk-package-download.png \
pk-package-search.png \
Modified: trunk/data/icons/generate_48x48_icons.sh
==============================================================================
--- trunk/data/icons/generate_48x48_icons.sh (original)
+++ trunk/data/icons/generate_48x48_icons.sh Tue Sep 16 16:47:41 2008
@@ -3,7 +3,11 @@
for subdir in $subdirs; do
cd scalable/$subdir
- for i in *.svg;do
- inkscape --without-gui --export-png="../48x48/"$( echo $i | cut -d . -f -1 ).png --export-dpi=72 --export-background-opacity=0 --export-width=48 --export-height=48 "$i";done
+ for i in *.svg;do
+ target="../48x48/"$( echo $i | cut -d . -f -1 ).png
+ echo "converting $i to $target"
+ if [ ! -e $target ]; then
+ inkscape --without-gui --export-png=$target --export-dpi=72 --export-background-opacity=0 --export-width=48 --export-height=48 "$i";done
+ fi
cd -
done
Modified: trunk/data/icons/scalable/status/Makefile.am
==============================================================================
--- trunk/data/icons/scalable/status/Makefile.am (original)
+++ trunk/data/icons/scalable/status/Makefile.am Tue Sep 16 16:47:41 2008
@@ -5,10 +5,13 @@
iconsdir = $(themedir)/$(size)/$(context)
icons_DATA = \
+ pk-collection-installed.svg \
+ pk-collection-available.svg \
pk-package-installed.svg \
pk-package-available.svg \
pk-package-add.svg \
pk-package-cleanup.svg \
+ pk-package-blocked.svg \
pk-package-delete.svg \
pk-package-download.svg \
pk-package-search.svg \
Modified: trunk/help/C/gnome-packagekit.xml
==============================================================================
--- trunk/help/C/gnome-packagekit.xml (original)
+++ trunk/help/C/gnome-packagekit.xml Tue Sep 16 16:47:41 2008
@@ -152,6 +152,16 @@
Access to all privileged operations is controlled via
<ulink url="http://en.wikipedia.org/wiki/PolicyKit">PolicyKit</ulink>.
</para>
+ <figure>
+ <title>PolicyKit Permissions UI</title>
+ <screenshot>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="figures/gpk-repo-auth.png" format="PNG"/>
+ </imageobject>
+ </mediaobject>
+ </screenshot>
+ </figure>
</section>
@@ -257,6 +267,16 @@
Before installing a package, you also can visit the home page of the
software projects easily for getting any additional details.
</para>
+ <figure>
+ <title>Searching for a group with filters</title>
+ <screenshot>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="figures/gpk-application-groups.png" format="PNG"/>
+ </imageobject>
+ </mediaobject>
+ </screenshot>
+ </figure>
<para>
Typically, you can find several thousands of software packages under
different groups available.
@@ -331,6 +351,16 @@
additional software for many Linux distributions - check your
distribution-specific documentation for more information.
</para>
+ <figure>
+ <title>Software Sources UI</title>
+ <screenshot>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="figures/gpk-repo.png" format="PNG"/>
+ </imageobject>
+ </mediaobject>
+ </screenshot>
+ </figure>
<para>
At this time, PackageKit does not offer a way to add new repositories to
your system. It only allows you to enable or disable known repositories.
@@ -356,47 +386,57 @@
<section id="update-viewer">
<title>Update Viewer</title>
- <para>
- You can update your system via <menuchoice><guimenu>System</guimenu>
- <guisubmenu>Administration</guisubmenu>
- <guimenuitem>Update System</guimenuitem></menuchoice>
- or by selecting <menuchoice><guimenuitem>Show Updates</guimenuitem></menuchoice>
- from the update icon in the notification area.
- When you do this, the update viewer application launches and immediately
- starts checking for updates. Once this check completes, it shows you an
- overview of available updates, grouped by severity. The severities range
- from security updates over important updates to bug fix updates and
- finally enhancements.
- </para>
- <note><para>
- Note that the severity information must be provided by the software
- repositories where the software packages originate. This information may not
- be available for development branches of distributions.
- </para></note>
- <para>
- Below the summary of available updates, the update viewer gives and
- indication how long ago the last check (or <quote>refresh</quote>)
- for new updates happened, and when updates where last installed.
- </para>
- <para>
- You can choose to manually refresh and verify the presence of
- updates by clicking the <guibutton>Refresh</guibutton> button.
- </para>
- <tip><para>
- You can change how often PackageKit refreshes on its own in
- the <link linkend="prefs">Software Update Preferences</link>.
- </para></tip>
- <para>
- There is a option to view the history of updates including
- previous installations, removal or updates of software.
- </para>
- <para>
- Use the <guibutton>Update System</guibutton> button to install
- all available updates or use the <guibutton>Review</guibutton>
- button to review and select individual updates.
- If you do not want to install updates at this time, you can just
- close the window.
- </para>
+ <para>
+ You can update your system via <menuchoice><guimenu>System</guimenu>
+ <guisubmenu>Administration</guisubmenu>
+ <guimenuitem>Update System</guimenuitem></menuchoice>
+ or by selecting <menuchoice><guimenuitem>Show Updates</guimenuitem></menuchoice>
+ from the update icon in the notification area.
+ When you do this, the update viewer application launches and immediately
+ starts checking for updates. Once this check completes, it shows you an
+ overview of available updates, grouped by severity. The severities range
+ from security updates over important updates to bug fix updates and
+ finally enhancements.
+ </para>
+ <note><para>
+ Note that the severity information must be provided by the software
+ repositories where the software packages originate. This information may not
+ be available for development branches of distributions.
+ </para></note>
+ <figure>
+ <title>Updates overview</title>
+ <screenshot>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="figures/gpk-updates-overview.png" format="PNG"/>
+ </imageobject>
+ </mediaobject>
+ </screenshot>
+ </figure>
+ <para>
+ Below the summary of available updates, the update viewer gives and
+ indication how long ago the last check (or <quote>refresh</quote>)
+ for new updates happened, and when updates where last installed.
+ </para>
+ <para>
+ You can choose to manually refresh and verify the presence of
+ updates by clicking the <guibutton>Refresh</guibutton> button.
+ </para>
+ <tip><para>
+ You can change how often PackageKit refreshes on its own in
+ the <link linkend="prefs">Software Update Preferences</link>.
+ </para></tip>
+ <para>
+ There is a option to view the history of updates including
+ previous installations, removal or updates of software.
+ </para>
+ <para>
+ Use the <guibutton>Update System</guibutton> button to install
+ all available updates or use the <guibutton>Review</guibutton>
+ button to review and select individual updates.
+ If you do not want to install updates at this time, you can just
+ close the window.
+ </para>
<section id="update-viewer-details">
<title>Detailed information about updates</title>
@@ -419,11 +459,35 @@
If you do not want to install updates at this time, you can just
close the window.
</para>
+ <figure>
+ <title>Update viewer tool</title>
+ <screenshot>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="figures/gpk-updates.png" format="PNG"/>
+ </imageobject>
+ </mediaobject>
+ </screenshot>
+ </figure>
+ <note><para>
+ You can uncheck all the updates quickly by right clicking on the list and
+ selecting the menu item <guibutton>Unselect all</guibutton>.
+ </para></note>
</section>
</section>
<section id="prefs">
<title>Software Updates Preferences</title>
+ <figure>
+ <title>Preferences tool</title>
+ <screenshot>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="figures/gpk-prefs.png" format="PNG"/>
+ </imageobject>
+ </mediaobject>
+ </screenshot>
+ </figure>
<para>
Preferences can be configured via <menuchoice><guimenu>System</guimenu>
<guisubmenu>Preferences</guisubmenu><guisubmenu>System</guisubmenu>
@@ -461,6 +525,16 @@
information about the available updates before installing them. See
<xref linkend="update-viewer"/> for more information.
</para>
+ <figure>
+ <title>Preferences tool</title>
+ <screenshot>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="figures/gpk-updates-warning.png" format="PNG"/>
+ </imageobject>
+ </mediaobject>
+ </screenshot>
+ </figure>
</section>
<section id="eula">
@@ -479,6 +553,16 @@
Some software also includes limitations if the user can be held liable for
damage that arises through improper use of the software.
</para>
+ <figure>
+ <title>Example EULA</title>
+ <screenshot>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="figures/gpk-eula.png" format="PNG"/>
+ </imageobject>
+ </mediaobject>
+ </screenshot>
+ </figure>
<para>
Be sure to carefully read and accept the EULA text before continuing with
the install or update.
@@ -500,6 +584,16 @@
The other benefit is that signed packages can be installed without using the
administrator password, assuming your admin has enabled this option.
</para>
+ <figure>
+ <title>Example signature prompt</title>
+ <screenshot>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="figures/gpk-signature.png" format="PNG"/>
+ </imageobject>
+ </mediaobject>
+ </screenshot>
+ </figure>
<para>
To trust a repository, you should very the details of the signing key.
Normally the best way to do this is to go to the web page of the software
Modified: trunk/help/Makefile.am
==============================================================================
--- trunk/help/Makefile.am (original)
+++ trunk/help/Makefile.am Tue Sep 16 16:47:41 2008
@@ -4,7 +4,16 @@
DOC_MODULE = gnome-packagekit
DOC_ENTITIES = legal.xml
DOC_INCLUDES =
-DOC_FIGURES =
+DOC_FIGURES = \
+ figures/gpk-application-groups.png \
+ figures/gpk-eula.png \
+ figures/gpk-prefs.png \
+ figures/gpk-repo-auth.png \
+ figures/gpk-repo.png \
+ figures/gpk-signature.png \
+ figures/gpk-updates-overview.png \
+ figures/gpk-updates.png \
+ figures/gpk-updates-warning.png
DOC_LINGUAS = el es oc pl sv
Modified: trunk/po/POTFILES.in
==============================================================================
--- trunk/po/POTFILES.in (original)
+++ trunk/po/POTFILES.in Tue Sep 16 16:47:41 2008
@@ -27,6 +27,7 @@
src/gpk-client.c
src/gpk-client-chooser.c
src/gpk-client-depends.c
+src/gpk-client-dialog.c
src/gpk-client-eula.c
src/gpk-client-requires.c
src/gpk-client-resolve.c
Modified: trunk/src/Makefile.am
==============================================================================
--- trunk/src/Makefile.am (original)
+++ trunk/src/Makefile.am Tue Sep 16 16:47:41 2008
@@ -172,8 +172,6 @@
gpk-application-main.c \
gpk-application.c \
gpk-application.h \
- gpk-application-state.c \
- gpk-application-state.h \
gpk-cell-renderer-uri.c \
gpk-cell-renderer-uri.h \
$(shared_SOURCES) \
Modified: trunk/src/gpk-application.c
==============================================================================
--- trunk/src/gpk-application.c (original)
+++ trunk/src/gpk-application.c Tue Sep 16 16:47:41 2008
@@ -52,7 +52,6 @@
#include <gpk-error.h>
#include "gpk-application.h"
-#include "gpk-application-state.h"
#include "gpk-animated-icon.h"
#include "gpk-dialog.h"
#include "gpk-client-run.h"
@@ -104,6 +103,7 @@
gchar *package;
gchar *group;
gchar *url;
+ guint details_event_id;
GHashTable *repos;
PkBitfield roles;
PkBitfield filters;
@@ -117,13 +117,20 @@
};
enum {
+ GPK_STATE_INSTALLED,
+ GPK_STATE_IN_LIST,
+ GPK_STATE_COLLECTION,
+ GPK_STATE_UNKNOWN
+};
+
+enum {
ACTION_CLOSE,
LAST_SIGNAL
};
enum {
PACKAGES_COLUMN_IMAGE,
- PACKAGES_COLUMN_STATE, /* state of the */
+ PACKAGES_COLUMN_STATE, /* state of the item */
PACKAGES_COLUMN_CHECKBOX, /* what we show in the checkbox */
PACKAGES_COLUMN_CHECKBOX_ENABLE, /* sensitive */
PACKAGES_COLUMN_TEXT,
@@ -185,6 +192,58 @@
}
/**
+ * gpk_application_state_get_icon:
+ **/
+const gchar *
+gpk_application_state_get_icon (PkBitfield state)
+{
+ if (state == 0)
+ return gpk_info_enum_to_icon_name (PK_INFO_ENUM_AVAILABLE);
+
+ if (state == pk_bitfield_value (GPK_STATE_INSTALLED))
+ return gpk_info_enum_to_icon_name (PK_INFO_ENUM_INSTALLED);
+
+ if (state == pk_bitfield_value (GPK_STATE_IN_LIST))
+ return gpk_info_enum_to_icon_name (PK_INFO_ENUM_INSTALLING);
+
+ if (state == pk_bitfield_from_enums (GPK_STATE_INSTALLED, GPK_STATE_IN_LIST, -1))
+ return gpk_info_enum_to_icon_name (PK_INFO_ENUM_REMOVING);
+
+ if (state == pk_bitfield_value (GPK_STATE_COLLECTION))
+ return gpk_info_enum_to_icon_name (PK_INFO_ENUM_COLLECTION_AVAILABLE);
+
+ if (state == pk_bitfield_from_enums (GPK_STATE_INSTALLED, GPK_STATE_COLLECTION, -1))
+ return gpk_info_enum_to_icon_name (PK_INFO_ENUM_COLLECTION_INSTALLED);
+
+ if (state == pk_bitfield_from_enums (GPK_STATE_IN_LIST, GPK_STATE_INSTALLED, GPK_STATE_COLLECTION, -1))
+ return gpk_info_enum_to_icon_name (PK_INFO_ENUM_REMOVING); // need new icon
+
+ if (state == pk_bitfield_from_enums (GPK_STATE_IN_LIST, GPK_STATE_COLLECTION, -1))
+ return gpk_info_enum_to_icon_name (PK_INFO_ENUM_INSTALLING); // need new icon
+
+ return NULL;
+}
+
+/**
+ * gpk_application_state_get_checkbox:
+ **/
+gboolean
+gpk_application_state_get_checkbox (PkBitfield state)
+{
+ PkBitfield state_local;
+
+ /* remove any we don't care about */
+ state_local = state;
+ pk_bitfield_remove (state_local, GPK_STATE_COLLECTION);
+
+ /* installed or in list */
+ if (state_local == pk_bitfield_value (GPK_STATE_INSTALLED) ||
+ state_local == pk_bitfield_value (GPK_STATE_IN_LIST))
+ return TRUE;
+ return FALSE;
+}
+
+/**
* gpk_application_set_find_cancel_buttons:
**/
static void
@@ -260,7 +319,7 @@
GtkWidget *widget;
const gchar *icon;
gboolean checkbox;
- GpkPackageState state;
+ PkBitfield state;
gboolean ret;
/* get the selection and add */
@@ -276,7 +335,7 @@
gtk_tree_model_get (model, &iter, PACKAGES_COLUMN_STATE, &state, -1);
/* do something with the value */
- gpk_application_state_invert (&state);
+ pk_bitfield_invert (state, GPK_STATE_IN_LIST);
/* get the new icon */
icon = gpk_application_state_get_icon (state);
@@ -294,20 +353,18 @@
* gpk_application_get_checkbox_enable:
**/
static gboolean
-gpk_application_get_checkbox_enable (GpkApplication *application, GpkPackageState state)
+gpk_application_get_checkbox_enable (GpkApplication *application, PkBitfield state)
{
gboolean enable_installed = TRUE;
gboolean enable_available = TRUE;
- if (application->priv->action == PK_ACTION_INSTALL) {
+ if (application->priv->action == PK_ACTION_INSTALL)
enable_installed = FALSE;
- } else if (application->priv->action == PK_ACTION_REMOVE) {
+ else if (application->priv->action == PK_ACTION_REMOVE)
enable_available = FALSE;
- }
- if (gpk_application_state_installed (state)) {
+ if (pk_bitfield_contain (state, GPK_STATE_INSTALLED))
return enable_installed;
- }
return enable_available;
}
@@ -322,7 +379,7 @@
gboolean valid;
GtkTreeIter iter;
GtkTreeModel *model;
- GpkPackageState state;
+ PkBitfield state;
gboolean enabled;
guint length;
@@ -565,7 +622,7 @@
GtkTreeIter iter;
GtkTreeSelection *selection;
GtkWidget *widget;
- GpkPackageState state;
+ PkBitfield state;
gboolean ret;
gchar *package_id = NULL;
@@ -585,7 +642,7 @@
PACKAGES_COLUMN_STATE, &state, -1);
/* only if installed */
- if (gpk_application_state_installed (state)) {
+ if (pk_bitfield_contain (state, GPK_STATE_INSTALLED)) {
/* run this single package id */
array = g_strsplit (package_id, "|", 1);
exec = gpk_client_run_show (array);
@@ -780,6 +837,12 @@
GtkTreeIter iter;
GtkTreeSelection *selection;
+ /* we don't need to clear anymore */
+ if (application->priv->details_event_id > 0) {
+ g_source_remove (application->priv->details_event_id);
+ application->priv->details_event_id = 0;
+ }
+
/* format */
markup = g_strdup_printf ("<b>%s:</b>", title);
@@ -799,11 +862,12 @@
gtk_tree_view_columns_autosize (GTK_TREE_VIEW (tree_view));
}
+
/**
- * gpk_application_clear_details:
+ * gpk_application_clear_details_really:
**/
-static void
-gpk_application_clear_details (GpkApplication *application)
+static gboolean
+gpk_application_clear_details_really (GpkApplication *application)
{
GtkWidget *widget;
@@ -815,11 +879,23 @@
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);
+
+ /* never repeat */
+ return FALSE;
+}
+
+/**
+ * gpk_application_clear_details:
+ **/
+static void
+gpk_application_clear_details (GpkApplication *application)
+{
+ /* only clear the last data if it takes a little while, else we flicker the display */
+ if (application->priv->details_event_id > 0)
+ g_source_remove (application->priv->details_event_id);
+ application->priv->details_event_id = g_timeout_add (100, (GSourceFunc) gpk_application_clear_details_really, application);
}
/**
@@ -847,7 +923,6 @@
const gchar *group;
gboolean valid;
gboolean installed;
- PkInfoEnum info;
g_return_if_fail (PK_IS_APPLICATION (application));
@@ -863,15 +938,6 @@
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;
- icon = gpk_info_enum_to_icon_name (info);
- }
- widget = glade_xml_get_widget (application->priv->glade_xml, "image_icon");
- gtk_image_set_from_icon_name (GTK_IMAGE (widget), icon, GTK_ICON_SIZE_DIALOG);
- gtk_widget_show (widget);
-
gtk_list_store_clear (application->priv->details_store);
/* homepage */
@@ -948,7 +1014,7 @@
gboolean installed;
gboolean checkbox;
gboolean enabled;
- GpkPackageState state = 0;
+ PkBitfield state = 0;
static guint package_cnt = 0;
g_return_if_fail (PK_IS_APPLICATION (application));
@@ -972,14 +1038,14 @@
in_queue = pk_package_list_contains_obj (application->priv->package_list, obj);
installed = (obj->info == PK_INFO_ENUM_INSTALLED) || (obj->info == PK_INFO_ENUM_COLLECTION_INSTALLED);
- if (installed && in_queue)
- state = GPK_STATE_INSTALLED_TO_BE_REMOVED;
- else if (installed && !in_queue)
- state = GPK_STATE_INSTALLED;
- else if (!installed && in_queue)
- state = GPK_STATE_AVAILABLE_TO_BE_INSTALLED;
- else if (!installed && !in_queue)
- state = GPK_STATE_AVAILABLE;
+ if (installed)
+ pk_bitfield_add (state, GPK_STATE_INSTALLED);
+ if (in_queue)
+ pk_bitfield_add (state, GPK_STATE_IN_LIST);
+
+ /* special icon */
+ if (obj->info == PK_INFO_ENUM_COLLECTION_INSTALLED || obj->info == PK_INFO_ENUM_COLLECTION_AVAILABLE)
+ pk_bitfield_add (state, GPK_STATE_COLLECTION);
/* use the application icon if available */
icon = pk_extra_get_icon_name (application->priv->extra, obj->id->name);
@@ -1025,9 +1091,8 @@
g_return_if_fail (PK_IS_APPLICATION (application));
/* obvious message, don't tell the user */
- if (code == PK_ERROR_ENUM_TRANSACTION_CANCELLED) {
+ if (code == PK_ERROR_ENUM_TRANSACTION_CANCELLED)
return;
- }
widget = glade_xml_get_widget (application->priv->glade_xml, "window_manager");
gpk_error_dialog_modal (GTK_WINDOW (widget), gpk_error_enum_to_localised_text (code),
@@ -1081,15 +1146,13 @@
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) {
+ application->priv->search_type == PK_SEARCH_FILE)
message = _("Try searching package descriptions by clicking the icon next to the search text.");
- } else {
+ 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,
@@ -1287,9 +1350,8 @@
} else {
egg_debug ("doing nothing");
}
- if (!ret) {
+ if (!ret)
return ret;
- }
/* switch around buttons */
gpk_application_set_find_cancel_buttons (application, FALSE);
@@ -1388,11 +1450,10 @@
valid = pk_strvalidate (package);
widget = glade_xml_get_widget (application->priv->glade_xml, "button_find");
- if (valid == FALSE || egg_strzero (package)) {
+ if (valid == FALSE || egg_strzero (package))
gtk_widget_set_sensitive (widget, FALSE);
- } else {
+ else
gtk_widget_set_sensitive (widget, TRUE);
- }
return FALSE;
}
@@ -1409,7 +1470,7 @@
GtkTreeIter iter;
GtkTreePath *path;
GtkTreeSelection *selection;
- GpkPackageState state;
+ PkBitfield state;
g_return_if_fail (PK_IS_APPLICATION (application));
@@ -1462,7 +1523,7 @@
GtkTreeModel *model;
GtkTreeSelection *selection;
const gchar *icon;
- GpkPackageState state;
+ PkBitfield state;
gboolean ret;
g_return_if_fail (PK_IS_APPLICATION (application));
@@ -1476,8 +1537,9 @@
/* for all current items, reset the state if in the list */
while (valid) {
gtk_tree_model_get (model, &iter, PACKAGES_COLUMN_STATE, &state, -1);
- ret = gpk_application_state_unselect (&state);
+ ret = pk_bitfield_contain (state, GPK_STATE_IN_LIST);
if (ret) {
+ pk_bitfield_remove (state, GPK_STATE_IN_LIST);
/* get the new icon */
icon = gpk_application_state_get_icon (state);
checkbox = gpk_application_state_get_checkbox (state);
@@ -1656,7 +1718,7 @@
GError *error = NULL;
gboolean show_install = TRUE;
gboolean show_remove = TRUE;
- GpkPackageState state;
+ PkBitfield state;
gchar **package_ids;
gchar *image;
@@ -1699,15 +1761,15 @@
PACKAGES_COLUMN_STATE, &state,
PACKAGES_COLUMN_ID, &application->priv->package, -1);
- show_install = (state == GPK_STATE_AVAILABLE || state == GPK_STATE_INSTALLED_TO_BE_REMOVED);
- show_remove = (state == GPK_STATE_INSTALLED || state == GPK_STATE_AVAILABLE_TO_BE_INSTALLED);
+ show_install = (state == 0 ||
+ state == pk_bitfield_from_enums (GPK_STATE_INSTALLED, GPK_STATE_IN_LIST, -1));
+ show_remove = (state == pk_bitfield_value (GPK_STATE_INSTALLED) ||
+ state == pk_bitfield_value (GPK_STATE_IN_LIST));
- if (application->priv->action == PK_ACTION_INSTALL && !gpk_application_state_in_queue (state)) {
+ if (application->priv->action == PK_ACTION_INSTALL && !pk_bitfield_contain (state, GPK_STATE_IN_LIST))
show_remove = FALSE;
- }
- if (application->priv->action == PK_ACTION_REMOVE && !gpk_application_state_in_queue (state)) {
+ if (application->priv->action == PK_ACTION_REMOVE && !pk_bitfield_contain (state, GPK_STATE_IN_LIST))
show_install = FALSE;
- }
/* only show buttons if we are in the correct mode */
gpk_application_allow_install (application, show_install);
@@ -1717,7 +1779,7 @@
gpk_application_clear_details (application);
/* only show run menuitem for installed programs */
- ret = gpk_application_state_installed (state);
+ ret = pk_bitfield_contain (state, GPK_STATE_INSTALLED);
widget = glade_xml_get_widget (application->priv->glade_xml, "menuitem_run");
gtk_widget_set_sensitive (widget, ret);
@@ -2445,7 +2507,7 @@
GtkTreeModel *model;
GtkTreeIter iter;
gboolean ret;
- GpkPackageState state;
+ PkBitfield state;
g_return_if_fail (PK_IS_APPLICATION (application));
@@ -2461,11 +2523,10 @@
gtk_tree_model_get (model, &iter,
PACKAGES_COLUMN_STATE, &state,
PACKAGES_COLUMN_ID, &application->priv->package, -1);
- if (gpk_application_state_get_checkbox (state)) {
+ if (gpk_application_state_get_checkbox (state))
gpk_application_remove (application);
- } else {
+ else
gpk_application_install (application);
- }
}
/**
@@ -2494,9 +2555,8 @@
egg_debug ("repo = %s:%s", repo_id, description);
/* no problem, just no point adding as we will fallback to the repo_id */
- if (description == NULL) {
+ if (description == NULL)
return;
- }
g_hash_table_insert (application->priv->repos, g_strdup (repo_id), g_strdup (description));
}
@@ -2547,6 +2607,7 @@
{
GtkTreeIter iter;
const gchar *welcome;
+ PkBitfield state = 0;
gpk_application_clear_packages (application);
gtk_list_store_append (application->priv->packages_store, &iter);
@@ -2558,7 +2619,7 @@
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_STATE, state,
PACKAGES_COLUMN_CHECKBOX, FALSE,
PACKAGES_COLUMN_CHECKBOX_ENABLE, FALSE,
PACKAGES_COLUMN_TEXT, welcome,
@@ -2587,6 +2648,7 @@
application->priv->group = NULL;
application->priv->url = NULL;
application->priv->has_package = FALSE;
+ application->priv->details_event_id = 0;
application->priv->package_list = pk_package_list_new ();
application->priv->gconf_client = gconf_client_get_default ();
@@ -2599,7 +2661,7 @@
/* create list stores */
application->priv->packages_store = gtk_list_store_new (PACKAGES_COLUMN_LAST,
G_TYPE_STRING,
- G_TYPE_UINT,
+ G_TYPE_UINT64,
G_TYPE_BOOLEAN,
G_TYPE_BOOLEAN,
G_TYPE_STRING,
@@ -3039,8 +3101,13 @@
g_signal_connect (selection, "changed",
G_CALLBACK (gpk_application_groups_treeview_clicked_cb), application);
+ /* add this at the top of the list */
+ if (pk_bitfield_contain (application->priv->groups, PK_GROUP_ENUM_COLLECTIONS))
+ gpk_application_group_add_data (application, PK_GROUP_ENUM_COLLECTIONS);
+
/* only if we can do both */
- if (pk_bitfield_contain (application->priv->roles, PK_ROLE_ENUM_GET_PACKAGES) &&
+ if ((pk_bitfield_contain (application->priv->roles, PK_ROLE_ENUM_GET_PACKAGES) ||
+ pk_bitfield_contain (application->priv->groups, PK_GROUP_ENUM_COLLECTIONS)) &&
pk_bitfield_contain (application->priv->roles, PK_ROLE_ENUM_SEARCH_GROUP)) {
GtkTreeIter iter;
@@ -3060,11 +3127,11 @@
/* add columns to the tree view */
gpk_application_groups_add_columns (GTK_TREE_VIEW (widget));
- /* add all the groups supported */
+ /* add all the groups supported (except collections, which we handled above */
for (i=0; i<PK_GROUP_ENUM_UNKNOWN; i++) {
- if (pk_bitfield_contain (application->priv->groups, i)) {
+ if (pk_bitfield_contain (application->priv->groups, i) &&
+ i != PK_GROUP_ENUM_COLLECTIONS)
gpk_application_group_add_data (application, i);
- }
}
}
@@ -3102,6 +3169,9 @@
application = GPK_APPLICATION (object);
application->priv = GPK_APPLICATION_GET_PRIVATE (application);
+ if (application->priv->details_event_id > 0)
+ g_source_remove (application->priv->details_event_id);
+
g_object_unref (application->priv->glade_xml);
g_object_unref (application->priv->packages_store);
g_object_unref (application->priv->details_store);
Modified: trunk/src/gpk-client.c
==============================================================================
--- trunk/src/gpk-client.c (original)
+++ trunk/src/gpk-client.c Tue Sep 16 16:47:41 2008
@@ -1674,7 +1674,7 @@
goto out;
/* process package list */
- string = g_string_new (_("The following packages can installed:"));
+ string = g_string_new (_("The following packages can be installed:"));
g_string_append (string, "\n\n");
len = pk_package_list_get_size (list);
for (i=0; i<len; i++) {
Modified: trunk/src/gpk-common.c
==============================================================================
--- trunk/src/gpk-common.c (original)
+++ trunk/src/gpk-common.c Tue Sep 16 16:47:41 2008
@@ -568,11 +568,11 @@
break;
case PK_ERROR_ENUM_FILE_CONFLICTS:
text = _("Two packages provide the same file.\n"
- "This is usually due to mixing packages for different software sources.");
+ "This is usually due to mixing packages from different software sources.");
break;
case PK_ERROR_ENUM_PACKAGE_CONFLICTS:
text = _("Multiple packages exist that are not compatible with each other.\n"
- "This is usually due to mixing packages for different software sources.");
+ "This is usually due to mixing packages from different software sources.");
break;
case PK_ERROR_ENUM_REPO_NOT_AVAILABLE:
text = _("There was a (possibly temporary) problem connecting to a software source\n"
Modified: trunk/src/gpk-interface.h
==============================================================================
--- trunk/src/gpk-interface.h (original)
+++ trunk/src/gpk-interface.h Tue Sep 16 16:47:41 2008
@@ -53,7 +53,7 @@
#endif /* !G_ENABLE_DEBUG */
-/* NONE:UINT,UINT,STRING,POINTER (/tmp/dbus-binding-tool-c-marshallers.7W8JHU:1) */
+/* NONE:UINT,UINT,STRING,POINTER (/tmp/dbus-binding-tool-c-marshallers.79P0GU:1) */
extern void dbus_glib_marshal_gpk_dbus_VOID__UINT_UINT_STRING_POINTER (GClosure *closure,
GValue *return_value,
guint n_param_values,
@@ -101,7 +101,7 @@
}
#define dbus_glib_marshal_gpk_dbus_NONE__UINT_UINT_STRING_POINTER dbus_glib_marshal_gpk_dbus_VOID__UINT_UINT_STRING_POINTER
-/* NONE:UINT,UINT,BOXED,POINTER (/tmp/dbus-binding-tool-c-marshallers.7W8JHU:2) */
+/* NONE:UINT,UINT,BOXED,POINTER (/tmp/dbus-binding-tool-c-marshallers.79P0GU:2) */
extern void dbus_glib_marshal_gpk_dbus_VOID__UINT_UINT_BOXED_POINTER (GClosure *closure,
GValue *return_value,
guint n_param_values,
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]