ability to restart adhoc process from every stage
This commit is contained in:
parent
61b26858d5
commit
f1e6e9245e
|
@ -99,6 +99,7 @@ class CommandWindow:
|
||||||
self.stage1()
|
self.stage1()
|
||||||
|
|
||||||
# displaying the window
|
# displaying the window
|
||||||
|
self.window.set_title('Ad-hoc Commands - Gajim')
|
||||||
self.xml.connect_signals(self)
|
self.xml.connect_signals(self)
|
||||||
self.window.show_all()
|
self.window.show_all()
|
||||||
|
|
||||||
|
@ -120,6 +121,9 @@ class CommandWindow:
|
||||||
def stage_close_button_clicked(self, *anything):
|
def stage_close_button_clicked(self, *anything):
|
||||||
assert False
|
assert False
|
||||||
|
|
||||||
|
def stage_restart_button_clicked(self, *anything):
|
||||||
|
assert False
|
||||||
|
|
||||||
def stage_adhoc_commands_window_delete_event(self, *anything):
|
def stage_adhoc_commands_window_delete_event(self, *anything):
|
||||||
assert False
|
assert False
|
||||||
|
|
||||||
|
@ -142,6 +146,9 @@ class CommandWindow:
|
||||||
def on_close_button_clicked(self, *anything):
|
def on_close_button_clicked(self, *anything):
|
||||||
return self.stage_close_button_clicked(*anything)
|
return self.stage_close_button_clicked(*anything)
|
||||||
|
|
||||||
|
def on_restart_button_clicked(self, *anything):
|
||||||
|
return self.stage_restart_button_clicked(*anything)
|
||||||
|
|
||||||
def on_adhoc_commands_window_destroy(self, *anything):
|
def on_adhoc_commands_window_destroy(self, *anything):
|
||||||
# TODO: do all actions that are needed to remove this object from memory
|
# TODO: do all actions that are needed to remove this object from memory
|
||||||
self.remove_pulsing()
|
self.remove_pulsing()
|
||||||
|
@ -181,6 +188,7 @@ class CommandWindow:
|
||||||
# setup the callbacks
|
# setup the callbacks
|
||||||
self.stage_finish = self.stage1_finish
|
self.stage_finish = self.stage1_finish
|
||||||
self.stage_close_button_clicked = self.stage1_close_button_clicked
|
self.stage_close_button_clicked = self.stage1_close_button_clicked
|
||||||
|
self.stage_restart_button_clicked = self.stage1_restart_button_clicked
|
||||||
self.stage_adhoc_commands_window_delete_event = \
|
self.stage_adhoc_commands_window_delete_event = \
|
||||||
self.stage1_adhoc_commands_window_delete_event
|
self.stage1_adhoc_commands_window_delete_event
|
||||||
|
|
||||||
|
@ -190,9 +198,13 @@ class CommandWindow:
|
||||||
def stage1_close_button_clicked(self, widget):
|
def stage1_close_button_clicked(self, widget):
|
||||||
# cancelling in this stage is not critical, so we don't
|
# cancelling in this stage is not critical, so we don't
|
||||||
# show any popups to user
|
# show any popups to user
|
||||||
self.stage1_finish()
|
self.stage_finish()
|
||||||
self.window.destroy()
|
self.window.destroy()
|
||||||
|
|
||||||
|
def stage1_restart_button_clicked(self, widget):
|
||||||
|
self.stage_finish()
|
||||||
|
self.restart()
|
||||||
|
|
||||||
def stage1_adhoc_commands_window_delete_event(self, widget):
|
def stage1_adhoc_commands_window_delete_event(self, widget):
|
||||||
self.stage1_finish()
|
self.stage1_finish()
|
||||||
return True
|
return True
|
||||||
|
@ -233,6 +245,7 @@ class CommandWindow:
|
||||||
|
|
||||||
self.stage_finish = self.stage2_finish
|
self.stage_finish = self.stage2_finish
|
||||||
self.stage_close_button_clicked = self.stage2_close_button_clicked
|
self.stage_close_button_clicked = self.stage2_close_button_clicked
|
||||||
|
self.stage_restart_button_clicked = self.stage2_restart_button_clicked
|
||||||
self.stage_forward_button_clicked = self.stage2_forward_button_clicked
|
self.stage_forward_button_clicked = self.stage2_forward_button_clicked
|
||||||
self.stage_adhoc_commands_window_delete_event = self.do_nothing
|
self.stage_adhoc_commands_window_delete_event = self.do_nothing
|
||||||
|
|
||||||
|
@ -248,6 +261,10 @@ class CommandWindow:
|
||||||
self.stage_finish()
|
self.stage_finish()
|
||||||
self.window.destroy()
|
self.window.destroy()
|
||||||
|
|
||||||
|
def stage2_restart_button_clicked(self, widget):
|
||||||
|
self.stage_finish()
|
||||||
|
self.restart()
|
||||||
|
|
||||||
def stage2_forward_button_clicked(self, widget):
|
def stage2_forward_button_clicked(self, widget):
|
||||||
self.stage3()
|
self.stage3()
|
||||||
|
|
||||||
|
@ -270,6 +287,7 @@ class CommandWindow:
|
||||||
self.stages_notebook.page_num(
|
self.stages_notebook.page_num(
|
||||||
self.sending_form_stage_vbox))
|
self.sending_form_stage_vbox))
|
||||||
|
|
||||||
|
self.restart_button.set_sensitive(True)
|
||||||
self.close_button.set_sensitive(True)
|
self.close_button.set_sensitive(True)
|
||||||
self.back_button.set_sensitive(False)
|
self.back_button.set_sensitive(False)
|
||||||
self.forward_button.set_sensitive(False)
|
self.forward_button.set_sensitive(False)
|
||||||
|
@ -284,12 +302,29 @@ class CommandWindow:
|
||||||
self.stage_execute_button_clicked = self.stage3_execute_button_clicked
|
self.stage_execute_button_clicked = self.stage3_execute_button_clicked
|
||||||
self.stage_finish_button_clicked = self.stage3_finish_button_clicked
|
self.stage_finish_button_clicked = self.stage3_finish_button_clicked
|
||||||
self.stage_close_button_clicked = self.stage3_close_button_clicked
|
self.stage_close_button_clicked = self.stage3_close_button_clicked
|
||||||
|
self.stage_restart_button_clicked = self.stage3_restart_button_clicked
|
||||||
self.stage_adhoc_commands_window_delete_event = \
|
self.stage_adhoc_commands_window_delete_event = \
|
||||||
self.stage3_close_button_clicked
|
self.stage3_close_button_clicked
|
||||||
|
|
||||||
def stage3_finish(self):
|
def stage3_finish(self):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
def stage3_can_close(self, cb):
|
||||||
|
if self.form_status == 'completed':
|
||||||
|
cb()
|
||||||
|
return
|
||||||
|
|
||||||
|
def on_yes(button):
|
||||||
|
self.send_cancel()
|
||||||
|
dialog.destroy()
|
||||||
|
cb()
|
||||||
|
|
||||||
|
dialog = dialogs.HigDialog(self.window, gtk.DIALOG_DESTROY_WITH_PARENT \
|
||||||
|
| gtk.DIALOG_MODAL, gtk.BUTTONS_YES_NO, _('Cancel confirmation'),
|
||||||
|
_('You are in process of executing command. Do you really want to '
|
||||||
|
'cancel it?'), on_response_yes=on_yes)
|
||||||
|
dialog.popup()
|
||||||
|
|
||||||
def stage3_close_button_clicked(self, widget):
|
def stage3_close_button_clicked(self, widget):
|
||||||
"""
|
"""
|
||||||
We are in the middle of executing command. Ask user if he really want to
|
We are in the middle of executing command. Ask user if he really want to
|
||||||
|
@ -297,26 +332,23 @@ class CommandWindow:
|
||||||
"""
|
"""
|
||||||
# this works also as a handler for window_delete_event, so we have to
|
# this works also as a handler for window_delete_event, so we have to
|
||||||
# return appropriate values
|
# return appropriate values
|
||||||
if self.form_status == 'completed':
|
|
||||||
if widget != self.window:
|
|
||||||
self.window.destroy()
|
|
||||||
return False
|
|
||||||
|
|
||||||
if self.allow_stage3_close:
|
if self.allow_stage3_close:
|
||||||
return False
|
return False
|
||||||
|
|
||||||
def on_yes(button):
|
def on_ok():
|
||||||
self.send_cancel()
|
|
||||||
self.allow_stage3_close = True
|
self.allow_stage3_close = True
|
||||||
self.window.destroy()
|
self.window.destroy()
|
||||||
|
|
||||||
dialog = dialogs.HigDialog(self.window, gtk.DIALOG_DESTROY_WITH_PARENT \
|
self.stage3_can_close(on_ok)
|
||||||
| gtk.DIALOG_MODAL, gtk.BUTTONS_YES_NO, _('Cancel confirmation'),
|
|
||||||
_('You are in process of executing command. Do you really want to '
|
|
||||||
'cancel it?'), on_response_yes=on_yes)
|
|
||||||
dialog.popup()
|
|
||||||
return True # Block event, don't close window
|
return True # Block event, don't close window
|
||||||
|
|
||||||
|
def stage3_restart_button_clicked(self, widget):
|
||||||
|
def on_ok():
|
||||||
|
self.restart()
|
||||||
|
|
||||||
|
self.stage3_can_close(on_ok)
|
||||||
|
|
||||||
def stage3_back_button_clicked(self, widget):
|
def stage3_back_button_clicked(self, widget):
|
||||||
self.stage3_submit_form('prev')
|
self.stage3_submit_form('prev')
|
||||||
|
|
||||||
|
@ -407,7 +439,6 @@ class CommandWindow:
|
||||||
|
|
||||||
if self.form_status == 'completed':
|
if self.form_status == 'completed':
|
||||||
self.close_button.set_sensitive(True)
|
self.close_button.set_sensitive(True)
|
||||||
self.restart_button.set_sensitive(True)
|
|
||||||
self.back_button.hide()
|
self.back_button.hide()
|
||||||
self.forward_button.hide()
|
self.forward_button.hide()
|
||||||
self.execute_button.hide()
|
self.execute_button.hide()
|
||||||
|
@ -425,7 +456,7 @@ class CommandWindow:
|
||||||
self.notes_label.set_no_show_all(True)
|
self.notes_label.set_no_show_all(True)
|
||||||
self.notes_label.hide()
|
self.notes_label.hide()
|
||||||
|
|
||||||
def on_restart_button_clicked(self, widget):
|
def restart(self):
|
||||||
self.commandnode = None
|
self.commandnode = None
|
||||||
self.initiate()
|
self.initiate()
|
||||||
|
|
||||||
|
@ -448,11 +479,15 @@ class CommandWindow:
|
||||||
|
|
||||||
self.stage_finish = self.do_nothing
|
self.stage_finish = self.do_nothing
|
||||||
self.stage_close_button_clicked = self.stage4_close_button_clicked
|
self.stage_close_button_clicked = self.stage4_close_button_clicked
|
||||||
|
self.stage_restart_button_clicked = self.stage4_restart_button_clicked
|
||||||
self.stage_adhoc_commands_window_delete_event = self.do_nothing
|
self.stage_adhoc_commands_window_delete_event = self.do_nothing
|
||||||
|
|
||||||
def stage4_close_button_clicked(self, widget):
|
def stage4_close_button_clicked(self, widget):
|
||||||
self.window.destroy()
|
self.window.destroy()
|
||||||
|
|
||||||
|
def stage4_restart_button_clicked(self, widget):
|
||||||
|
self.restart()
|
||||||
|
|
||||||
def on_check_commands_2_button_clicked(self, widget):
|
def on_check_commands_2_button_clicked(self, widget):
|
||||||
self.stage1()
|
self.stage1()
|
||||||
|
|
||||||
|
@ -496,11 +531,15 @@ class CommandWindow:
|
||||||
|
|
||||||
self.stage_finish = self.do_nothing
|
self.stage_finish = self.do_nothing
|
||||||
self.stage_close_button_clicked = self.stage5_close_button_clicked
|
self.stage_close_button_clicked = self.stage5_close_button_clicked
|
||||||
|
self.stage_restart_button_clicked = self.stage5_restart_button_clicked
|
||||||
self.stage_adhoc_commands_window_delete_event = self.do_nothing
|
self.stage_adhoc_commands_window_delete_event = self.do_nothing
|
||||||
|
|
||||||
def stage5_close_button_clicked(self, widget):
|
def stage5_close_button_clicked(self, widget):
|
||||||
self.window.destroy()
|
self.window.destroy()
|
||||||
|
|
||||||
|
def stage5_restart_button_clicked(self, widget):
|
||||||
|
self.restart()
|
||||||
|
|
||||||
# helpers to handle pulsing in progressbar
|
# helpers to handle pulsing in progressbar
|
||||||
def setup_pulsing(self, progressbar):
|
def setup_pulsing(self, progressbar):
|
||||||
"""
|
"""
|
||||||
|
|
Loading…
Reference in New Issue