summaryrefslogtreecommitdiff
path: root/DistUpgrade
diff options
context:
space:
mode:
authorMichael Vogt <egon@top>2005-12-06 13:32:11 +0100
committerMichael Vogt <egon@top>2005-12-06 13:32:11 +0100
commitbc6bc0e888c98e8c95dec930969c7e27b846a3b1 (patch)
tree6bff11dbd802ad5c2ec32395a9becb69745eee9b /DistUpgrade
parent5551d6d2364b1db2c4180ed5f882020019604eb5 (diff)
downloadpython-apt-bc6bc0e888c98e8c95dec930969c7e27b846a3b1.tar.gz
* implemented confirmChanges()
Diffstat (limited to 'DistUpgrade')
-rw-r--r--DistUpgrade/DistUpgrade.glade113
-rw-r--r--DistUpgrade/DistUpgrade.py30
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">&lt;b&gt;Required changes:&lt;/b&gt;</property>
+ <property name="label" translatable="yes">&lt;b&gt;Confirm changes:&lt;/b&gt;</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,