Don't show notifications for public timeline feeds
authorDarren Worrall <daz@dwuk.net>
Wed, 17 Jun 2009 20:26:16 +0000 (21:26 +0100)
committerDarren Worrall <daz@dwuk.net>
Wed, 17 Jun 2009 20:26:16 +0000 (21:26 +0100)
gwibber/client.py

index 9519f49..a29ff9e 100644 (file)
@@ -169,7 +169,7 @@ class GwibberClient(gtk.Window):
     self.tabs.set_scrollable(True)
     self.messages_view = self.add_msg_tab(self.client.receive, _("Messages"), show_icon = "go-home")
     self.add_msg_tab(self.client.responses, _("Replies"), show_icon = "mail-reply-all", add_indicator=True)
-    self.public_view = self.add_msg_tab(self.client.public_timeline, _("Public"), show_icon = "language-selector", add_indicator=True, can_toggle=True)
+    self.public_view = self.add_msg_tab(self.client.public_timeline, _("Public"), show_icon = "language-selector", add_indicator=True, can_toggle=True, show_notifications=False)
 
     saved_position = config.GCONF.get_list("%s/%s" % (config.GCONF_PREFERENCES_DIR, "saved_position"), config.gconf.VALUE_INT)
     if saved_position:
@@ -396,9 +396,10 @@ class GwibberClient(gtk.Window):
       if view:
         self.update([view.get_parent()])
 
-  def add_scrolled_parent(self, view, text, show_close=False, show_icon=None, make_active=False, save=None, can_toggle=False):
+  def add_scrolled_parent(self, view, text, show_close=False, show_icon=None, make_active=False, save=None, can_toggle=False, show_notifications=True):
     scroll = gtk.ScrolledWindow()
     scroll.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
+    scroll.show_notifications = show_notifications
     # Tabs that can be toggled (like public timeline) should be excluded from the parent show_all() - they will maintain their own state
     scroll.set_no_show_all(can_toggle)
     scroll.add(view)
@@ -427,13 +428,13 @@ class GwibberClient(gtk.Window):
     btn.connect("clicked", self.on_tab_close, scroll)
     self.on_theme_change()
 
-  def add_msg_tab(self, data_handler, text, show_close=False, show_icon=None, make_active=False, save=None, add_indicator=False, can_toggle=False):
+  def add_msg_tab(self, data_handler, text, show_close=False, show_icon=None, make_active=False, save=None, add_indicator=False, can_toggle=False, show_notifications=True):
     view = gwui.MessageView(self.preferences["theme"], self)
     view.link_handler = self.on_link_clicked
     view.data_retrieval_handler = data_handler
     view.add_indicator = add_indicator
 
-    self.add_scrolled_parent(view, text, show_close, show_icon, make_active, save, can_toggle)
+    self.add_scrolled_parent(view, text, show_close, show_icon, make_active, save, can_toggle, show_notifications)
     return view
 
   def add_user_tab(self, data_handler, text, show_close=False, show_icon=None, make_active=False, save=None):
@@ -1138,7 +1139,7 @@ class GwibberClient(gtk.Window):
               self.manage_indicator_items(view.message_store, tab_num=self.tabs.page_num(tab))
 
             gtk.gdk.threads_leave()
-            self.show_notification_bubbles(view.message_store)
+            if tab.show_notifications: self.show_notification_bubbles(view.message_store)
 
         self.statusbar.pop(0)
         self.statusbar.push(0, _("Last update: %s") % time.strftime("%X"))