gnome-packagekit r123 - in trunk: data src
- From: rhughes svn gnome org
- To: svn-commits-list gnome org
- Subject: gnome-packagekit r123 - in trunk: data src
- Date: Mon, 24 Mar 2008 14:16:05 +0000 (GMT)
Author: rhughes
Date: Mon Mar 24 14:16:05 2008
New Revision: 123
URL: http://svn.gnome.org/viewvc/gnome-packagekit?rev=123&view=rev
Log:
from git
Modified:
trunk/data/pk-application.glade
trunk/data/pk-update-viewer.glade
trunk/src/pk-application.c
trunk/src/pk-update-viewer.c
Modified: trunk/data/pk-application.glade
==============================================================================
--- trunk/data/pk-application.glade (original)
+++ trunk/data/pk-application.glade Mon Mar 24 14:16:05 2008
@@ -12,287 +12,415 @@
<widget class="GtkVBox" id="vbox1">
<property name="visible">True</property>
<child>
- <widget class="GtkHBox" id="hbox4">
+ <widget class="GtkMenuBar" id="menubar1">
<property name="visible">True</property>
- <property name="border_width">10</property>
- <property name="spacing">5</property>
+ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<child>
- <widget class="GtkNotebook" id="notebook_type">
+ <widget class="GtkMenuItem" id="menuitem_system">
<property name="visible">True</property>
- <property name="can_focus">True</property>
+ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+ <property name="label" translatable="yes">_System</property>
+ <property name="use_underline">True</property>
<child>
- <widget class="GtkVBox" id="vbox_groups">
+ <widget class="GtkMenu" id="menu1">
<property name="visible">True</property>
- <property name="spacing">7</property>
+ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<child>
- <widget class="GtkVBox" id="vbox15">
+ <widget class="GtkImageMenuItem" id="imagemenuitem_refresh">
<property name="visible">True</property>
- <property name="border_width">5</property>
- <property name="spacing">5</property>
+ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+ <property name="label" translatable="yes">_Refresh application lists</property>
+ <property name="use_underline">True</property>
+ <child internal-child="image">
+ <widget class="GtkImage" id="menu-item-image11">
+ <property name="stock">gtk-redo</property>
+ </widget>
+ </child>
+ </widget>
+ </child>
+ <child>
+ <widget class="GtkImageMenuItem" id="menuitem_sources">
+ <property name="visible">True</property>
+ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+ <property name="label" translatable="yes">Software _sources</property>
+ <property name="use_underline">True</property>
+ <child internal-child="image">
+ <widget class="GtkImage" id="menu-item-image2">
+ <property name="visible">True</property>
+ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+ <property name="stock">gtk-cdrom</property>
+ </widget>
+ </child>
+ </widget>
+ </child>
+ <child>
+ <widget class="GtkSeparatorMenuItem" id="separatormenuitem1">
+ <property name="visible">True</property>
+ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+ </widget>
+ </child>
+ <child>
+ <widget class="GtkImageMenuItem" id="imagemenuitem_quit">
+ <property name="visible">True</property>
+ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+ <property name="tooltip" translatable="yes">Close the program</property>
+ <property name="label" translatable="yes">gtk-quit</property>
+ <property name="use_underline">True</property>
+ <property name="use_stock">True</property>
+ </widget>
+ </child>
+ </widget>
+ </child>
+ </widget>
+ </child>
+ <child>
+ <widget class="GtkMenuItem" id="menuitem2">
+ <property name="visible">True</property>
+ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+ <property name="label" translatable="yes">_Filters</property>
+ <property name="use_underline">True</property>
+ <child>
+ <widget class="GtkMenu" id="menu2">
+ <property name="visible">True</property>
+ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+ <child>
+ <widget class="GtkMenuItem" id="menuitem_installed">
+ <property name="visible">True</property>
+ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+ <property name="label" translatable="yes">_Installed</property>
+ <property name="use_underline">True</property>
<child>
- <widget class="GtkHBox" id="hbox26">
+ <widget class="GtkMenu" id="menu3">
<property name="visible">True</property>
- <property name="spacing">5</property>
+ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<child>
- <widget class="Custom" id="entry_text">
+ <widget class="GtkRadioMenuItem" id="menuitem_installed_yes">
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+ <property name="label" translatable="yes">Only _installed</property>
+ <property name="use_underline">True</property>
+ <property name="draw_as_radio">True</property>
</widget>
</child>
<child>
- <widget class="GtkButton" id="button_find">
+ <widget class="GtkRadioMenuItem" id="menuitem_installed_no">
<property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="response_id">0</property>
- <child>
- <widget class="GtkAlignment" id="alignment5">
- <property name="visible">True</property>
- <property name="xscale">0</property>
- <property name="yscale">0</property>
- <child>
- <widget class="GtkHBox" id="hbox6">
- <property name="visible">True</property>
- <property name="spacing">2</property>
- <child>
- <widget class="GtkImage" id="image4">
- <property name="visible">True</property>
- <property name="stock">gtk-find</property>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
- <child>
- <widget class="GtkLabel" id="label_button_find">
- <property name="visible">True</property>
- <property name="label">_Find</property>
- <property name="use_underline">True</property>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">1</property>
- </packing>
- </child>
- </widget>
- </child>
- </widget>
- </child>
+ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+ <property name="label" translatable="yes">Only _available</property>
+ <property name="use_underline">True</property>
+ <property name="draw_as_radio">True</property>
+ <property name="group">menuitem_installed_yes</property>
+ </widget>
+ </child>
+ <child>
+ <widget class="GtkRadioMenuItem" id="menuitem_installed_both">
+ <property name="visible">True</property>
+ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+ <property name="label" translatable="yes">_No filter</property>
+ <property name="use_underline">True</property>
+ <property name="active">True</property>
+ <property name="draw_as_radio">True</property>
+ <property name="group">menuitem_installed_yes</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>
- </packing>
</child>
</widget>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
</child>
<child>
- <widget class="GtkFrame" id="frame3">
+ <widget class="GtkMenuItem" id="menuitem_devel">
<property name="visible">True</property>
- <property name="label_xalign">0</property>
- <property name="shadow_type">GTK_SHADOW_NONE</property>
+ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+ <property name="label" translatable="yes">_Development</property>
+ <property name="use_underline">True</property>
<child>
- <widget class="GtkAlignment" id="alignment23">
+ <widget class="GtkMenu" id="menu4">
<property name="visible">True</property>
- <property name="left_padding">12</property>
+ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<child>
- <widget class="GtkTable" id="table1">
+ <widget class="GtkRadioMenuItem" id="menuitem_devel_yes">
<property name="visible">True</property>
- <property name="border_width">3</property>
- <property name="n_rows">4</property>
- <property name="n_columns">2</property>
- <property name="column_spacing">5</property>
- <property name="row_spacing">5</property>
- <child>
- <widget class="GtkLabel" id="label_filter_installed">
- <property name="visible">True</property>
- <property name="xalign">0</property>
- <property name="label" translatable="yes">Installed:</property>
- </widget>
- <packing>
- <property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
- </packing>
- </child>
- <child>
- <widget class="GtkComboBox" id="combobox_filter_installed">
- <property name="visible">True</property>
- <property name="items"></property>
- </widget>
- <packing>
- <property name="left_attach">1</property>
- <property name="right_attach">2</property>
- <property name="y_options">GTK_FILL</property>
- </packing>
- </child>
- <child>
- <widget class="GtkLabel" id="label_filter_devel">
- <property name="visible">True</property>
- <property name="xalign">0</property>
- <property name="label" translatable="yes">Development:</property>
- </widget>
- <packing>
- <property name="top_attach">1</property>
- <property name="bottom_attach">2</property>
- <property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
- </packing>
- </child>
- <child>
- <widget class="GtkComboBox" id="combobox_filter_devel">
- <property name="visible">True</property>
- <property name="items"></property>
- </widget>
- <packing>
- <property name="left_attach">1</property>
- <property name="right_attach">2</property>
- <property name="top_attach">1</property>
- <property name="bottom_attach">2</property>
- <property name="x_options">GTK_FILL</property>
- <property name="y_options">GTK_FILL</property>
- </packing>
- </child>
- <child>
- <widget class="GtkComboBox" id="combobox_filter_gui">
- <property name="visible">True</property>
- <property name="items"></property>
- </widget>
- <packing>
- <property name="left_attach">1</property>
- <property name="right_attach">2</property>
- <property name="top_attach">2</property>
- <property name="bottom_attach">3</property>
- <property name="x_options">GTK_FILL</property>
- </packing>
- </child>
- <child>
- <widget class="GtkLabel" id="label_filter_gui">
- <property name="visible">True</property>
- <property name="xalign">0</property>
- <property name="label" translatable="yes">Graphical:</property>
- </widget>
- <packing>
- <property name="top_attach">2</property>
- <property name="bottom_attach">3</property>
- <property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
- </packing>
- </child>
- <child>
- <widget class="GtkLabel" id="label_filter_free">
- <property name="visible">True</property>
- <property name="xalign">0</property>
- <property name="label" translatable="yes">Free:</property>
- </widget>
- <packing>
- <property name="top_attach">3</property>
- <property name="bottom_attach">4</property>
- <property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
- </packing>
- </child>
- <child>
- <widget class="GtkComboBox" id="combobox_filter_free">
- <property name="visible">True</property>
- <property name="items"></property>
- </widget>
- <packing>
- <property name="left_attach">1</property>
- <property name="right_attach">2</property>
- <property name="top_attach">3</property>
- <property name="bottom_attach">4</property>
- <property name="x_options">GTK_FILL</property>
- <property name="y_options">GTK_FILL</property>
- </packing>
- </child>
+ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+ <property name="label" translatable="yes">Only _development</property>
+ <property name="use_underline">True</property>
+ <property name="draw_as_radio">True</property>
+ </widget>
+ </child>
+ <child>
+ <widget class="GtkRadioMenuItem" id="menuitem_devel_no">
+ <property name="visible">True</property>
+ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+ <property name="label" translatable="yes">Only _end user files</property>
+ <property name="use_underline">True</property>
+ <property name="draw_as_radio">True</property>
+ <property name="group">menuitem_devel_yes</property>
+ </widget>
+ </child>
+ <child>
+ <widget class="GtkRadioMenuItem" id="menuitem_devel_both">
+ <property name="visible">True</property>
+ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+ <property name="label" translatable="yes">_No filter</property>
+ <property name="use_underline">True</property>
+ <property name="active">True</property>
+ <property name="draw_as_radio">True</property>
+ <property name="group">menuitem_devel_yes</property>
</widget>
</child>
</widget>
</child>
+ </widget>
+ </child>
+ <child>
+ <widget class="GtkMenuItem" id="menuitem_gui">
+ <property name="visible">True</property>
+ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+ <property name="label" translatable="yes">_Graphical</property>
+ <property name="use_underline">True</property>
<child>
- <widget class="GtkLabel" id="label33">
+ <widget class="GtkMenu" id="menu5">
<property name="visible">True</property>
- <property name="label" translatable="yes"><b>Filters</b></property>
- <property name="use_markup">True</property>
+ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+ <child>
+ <widget class="GtkRadioMenuItem" id="menuitem_gui_yes">
+ <property name="visible">True</property>
+ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+ <property name="label" translatable="yes">_Only graphical</property>
+ <property name="use_underline">True</property>
+ <property name="draw_as_radio">True</property>
+ </widget>
+ </child>
+ <child>
+ <widget class="GtkRadioMenuItem" id="menuitem_gui_no">
+ <property name="visible">True</property>
+ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+ <property name="label" translatable="yes">_Only text</property>
+ <property name="use_underline">True</property>
+ <property name="draw_as_radio">True</property>
+ <property name="group">menuitem_gui_yes</property>
+ </widget>
+ </child>
+ <child>
+ <widget class="GtkRadioMenuItem" id="menuitem_gui_both">
+ <property name="visible">True</property>
+ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+ <property name="label" translatable="yes">_No filter</property>
+ <property name="use_underline">True</property>
+ <property name="active">True</property>
+ <property name="draw_as_radio">True</property>
+ <property name="group">menuitem_gui_yes</property>
+ </widget>
+ </child>
</widget>
- <packing>
- <property name="type">label_item</property>
- </packing>
</child>
</widget>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">1</property>
- </packing>
+ </child>
+ <child>
+ <widget class="GtkMenuItem" id="menuitem_free">
+ <property name="visible">True</property>
+ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+ <property name="label" translatable="yes">_Free</property>
+ <property name="use_underline">True</property>
+ <child>
+ <widget class="GtkMenu" id="menu6">
+ <property name="visible">True</property>
+ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+ <child>
+ <widget class="GtkRadioMenuItem" id="menuitem_free_yes">
+ <property name="visible">True</property>
+ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+ <property name="label" translatable="yes">_Only free software</property>
+ <property name="use_underline">True</property>
+ <property name="draw_as_radio">True</property>
+ </widget>
+ </child>
+ <child>
+ <widget class="GtkRadioMenuItem" id="menuitem_free_no">
+ <property name="visible">True</property>
+ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+ <property name="label" translatable="yes">_Only _non-free software</property>
+ <property name="use_underline">True</property>
+ <property name="draw_as_radio">True</property>
+ <property name="group">menuitem_free_yes</property>
+ </widget>
+ </child>
+ <child>
+ <widget class="GtkRadioMenuItem" id="menuitem_free_both">
+ <property name="visible">True</property>
+ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+ <property name="label" translatable="yes">_No filter</property>
+ <property name="use_underline">True</property>
+ <property name="active">True</property>
+ <property name="draw_as_radio">True</property>
+ <property name="group">menuitem_free_yes</property>
+ </widget>
+ </child>
+ </widget>
+ </child>
+ </widget>
+ </child>
+ <child>
+ <widget class="GtkCheckMenuItem" id="menuitem_basename">
+ <property name="visible">True</property>
+ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+ <property name="tooltip" translatable="yes">Only show one package, not subpackages</property>
+ <property name="label" translatable="yes">_Main packages</property>
+ <property name="use_underline">True</property>
+ <property name="active">True</property>
+ </widget>
+ </child>
+ <child>
+ <widget class="GtkCheckMenuItem" id="menuitem_newest">
+ <property name="visible">True</property>
+ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+ <property name="tooltip" translatable="yes">Only show the newest available package</property>
+ <property name="label" translatable="yes">_Newest packages</property>
+ <property name="use_underline">True</property>
+ <property name="active">True</property>
+ </widget>
</child>
</widget>
</child>
+ </widget>
+ </child>
+ <child>
+ <widget class="GtkMenuItem" id="menuitem_help">
+ <property name="visible">True</property>
+ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+ <property name="label" translatable="yes">_Help</property>
+ <property name="use_underline">True</property>
<child>
- <widget class="GtkLabel" id="label_search">
+ <widget class="GtkMenu" id="menu_about">
<property name="visible">True</property>
- <property name="label" translatable="yes">Search</property>
+ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+ <child>
+ <widget class="GtkImageMenuItem" id="imagemenuitem_about">
+ <property name="visible">True</property>
+ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+ <property name="tooltip" translatable="yes">About this software</property>
+ <property name="label" translatable="yes">gtk-about</property>
+ <property name="use_underline">True</property>
+ <property name="use_stock">True</property>
+ </widget>
+ </child>
</widget>
- <packing>
- <property name="type">tab</property>
- <property name="tab_fill">False</property>
- </packing>
</child>
+ </widget>
+ </child>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkHBox" id="hbox4">
+ <property name="visible">True</property>
+ <property name="border_width">10</property>
+ <property name="spacing">6</property>
+ <child>
+ <widget class="GtkHBox" id="hbox1">
+ <property name="visible">True</property>
+ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<child>
- <widget class="GtkScrolledWindow" id="scrolledwindow_groups">
+ <widget class="GtkVBox" id="vbox_groups">
<property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="border_width">5</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>
+ <property name="spacing">6</property>
+ <child>
+ <widget class="GtkHBox" id="hbox26">
+ <property name="visible">True</property>
+ <property name="spacing">5</property>
+ <child>
+ <widget class="Custom" id="entry_text">
+ <property name="visible">True</property>
+ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+ </widget>
+ </child>
+ <child>
+ <widget class="GtkButton" id="button_find">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="response_id">0</property>
+ <child>
+ <widget class="GtkAlignment" id="alignment5">
+ <property name="visible">True</property>
+ <property name="xscale">0</property>
+ <property name="yscale">0</property>
+ <child>
+ <widget class="GtkHBox" id="hbox6">
+ <property name="visible">True</property>
+ <property name="spacing">2</property>
+ <child>
+ <widget class="GtkImage" id="image4">
+ <property name="visible">True</property>
+ <property name="stock">gtk-find</property>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkLabel" id="label_button_find">
+ <property name="visible">True</property>
+ <property name="label">_Find</property>
+ <property name="use_underline">True</property>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </widget>
+ </child>
+ </widget>
+ </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="fill">False</property>
+ </packing>
+ </child>
<child>
- <widget class="GtkTreeView" id="treeview_groups">
+ <widget class="GtkScrolledWindow" id="scrolledwindow_groups">
<property name="visible">True</property>
<property name="can_focus">True</property>
- <property name="border_width">3</property>
- <property name="headers_visible">False</property>
- <property name="enable_search">False</property>
+ <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+ <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+ <property name="shadow_type">GTK_SHADOW_IN</property>
+ <child>
+ <widget class="GtkTreeView" id="treeview_groups">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="border_width">3</property>
+ <property name="headers_visible">False</property>
+ <property name="enable_search">False</property>
+ </widget>
+ </child>
</widget>
+ <packing>
+ <property name="position">1</property>
+ </packing>
</child>
</widget>
- <packing>
- <property name="position">1</property>
- </packing>
- </child>
- <child>
- <widget class="GtkLabel" id="label_groups">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Groups</property>
- </widget>
- <packing>
- <property name="type">tab</property>
- <property name="position">1</property>
- <property name="tab_fill">False</property>
- </packing>
</child>
</widget>
<packing>
<property name="expand">False</property>
- <property name="fill">False</property>
</packing>
</child>
<child>
- <widget class="GtkVBox" id="vbox_rows">
+ <widget class="GtkVPaned" id="vpaned1">
<property name="visible">True</property>
- <property name="spacing">7</property>
+ <property name="can_focus">True</property>
+ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<child>
<widget class="GtkScrolledWindow" id="scrolledwindow_packages">
<property name="visible">True</property>
@@ -307,373 +435,362 @@
</widget>
</child>
</widget>
+ <packing>
+ <property name="resize">True</property>
+ <property name="shrink">False</property>
+ </packing>
</child>
<child>
- <widget class="GtkHBox" id="hbox_description">
+ <widget class="GtkVBox" id="vbox_description_pane">
<property name="visible">True</property>
<property name="spacing">5</property>
<child>
- <widget class="GtkImage" id="image_description">
- <property name="visible">True</property>
- <property name="stock">gtk-delete</property>
- <property name="icon_size">6</property>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
- <child>
- <widget class="GtkVBox" id="vbox16">
+ <widget class="GtkNotebook" id="notebook_description">
<property name="visible">True</property>
- <property name="spacing">5</property>
+ <property name="can_focus">True</property>
<child>
- <widget class="GtkNotebook" id="notebook_description">
+ <widget class="GtkVBox" id="vbox_description">
<property name="visible">True</property>
- <property name="can_focus">True</property>
+ <property name="border_width">5</property>
+ <property name="spacing">5</property>
+ <child>
+ <widget class="GtkScrolledWindow" id="scrolledwindow2">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+ <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+ <property name="shadow_type">GTK_SHADOW_IN</property>
+ <child>
+ <widget class="GtkTextView" id="textview_description">
+ <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>
+ </widget>
+ </child>
+ </widget>
+ </child>
<child>
- <widget class="GtkVBox" id="vbox_description">
+ <widget class="GtkHBox" id="hbox_filesize">
<property name="visible">True</property>
<property name="border_width">5</property>
<property name="spacing">5</property>
<child>
- <widget class="GtkScrolledWindow" id="scrolledwindow2">
+ <widget class="GtkLabel" id="label30">
<property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
- <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
- <property name="shadow_type">GTK_SHADOW_IN</property>
- <child>
- <widget class="GtkTextView" id="textview_description">
- <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>
- </widget>
- </child>
+ <property name="label" translatable="yes">Package size:</property>
</widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
</child>
<child>
- <widget class="GtkHBox" id="hbox_filesize">
+ <widget class="GtkLabel" id="label_filesize">
<property name="visible">True</property>
- <property name="border_width">5</property>
- <property name="spacing">5</property>
- <child>
- <widget class="GtkLabel" id="label30">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Package size:</property>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
- <child>
- <widget class="GtkLabel" id="label_filesize">
- <property name="visible">True</property>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">1</property>
- </packing>
- </child>
</widget>
<packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
<property name="position">1</property>
</packing>
</child>
</widget>
- </child>
- <child>
- <widget class="GtkLabel" id="label_tab_description">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Description</property>
- </widget>
<packing>
- <property name="type">tab</property>
- <property name="tab_fill">False</property>
+ <property name="expand">False</property>
+ <property name="position">1</property>
</packing>
</child>
+ </widget>
+ </child>
+ <child>
+ <widget class="GtkLabel" id="label_tab_description">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Description</property>
+ </widget>
+ <packing>
+ <property name="type">tab</property>
+ <property name="tab_fill">False</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkVBox" id="vbox_files">
+ <property name="visible">True</property>
+ <property name="border_width">5</property>
<child>
- <widget class="GtkVBox" id="vbox_files">
+ <widget class="GtkScrolledWindow" id="scrolledwindow3">
<property name="visible">True</property>
- <property name="border_width">5</property>
+ <property name="can_focus">True</property>
+ <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+ <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+ <property name="shadow_type">GTK_SHADOW_IN</property>
<child>
- <widget class="GtkScrolledWindow" id="scrolledwindow3">
+ <widget class="GtkTextView" id="textview_files">
<property name="visible">True</property>
<property name="can_focus">True</property>
- <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
- <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
- <property name="shadow_type">GTK_SHADOW_IN</property>
- <child>
- <widget class="GtkTextView" id="textview_files">
- <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>
- </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>
</child>
</widget>
- <packing>
- <property name="position">1</property>
- </packing>
- </child>
- <child>
- <widget class="GtkLabel" id="label_tab_files">
- <property name="visible">True</property>
- <property name="label" translatable="yes">File List</property>
- </widget>
- <packing>
- <property name="type">tab</property>
- <property name="position">1</property>
- <property name="tab_fill">False</property>
- </packing>
</child>
+ </widget>
+ <packing>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkLabel" id="label_tab_files">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">File List</property>
+ </widget>
+ <packing>
+ <property name="type">tab</property>
+ <property name="position">1</property>
+ <property name="tab_fill">False</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkVBox" id="vbox_depends">
+ <property name="visible">True</property>
+ <property name="border_width">5</property>
<child>
- <widget class="GtkVBox" id="vbox_depends">
+ <widget class="GtkScrolledWindow" id="scrolledwindow4">
<property name="visible">True</property>
- <property name="border_width">5</property>
+ <property name="can_focus">True</property>
+ <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+ <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+ <property name="shadow_type">GTK_SHADOW_IN</property>
<child>
- <widget class="GtkScrolledWindow" id="scrolledwindow4">
+ <widget class="GtkTextView" id="textview_depends">
<property name="visible">True</property>
<property name="can_focus">True</property>
- <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
- <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
- <property name="shadow_type">GTK_SHADOW_IN</property>
- <child>
- <widget class="GtkTextView" id="textview_depends">
- <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>
- </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>
</child>
</widget>
- <packing>
- <property name="position">2</property>
- </packing>
- </child>
- <child>
- <widget class="GtkLabel" id="label34">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Depends on</property>
- </widget>
- <packing>
- <property name="type">tab</property>
- <property name="position">2</property>
- <property name="tab_fill">False</property>
- </packing>
</child>
+ </widget>
+ <packing>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkLabel" id="label34">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Depends on</property>
+ </widget>
+ <packing>
+ <property name="type">tab</property>
+ <property name="position">2</property>
+ <property name="tab_fill">False</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkVBox" id="vbox_requires">
+ <property name="visible">True</property>
+ <property name="border_width">5</property>
<child>
- <widget class="GtkVBox" id="vbox_requires">
+ <widget class="GtkScrolledWindow" id="scrolledwindow5">
<property name="visible">True</property>
- <property name="border_width">5</property>
+ <property name="can_focus">True</property>
+ <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+ <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+ <property name="shadow_type">GTK_SHADOW_IN</property>
<child>
- <widget class="GtkScrolledWindow" id="scrolledwindow5">
+ <widget class="GtkTextView" id="textview_requires">
<property name="visible">True</property>
<property name="can_focus">True</property>
- <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
- <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
- <property name="shadow_type">GTK_SHADOW_IN</property>
- <child>
- <widget class="GtkTextView" id="textview_requires">
- <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>
- </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>
</child>
</widget>
- <packing>
- <property name="position">3</property>
- </packing>
- </child>
- <child>
- <widget class="GtkLabel" id="label_requires">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Required by</property>
- </widget>
- <packing>
- <property name="type">tab</property>
- <property name="position">3</property>
- <property name="tab_fill">False</property>
- </packing>
</child>
</widget>
+ <packing>
+ <property name="position">3</property>
+ </packing>
</child>
<child>
- <widget class="GtkHBox" id="hbox27">
+ <widget class="GtkLabel" id="label_requires">
<property name="visible">True</property>
- <property name="spacing">5</property>
+ <property name="label" translatable="yes">Required by</property>
+ </widget>
+ <packing>
+ <property name="type">tab</property>
+ <property name="position">3</property>
+ <property name="tab_fill">False</property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkHBox" id="hbox27">
+ <property name="visible">True</property>
+ <property name="spacing">5</property>
+ <child>
+ <widget class="GtkButton" id="button_install">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="response_id">0</property>
<child>
- <widget class="GtkButton" id="button_install">
+ <widget class="GtkAlignment" id="alignment24">
<property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="response_id">0</property>
+ <property name="xscale">0</property>
+ <property name="yscale">0</property>
<child>
- <widget class="GtkAlignment" id="alignment24">
+ <widget class="GtkHBox" id="hbox28">
<property name="visible">True</property>
- <property name="xscale">0</property>
- <property name="yscale">0</property>
+ <property name="spacing">2</property>
<child>
- <widget class="GtkHBox" id="hbox28">
+ <widget class="GtkImage" id="image5">
<property name="visible">True</property>
- <property name="spacing">2</property>
- <child>
- <widget class="GtkImage" id="image5">
- <property name="visible">True</property>
- <property name="stock">gtk-floppy</property>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
- <child>
- <widget class="GtkLabel" id="label35">
- <property name="visible">True</property>
- <property name="label" translatable="yes">_Install</property>
- <property name="use_underline">True</property>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">1</property>
- </packing>
- </child>
+ <property name="stock">gtk-floppy</property>
</widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkLabel" id="label35">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">_Install</property>
+ <property name="use_underline">True</property>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <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>
+ </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="response_id">0</property>
<child>
- <widget class="GtkButton" id="button_remove">
+ <widget class="GtkAlignment" id="alignment25">
<property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="response_id">0</property>
+ <property name="xscale">0</property>
+ <property name="yscale">0</property>
<child>
- <widget class="GtkAlignment" id="alignment25">
+ <widget class="GtkHBox" id="hbox29">
<property name="visible">True</property>
- <property name="xscale">0</property>
- <property name="yscale">0</property>
+ <property name="spacing">2</property>
<child>
- <widget class="GtkHBox" id="hbox29">
+ <widget class="GtkImage" id="image6">
<property name="visible">True</property>
- <property name="spacing">2</property>
- <child>
- <widget class="GtkImage" id="image6">
- <property name="visible">True</property>
- <property name="stock">gtk-dialog-error</property>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
- <child>
- <widget class="GtkLabel" id="label36">
- <property name="visible">True</property>
- <property name="label" translatable="yes">_Remove</property>
- <property name="use_underline">True</property>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">1</property>
- </packing>
- </child>
+ <property name="stock">gtk-dialog-error</property>
</widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkLabel" id="label36">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">_Remove</property>
+ <property name="use_underline">True</property>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <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>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkButton" id="button_homepage">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="response_id">0</property>
<child>
- <widget class="GtkButton" id="button_homepage">
+ <widget class="GtkAlignment" id="alignment26">
<property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="response_id">0</property>
+ <property name="xscale">0</property>
+ <property name="yscale">0</property>
<child>
- <widget class="GtkAlignment" id="alignment26">
+ <widget class="GtkHBox" id="hbox30">
<property name="visible">True</property>
- <property name="xscale">0</property>
- <property name="yscale">0</property>
+ <property name="spacing">2</property>
<child>
- <widget class="GtkHBox" id="hbox30">
+ <widget class="GtkImage" id="image7">
<property name="visible">True</property>
- <property name="spacing">2</property>
- <child>
- <widget class="GtkImage" id="image7">
- <property name="visible">True</property>
- <property name="stock">gtk-home</property>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
- <child>
- <widget class="GtkLabel" id="label37">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Homepage</property>
- <property name="use_underline">True</property>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">1</property>
- </packing>
- </child>
+ <property name="stock">gtk-home</property>
</widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkLabel" id="label37">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Homepage</property>
+ <property name="use_underline">True</property>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <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">2</property>
- </packing>
</child>
</widget>
<packing>
- <property name="position">1</property>
+ <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>
</widget>
<packing>
- <property name="expand">False</property>
- <property name="position">1</property>
+ <property name="resize">False</property>
+ <property name="shrink">False</property>
</packing>
</child>
</widget>
@@ -682,6 +799,9 @@
</packing>
</child>
</widget>
+ <packing>
+ <property name="position">1</property>
+ </packing>
</child>
<child>
<widget class="GtkStatusbar" id="statusbar_status">
@@ -690,7 +810,7 @@
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
- <property name="position">1</property>
+ <property name="position">2</property>
</packing>
</child>
</widget>
Modified: trunk/data/pk-update-viewer.glade
==============================================================================
--- trunk/data/pk-update-viewer.glade (original)
+++ trunk/data/pk-update-viewer.glade Mon Mar 24 14:16:05 2008
@@ -62,76 +62,108 @@
</packing>
</child>
<child>
- <widget class="GtkVBox" id="vbox1">
+ <widget class="GtkTable" id="time_table">
<property name="visible">True</property>
- <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
- <property name="spacing">6</property>
+ <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="GtkHBox" id="hbox3">
+ <widget class="GtkAlignment" id="alignment1">
<property name="visible">True</property>
- <property name="spacing">6</property>
- <child>
- <widget class="GtkLabel" id="label5">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Time since last refresh:</property>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
+ <property name="xalign">1</property>
+ <property name="xscale">0</property>
+ <property name="yscale">0</property>
<child>
- <widget class="GtkLabel" id="label_last_refresh">
+ <widget class="GtkButton" id="button_history">
<property name="visible">True</property>
- <property name="label" translatable="yes">Unknown....</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>
- <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="left_attach">2</property>
+ <property name="right_attach">3</property>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
</packing>
</child>
<child>
- <widget class="GtkHBox" id="hbox3">
+ <widget class="GtkAlignment" id="alignment3">
<property name="visible">True</property>
- <property name="spacing">6</property>
+ <property name="xalign">1</property>
+ <property name="xscale">0</property>
+ <property name="yscale">0</property>
<child>
- <widget class="GtkLabel" id="label5">
+ <widget class="GtkButton" id="button_refresh">
<property name="visible">True</property>
- <property name="label" translatable="yes">Time since last updated:</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="label" translatable="yes">Refresh</property>
+ <property name="response_id">0</property>
</widget>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
- <child>
- <widget class="GtkLabel" id="label_last_update">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Unknown....</property>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">1</property>
- </packing>
</child>
</widget>
<packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">1</property>
+ <property name="left_attach">2</property>
+ <property name="right_attach">3</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="GtkLabel" id="label5">
+ <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="label_last_refresh">
+ <property name="visible">True</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">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="label_last_update">
+ <property name="visible">True</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">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="expand">False</property>
+ <property name="padding">12</property>
<property name="position">2</property>
</packing>
</child>
@@ -153,52 +185,6 @@
</packing>
</child>
<child>
- <widget class="GtkButton" id="button_refresh">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="can_default">True</property>
- <property name="response_id">0</property>
- <child>
- <widget class="GtkAlignment" id="alignment1">
- <property name="visible">True</property>
- <property name="xscale">0</property>
- <property name="yscale">0</property>
- <child>
- <widget class="GtkHBox" id="hbox1">
- <property name="visible">True</property>
- <property name="spacing">2</property>
- <child>
- <widget class="GtkImage" id="image1">
- <property name="visible">True</property>
- <property name="stock">gtk-refresh</property>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
- <child>
- <widget class="GtkLabel" id="label10">
- <property name="visible">True</property>
- <property name="label">Force _Refresh</property>
- <property name="use_underline">True</property>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">1</property>
- </packing>
- </child>
- </widget>
- </child>
- </widget>
- </child>
- </widget>
- <packing>
- <property name="position">1</property>
- </packing>
- </child>
- <child>
<widget class="GtkButton" id="button_apply2">
<property name="visible">True</property>
<property name="can_focus">True</property>
@@ -241,7 +227,7 @@
</child>
</widget>
<packing>
- <property name="position">2</property>
+ <property name="position">1</property>
</packing>
</child>
<child>
@@ -272,7 +258,7 @@
<child>
<widget class="GtkLabel" id="label11">
<property name="visible">True</property>
- <property name="label" translatable="yes">_Review Updates</property>
+ <property name="label" translatable="yes">_Review</property>
<property name="use_underline">True</property>
</widget>
<packing>
@@ -287,7 +273,7 @@
</child>
</widget>
<packing>
- <property name="position">3</property>
+ <property name="position">2</property>
</packing>
</child>
<child>
@@ -300,7 +286,7 @@
<property name="response_id">0</property>
</widget>
<packing>
- <property name="position">4</property>
+ <property name="position">3</property>
</packing>
</child>
</widget>
@@ -584,6 +570,9 @@
<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">
@@ -986,6 +975,9 @@
<property name="use_stock">True</property>
<property name="response_id">0</property>
</widget>
+ <packing>
+ <property name="secondary">True</property>
+ </packing>
</child>
<child>
<widget class="GtkButton" id="button_close5">
@@ -1003,7 +995,6 @@
</widget>
<packing>
<property name="expand">False</property>
- <property name="fill">False</property>
<property name="position">1</property>
</packing>
</child>
Modified: trunk/src/pk-application.c
==============================================================================
--- trunk/src/pk-application.c (original)
+++ trunk/src/pk-application.c Mon Mar 24 14:16:05 2008
@@ -50,6 +50,7 @@
static void pk_application_finalize (GObject *object);
#define PK_APPLICATION_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PK_TYPE_APPLICATION, PkApplicationPrivate))
+#define PK_STOCK_APP_ICON "system-software-installer"
typedef enum {
PK_SEARCH_NAME,
@@ -352,14 +353,13 @@
guint64 size, PkApplication *application)
{
GtkWidget *widget;
- const gchar *icon_name;
gchar *text;
g_return_if_fail (application != NULL);
g_return_if_fail (PK_IS_APPLICATION (application));
pk_debug ("description = %s:%i:%s:%s", package_id, group, detail, url);
- widget = glade_xml_get_widget (application->priv->glade_xml, "hbox_description");
+ widget = glade_xml_get_widget (application->priv->glade_xml, "vbox_description_pane");
gtk_widget_show (widget);
/* homepage button? */
@@ -373,10 +373,6 @@
gtk_widget_hide (widget);
}
- widget = glade_xml_get_widget (application->priv->glade_xml, "image_description");
- icon_name = pk_group_enum_to_icon_name (group);
- gtk_image_set_from_icon_name (GTK_IMAGE (widget), icon_name, GTK_ICON_SIZE_DIALOG);
-
/* set the description */
text = g_markup_escape_text (detail, -1);
widget = glade_xml_get_widget (application->priv->glade_xml, "textview_description");
@@ -410,7 +406,7 @@
g_return_if_fail (application != NULL);
g_return_if_fail (PK_IS_APPLICATION (application));
- widget = glade_xml_get_widget (application->priv->glade_xml, "hbox_description");
+ widget = glade_xml_get_widget (application->priv->glade_xml, "vbox_description_pane");
gtk_widget_show (widget);
/* set the text box */
@@ -662,7 +658,7 @@
application->priv->search_in_progress = TRUE;
/* hide details */
- widget = glade_xml_get_widget (application->priv->glade_xml, "hbox_description");
+ widget = glade_xml_get_widget (application->priv->glade_xml, "vbox_description_pane");
gtk_widget_hide (widget);
widget = glade_xml_get_widget (application->priv->glade_xml, "label_button_find");
@@ -675,13 +671,11 @@
}
/**
- * pk_application_delete_event_cb:
+ * pk_application_quit:
* @event: The event type, unused.
**/
static gboolean
-pk_application_delete_event_cb (GtkWidget *widget,
- GdkEvent *event,
- PkApplication *application)
+pk_application_quit (PkApplication *application)
{
g_return_val_if_fail (application != NULL, FALSE);
g_return_val_if_fail (PK_IS_APPLICATION (application), FALSE);
@@ -693,6 +687,22 @@
pk_debug ("emitting action-close");
g_signal_emit (application, signals [ACTION_CLOSE], 0);
+ return TRUE;
+}
+
+/**
+ * pk_application_delete_event_cb:
+ * @event: The event type, unused.
+ **/
+static gboolean
+pk_application_delete_event_cb (GtkWidget *widget,
+ GdkEvent *event,
+ PkApplication *application)
+{
+ g_return_val_if_fail (application != NULL, FALSE);
+ g_return_val_if_fail (PK_IS_APPLICATION (application), FALSE);
+
+ pk_application_quit (application);
return FALSE;
}
@@ -774,102 +784,6 @@
}
/**
- * pk_application_filter_installed_combobox_changed_cb:
- **/
-static void
-pk_application_filter_installed_combobox_changed_cb (GtkComboBox *combobox, PkApplication *application)
-{
- guint value;
-
- g_return_if_fail (application != NULL);
- g_return_if_fail (PK_IS_APPLICATION (application));
-
- value = gtk_combo_box_get_active (combobox);
- if (value == 0) {
- pk_enum_list_append (application->priv->current_filter, PK_FILTER_ENUM_INSTALLED);
- pk_enum_list_remove (application->priv->current_filter, PK_FILTER_ENUM_NOT_INSTALLED);
- } else if (value == 1) {
- pk_enum_list_remove (application->priv->current_filter, PK_FILTER_ENUM_INSTALLED);
- pk_enum_list_append (application->priv->current_filter, PK_FILTER_ENUM_NOT_INSTALLED);
- } else {
- pk_enum_list_remove (application->priv->current_filter, PK_FILTER_ENUM_INSTALLED);
- pk_enum_list_remove (application->priv->current_filter, PK_FILTER_ENUM_NOT_INSTALLED);
- }
-}
-
-/**
- * pk_application_filter_devel_combobox_changed_cb:
- **/
-static void
-pk_application_filter_devel_combobox_changed_cb (GtkComboBox *combobox, PkApplication *application)
-{
- guint value;
-
- g_return_if_fail (application != NULL);
- g_return_if_fail (PK_IS_APPLICATION (application));
-
- value = gtk_combo_box_get_active (combobox);
- if (value == 0) {
- pk_enum_list_append (application->priv->current_filter, PK_FILTER_ENUM_DEVELOPMENT);
- pk_enum_list_remove (application->priv->current_filter, PK_FILTER_ENUM_NOT_DEVELOPMENT);
- } else if (value == 1) {
- pk_enum_list_remove (application->priv->current_filter, PK_FILTER_ENUM_DEVELOPMENT);
- pk_enum_list_append (application->priv->current_filter, PK_FILTER_ENUM_NOT_DEVELOPMENT);
- } else {
- pk_enum_list_remove (application->priv->current_filter, PK_FILTER_ENUM_DEVELOPMENT);
- pk_enum_list_remove (application->priv->current_filter, PK_FILTER_ENUM_NOT_DEVELOPMENT);
- }
-}
-
-/**
- * pk_application_filter_free_combobox_changed_cb:
- **/
-static void
-pk_application_filter_free_combobox_changed_cb (GtkComboBox *combobox, PkApplication *application)
-{
- guint value;
-
- g_return_if_fail (application != NULL);
- g_return_if_fail (PK_IS_APPLICATION (application));
-
- value = gtk_combo_box_get_active (combobox);
- if (value == 0) {
- pk_enum_list_append (application->priv->current_filter, PK_FILTER_ENUM_FREE);
- pk_enum_list_remove (application->priv->current_filter, PK_FILTER_ENUM_NOT_FREE);
- } else if (value == 1) {
- pk_enum_list_remove (application->priv->current_filter, PK_FILTER_ENUM_FREE);
- pk_enum_list_append (application->priv->current_filter, PK_FILTER_ENUM_NOT_FREE);
- } else {
- pk_enum_list_remove (application->priv->current_filter, PK_FILTER_ENUM_FREE);
- pk_enum_list_remove (application->priv->current_filter, PK_FILTER_ENUM_NOT_FREE);
- }
-}
-
-/**
- * pk_application_filter_gui_combobox_changed_cb:
- **/
-static void
-pk_application_filter_gui_combobox_changed_cb (GtkComboBox *combobox, PkApplication *application)
-{
- guint value;
-
- g_return_if_fail (application != NULL);
- g_return_if_fail (PK_IS_APPLICATION (application));
-
- value = gtk_combo_box_get_active (combobox);
- if (value == 0) {
- pk_enum_list_append (application->priv->current_filter, PK_FILTER_ENUM_GUI);
- pk_enum_list_remove (application->priv->current_filter, PK_FILTER_ENUM_NOT_GUI);
- } else if (value == 1) {
- pk_enum_list_remove (application->priv->current_filter, PK_FILTER_ENUM_GUI);
- pk_enum_list_append (application->priv->current_filter, PK_FILTER_ENUM_NOT_GUI);
- } else {
- pk_enum_list_remove (application->priv->current_filter, PK_FILTER_ENUM_GUI);
- pk_enum_list_remove (application->priv->current_filter, PK_FILTER_ENUM_NOT_GUI);
- }
-}
-
-/**
* pk_groups_treeview_clicked_cb:
**/
static void
@@ -880,13 +794,14 @@
GtkTreeIter iter;
GtkWidget *widget;
gboolean ret;
+ gchar *filter;
gchar *id;
g_return_if_fail (application != NULL);
g_return_if_fail (PK_IS_APPLICATION (application));
/* hide the details */
- widget = glade_xml_get_widget (application->priv->glade_xml, "hbox_description");
+ widget = glade_xml_get_widget (application->priv->glade_xml, "vbox_description_pane");
gtk_widget_hide (widget);
/* This will only work in single or browse selection mode! */
@@ -897,10 +812,15 @@
/* refresh the search as the items may have changed */
gtk_list_store_clear (application->priv->packages_store);
+ /* make a valid filter string */
+ filter = pk_enum_list_to_string (application->priv->current_filter);
+ pk_debug ("filter = %s", filter);
+
/* cancel this, we don't care about old results that are pending */
pk_client_cancel (application->priv->client_search, NULL);
pk_client_reset (application->priv->client_search, NULL);
- ret = pk_client_search_group (application->priv->client_search, "none", id, NULL);
+ ret = pk_client_search_group (application->priv->client_search, filter, id, NULL);
+ g_free (filter);
/* ick, we failed so pretend we didn't do the action */
if (ret == FALSE) {
pk_application_error_message (application,
@@ -923,8 +843,13 @@
g_return_val_if_fail (application != NULL, FALSE);
g_return_val_if_fail (PK_IS_APPLICATION (application), FALSE);
+ /* are we just removing tabs? */
+ if (application->priv->package == NULL) {
+ return FALSE;
+ }
+
/* show the box */
- widget = glade_xml_get_widget (application->priv->glade_xml, "hbox_description");
+ widget = glade_xml_get_widget (application->priv->glade_xml, "vbox_description_pane");
gtk_widget_show (widget);
/* get the notebook reference */
@@ -1313,6 +1238,241 @@
}
/**
+ * pk_application_menu_about_cb:
+ **/
+static void
+pk_application_menu_about_cb (GtkAction *action, PkApplication *application)
+{
+ GtkWidget *main_window;
+ const char *authors[] = {
+ "Richard Hughes <richard hughsie com>",
+ NULL};
+ const char *documenters[] = {
+ "Richard Hughes <richard hughsie com>",
+ NULL};
+ const char *artists[] = {
+ "Richard Hughes <richard hughsie com>",
+ NULL};
+ const char *license[] = {
+ N_("Licensed under the GNU General Public License Version 2"),
+ N_("Power Manager is free software; you can redistribute it and/or\n"
+ "modify it under the terms of the GNU General Public License\n"
+ "as published by the Free Software Foundation; either version 2\n"
+ "of the License, or (at your option) any later version."),
+ N_("Power Manager is distributed in the hope that it will be useful,\n"
+ "but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+ "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
+ "GNU General Public License for more details."),
+ N_("You should have received a copy of the GNU General Public License\n"
+ "along with this program; if not, write to the Free Software\n"
+ "Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA\n"
+ "02110-1301, USA.")
+ };
+ const char *translators = _("translator-credits");
+ char *license_trans;
+
+ /* Translators comment: put your own name here to appear in the about dialog. */
+ if (!strcmp (translators, "translator-credits")) {
+ translators = NULL;
+ }
+
+ license_trans = g_strconcat (_(license[0]), "\n\n", _(license[1]), "\n\n",
+ _(license[2]), "\n\n", _(license[3]), "\n", NULL);
+
+ /* use parent */
+ main_window = glade_xml_get_widget (application->priv->glade_xml, "window_manager");
+
+ gtk_window_set_default_icon_name (PK_STOCK_APP_ICON);
+ gtk_show_about_dialog (NULL,
+ "version", PACKAGE_VERSION,
+ "copyright", "Copyright \xc2\xa9 2007-2008 Richard Hughes",
+ "license", license_trans,
+ "website-label", _("PackageKit Website"),
+ "website", "http://www.packagekit.org",
+ "comments", _("Package Manager for GNOME"),
+ "authors", authors,
+ "documenters", documenters,
+ "artists", artists,
+ "translator-credits", translators,
+ "logo-icon-name", PK_STOCK_APP_ICON,
+ NULL);
+ g_free (license_trans);
+}
+
+/**
+ * pk_application_menu_refresh_cb:
+ **/
+static void
+pk_application_menu_refresh_cb (GtkAction *action, PkApplication *application)
+{
+ pk_warning ("do a refresh-cache");
+}
+
+/**
+ * pk_application_menu_sources_cb:
+ **/
+static void
+pk_application_menu_sources_cb (GtkAction *action, PkApplication *application)
+{
+ gboolean ret;
+ ret = g_spawn_command_line_async ("pk-repo", NULL);
+ if (ret == FALSE) {
+ pk_warning ("spawn of pk-repo failed");
+ }
+}
+
+/**
+ * pk_application_menu_quit_cb:
+ **/
+static void
+pk_application_menu_quit_cb (GtkAction *action, PkApplication *application)
+{
+ pk_application_quit (application);
+}
+
+/**
+ * pk_application_menu_filter_installed_cb:
+ * @widget: The GtkWidget object
+ **/
+static void
+pk_application_menu_filter_installed_cb (GtkWidget *widget, PkApplication *application)
+{
+ const gchar *name;
+ name = gtk_widget_get_name (widget);
+
+ /* only care about new state */
+ if (!gtk_check_menu_item_get_active (GTK_CHECK_MENU_ITEM (widget))) {
+ return;
+ }
+
+ /* set new filter */
+ if (g_str_has_suffix (name, "_yes")) {
+ pk_enum_list_append (application->priv->current_filter, PK_FILTER_ENUM_INSTALLED);
+ pk_enum_list_remove (application->priv->current_filter, PK_FILTER_ENUM_NOT_INSTALLED);
+ } else if (g_str_has_suffix (name, "_no")) {
+ pk_enum_list_remove (application->priv->current_filter, PK_FILTER_ENUM_INSTALLED);
+ pk_enum_list_append (application->priv->current_filter, PK_FILTER_ENUM_NOT_INSTALLED);
+ } else {
+ pk_enum_list_remove (application->priv->current_filter, PK_FILTER_ENUM_INSTALLED);
+ pk_enum_list_remove (application->priv->current_filter, PK_FILTER_ENUM_NOT_INSTALLED);
+ }
+}
+
+/**
+ * pk_application_menu_filter_devel_cb:
+ * @widget: The GtkWidget object
+ **/
+static void
+pk_application_menu_filter_devel_cb (GtkWidget *widget, PkApplication *application)
+{
+ const gchar *name;
+ name = gtk_widget_get_name (widget);
+
+ /* only care about new state */
+ if (!gtk_check_menu_item_get_active (GTK_CHECK_MENU_ITEM (widget))) {
+ return;
+ }
+
+ /* set new filter */
+ if (g_str_has_suffix (name, "_yes")) {
+ pk_enum_list_append (application->priv->current_filter, PK_FILTER_ENUM_DEVELOPMENT);
+ pk_enum_list_remove (application->priv->current_filter, PK_FILTER_ENUM_NOT_DEVELOPMENT);
+ } else if (g_str_has_suffix (name, "_no")) {
+ pk_enum_list_remove (application->priv->current_filter, PK_FILTER_ENUM_DEVELOPMENT);
+ pk_enum_list_append (application->priv->current_filter, PK_FILTER_ENUM_NOT_DEVELOPMENT);
+ } else {
+ pk_enum_list_remove (application->priv->current_filter, PK_FILTER_ENUM_DEVELOPMENT);
+ pk_enum_list_remove (application->priv->current_filter, PK_FILTER_ENUM_NOT_DEVELOPMENT);
+ }
+}
+
+/**
+ * pk_application_menu_filter_gui_cb:
+ * @widget: The GtkWidget object
+ **/
+static void
+pk_application_menu_filter_gui_cb (GtkWidget *widget, PkApplication *application)
+{
+ const gchar *name;
+ name = gtk_widget_get_name (widget);
+
+ /* only care about new state */
+ if (!gtk_check_menu_item_get_active (GTK_CHECK_MENU_ITEM (widget))) {
+ return;
+ }
+
+ /* set new filter */
+ if (g_str_has_suffix (name, "_yes")) {
+ pk_enum_list_append (application->priv->current_filter, PK_FILTER_ENUM_GUI);
+ pk_enum_list_remove (application->priv->current_filter, PK_FILTER_ENUM_NOT_GUI);
+ } else if (g_str_has_suffix (name, "_no")) {
+ pk_enum_list_remove (application->priv->current_filter, PK_FILTER_ENUM_GUI);
+ pk_enum_list_append (application->priv->current_filter, PK_FILTER_ENUM_NOT_GUI);
+ } else {
+ pk_enum_list_remove (application->priv->current_filter, PK_FILTER_ENUM_GUI);
+ pk_enum_list_remove (application->priv->current_filter, PK_FILTER_ENUM_NOT_GUI);
+ }
+}
+
+/**
+ * pk_application_menu_filter_free_cb:
+ * @widget: The GtkWidget object
+ **/
+static void
+pk_application_menu_filter_free_cb (GtkWidget *widget, PkApplication *application)
+{
+ const gchar *name;
+ name = gtk_widget_get_name (widget);
+
+ /* only care about new state */
+ if (!gtk_check_menu_item_get_active (GTK_CHECK_MENU_ITEM (widget))) {
+ return;
+ }
+
+ /* set new filter */
+ if (g_str_has_suffix (name, "_yes")) {
+ pk_enum_list_append (application->priv->current_filter, PK_FILTER_ENUM_FREE);
+ pk_enum_list_remove (application->priv->current_filter, PK_FILTER_ENUM_NOT_FREE);
+ } else if (g_str_has_suffix (name, "_no")) {
+ pk_enum_list_remove (application->priv->current_filter, PK_FILTER_ENUM_FREE);
+ pk_enum_list_append (application->priv->current_filter, PK_FILTER_ENUM_NOT_FREE);
+ } else {
+ pk_enum_list_remove (application->priv->current_filter, PK_FILTER_ENUM_FREE);
+ pk_enum_list_remove (application->priv->current_filter, PK_FILTER_ENUM_NOT_FREE);
+ }
+}
+
+/**
+ * pk_application_menu_filter_basename_cb:
+ * @widget: The GtkWidget object
+ **/
+static void
+pk_application_menu_filter_basename_cb (GtkWidget *widget, PkApplication *application)
+{
+ /* single checkbox */
+ if (gtk_check_menu_item_get_active (GTK_CHECK_MENU_ITEM (widget))) {
+ pk_enum_list_append (application->priv->current_filter, PK_FILTER_ENUM_BASENAME);
+ } else {
+ pk_enum_list_remove (application->priv->current_filter, PK_FILTER_ENUM_BASENAME);
+ }
+}
+
+/**
+ * pk_application_menu_filter_newest_cb:
+ * @widget: The GtkWidget object
+ **/
+static void
+pk_application_menu_filter_newest_cb (GtkWidget *widget, PkApplication *application)
+{
+ /* single checkbox */
+ if (gtk_check_menu_item_get_active (GTK_CHECK_MENU_ITEM (widget))) {
+// pk_enum_list_append (application->priv->current_filter, PK_FILTER_ENUM_NEWEST);
+ } else {
+// pk_enum_list_remove (application->priv->current_filter, PK_FILTER_ENUM_NEWEST);
+ }
+}
+
+/**
* pk_application_init:
**/
static void
@@ -1422,7 +1582,7 @@
/* Hide window first so that the dialogue resizes itself without redrawing */
gtk_widget_hide (main_window);
- gtk_window_set_icon_name (GTK_WINDOW (main_window), "system-software-installer");
+ gtk_window_set_icon_name (GTK_WINDOW (main_window), "PK_STOCK_APP_ICON");
/* Get the main window quit */
g_signal_connect (main_window, "delete_event",
@@ -1443,12 +1603,82 @@
G_CALLBACK (pk_application_homepage_cb), application);
gtk_widget_set_tooltip_text (widget, _("Visit homepage for selected package"));
- widget = glade_xml_get_widget (application->priv->glade_xml, "hbox_description");
+ widget = glade_xml_get_widget (application->priv->glade_xml, "imagemenuitem_about");
+ g_signal_connect (widget, "activate",
+ G_CALLBACK (pk_application_menu_about_cb), application);
+
+ widget = glade_xml_get_widget (application->priv->glade_xml, "imagemenuitem_refresh");
+ g_signal_connect (widget, "activate",
+ G_CALLBACK (pk_application_menu_refresh_cb), application);
+
+ widget = glade_xml_get_widget (application->priv->glade_xml, "menuitem_sources");
+ g_signal_connect (widget, "activate",
+ G_CALLBACK (pk_application_menu_sources_cb), application);
+
+ widget = glade_xml_get_widget (application->priv->glade_xml, "imagemenuitem_quit");
+ g_signal_connect (widget, "activate",
+ G_CALLBACK (pk_application_menu_quit_cb), application);
+
+ /* installed filter */
+ widget = glade_xml_get_widget (application->priv->glade_xml, "menuitem_installed_yes");
+ g_signal_connect (widget, "toggled",
+ G_CALLBACK (pk_application_menu_filter_installed_cb), application);
+ widget = glade_xml_get_widget (application->priv->glade_xml, "menuitem_installed_no");
+ g_signal_connect (widget, "toggled",
+ G_CALLBACK (pk_application_menu_filter_installed_cb), application);
+ widget = glade_xml_get_widget (application->priv->glade_xml, "menuitem_installed_both");
+ g_signal_connect (widget, "toggled",
+ G_CALLBACK (pk_application_menu_filter_installed_cb), application);
+
+ /* devel filter */
+ widget = glade_xml_get_widget (application->priv->glade_xml, "menuitem_installed_yes");
+ g_signal_connect (widget, "toggled",
+ G_CALLBACK (pk_application_menu_filter_devel_cb), application);
+ widget = glade_xml_get_widget (application->priv->glade_xml, "menuitem_installed_no");
+ g_signal_connect (widget, "toggled",
+ G_CALLBACK (pk_application_menu_filter_devel_cb), application);
+ widget = glade_xml_get_widget (application->priv->glade_xml, "menuitem_installed_both");
+ g_signal_connect (widget, "toggled",
+ G_CALLBACK (pk_application_menu_filter_devel_cb), application);
+
+ /* gui filter */
+ widget = glade_xml_get_widget (application->priv->glade_xml, "menuitem_installed_yes");
+ g_signal_connect (widget, "toggled",
+ G_CALLBACK (pk_application_menu_filter_gui_cb), application);
+ widget = glade_xml_get_widget (application->priv->glade_xml, "menuitem_installed_no");
+ g_signal_connect (widget, "toggled",
+ G_CALLBACK (pk_application_menu_filter_gui_cb), application);
+ widget = glade_xml_get_widget (application->priv->glade_xml, "menuitem_installed_both");
+ g_signal_connect (widget, "toggled",
+ G_CALLBACK (pk_application_menu_filter_gui_cb), application);
+
+ /* free filter */
+ widget = glade_xml_get_widget (application->priv->glade_xml, "menuitem_installed_yes");
+ g_signal_connect (widget, "toggled",
+ G_CALLBACK (pk_application_menu_filter_free_cb), application);
+ widget = glade_xml_get_widget (application->priv->glade_xml, "menuitem_installed_no");
+ g_signal_connect (widget, "toggled",
+ G_CALLBACK (pk_application_menu_filter_free_cb), application);
+ widget = glade_xml_get_widget (application->priv->glade_xml, "menuitem_installed_both");
+ g_signal_connect (widget, "toggled",
+ G_CALLBACK (pk_application_menu_filter_free_cb), application);
+
+ widget = glade_xml_get_widget (application->priv->glade_xml, "vbox_description_pane");
gtk_widget_hide (widget);
widget = glade_xml_get_widget (application->priv->glade_xml, "hbox_filesize");
gtk_widget_hide (widget);
+ /* basename filter */
+ widget = glade_xml_get_widget (application->priv->glade_xml, "menuitem_basename");
+ g_signal_connect (widget, "toggled",
+ G_CALLBACK (pk_application_menu_filter_basename_cb), application);
+
+ /* newest filter */
+ widget = glade_xml_get_widget (application->priv->glade_xml, "menuitem_newest");
+ g_signal_connect (widget, "toggled",
+ G_CALLBACK (pk_application_menu_filter_newest_cb), application);
+
/* Remove description/file list if needed. */
widget = glade_xml_get_widget (application->priv->glade_xml, "notebook_description");
g_signal_connect (widget, "switch-page",
@@ -1474,14 +1704,22 @@
gtk_notebook_remove_page (GTK_NOTEBOOK (widget), page);
}
- /* until we get the mugshot stuff, disable this */
- widget = glade_xml_get_widget (application->priv->glade_xml, "image_description");
- gtk_widget_hide (widget);
-
/* hide the group selector if we don't support search-groups */
if (pk_enum_list_contains (application->priv->role_list, PK_ROLE_ENUM_SEARCH_GROUP) == FALSE) {
- widget = glade_xml_get_widget (application->priv->glade_xml, "notebook_type");
- gtk_notebook_remove_page (GTK_NOTEBOOK (widget), 1);
+ widget = glade_xml_get_widget (application->priv->glade_xml, "scrolledwindow_groups");
+ gtk_widget_hide (widget);
+ }
+
+ /* hide the refresh cache button if we can't do it */
+ if (pk_enum_list_contains (application->priv->role_list, PK_ROLE_ENUM_REFRESH_CACHE) == FALSE) {
+ widget = glade_xml_get_widget (application->priv->glade_xml, "imagemenuitem_refresh");
+ gtk_widget_hide (widget);
+ }
+
+ /* hide the software-sources button if we can't do it */
+ if (pk_enum_list_contains (application->priv->role_list, PK_ROLE_ENUM_GET_REPO_LIST) == FALSE) {
+ widget = glade_xml_get_widget (application->priv->glade_xml, "imagemenuitem_sources");
+ gtk_widget_hide (widget);
}
/* simple find button */
@@ -1525,65 +1763,29 @@
/* coldplug icon to default to search by name*/
pk_application_menu_search_by_name (NULL, application);
- /* filter installed */
- widget = glade_xml_get_widget (application->priv->glade_xml, "combobox_filter_installed");
- gtk_combo_box_append_text (GTK_COMBO_BOX (widget), _("Installed"));
- gtk_combo_box_append_text (GTK_COMBO_BOX (widget), _("Available"));
- gtk_combo_box_append_text (GTK_COMBO_BOX (widget), _("All packages"));
- g_signal_connect (GTK_COMBO_BOX (widget), "changed",
- G_CALLBACK (pk_application_filter_installed_combobox_changed_cb), application);
- gtk_combo_box_set_active (GTK_COMBO_BOX (widget), 2);
-
- /* filter devel */
- widget = glade_xml_get_widget (application->priv->glade_xml, "combobox_filter_gui");
- gtk_combo_box_append_text (GTK_COMBO_BOX (widget), _("Only graphical"));
- gtk_combo_box_append_text (GTK_COMBO_BOX (widget), _("Only text"));
- gtk_combo_box_append_text (GTK_COMBO_BOX (widget), _("All packages"));
- g_signal_connect (GTK_COMBO_BOX (widget), "changed",
- G_CALLBACK (pk_application_filter_gui_combobox_changed_cb), application);
- gtk_combo_box_set_active (GTK_COMBO_BOX (widget), 2);
-
- /* filter gui */
- widget = glade_xml_get_widget (application->priv->glade_xml, "combobox_filter_devel");
- gtk_combo_box_append_text (GTK_COMBO_BOX (widget), _("Only development"));
- gtk_combo_box_append_text (GTK_COMBO_BOX (widget), _("Non-development"));
- gtk_combo_box_append_text (GTK_COMBO_BOX (widget), _("All packages"));
- g_signal_connect (GTK_COMBO_BOX (widget), "changed",
- G_CALLBACK (pk_application_filter_devel_combobox_changed_cb), application);
- gtk_combo_box_set_active (GTK_COMBO_BOX (widget), 2);
-
- /* filter free */
- widget = glade_xml_get_widget (application->priv->glade_xml, "combobox_filter_free");
- gtk_combo_box_append_text (GTK_COMBO_BOX (widget), _("Only free"));
- gtk_combo_box_append_text (GTK_COMBO_BOX (widget), _("Non-free"));
- gtk_combo_box_append_text (GTK_COMBO_BOX (widget), _("All packages"));
- g_signal_connect (GTK_COMBO_BOX (widget), "changed",
- G_CALLBACK (pk_application_filter_free_combobox_changed_cb), application);
- gtk_combo_box_set_active (GTK_COMBO_BOX (widget), 2);
-
/* hide the filters we can't support */
if (pk_enum_list_contains (application->priv->filter_list, PK_FILTER_ENUM_INSTALLED) == FALSE) {
- widget = glade_xml_get_widget (application->priv->glade_xml, "combobox_filter_installed");
- gtk_widget_hide (widget);
- widget = glade_xml_get_widget (application->priv->glade_xml, "label_filter_installed");
+ widget = glade_xml_get_widget (application->priv->glade_xml, "menuitem_installed");
gtk_widget_hide (widget);
}
if (pk_enum_list_contains (application->priv->filter_list, PK_FILTER_ENUM_DEVELOPMENT) == FALSE) {
- widget = glade_xml_get_widget (application->priv->glade_xml, "combobox_filter_devel");
- gtk_widget_hide (widget);
- widget = glade_xml_get_widget (application->priv->glade_xml, "label_filter_devel");
+ widget = glade_xml_get_widget (application->priv->glade_xml, "menuitem_devel");
gtk_widget_hide (widget);
}
if (pk_enum_list_contains (application->priv->filter_list, PK_FILTER_ENUM_GUI) == FALSE) {
- widget = glade_xml_get_widget (application->priv->glade_xml, "combobox_filter_gui");
- gtk_widget_hide (widget);
- widget = glade_xml_get_widget (application->priv->glade_xml, "label_filter_gui");
+ widget = glade_xml_get_widget (application->priv->glade_xml, "menuitem_gui");
gtk_widget_hide (widget);
}
if (pk_enum_list_contains (application->priv->filter_list, PK_FILTER_ENUM_FREE) == FALSE) {
- widget = glade_xml_get_widget (application->priv->glade_xml, "combobox_filter_free");
+ widget = glade_xml_get_widget (application->priv->glade_xml, "menuitem_free");
gtk_widget_hide (widget);
- widget = glade_xml_get_widget (application->priv->glade_xml, "label_filter_free");
+ }
+ if (pk_enum_list_contains (application->priv->filter_list, PK_FILTER_ENUM_BASENAME) == FALSE) {
+ widget = glade_xml_get_widget (application->priv->glade_xml, "menuitem_basename");
+ gtk_widget_hide (widget);
+ }
+ if (TRUE) {
+ widget = glade_xml_get_widget (application->priv->glade_xml, "menuitem_newest");
gtk_widget_hide (widget);
}
@@ -1596,7 +1798,7 @@
widget = glade_xml_get_widget (application->priv->glade_xml, "button_find");
gtk_widget_set_sensitive (widget, FALSE);
- gtk_widget_set_size_request (main_window, 800, 400);
+ gtk_widget_set_size_request (main_window, 800, 500);
gtk_widget_show (main_window);
widget = glade_xml_get_widget (application->priv->glade_xml, "treeview_packages");
Modified: trunk/src/pk-update-viewer.c
==============================================================================
--- trunk/src/pk-update-viewer.c (original)
+++ trunk/src/pk-update-viewer.c Mon Mar 24 14:16:05 2008
@@ -295,6 +295,7 @@
pk_debug ("don't double start");
return;
}
+ gtk_list_store_clear (list_store_details);
pk_updates_animation_load_frames ();
@@ -365,6 +366,8 @@
return;
}
+ gtk_list_store_clear (list_store_description);
+
pk_updates_animation_load_frames ();
widget = glade_xml_get_widget (glade_xml, "treeview_description");
@@ -426,24 +429,23 @@
* pk_updates_refresh_cb:
**/
static void
-pk_updates_refresh_cb (GtkWidget *widget, gboolean data)
+pk_updates_refresh_cb (GtkWidget *widget, gpointer data)
{
gboolean ret;
/* clear existing list */
- gtk_list_store_clear (list_store_details);
pk_updates_preview_animation_start ();
/* make the refresh button non-clickable */
gtk_widget_set_sensitive (widget, FALSE);
- /* make the apply button non-clickable until we get completion */
- widget = glade_xml_get_widget (glade_xml, "button_apply");
- gtk_widget_set_sensitive (widget, FALSE);
+ /* make the buttons non-clickable until we get completion */
widget = glade_xml_get_widget (glade_xml, "button_apply2");
gtk_widget_set_sensitive (widget, FALSE);
widget = glade_xml_get_widget (glade_xml, "button_review");
gtk_widget_set_sensitive (widget, FALSE);
+ widget = glade_xml_get_widget (glade_xml, "button_history");
+ gtk_widget_set_sensitive (widget, FALSE);
/* we can't click this if we havn't finished */
pk_client_reset (client, NULL);
@@ -453,6 +455,19 @@
}
}
+static void
+pk_updates_history_cb (GtkWidget *widget, gpointer data)
+{
+ GError *error = NULL;
+
+ /* FIXME: do this in process */
+ if (!g_spawn_command_line_async ("pk-transaction-viewer", &error)) {
+ pk_error_modal_dialog (_("Failed to launch transaction viewer"),
+ error->message);
+ g_error_free (error);
+ }
+}
+
/**
* pk_button_cancel_cb:
**/
@@ -900,7 +915,6 @@
g_free (package_id);
/* clear and display animation until new details come in */
- gtk_list_store_clear (list_store_description);
pk_updates_description_animation_start ();
widget = glade_xml_get_widget (glade_xml, "hbox_reboot");
@@ -960,15 +974,15 @@
pk_update_get_approx_time (guint time)
{
if (time < 60) {
- return _("Less than a minute");
+ return _("Less than a minute ago");
} else if (time < 60*60) {
- return _("Less than an hour");
+ return _("Less than an hour ago");
} else if (time < 24*60*60) {
- return _("A few hours");
+ return _("A few hours ago");
} else if (time < 7*24*60*60) {
- return _("A few days");
+ return _("A few days ago");
}
- return _("Over a week");
+ return _("Over a week ago");
}
/**
@@ -1050,15 +1064,15 @@
/* stop the throbber */
pk_updates_preview_animation_stop ();
- /* make the refresh button clickable now we have completed */
- widget = glade_xml_get_widget (glade_xml, "button_apply");
- gtk_widget_set_sensitive (widget, TRUE);
+ /* make the buttons clickable again now we have completed */
widget = glade_xml_get_widget (glade_xml, "button_apply2");
gtk_widget_set_sensitive (widget, TRUE);
widget = glade_xml_get_widget (glade_xml, "button_review");
gtk_widget_set_sensitive (widget, TRUE);
widget = glade_xml_get_widget (glade_xml, "button_refresh");
gtk_widget_set_sensitive (widget, TRUE);
+ widget = glade_xml_get_widget (glade_xml, "button_history");
+ gtk_widget_set_sensitive (widget, TRUE);
/* hide the cancel */
if (role == PK_ROLE_ENUM_UPDATE_SYSTEM) {
@@ -1308,6 +1322,7 @@
PkEnumList *role_list;
PkRoleEnum role;
gboolean ret;
+ GtkSizeGroup *size_group;
const GOptionEntry options[] = {
{ "verbose", 'v', 0, G_OPTION_ARG_NONE, &verbose,
@@ -1397,10 +1412,6 @@
widget = glade_xml_get_widget (glade_xml, "button_restart");
gtk_widget_hide (widget);
- /* hide until we have reboot notifier */
- widget = glade_xml_get_widget (glade_xml, "button_review");
- gtk_widget_hide (widget);
-
/* Get the main window quit */
g_signal_connect (main_window, "delete_event",
G_CALLBACK (pk_window_delete_event_cb), loop);
@@ -1445,18 +1456,25 @@
g_signal_connect (widget, "clicked",
G_CALLBACK (pk_updates_apply_cb), loop);
gtk_widget_set_tooltip_text(widget, _("Apply all updates"));
- gtk_widget_set_sensitive (widget, FALSE);
widget = glade_xml_get_widget (glade_xml, "button_apply2");
g_signal_connect (widget, "clicked",
G_CALLBACK (pk_updates_apply_cb), loop);
gtk_widget_set_tooltip_text(widget, _("Apply all updates"));
- gtk_widget_set_sensitive (widget, FALSE);
+
+ size_group = gtk_size_group_new (GTK_SIZE_GROUP_BOTH);
widget = glade_xml_get_widget (glade_xml, "button_refresh");
g_signal_connect (widget, "clicked",
G_CALLBACK (pk_updates_refresh_cb), NULL);
gtk_widget_set_tooltip_text(widget, _("Refreshing is not normally required but will retrieve the latest application and update lists"));
+ gtk_size_group_add_widget (size_group, widget);
+
+ widget = glade_xml_get_widget (glade_xml, "button_history");
+ g_signal_connect (widget, "clicked",
+ G_CALLBACK (pk_updates_history_cb), NULL);
+ gtk_size_group_add_widget (size_group, widget);
+
widget = glade_xml_get_widget (glade_xml, "button_help");
g_signal_connect (widget, "clicked",
G_CALLBACK (pk_button_help_cb), NULL);
@@ -1505,9 +1523,15 @@
pk_treeview_add_columns_update (GTK_TREE_VIEW (widget));
gtk_tree_view_columns_autosize (GTK_TREE_VIEW (widget));
- /* make the refresh button non-clickable until we get completion */
+ /* make the buttons non-clickable until we get completion */
widget = glade_xml_get_widget (glade_xml, "button_refresh");
gtk_widget_set_sensitive (widget, FALSE);
+ widget = glade_xml_get_widget (glade_xml, "button_apply2");
+ gtk_widget_set_sensitive (widget, FALSE);
+ widget = glade_xml_get_widget (glade_xml, "button_review");
+ gtk_widget_set_sensitive (widget, FALSE);
+ widget = glade_xml_get_widget (glade_xml, "button_history");
+ gtk_widget_set_sensitive (widget, FALSE);
/* set the last updated text */
pk_update_update_last_refreshed_time (client);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]