[hamster-applet] Keyboard accessible editing, fixes bug 581719
- From: Toms Baugis <tbaugis src gnome org>
- To: svn-commits-list gnome org
- Subject: [hamster-applet] Keyboard accessible editing, fixes bug 581719
- Date: Mon, 18 May 2009 16:35:13 -0400 (EDT)
commit 2de5260ca8b4897c5795a2fa6873c556a810afbd
Author: Toms Bauģis <toms baugis gmail com>
Date: Mon May 18 20:29:45 2009 +0100
Keyboard accessible editing, fixes bug 581719
Now you can edit selected activity either by selecting edit icon with cursor, or hitting ctrl+e
---
hamster/applet.py | 26 ++++++++++++++++++--------
1 files changed, 18 insertions(+), 8 deletions(-)
diff --git a/hamster/applet.py b/hamster/applet.py
index 54f9ca0..0662e65 100755
--- a/hamster/applet.py
+++ b/hamster/applet.py
@@ -336,6 +336,7 @@ Now, start tracking!
edit_cell = gtk.CellRendererPixbuf()
edit_cell.set_property("stock_id", "gtk-edit")
+ edit_cell.set_property("mode", gtk.CELL_RENDERER_MODE_ACTIVATABLE)
self.edit_column = gtk.TreeViewColumn("", edit_cell)
self.treeview.append_column(self.edit_column)
@@ -405,12 +406,7 @@ Now, start tracking!
path = tree.get_path_at_pos(pointer[0], pointer[1]) #column, innerx, innery
if path and path[1] == self.edit_column:
- selection = tree.get_selection()
- (model, iter) = selection.get_selected()
- fact_id = model[iter][0]
-
- custom_fact = CustomFactController(self, None, fact_id)
- custom_fact.show()
+ self._open_edit_activity()
return True
return False
@@ -698,12 +694,26 @@ Now, start tracking!
dispatcher.dispatch('panel_visible', False)
"""listview events"""
- def on_todays_keys(self, tree, event_key):
- if (event_key.keyval == gtk.keysyms.Delete):
+ def on_todays_keys(self, tree, event):
+ if (event.keyval == gtk.keysyms.Delete):
self.delete_selected()
return True
+ elif (event.keyval == gtk.keysyms.e \
+ and event.state & gtk.gdk.CONTROL_MASK):
+ self._open_edit_activity()
+ return True
+
return False
+ def _open_edit_activity(self):
+ """opens activity editor for selected row"""
+ selection = self.treeview.get_selection()
+ (model, iter) = selection.get_selected()
+ fact_id = model[iter][0]
+
+ custom_fact = CustomFactController(None, fact_id)
+ custom_fact.show()
+
def on_today_row_activated(self, tree, path, column):
if column == self.edit_column:
self._open_edit_activity()
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]