diff --git a/src/adhoc_commands.py b/src/adhoc_commands.py index e0399a746ddb6fe7dd6bf735a4166670f586bc99..85b946b1417e485c853f532b84010e1911a019cf 100644 --- a/src/adhoc_commands.py +++ b/src/adhoc_commands.py @@ -44,7 +44,7 @@ class CommandWindow: TODO: gtk 2.10 has a special wizard-widget, consider using it...''' - def __init__(self, account, jid): + def __init__(self, account, jid, commandnode=None): '''Create new window.''' # an account object @@ -55,7 +55,7 @@ class CommandWindow: self.commandlist=None # a list of (commandname, commanddescription) # command's data - self.commandnode = None + self.commandnode = commandnode self.sessionid = None self.dataform = None self.allow_stage3_close = False @@ -78,8 +78,12 @@ class CommandWindow: self.data_form_widget.show() self.sending_form_stage_vbox.pack_start(self.data_form_widget) - # setting initial stage - self.stage1() + if self.commandnode: + # Execute command + self.stage3() + else: + # setting initial stage + self.stage1() # displaying the window self.xml.signal_autoconnect(self) diff --git a/src/disco.py b/src/disco.py index 90aab600b959b0b0e7bc89bbabfdd49e419a7b95..65a91d034617f365059acac1cae07eed0dfe0c5f 100644 --- a/src/disco.py +++ b/src/disco.py @@ -1258,14 +1258,15 @@ class ToplevelAgentBrowser(AgentBrowser): self._renderer.set_property('cell-background', bgcolor) self.window.services_treeview.queue_draw() - def on_execute_button_clicked(self, widget = None): + def on_execute_button_clicked(self, widget=None): '''When we want to execute a command: open adhoc command window''' model, iter_ = self.window.services_treeview.get_selection().get_selected() if not iter_: return service = model[iter_][0].decode('utf-8') - adhoc_commands.CommandWindow(self.account, service) + node = model[iter_][1].decode('utf-8') + adhoc_commands.CommandWindow(self.account, service, commandnode=node) def on_register_button_clicked(self, widget = None): '''When we want to register an agent: