diff options
author | Sebastian Koslowski <koslowski@kit.edu> | 2015-04-03 18:16:18 +0200 |
---|---|---|
committer | Sebastian Koslowski <koslowski@kit.edu> | 2015-04-03 22:15:49 +0200 |
commit | 6afc40e80f05a6cc2dbdebcc037ed40c5f5921f1 (patch) | |
tree | 22c292cb823fcdf6c048bf519f7de3ddf44e6fb1 /grc/gui/ActionHandler.py | |
parent | 8939e2e400b9ca2187c8618d986055bb0346ac07 (diff) |
grc: fix apply button, on enable it if needed, update main window on apply
Diffstat (limited to 'grc/gui/ActionHandler.py')
-rw-r--r-- | grc/gui/ActionHandler.py | 26 |
1 files changed, 16 insertions, 10 deletions
diff --git a/grc/gui/ActionHandler.py b/grc/gui/ActionHandler.py index 116dff189b..6dc088c36d 100644 --- a/grc/gui/ActionHandler.py +++ b/grc/gui/ActionHandler.py @@ -407,16 +407,22 @@ class ActionHandler: elif action == Actions.BLOCK_PARAM_MODIFY: selected_block = self.get_flow_graph().get_selected_block() if selected_block: - if PropsDialog(selected_block).run(): - #save the new state - self.get_flow_graph().update() - self.get_page().get_state_cache().save_new_state(self.get_flow_graph().export_data()) - self.get_page().set_saved(False) - else: - #restore the current state - n = self.get_page().get_state_cache().get_current_state() - self.get_flow_graph().import_data(n) - self.get_flow_graph().update() + dialog = PropsDialog(selected_block) + response = gtk.RESPONSE_APPLY + while response == gtk.RESPONSE_APPLY: # do while construct: rerun the dialog if Apply was hit + response = dialog.run() + if response == gtk.RESPONSE_APPLY: + self.get_flow_graph().update() + Actions.ELEMENT_SELECT() # empty action, that updates the main window and flowgraph + elif response == gtk.RESPONSE_ACCEPT: + self.get_flow_graph().update() + self.get_page().get_state_cache().save_new_state(self.get_flow_graph().export_data()) + self.get_page().set_saved(False) + else: # restore the current state + n = self.get_page().get_state_cache().get_current_state() + self.get_flow_graph().import_data(n) + self.get_flow_graph().update() + dialog.destroy() ################################################## # View Parser Errors ################################################## |