diff options
| author | Michael Vogt <egon@top> | 2005-12-06 13:32:11 +0100 |
|---|---|---|
| committer | Michael Vogt <egon@top> | 2005-12-06 13:32:11 +0100 |
| commit | bc6bc0e888c98e8c95dec930969c7e27b846a3b1 (patch) | |
| tree | 6bff11dbd802ad5c2ec32395a9becb69745eee9b /DistUpgrade | |
| parent | 5551d6d2364b1db2c4180ed5f882020019604eb5 (diff) | |
| download | python-apt-bc6bc0e888c98e8c95dec930969c7e27b846a3b1.tar.gz | |
* implemented confirmChanges()
Diffstat (limited to 'DistUpgrade')
| -rw-r--r-- | DistUpgrade/DistUpgrade.glade | 113 | ||||
| -rw-r--r-- | DistUpgrade/DistUpgrade.py | 30 |
2 files changed, 112 insertions, 31 deletions
diff --git a/DistUpgrade/DistUpgrade.glade b/DistUpgrade/DistUpgrade.glade index 7651d2cd..92355a60 100644 --- a/DistUpgrade/DistUpgrade.glade +++ b/DistUpgrade/DistUpgrade.glade @@ -98,14 +98,14 @@ </child> </widget> -<widget class="GtkDialog" id="dialog_details"> - <property name="title" translatable="yes">Details</property> +<widget class="GtkDialog" id="dialog_changes"> + <property name="title" translatable="yes">Changes</property> <property name="type">GTK_WINDOW_TOPLEVEL</property> <property name="window_position">GTK_WIN_POS_CENTER_ON_PARENT</property> <property name="modal">False</property> <property name="default_width">400</property> <property name="default_height">200</property> - <property name="resizable">True</property> + <property name="resizable">False</property> <property name="destroy_with_parent">False</property> <property name="decorated">True</property> <property name="skip_taskbar_hint">False</property> @@ -120,7 +120,7 @@ <widget class="GtkVBox" id="vbox2"> <property name="visible">True</property> <property name="homogeneous">False</property> - <property name="spacing">0</property> + <property name="spacing">6</property> <child internal-child="action_area"> <widget class="GtkHButtonBox" id="hbuttonbox1"> @@ -132,11 +132,24 @@ <property name="visible">True</property> <property name="can_default">True</property> <property name="can_focus">True</property> - <property name="label">gtk-ok</property> + <property name="label">gtk-no</property> + <property name="use_stock">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="focus_on_click">True</property> + <property name="response_id">-9</property> + </widget> + </child> + + <child> + <widget class="GtkButton" id="button2"> + <property name="visible">True</property> + <property name="can_default">True</property> + <property name="can_focus">True</property> + <property name="label">gtk-yes</property> <property name="use_stock">True</property> <property name="relief">GTK_RELIEF_NORMAL</property> <property name="focus_on_click">True</property> - <property name="response_id">-5</property> + <property name="response_id">-8</property> </widget> </child> </widget> @@ -150,14 +163,15 @@ <child> <widget class="GtkVBox" id="vbox3"> + <property name="border_width">6</property> <property name="visible">True</property> <property name="homogeneous">False</property> - <property name="spacing">0</property> + <property name="spacing">6</property> <child> <widget class="GtkLabel" id="label3"> <property name="visible">True</property> - <property name="label" translatable="yes"><b>Required changes:</b></property> + <property name="label" translatable="yes"><b>Confirm changes:</b></property> <property name="use_underline">False</property> <property name="use_markup">True</property> <property name="justify">GTK_JUSTIFY_LEFT</property> @@ -180,26 +194,83 @@ </child> <child> - <widget class="GtkScrolledWindow" id="scrolledwindow1"> + <widget class="GtkLabel" id="label_changes"> + <property name="visible">True</property> + <property name="label" translatable="yes"></property> + <property name="use_underline">False</property> + <property name="use_markup">False</property> + <property name="justify">GTK_JUSTIFY_LEFT</property> + <property name="wrap">False</property> + <property name="selectable">False</property> + <property name="xalign">0</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> + <property name="width_chars">-1</property> + <property name="single_line_mode">False</property> + <property name="angle">0</property> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">False</property> + </packing> + </child> + + <child> + <widget class="GtkExpander" id="expander1"> <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> - <property name="window_placement">GTK_CORNER_TOP_LEFT</property> + <property name="expanded">False</property> + <property name="spacing">0</property> <child> - <widget class="GtkTreeView" id="treeview_details"> + <widget class="GtkScrolledWindow" id="scrolledwindow1"> <property name="visible">True</property> <property name="can_focus">True</property> - <property name="headers_visible">False</property> - <property name="rules_hint">False</property> - <property name="reorderable">False</property> - <property name="enable_search">True</property> - <property name="fixed_height_mode">False</property> - <property name="hover_selection">False</property> - <property name="hover_expand">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> + <property name="window_placement">GTK_CORNER_TOP_LEFT</property> + + <child> + <widget class="GtkTreeView" id="treeview_details"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="headers_visible">False</property> + <property name="rules_hint">False</property> + <property name="reorderable">False</property> + <property name="enable_search">True</property> + <property name="fixed_height_mode">False</property> + <property name="hover_selection">False</property> + <property name="hover_expand">False</property> + </widget> + </child> + </widget> + </child> + + <child> + <widget class="GtkLabel" id="label4"> + <property name="visible">True</property> + <property name="label" translatable="yes">Details</property> + <property name="use_underline">False</property> + <property name="use_markup">False</property> + <property name="justify">GTK_JUSTIFY_LEFT</property> + <property name="wrap">False</property> + <property name="selectable">False</property> + <property name="xalign">0.5</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> + <property name="width_chars">-1</property> + <property name="single_line_mode">False</property> + <property name="angle">0</property> </widget> + <packing> + <property name="type">label_item</property> + </packing> </child> </widget> <packing> diff --git a/DistUpgrade/DistUpgrade.py b/DistUpgrade/DistUpgrade.py index 0897104b..11a333a5 100644 --- a/DistUpgrade/DistUpgrade.py +++ b/DistUpgrade/DistUpgrade.py @@ -5,6 +5,7 @@ pygtk.require('2.0') import gtk import gtk.gdk import gtk.glade +import gobject import apt import apt_pkg @@ -45,9 +46,10 @@ class DistUpgradeView(object): self.toUpgrade = [] self.toRemove = [] for pkg in changes: - if pkg.markedUpgrade: toUpgrade.append(pkg) - elif pkg.markedInstall: toInstall.append(pkg) - elif pkg.markedRemove: toRemove.append(pkg) + if pkg.markedInstall: self.toInstall.append(pkg.name) + elif pkg.markedUpgrade: self.toUpgrade.append(pkg.name) + elif pkg.markedDelete: self.toRemove.append(pkg.name) + # no downgrades, re-installs assert(len(self.toInstall)+len(self.toUpgrade)+len(self.toRemove) == len(changes)) def askYesNoQuestion(self, summary, msg): pass @@ -120,17 +122,25 @@ class GtkDistUpgradeView(DistUpgradeView,SimpleGladeApp): dialog.destroy() return False def confirmChanges(self, changes): - DistUpgradeView.cnfirmChanges(self, changes) + DistUpgradeView.confirmChanges(self, changes) + msg = _("%s packages are going to be removed.\n" + "%s packages are going to be newly installed.\n" + "%s packages are going to be upgraded.\n" % + (len(self.toRemove),len(self.toInstall),len(self.toRemove))) + self.label_changes.set_text(msg) + # fill in the details self.details_list.clear() - for rm in toRemove: + for rm in self.toRemove: self.details_list.append([_("<b>To be removed: %s</b>" % rm)]) - for inst in toInstall: + for inst in self.toInstall: self.details_list.append([_("To be installed: %s" % inst)]) - for up in toUpgrade: + for up in self.toUpgrade: self.details_list.append([_("To be upgraded: %s" % up)]) - res = self.dialog_details.run() - self.dialog_details.hide() - return True + res = self.dialog_changes.run() + self.dialog_changes.hide() + if res == gtk.RESPONSE_YES: + return True + return False def askYesNoQuestion(self, summary, msg): msg = "<big><b>%s</b></big>\n\n%s" % (summary,msg) dialog = gtk.MessageDialog(parent=self.window_main, |
