Turned user names into clickable buttons that summon up a pane for that user

This commit is contained in:
Anna 2010-04-15 22:37:13 -04:00
parent d4fc2faf78
commit 522edc30cb
2 changed files with 40 additions and 16 deletions

View file

@ -94,11 +94,11 @@ class MyTwitter():
statuses = self.api.GetMentions(count=self.num_entries)
elif re.match(r'user: ', list_name):
statuses = self.api.GetUserTimeline(re.sub(r'^user: ', r'', list_name), count=self.num_entries)
elif re.match(r'[#|@]', list_name):
elif re.match(r'list: ', list_name):
statuses = self.api.GetListStatuses(re.sub(r'^list: ', r'', list_name), per_page=self.num_entries)
else:
statuses = self.api.Search(list_name, rpp=self.num_entries)
using_results = True
else:
statuses = self.api.GetListStatuses(list_name, per_page=self.num_entries)
pane.update_window(statuses, using_results=using_results)
@ -156,15 +156,17 @@ class MyTwitter():
def on_view_selected(self, event, name):
full_name = 'list: ' + name
# If it already exists, don't add it, just switch to it
for i in range(self.tweet_notebook.get_n_pages()):
pane = self.tweet_notebook.get_nth_page(i)
if pane.get_list_name() == name:
if pane.get_list_name() == full_name:
self.tweet_notebook.set_current_page(i)
return
# Now, add a new tab with this list
self.add_to_notebook(name)
self.add_to_notebook(full_name)
# And, to propagate it:
self.update_windows()
@ -192,6 +194,7 @@ class MyTwitter():
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)
new_pane.connect('show-user', self.show_user_callback)
# Special logic for single tweet pane
if single_tweet is not None:
@ -216,12 +219,7 @@ class MyTwitter():
def on_search(self, event):
search_string = self.search_entry.get_text()
self.search_entry.set_text('')
if re.match(r'[#|@]', search_string):
self.add_to_notebook(search_string)
else:
# Assume this is a user name we want to lookup
self.add_to_notebook('user: ' + search_string)
self.add_to_notebook(search_string)
self.update_windows()
@ -262,6 +260,15 @@ class MyTwitter():
self.following_button.show()
def show_user(self, name):
self.add_to_notebook('user: ' + name)
self.update_windows()
def show_user_callback(self, widget, data):
self.show_user(data)
### end class MyTwitter