Bound Ctrl+W to close the current pane

This commit is contained in:
Anna 2010-04-16 14:39:37 -04:00
parent e605e5333f
commit 2ae8eb11e6
3 changed files with 21 additions and 4 deletions

View file

@ -167,7 +167,7 @@ class MyTwitter():
# Remove one of the views from the tweet notebook.
# Called when the close button is clicked on one of the views
def remove_view(self, event, name):
def remove_view(self, name):
for i in range(self.tweet_notebook.get_n_pages()):
pane = self.tweet_notebook.get_nth_page(i)
if (pane.get_list_name() == name):
@ -175,6 +175,10 @@ class MyTwitter():
return
def remove_view_callback(self, event, name):
self.remove_view(name)
def add_to_notebook(self, name, single_tweet=None):
# If it already exists, don't add it, just switch to it
for i in range(self.tweet_notebook.get_n_pages()):
@ -197,7 +201,7 @@ class MyTwitter():
following = self.check_following(name)
new_pane = TweetPane(name, num_entries=self.num_entries, single_tweet=single_tweet, is_user=is_user, following=following)
self.tweet_notebook.append_page_menu(new_pane, new_pane.get_tab_label(), gtk.Label(name))
new_pane.get_tab_label().connect('close-clicked', self.remove_view, name)
new_pane.get_tab_label().connect('close-clicked', self.remove_view_callback, name)
new_pane.connect('tweet-reply', self.on_reply)
new_pane.connect('tweet-retweet', self.on_retweet)
new_pane.connect('tweet-in-reply-to', self.on_reply_to)
@ -285,6 +289,17 @@ class MyTwitter():
self.add_to_notebook('@' + user_name)
def global_key_press_handler(self, widget, event):
keyname = gtk.gdk.keyval_name(event.keyval)
if keyname == 'w' and event.state & gtk.gdk.CONTROL_MASK:
self.close_current_tab()
def close_current_tab(self):
current_pane = self.tweet_notebook.get_nth_page(self.tweet_notebook.get_current_page())
self.remove_view(current_pane.get_list_name())
### end class MyTwitter