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 10:57:35 (GMT)
committer native <findathar@gmail.com>2014-03-21 10:57:35 (GMT)
commit4153a5029e099adb0247e575b263826563aef0fb (patch)
tree4c9764c85860bda5e79d7e9c74d04aad7a901f3e
parent3292ebe1cb59b13b0bbeeb2a2179a25376673aa3 (diff)
New Tab and close tab shortcut added
-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)