[hamster-applet/gnome-2-26] Keyboard accessible editing, fixes bug 581719
- From: Toms Baugis <tbaugis src gnome org>
- To: svn-commits-list gnome org
- Subject: [hamster-applet/gnome-2-26] Keyboard accessible editing, fixes bug 581719
- Date: Mon, 18 May 2009 15:48:42 -0400 (EDT)
commit 171c9a94dfa98a4bcd92430df0f95fcedc048f01
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 | 32 +++++++++++++++++++++++++-------
1 files changed, 25 insertions(+), 7 deletions(-)
diff --git a/hamster/applet.py b/hamster/applet.py
index 23a6dbb..f2bcab3 100755
--- a/hamster/applet.py
+++ b/hamster/applet.py
@@ -234,6 +234,7 @@ class HamsterApplet(object):
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)
@@ -609,18 +610,35 @@ class HamsterApplet(object):
self.add_fact(activity_name)
"""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 on_today_row_activated(self, tree, path, column):
- selection = tree.get_selection()
+ def _open_edit_activity(self):
+ """opens activity editor for selected row"""
+ selection = self.treeview.get_selection()
(model, iter) = selection.get_selected()
- activity_name = model[iter][1].decode('utf8', 'replace')
- if activity_name:
- self.add_fact(activity_name)
+ 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()
+ else:
+ selection = tree.get_selection()
+ (model, iter) = selection.get_selected()
+ activity_name = model[iter][1].decode('utf8', 'replace')
+ if activity_name:
+ self.add_fact(activity_name)
def add_fact(self, activity_name):
if self.last_activity and self.last_activity['start_time'] != datetime.date.today():
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]