Implemented handler for the new signals, but there's a problem when the active tab is closed...
This commit is contained in:
parent
9809e5a96a
commit
44e1a39afe
31
mytwitter.py
31
mytwitter.py
|
@ -68,6 +68,9 @@ class MyTwitter():
|
|||
|
||||
self.reply_id = None
|
||||
|
||||
self.following_handler = -1
|
||||
self.verified_handler = -1
|
||||
|
||||
# Load up all the GUI stuff
|
||||
self.init_user_interface('./default.glade')
|
||||
self.init_widgets()
|
||||
|
@ -330,7 +333,18 @@ class MyTwitter():
|
|||
|
||||
|
||||
def on_tab_change(self, event, page, page_num):
|
||||
last_page = self.db['active_page']
|
||||
self.db['active_page'] = page_num
|
||||
|
||||
# Disconnect the old signals
|
||||
if last_page != page_num:
|
||||
pane = self.tweet_notebook.get_nth_page(last_page)
|
||||
if self.following_handler != -1:
|
||||
pane.disconnect(self.following_handler)
|
||||
if self.verified_handler != -1:
|
||||
pane.disconnect(self.verified_handler)
|
||||
|
||||
# Now get the new page, and set everything up
|
||||
pane = self.tweet_notebook.get_nth_page(page_num)
|
||||
pane.set_tweets_read()
|
||||
self.update_follow_button(pane)
|
||||
|
@ -338,10 +352,12 @@ class MyTwitter():
|
|||
self.at_button.show()
|
||||
else:
|
||||
self.at_button.hide()
|
||||
if pane.get_verified():
|
||||
self.verified_label.show()
|
||||
else:
|
||||
self.verified_label.hide()
|
||||
|
||||
self.update_verified_label(pane)
|
||||
|
||||
# Follow button and verified label can be returned later if this is a new pane, so set up signals
|
||||
self.following_handler = pane.connect('following-set', self.update_follow_button)
|
||||
self.verified_handler = pane.connect('verified-set', self.update_verified_label)
|
||||
|
||||
|
||||
def on_tabs_reordered(self, widget, child, page_num):
|
||||
|
@ -405,6 +421,13 @@ class MyTwitter():
|
|||
self.following_button.show()
|
||||
|
||||
|
||||
def update_verified_label(self, pane):
|
||||
if pane.get_verified():
|
||||
self.verified_label.show()
|
||||
else:
|
||||
self.verified_label.hide()
|
||||
|
||||
|
||||
def show_user(self, name):
|
||||
self.add_to_notebook('user: ' + name)
|
||||
|
||||
|
|
|
@ -190,13 +190,13 @@ class TweetPane(gtk.ScrolledWindow):
|
|||
def set_following(self, following):
|
||||
with self.data_lock:
|
||||
self.following = following
|
||||
self.emit("following-set", following)
|
||||
self.emit("following-set")
|
||||
|
||||
|
||||
def set_verified(self, verified):
|
||||
with self.data_lock:
|
||||
self.verified = verified
|
||||
self.emit("verified-set", verified)
|
||||
self.emit("verified-set")
|
||||
|
||||
|
||||
def get_is_user(self):
|
||||
|
@ -221,10 +221,10 @@ gobject.signal_new("show-user", TweetPane,
|
|||
gobject.TYPE_NONE, (gobject.TYPE_PYOBJECT,))
|
||||
gobject.signal_new("following-set", TweetPane,
|
||||
gobject.SIGNAL_RUN_LAST,
|
||||
gobject.TYPE_NONE, (gobject.TYPE_PYOBJECT,)))
|
||||
gobject.TYPE_NONE, ())
|
||||
gobject.signal_new("verified-set", TweetPane,
|
||||
gobject.SIGNAL_RUN_LAST,
|
||||
gobject.TYPE_NONE, (gobject.TYPE_PYOBJECT,)))
|
||||
gobject.TYPE_NONE, ())
|
||||
|
||||
|
||||
|
||||
|
|
Reference in New Issue
Block a user