Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornative <findathar@gmail.com>2014-03-21 17:59:16 (GMT)
committer Walter Bender <walter@sugarlabs.org>2014-03-21 17:59:16 (GMT)
commit4242de7ca625bfafd8079ec32c5d2026a0305b38 (patch)
tree4c9764c85860bda5e79d7e9c74d04aad7a901f3e
parent9c0387c9daae9277ead8e594842d11d6dbed66ec (diff)
added hot keys
-rw-r--r--notebook.py31
1 files changed, 27 insertions, 4 deletions
diff --git a/notebook.py b/notebook.py
index a916ef6..6a3c1cd 100644
--- a/notebook.py
+++ b/notebook.py
@@ -188,18 +188,41 @@ class SourceNotebook(AddNotebook):
tabdex = self.get_n_pages() + 1
if label:
- tablabel = TabLabel(codesw, label, path, self)
+ self.tablabel = TabLabel(codesw, label, path, self)
else:
- tablabel = TabLabel(codesw,
+ self.tablabel = TabLabel(codesw,
_("New Source File %d" % tabdex),
path, self)
- tablabel.connect("tab-close", self._tab_closed_cb)
+ self.tablabel.connect("tab-close", self._tab_closed_cb)
+ self.connect("key-press-event",self._key_press_cb)
codesw.show_all()
- index = self.append_page(codesw, tablabel)
+ index = self.append_page(codesw, self.tablabel)
self.props.page = index # Set new page as active tab
+ def _key_press_cb(self,widget,event):
+ key_name = Gdk.keyval_name(event.keyval)
+
+ if event.get_state() & Gdk.ModifierType.CONTROL_MASK:
+
+ if key_name == 'w':
+ index=self.get_current_page()
+ self.remove_page(index)
+ try:
+ logging.debug('deleting session_data %s' %
+ str(self.activity.session_data[index]))
+ del self.activity.session_data[index]
+ except IndexError:
+ pass
+ elif key_name == 't':
+ self.emit("tab-added")
+ else:
+ return False
+ return True
+ return False
+
+
def set_current_label(self, label):
child = self.get_nth_page(self.get_current_page())
widget = self.get_tab_label(child)