summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Heinlein <sebastian.heinlein@web.de>2006-02-18 16:06:37 +0100
committerSebastian Heinlein <sebastian.heinlein@web.de>2006-02-18 16:06:37 +0100
commit8abb01fb328c6e0c3da3263af149934b02949b8a (patch)
tree397fd4a832636b0318aa60274b904780f520897b
parentcf64db47c8e2192041df35c6dd056fe6ae91cacc (diff)
downloadpython-apt-8abb01fb328c6e0c3da3263af149934b02949b8a.tar.gz
* Do not disable the update dialog during downloading of the changelog
* Show step 5 "Restarting the system" in the ui, since users asked me, how and when they should reboot. this should provide a better picture of the upgrade process * Fixed the parent of the change media dialog * Converted the abort DistUpgrade dialog to a nice glade dialog * Disabled the abortion of the DistUpgrade. it is currently not supported.
-rw-r--r--DistUpgrade/DistUpgrade.glade129
-rw-r--r--DistUpgrade/DistUpgradeViewGtk.py24
-rw-r--r--UpdateManager/UpdateManager.py2
3 files changed, 142 insertions, 13 deletions
diff --git a/DistUpgrade/DistUpgrade.glade b/DistUpgrade/DistUpgrade.glade
index 5b59fb4d..55b439c1 100644
--- a/DistUpgrade/DistUpgrade.glade
+++ b/DistUpgrade/DistUpgrade.glade
@@ -12,7 +12,6 @@
<property name="modal">False</property>
<property name="resizable">False</property>
<property name="destroy_with_parent">False</property>
- <property name="icon">update-manager.png</property>
<property name="decorated">True</property>
<property name="skip_taskbar_hint">False</property>
<property name="skip_pager_hint">False</property>
@@ -293,6 +292,7 @@
<widget class="GtkImage" id="image_step5">
<property name="width_request">18</property>
<property name="height_request">18</property>
+ <property name="visible">True</property>
<property name="xalign">0.5</property>
<property name="yalign">0.5</property>
<property name="xpad">0</property>
@@ -309,7 +309,8 @@
<child>
<widget class="GtkLabel" id="label_step5">
- <property name="label" translatable="yes"></property>
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Restarting the system</property>
<property name="use_underline">False</property>
<property name="use_markup">False</property>
<property name="justify">GTK_JUSTIFY_LEFT</property>
@@ -1285,4 +1286,128 @@ This is you last chance to cancel the upgrade.</property>
</child>
</widget>
+<widget class="GtkDialog" id="dialog_cancel">
+ <property name="border_width">6</property>
+ <property name="title" translatable="yes"></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="resizable">False</property>
+ <property name="destroy_with_parent">False</property>
+ <property name="decorated">True</property>
+ <property name="skip_taskbar_hint">True</property>
+ <property name="skip_pager_hint">True</property>
+ <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
+ <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
+ <property name="focus_on_map">True</property>
+ <property name="urgency_hint">True</property>
+ <property name="has_separator">False</property>
+
+ <child internal-child="vbox">
+ <widget class="GtkVBox" id="vbox11">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">12</property>
+
+ <child internal-child="action_area">
+ <widget class="GtkHButtonBox" id="hbuttonbox5">
+ <property name="visible">True</property>
+ <property name="layout_style">GTK_BUTTONBOX_END</property>
+
+ <child>
+ <widget class="GtkButton" id="button_cancel">
+ <property name="visible">True</property>
+ <property name="can_default">True</property>
+ <property name="can_focus">True</property>
+ <property name="label">_Cancel Upgrade</property>
+ <property name="use_underline">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <property name="response_id">-6</property>
+ </widget>
+ </child>
+
+ <child>
+ <widget class="GtkButton" id="button_resume">
+ <property name="visible">True</property>
+ <property name="can_default">True</property>
+ <property name="has_default">True</property>
+ <property name="can_focus">True</property>
+ <property name="label" translatable="yes">_Resume Upgrade</property>
+ <property name="use_underline">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <property name="response_id">-5</property>
+ </widget>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="pack_type">GTK_PACK_END</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkHBox" id="hbox11">
+ <property name="border_width">6</property>
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">12</property>
+
+ <child>
+ <widget class="GtkImage" id="image8">
+ <property name="visible">True</property>
+ <property name="stock">gtk-dialog-question</property>
+ <property name="icon_size">6</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="label29">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">&lt;b&gt;&lt;big&gt;Cancel the running upgrade?&lt;/big&gt;&lt;/b&gt;
+
+The system could be in an unusable state if you cancel the upgrade. You are strongly adviced to resume the upgrade.</property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">True</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">True</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0</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>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+ </widget>
+ </child>
+</widget>
+
</glade-interface>
diff --git a/DistUpgrade/DistUpgradeViewGtk.py b/DistUpgrade/DistUpgradeViewGtk.py
index 6013200b..c36d8dac 100644
--- a/DistUpgrade/DistUpgradeViewGtk.py
+++ b/DistUpgrade/DistUpgradeViewGtk.py
@@ -74,7 +74,7 @@ class GtkFetchProgressAdapter(apt.progress.FetchProgress):
def mediaChange(self, medium, drive):
#print "mediaChange %s %s" % (medium, drive)
msg = _("Please insert '%s' into the drive '%s'" % (medium,drive))
- dialog = gtk.MessageDialog(parent=self.main,
+ dialog = gtk.MessageDialog(parent=self.window_main,
flags=gtk.DIALOG_MODAL,
type=gtk.MESSAGE_QUESTION,
buttons=gtk.BUTTONS_OK_CANCEL)
@@ -182,9 +182,13 @@ class DistUpgradeViewGtk(DistUpgradeView,SimpleGladeApp):
# FIXME: i18n must be somewhere relative do this dir
bindtextdomain("update-manager",os.path.join(os.getcwd(),"mo"))
+ icons = gtk.icon_theme_get_default()
+ gtk.window_set_default_icon(icons.load_icon("update-manager", 32, 0))
SimpleGladeApp.__init__(self, "DistUpgrade.glade",
None, domain="update-manager")
self.window_main.set_keep_above(True)
+ self.window_main.realize()
+ self.window_main.window.set_functions(gtk.gdk.FUNC_MOVE)
self._opCacheProgress = GtkOpProgress(self.progressbar_cache)
self._fetchProgress = GtkFetchProgressAdapter(self)
self._installProgress = GtkInstallProgressAdapter(self)
@@ -328,6 +332,8 @@ class DistUpgradeViewGtk(DistUpgradeView,SimpleGladeApp):
def confirmRestart(self):
self.dialog_restart.set_transient_for(self.window_main)
+ self.dialog_restart.realize()
+ self.dialog_restart.window.set_functions(gtk.gdk.FUNC_MOVE)
res = self.dialog_restart.run()
self.dialog_restart.hide()
if res == gtk.RESPONSE_YES:
@@ -335,14 +341,14 @@ class DistUpgradeViewGtk(DistUpgradeView,SimpleGladeApp):
return False
def on_window_main_delete_event(self, widget, event):
- #print "on_window_main_delete_event()"
- summary = _("Are you sure you want cancel?")
- msg = _("Canceling during a upgrade can leave the system in a "
- "unstable state. It is strongly adviced to continue "
- "the operation. ")
- if self.askYesNoQuestion(summary, msg):
- self.exit(1)
- return True
+ self.dialog_cancel.set_transient_for(self.window_main)
+ self.dialog_cancel.realize()
+ self.dialog_cancel.window.set_functions(gtk.gdk.FUNC_MOVE)
+ res = self.dialog_cancel.run()
+ self.dialog_cancel.hide()
+ if res == gtk.RESPONSE_CANCEL:
+ self.destroy()
+ return True
if __name__ == "__main__":
view = GtkDistUpgradeView()
diff --git a/UpdateManager/UpdateManager.py b/UpdateManager/UpdateManager.py
index f73f790a..8b757bd1 100644
--- a/UpdateManager/UpdateManager.py
+++ b/UpdateManager/UpdateManager.py
@@ -356,7 +356,6 @@ class UpdateManager(SimpleGladeApp):
self.set_changes_buffer(changes_buffer, changes[0], name, changes[1])
else:
if self.expander_details.get_expanded():
- self.hbox_footer.set_sensitive(False)
lock = thread.allocate_lock()
lock.acquire()
t=thread.start_new_thread(self.cache.get_changelog,(name,lock))
@@ -373,7 +372,6 @@ class UpdateManager(SimpleGladeApp):
# download finished (or canceld, or time-out)
button.hide()
button.disconnect(id);
- self.hbox_footer.set_sensitive(True)
if self.cache.all_changes.has_key(name):
changes = self.cache.all_changes[name]