diff options
author | native <findathar@gmail.com> | 2014-03-21 17:59:16 (GMT) |
---|---|---|
committer | Walter Bender <walter@sugarlabs.org> | 2014-03-21 17:59:16 (GMT) |
commit | 4242de7ca625bfafd8079ec32c5d2026a0305b38 (patch) | |
tree | 4c9764c85860bda5e79d7e9c74d04aad7a901f3e | |
parent | 9c0387c9daae9277ead8e594842d11d6dbed66ec (diff) |
added hot keys
-rw-r--r-- | notebook.py | 31 |
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) |