Welcome to mirror list, hosted at ThFree Co, Russian Federation.

dev.gajim.org/gajim/gajim.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYann Leboulanger <asterix@lagaule.org>2004-05-19 03:39:11 +0400
committerYann Leboulanger <asterix@lagaule.org>2004-05-19 03:39:11 +0400
commit4106ff0f55f2db4f153841c5d33ae04e3d23bd92 (patch)
tree8ca9e9b84e646ec09ecc7096aa34f60ac8f0bea8 /plugins
parent2d35fbcafdf8f5e5a45f081367cfdc234c1fa988 (diff)
elect all rows when escape is pressed or when we click under all rows
Diffstat (limited to 'plugins')
-rw-r--r--plugins/gtkgui/gtkgui.glade1
-rw-r--r--plugins/gtkgui/gtkgui.py47
2 files changed, 30 insertions, 18 deletions
diff --git a/plugins/gtkgui/gtkgui.glade b/plugins/gtkgui/gtkgui.glade
index 0c48fed0c..ec067b21d 100644
--- a/plugins/gtkgui/gtkgui.glade
+++ b/plugins/gtkgui/gtkgui.glade
@@ -236,6 +236,7 @@
<signal name="row_activated" handler="on_row_activated" last_modification_time="Sun, 12 Oct 2003 18:11:52 GMT"/>
<signal name="row_expanded" handler="on_row_expanded" last_modification_time="Wed, 10 Dec 2003 10:31:44 GMT"/>
<signal name="row_collapsed" handler="on_row_collapsed" last_modification_time="Wed, 10 Dec 2003 10:54:27 GMT"/>
+ <signal name="key_release_event" handler="on_treeview_event" last_modification_time="Tue, 18 May 2004 23:30:46 GMT"/>
</widget>
</child>
</widget>
diff --git a/plugins/gtkgui/gtkgui.py b/plugins/gtkgui/gtkgui.py
index 4409f467d..bb830a5a4 100644
--- a/plugins/gtkgui/gtkgui.py
+++ b/plugins/gtkgui/gtkgui.py
@@ -697,24 +697,35 @@ class roster_Window:
def on_treeview_event(self, widget, event):
"""popup user's group's or agent menu"""
- if (event.button == 3) & (event.type == gtk.gdk.BUTTON_PRESS):
- try:
- path, column, x, y = self.tree.get_path_at_pos(int(event.x), \
- int(event.y))
- except TypeError:
- return
- model = self.tree.get_model()
- iter = model.get_iter(path)
- type = model.get_value(iter, 2)
- if type == 'group':
- self.mk_menu_g(event)
- elif type == 'agent':
- self.mk_menu_agent(event, iter)
- elif type == 'user':
- self.mk_menu_user(event, iter)
- elif type == 'account':
- self.mk_menu_account(event, iter)
- return gtk.TRUE
+ if event.type == gtk.gdk.BUTTON_PRESS:
+ if event.button == 3:
+ try:
+ path, column, x, y = self.tree.get_path_at_pos(int(event.x), \
+ int(event.y))
+ except TypeError:
+ self.tree.get_selection().unselect_all()
+ return
+ model = self.tree.get_model()
+ iter = model.get_iter(path)
+ type = model.get_value(iter, 2)
+ if type == 'group':
+ self.mk_menu_g(event)
+ elif type == 'agent':
+ self.mk_menu_agent(event, iter)
+ elif type == 'user':
+ self.mk_menu_user(event, iter)
+ elif type == 'account':
+ self.mk_menu_account(event, iter)
+ return gtk.TRUE
+ if event.button == 1:
+ try:
+ path, column, x, y = self.tree.get_path_at_pos(int(event.x), \
+ int(event.y))
+ except TypeError:
+ self.tree.get_selection().unselect_all()
+ if event.type == gtk.gdk.KEY_RELEASE:
+ if event.keyval == gtk.keysyms.Escape:
+ self.tree.get_selection().unselect_all()
return gtk.FALSE
def on_req_usub(self, widget, user, account):