Fixed frame locking.
This commit introduces freezing of the Quit button, and fixes regression in locking.
This commit is contained in:
parent
c40eaa8981
commit
48828364f9
1 changed files with 7 additions and 4 deletions
11
wizpym.py
11
wizpym.py
|
@ -318,13 +318,15 @@ class Frame(gtk.Dialog):
|
|||
self._prev_button.set_sensitive(False)
|
||||
self._next_button = gtk.Button('Next')
|
||||
self._next_button.set_sensitive(False)
|
||||
self._quit_button = gtk.Button('Quit')
|
||||
self._quit_button.set_sensitive(True)
|
||||
|
||||
self.set_default_size(min_size[0], min_size[1])
|
||||
self.set_position(gtk.WIN_POS_CENTER)
|
||||
self.has_separator = True
|
||||
self.add_action_widget(self._prev_button, gtk.RESPONSE_REJECT)
|
||||
self.add_action_widget(self._next_button, gtk.RESPONSE_ACCEPT)
|
||||
self.add_button('Quit', gtk.RESPONSE_CLOSE)
|
||||
self.add_action_widget(self._quit_button, gtk.RESPONSE_CLOSE)
|
||||
self.connect('close', gtk.main_quit)
|
||||
self.connect('destroy', gtk.main_quit)
|
||||
self.connect("response", self._on_button)
|
||||
|
@ -341,7 +343,7 @@ class Frame(gtk.Dialog):
|
|||
This method is called by ActivePane instances when their
|
||||
background task is started.
|
||||
"""
|
||||
self._lock = True
|
||||
self._locked = True
|
||||
self.update()
|
||||
|
||||
def unlock(self):
|
||||
|
@ -350,12 +352,12 @@ class Frame(gtk.Dialog):
|
|||
This method is called by ActivePane instances when their
|
||||
background task is terminated.
|
||||
"""
|
||||
self._lock = False
|
||||
self._locked = False
|
||||
self.update()
|
||||
|
||||
def update(self):
|
||||
"""Update the frame buttons display."""
|
||||
# Beware that this method can be code early, before the track
|
||||
# Beware that this method can be called early, before the track
|
||||
# contains the first pane
|
||||
if len(self._track):
|
||||
pane = self._track[-1]
|
||||
|
@ -363,6 +365,7 @@ class Frame(gtk.Dialog):
|
|||
not self._locked and len(self._track) > 1)
|
||||
self._next_button.set_sensitive(
|
||||
not self._locked and pane.ready and not pane.is_terminal())
|
||||
self._quit_button.set_sensitive(not self._locked)
|
||||
|
||||
def _on_button(self, w, response_id):
|
||||
"""The frame buttons handler."""
|
||||
|
|
Loading…
Reference in a new issue