[hamster-applet] listen to escape and remove our expensive listener on close
- From: Toms Baugis <tbaugis src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [hamster-applet] listen to escape and remove our expensive listener on close
- Date: Wed, 20 Jan 2010 11:10:58 +0000 (UTC)
commit 3d9b21b58c700c376e2ecefaacd4df5f7f9bafc2
Author: Toms Bauģis <toms baugis gmail com>
Date: Wed Jan 20 11:10:45 2010 +0000
listen to escape and remove our expensive listener on close
data/stats.ui | 2 +-
hamster/stats.py | 15 ++++++++++++++-
2 files changed, 15 insertions(+), 2 deletions(-)
---
diff --git a/data/stats.ui b/data/stats.ui
index 68bc10d..559f6c1 100644
--- a/data/stats.ui
+++ b/data/stats.ui
@@ -11,7 +11,7 @@
<property name="default_height">550</property>
<property name="icon_name">hamster-applet</property>
<signal name="key_press_event" handler="on_window_key_pressed"/>
- <signal name="delete_event" handler="on_close"/>
+ <signal name="delete_event" handler="on_stats_window_deleted"/>
<child>
<object class="GtkVBox" id="stats_box">
<property name="visible">True</property>
diff --git a/hamster/stats.py b/hamster/stats.py
index 05013b2..57ba3c5 100644
--- a/hamster/stats.py
+++ b/hamster/stats.py
@@ -59,6 +59,8 @@ class Stats(object):
self.init_stats()
self.window.set_position(gtk.WIN_POS_CENTER)
+
+ self._gui.connect_signals(self)
self.window.show_all()
self.stats()
@@ -416,8 +418,19 @@ than 15 minutes you seem to be a busy bee." % ("<b>%d</b>" % short_percent))
""" skip one variable (huh) """
return self._gui.get_object(name)
+ def on_window_key_pressed(self, tree, event_key):
+ if (event_key.keyval == gtk.keysyms.Escape
+ or (event_key.keyval == gtk.keysyms.w
+ and event_key.state & gtk.gdk.CONTROL_MASK)):
+ self.close_window()
+
+ def on_stats_window_deleted(self, widget, event):
+ self.close_window()
def close_window(self):
+ runtime.dispatcher.del_handler('activity_updated', self.after_fact_update)
+ runtime.dispatcher.del_handler('day_updated', self.after_fact_update)
+
if not self.parent:
gtk.main_quit()
else:
@@ -426,5 +439,5 @@ than 15 minutes you seem to be a busy bee." % ("<b>%d</b>" % short_percent))
if __name__ == "__main__":
- stats_viewer = StatsViewer2()
+ stats_viewer = Stats()
gtk.main()
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]