[Merge] Added public timeline support from lp:~dazworrall/gwibber/public
authordazworrall <>
Sun, 21 Jun 2009 01:03:49 +0000 (18:03 -0700)
committerRyan Paul <segphault@arstechnica.com>
Sun, 21 Jun 2009 01:03:49 +0000 (18:03 -0700)
1  2 
gwibber/client.py
gwibber/gwui.py

@@@ -76,7 -78,7 +78,10 @@@ DEFAULT_PREFERENCES = 
  }
  
  for _i in list(CONFIGURABLE_UI_ELEMENTS.keys()):
--  DEFAULT_PREFERENCES["show_%s" % _i] = True
++  if _i == "public_view":
++    DEFAULT_PREFERENCES["show_%s" % _i] = True
++  else:
++    DEFAULT_PREFERENCES["show_%s" % _i] = False
  
  try:
    import indicate
@@@ -510,7 -516,13 +519,13 @@@ class GwibberClient(gtk.Window)
        if hasattr(self, i):
          getattr(self, i).set_property(
            "visible", self.preferences["show_%s" % i])
+         # If we have a parent, and if that parent has no_show_all=True, we're dealing with a tab which can be toggled, so set the visible property on the parent to hide it properly as required
+         if hasattr(getattr(self, i), "parent") and getattr(self, i).parent.props.no_show_all:
+             getattr(self, i).parent.set_property(
+               "visible", self.preferences["show_%s" % i])
+             # If the tab isn't visible clear messages, better to see no data than stale data upon reveal
 -            if not getattr(self, i).parent.props.visible : getattr(self, i).execute_script("clearMessages()")
++            if not getattr(self, i).parent.props.visible : getattr(self, i).clear()
+       
      self.set_property("skip-taskbar-hint",
        self.preferences["hide_taskbar_entry"])
  
      self.last_clear = mx.DateTime.gmt()
      for tab in self.tabs.get_children():
        view = tab.get_child()
--      view.execute_script("clearMessages()")
++      view.clear()
  
    def on_clear_tab(self, mi):
      self.last_clear = mx.DateTime.gmt()
      n = self.tabs.get_current_page()
      view = self.tabs.get_nth_page(n).get_child()
--    view.execute_script("clearMessages()")
++    view.clear()
  
    def on_errors_show(self, *args):
      self.status_icon.hide()
diff --cc gwibber/gwui.py
@@@ -114,6 -114,6 +114,9 @@@ class MessageView(webkit.WebView)
    def link_handler(self, uri):
      pass
  
++  def clear(self):
++    self.load_html_string("", "file://%s/" % resources.get_theme_path(self.theme))
++
  class UserView(MessageView):
    def load_messages(self, message_store = None): # override
      if (self.message_store and len(self.message_store) > 0):