From 4e9745b77ee5d2e8b3b85c2f6062622559ea30c5 Mon Sep 17 00:00:00 2001 From: Nikos Kouremenos <kourem@gmail.com> Date: Mon, 28 Mar 2005 01:05:28 +0000 Subject: [PATCH] code for on_agents_treeview_row_activated and agents --> services --- plugins/gtkgui/config.py | 89 +++++++++++++++++++------------------ plugins/gtkgui/gtkgui.glade | 12 ++--- plugins/gtkgui/gtkgui.py | 2 +- 3 files changed, 53 insertions(+), 50 deletions(-) diff --git a/plugins/gtkgui/config.py b/plugins/gtkgui/config.py index b6540e2432..ffc0ad5df8 100644 --- a/plugins/gtkgui/config.py +++ b/plugins/gtkgui/config.py @@ -1430,9 +1430,9 @@ class Accounts_window: self.xml.signal_autoconnect(self) self.init_accounts() -class agent_registration_window: - """Class for agent registration window : - window that appears when we want to subscribe to an agent""" +class Service_registration_window: + """Class for Service registration window: + Window that appears when we want to subscribe to a service""" def on_cancel_button_clicked(self, widget): """When Cancel button is clicked""" widget.get_toplevel().destroy() @@ -1445,7 +1445,7 @@ class agent_registration_window: if name != 'key' and name != 'instructions' and name != 'x': nbrow = nbrow + 1 table.resize(rows=nbrow, columns=2) - label = gtk.Label(name) + label = gtk.Label(name.capitalize() + ':') table.attach(label, 0, 1, nbrow-1, nbrow, 0, 0, 0, 0) entry = gtk.Entry() entry.set_text(self.infos[name]) @@ -1460,21 +1460,21 @@ class agent_registration_window: send registration info to the core""" for name in self.entries.keys(): self.infos[name] = self.entries[name].get_text() - user1 = gtkgui.User(self.agent, self.agent, ['Agents'], 'offline', \ + user1 = gtkgui.User(self.service, self.service, ['Agents'], 'offline', \ 'offline', 'from', '', '', 0, '') - self.plugin.roster.contacts[self.account][self.agent] = [user1] - self.plugin.roster.add_user_to_roster(self.agent, self.account) - self.plugin.send('REG_AGENT', self.account, self.agent) + self.plugin.roster.contacts[self.account][self.service] = [user1] + self.plugin.roster.add_user_to_roster(self.service, self.account) + self.plugin.send('REG_AGENT', self.account, self.service) widget.get_toplevel().destroy() - def __init__(self, agent, infos, plugin, account): - self.xml = gtk.glade.XML(GTKGUI_GLADE, 'agent_registration_window', APP) - self.agent = agent + def __init__(self, service, infos, plugin, account): + self.xml = gtk.glade.XML(GTKGUI_GLADE, 'service_registration_window', APP) + self.service = service self.infos = infos self.plugin = plugin self.account = account - window = self.xml.get_widget('agent_registration_window') - window.set_title(_('Register to %s') % agent) + window = self.xml.get_widget('service_registration_window') + window.set_title(_('Register to %s') % service) self.xml.get_widget('label').set_text(infos['instructions']) self.entries = {} self.draw_table() @@ -1482,8 +1482,8 @@ class agent_registration_window: class Service_discovery_window: - """Class for Service Discovery Window : - to know the agents on the selected server""" + """Class for Service Discovery Window: + to know the services on the selected server""" def on_service_discovery_window_destroy(self, widget): """close window""" del self.plugin.windows[self.account]['browser'] @@ -1493,8 +1493,8 @@ class Service_discovery_window: widget.get_toplevel().destroy() def browse(self, jid): - """Send a request to the core to know the available agents""" - model = self.agents_treeview.get_model() + """Send a request to the core to know the available services""" + model = self.services_treeview.get_model() if not model.get_iter_first(): # we begin to fill the treevier with the first line iter = model.append(None, (jid, jid)) @@ -1504,7 +1504,7 @@ class Service_discovery_window: def agents(self, agents): """When list of available agent arrive : Fill the treeview with it""" - model = self.agents_treeview.get_model() + model = self.services_treeview.get_model() for agent in agents: iter = model.append(None, (agent['name'], agent['jid'])) self.agent_infos[agent['jid']] = {'features' : []} @@ -1512,16 +1512,16 @@ class Service_discovery_window: def iter_is_visible(self, iter): if not iter: return False - model = self.agents_treeview.get_model() + model = self.services_treeview.get_model() iter = model.iter_parent(iter) while iter: - if not self.agents_treeview.row_expanded(model.get_path(iter)): + if not self.services_treeview.row_expanded(model.get_path(iter)): return False iter = model.iter_parent(iter) return True - def on_agents_treeview_row_expanded(self, widget, iter, path): - model = self.agents_treeview.get_model() + def on_services_treeview_row_expanded(self, widget, iter, path): + model = self.services_treeview.get_model() jid = model.get_value(iter, 1) child = model.iter_children(iter) while child: @@ -1537,7 +1537,7 @@ class Service_discovery_window: def agent_info_items(self, agent, items): """When we recieve items about an agent""" - model = self.agents_treeview.get_model() + model = self.services_treeview.get_model() iter = model.get_iter_root() # We look if this agent is in the treeview while (iter): @@ -1570,11 +1570,11 @@ class Service_discovery_window: if self.iter_is_visible(iter_child) or expand: self.browse(item['jid']) if expand: - self.agents_treeview.expand_row((model.get_path(iter)), False) + self.services_treeview.expand_row((model.get_path(iter)), False) def agent_info(self, agent, identities, features, items): """When we recieve informations about an agent""" - model = self.agents_treeview.get_model() + model = self.services_treeview.get_model() iter = model.get_iter_root() # We look if this agent is in the treeview while (iter): @@ -1610,22 +1610,23 @@ class Service_discovery_window: self.browse(item['jid']) def on_refresh_button_clicked(self, widget): - """When refresh button is clicked : - refresh list : clear and rerequest it""" - self.agents_treeview.get_model().clear() + """When refresh button is clicked: refresh list: clear and rerequest it""" + self.services_treeview.get_model().clear() jid = self.address_comboboxentry.child.get_text() self.browse(jid) - def on_agents_treeview_row_activated(self, widget, path, col=0): - """When a row is activated : - Register or join the selected agent""" - #TODO - pass + def on_services_treeview_row_activated(self, widget, path, col=0): + """When a row is activated: Register or join the selected agent""" + #if both buttons are sensitive, it will register [default] + if self.register_button.get_property('sensitive'): + self.on_register_button_clicked(widget) + elif self.join_button.get_property('sensitive'): + self.on_join_button_clicked(widget) def on_join_button_clicked(self, widget): - """When we want to join a conference : + """When we want to join a conference: Ask specific informations about the selected agent and close the window""" - model, iter = self.agents_treeview.get_selection().get_selected() + model, iter = self.services_treeview.get_selection().get_selected() if not iter: return service = model.get_value(iter, 1) @@ -1640,17 +1641,17 @@ class Service_discovery_window: def on_register_button_clicked(self, widget): """When we want to register an agent : Ask specific informations about the selected agent and close the window""" - model, iter = self.agents_treeview.get_selection().get_selected() + model, iter = self.services_treeview.get_selection().get_selected() if not iter : return service = model.get_value(iter, 1) self.plugin.send('REG_AGENT_INFO', self.account, service) widget.get_toplevel().destroy() - def on_agents_treeview_cursor_changed(self, widget): + def on_services_treeview_cursor_changed(self, widget): """When we select a row : activate buttons if needed""" - model, iter = self.agents_treeview.get_selection().get_selected() + model, iter = self.services_treeview.get_selection().get_selected() jid = model.get_value(iter, 1) self.register_button.set_sensitive(False) if self.agent_infos[jid].has_key('features'): @@ -1675,7 +1676,7 @@ class Service_discovery_window: self.address_comboboxentry.append_text(j) self.plugin.config['latest_disco_addresses'] = \ ' '.join(self.latest_addresses) - self.agents_treeview.get_model().clear() + self.services_treeview.get_model().clear() self.browse(jid) def on_address_comboboxentry_changed(self, widget): @@ -1687,20 +1688,22 @@ class Service_discovery_window: return xml = gtk.glade.XML(GTKGUI_GLADE, 'service_discovery_window', APP) self.window = xml.get_widget('service_discovery_window') - self.agents_treeview = xml.get_widget('agents_treeview') + self.services_treeview = xml.get_widget('services_treeview') + self.join_button = xml.get_widget('join_button') + self.register_button = xml.get_widget('register_button') self.plugin = plugin self.account = account self.agent_infos = {} model = gtk.TreeStore(gobject.TYPE_STRING, gobject.TYPE_STRING) - self.agents_treeview.set_model(model) + self.services_treeview.set_model(model) #columns renderer = gtk.CellRendererText() renderer.set_data('column', 0) - self.agents_treeview.insert_column_with_attributes(-1, 'Name', \ + self.services_treeview.insert_column_with_attributes(-1, 'Name', \ renderer, text=0) renderer = gtk.CellRendererText() renderer.set_data('column', 1) - self.agents_treeview.insert_column_with_attributes(-1, 'Service', \ + self.services_treeview.insert_column_with_attributes(-1, 'Service', \ renderer, text=1) self.address_comboboxentry = xml.get_widget('address_comboboxentry') diff --git a/plugins/gtkgui/gtkgui.glade b/plugins/gtkgui/gtkgui.glade index dae7d301d1..6b5ad54a26 100644 --- a/plugins/gtkgui/gtkgui.glade +++ b/plugins/gtkgui/gtkgui.glade @@ -2484,19 +2484,19 @@ <property name="window_placement">GTK_CORNER_TOP_LEFT</property> <child> - <widget class="GtkTreeView" id="agents_treeview"> + <widget class="GtkTreeView" id="services_treeview"> <property name="visible">True</property> <property name="can_focus">True</property> <property name="headers_visible">True</property> <property name="rules_hint">False</property> <property name="reorderable">False</property> <property name="enable_search">True</property> - <property name="fixed_height_mode">True</property> + <property name="fixed_height_mode">False</property> <property name="hover_selection">False</property> <property name="hover_expand">False</property> - <signal name="row_activated" handler="on_agents_treeview_row_activated" last_modification_time="Tue, 01 Mar 2005 14:20:15 GMT"/> - <signal name="cursor_changed" handler="on_agents_treeview_cursor_changed" last_modification_time="Tue, 01 Mar 2005 14:20:21 GMT"/> - <signal name="row_expanded" handler="on_agents_treeview_row_expanded" last_modification_time="Sun, 27 Mar 2005 10:28:52 GMT"/> + <signal name="row_activated" handler="on_services_treeview_row_activated" last_modification_time="Mon, 28 Mar 2005 00:28:25 GMT"/> + <signal name="cursor_changed" handler="on_services_treeview_cursor_changed" last_modification_time="Mon, 28 Mar 2005 00:28:33 GMT"/> + <signal name="row_expanded" handler="on_services_treeview_row_expanded" last_modification_time="Mon, 28 Mar 2005 00:28:39 GMT"/> </widget> </child> </widget> @@ -2639,7 +2639,7 @@ </child> </widget> -<widget class="GtkWindow" id="agent_registration_window"> +<widget class="GtkWindow" id="service_registration_window"> <property name="border_width">4</property> <property name="width_request">300</property> <property name="height_request">200</property> diff --git a/plugins/gtkgui/gtkgui.py b/plugins/gtkgui/gtkgui.py index 7431ba66d2..8c7d341a91 100644 --- a/plugins/gtkgui/gtkgui.py +++ b/plugins/gtkgui/gtkgui.py @@ -474,7 +474,7 @@ class plugin: if not array[1].has_key('instructions'): Error_dialog(_("error contacting %s") % array[0]) else: - agent_registration_window(array[0], array[1], self, account) + Service_registration_window(array[0], array[1], self, account) def handle_event_acc_ok(self, account, array): #('ACC_OK', account, (hostname, login, pasword, name, resource, prio, -- GitLab