Made conversations work correctly

This commit is contained in:
Anna 2010-05-18 14:23:17 -04:00
parent 7a5ae9235e
commit c3ac07a693
5 changed files with 50 additions and 33 deletions

View file

@ -68,7 +68,7 @@ class MyTwitter():
self.db['active_page'] = 0
if not self.db.has_key('open_tabs'):
self.db['open_tabs'] = [(self.username + '/Home', None), ('@' + self.username, None), (self.username + '/Direct Messages', None)]
self.db['open_tabs'] = [(self.username + '/Home', None, False), ('@' + self.username, None, False), (self.username + '/Direct Messages', None, False)]
if self.refresh_time < 10:
self.refresh_time = 10
@ -115,8 +115,8 @@ class MyTwitter():
# Add the tabs from last session to the notebook
page_num = self.db['active_page']
for tab, single_tweet in self.db['open_tabs']:
self.add_to_notebook(tab, single_tweet)
for tab, single_tweet, conversation in self.db['open_tabs']:
self.add_to_notebook(tab, single_tweet, conversation)
self.tweet_notebook.set_current_page(page_num)
self.update_windows()
@ -257,9 +257,9 @@ class MyTwitter():
# Remove one of the views from the tweet notebook.
# Called when the close button is clicked on one of the views
# or Ctrl + W is pressed while the view is active
def remove_view(self, name, single_tweet):
def remove_view(self, name, single_tweet, conversation):
ot = self.db['open_tabs']
ot.remove((name,single_tweet))
ot.remove((name,single_tweet,conversation))
self.db['open_tabs'] = ot
for i in range(self.tweet_notebook.get_n_pages()):
@ -269,8 +269,8 @@ class MyTwitter():
return
def remove_view_callback(self, event, name, single_tweet):
self.remove_view(name, single_tweet)
def remove_view_callback(self, event, name, single_tweet, conversation):
self.remove_view(name, single_tweet, conversation)
def add_to_notebook(self, name, single_tweet=None, conversation=False):
@ -289,15 +289,20 @@ class MyTwitter():
return
# Add the pane to the persistent database of open panes
if (name, single_tweet) not in self.db['open_tabs']:
if (name, single_tweet, conversation) not in self.db['open_tabs']:
ot = self.db['open_tabs']
ot.append((name,single_tweet))
ot.append((name,single_tweet,conversation))
self.db['open_tabs'] = ot
is_user = False
if re.match('user:', name):
is_user = True
new_pane = TweetPane(name, num_entries=self.num_entries, single_tweet=single_tweet, is_user=is_user)
entries=self.num_entries
if single_tweet and not conversation:
entries=1
new_pane = TweetPane(name, num_entries=entries, single_tweet=single_tweet, is_user=is_user, conversation=conversation)
if is_user:
apithreads.GetFollowing(api=self.api, pane=new_pane, user=name).start()
@ -305,7 +310,7 @@ class MyTwitter():
self.tweet_notebook.append_page_menu(new_pane, new_pane.get_tab_label(), gtk.Label(name))
self.tweet_notebook.set_tab_reorderable(new_pane, True)
new_pane.get_tab_label().connect('close-clicked', self.remove_view_callback, name, single_tweet)
new_pane.get_tab_label().connect('close-clicked', self.remove_view_callback, name, single_tweet, conversation)
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)
@ -327,6 +332,9 @@ class MyTwitter():
else:
self.update_single_window(new_pane)
# Switch to the new pane
self.tweet_notebook.set_current_page(-1)
def on_tab_change(self, event, page, page_num):
last_page = self.db['active_page']
@ -353,7 +361,7 @@ class MyTwitter():
for i in range(self.tweet_notebook.get_n_pages()):
pane = self.tweet_notebook.get_nth_page(i)
tab_names.append((pane.get_list_name(), pane.get_single_tweet()))
tab_names.append((pane.get_list_name(), pane.get_single_tweet(), pane.get_conversation()))
self.db['open_tabs'] = tab_names
@ -440,7 +448,7 @@ class MyTwitter():
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(), current_pane.get_single_tweet())
self.remove_view(current_pane.get_list_name(), current_pane.get_single_tweet(), current_pane.get_conversation())
def on_account_changed(self, widget):