bigboard r7366 - in trunk/bigboard: . stocks/apps



Author: marco
Date: Wed Jun 18 16:54:47 2008
New Revision: 7366
URL: http://svn.gnome.org/viewvc/bigboard?rev=7366&view=rev

Log:
Add application stylesheet support to BigWindow and use it to remove all hardcoded font sizes from the apps stock.

Modified:
   trunk/bigboard/Makefile.am
   trunk/bigboard/big_widgets.py
   trunk/bigboard/stock.py
   trunk/bigboard/stocks/apps/AppsStock.py
   trunk/bigboard/stocks/apps/appbrowser.py

Modified: trunk/bigboard/Makefile.am
==============================================================================
--- trunk/bigboard/Makefile.am	(original)
+++ trunk/bigboard/Makefile.am	Wed Jun 18 16:54:47 2008
@@ -36,7 +36,7 @@
 EXTRA_DIST += $(stocks_DATA)
 
 appstockdir=$(stocksdir)/apps
-appstock_PYTHON = stocks/apps/*.py stocks/apps/*.png stocks/apps/stock.css
+appstock_PYTHON = stocks/apps/*.py stocks/apps/*.png stocks/apps/*.css
 
 calendarstockdir=$(stocksdir)/google_calendar
 calendarstock_PYTHON = stocks/google_calendar/*.py stocks/google_calendar/*.png

Modified: trunk/bigboard/big_widgets.py
==============================================================================
--- trunk/bigboard/big_widgets.py	(original)
+++ trunk/bigboard/big_widgets.py	Wed Jun 18 16:54:47 2008
@@ -81,9 +81,14 @@
 
         return theme
 
-    def make_stock_theme(self, application_stylesheet):
-        return hippo.CanvasTheme(theme_engine = self.__theme.props.theme_engine,
-                                 theme_stylesheet = self.__theme.props.theme_stylesheet,
+    def make_stock_theme(self, application_stylesheet, default=False):
+        if default:
+            theme = self.get_default_theme()
+        else:
+            theme = self.get_theme()
+
+        return hippo.CanvasTheme(theme_engine = theme.props.theme_engine,
+                                 theme_stylesheet = theme.props.theme_stylesheet,
                                  application_stylesheet = application_stylesheet)
         
     def get_theme(self):
@@ -105,18 +110,35 @@
         'destroy' : 'override',
         }
     
-    def __init__(self, themed=True, **kwargs):
+    def __init__(self, stylesheet=None, themed=True, **kwargs):
         super(BigWindow, self).__init__(**kwargs)
 
+        self.__stylesheet = stylesheet
+
+        theme_mgr = ThemeManager.getInstance()
+
         if themed:
-            self.__connection = ThemeManager.getInstance().connect('theme-changed', self.__sync_theme)
+            self.__connection = theme_mgr.connect('theme-changed', self.__sync_theme)
             self.__sync_theme()
         else:
             self.__connection = None
-            self.set_theme(ThemeManager.getInstance().get_default_theme())            
+
+            if self.__stylesheet:
+                theme = theme_mgr.make_stock_theme(self.__stylesheet, default=True)
+            else:
+                theme = theme_mgr.get_default_theme()
+
+            self.set_theme(theme)
 
     def __sync_theme(self, *args):
-        self.set_theme(ThemeManager.getInstance().get_theme())
+        theme_mgr = ThemeManager.getInstance()
+
+        if self.__stylesheet:
+            theme = theme_mgr.make_stock_theme(self.__stylesheet)
+        else:
+            theme = theme_mgr.get_theme()
+
+        self.set_theme(theme)
 
     def do_destroy(self):
         if self.__connection:

Modified: trunk/bigboard/stock.py
==============================================================================
--- trunk/bigboard/stock.py	(original)
+++ trunk/bigboard/stock.py	Wed Jun 18 16:54:47 2008
@@ -1,4 +1,4 @@
-import os, logging, xml.dom.minidom
+import os, logging, xml.dom.minidom, urlparse
 
 import gobject
 
@@ -60,6 +60,12 @@
         self._logger = logging.getLogger('bigboard.stocks.' + self._id)  
         _logger.debug("initializing")
 
+    def get_path(self, relative_path=None):
+        path = urlparse.urlparse(self._metainfo.get_base_url()).path
+        if relative_path:
+            path = os.path.join(path, relative_path)
+        return path
+
     def on_delisted(self):
         """Called when stock is shut down (removed)"""
         _logger.debug("on_delisted stock %s" % (self._id))

Modified: trunk/bigboard/stocks/apps/AppsStock.py
==============================================================================
--- trunk/bigboard/stocks/apps/AppsStock.py	(original)
+++ trunk/bigboard/stocks/apps/AppsStock.py	Wed Jun 18 16:54:47 2008
@@ -104,7 +104,7 @@
     def __on_more_button(self):
         _logger.debug("more!")
         if self.__app_browser is None:
-            self.__app_browser = appbrowser.AppBrowser()  
+            self.__app_browser = appbrowser.AppBrowser(self.get_path("browser.css"))
         if self.__app_browser.get_property('is-active'):
             self.__app_browser.hide()
         else:

Modified: trunk/bigboard/stocks/apps/appbrowser.py
==============================================================================
--- trunk/bigboard/stocks/apps/appbrowser.py	(original)
+++ trunk/bigboard/stocks/apps/appbrowser.py	Wed Jun 18 16:54:47 2008
@@ -41,7 +41,7 @@
         
         self.__header = apps_widgets.AppDisplay(apps_widgets.AppLocation.DESCRIPTION_HEADER)
         
-        self.__description = hippo.CanvasText(font="12px",size_mode=hippo.CANVAS_SIZE_WRAP_WORD)
+        self.__description = hippo.CanvasText(id="app-description",size_mode=hippo.CANVAS_SIZE_WRAP_WORD)
         
         self.__controls_box = CanvasVBox(xalign=hippo.ALIGNMENT_START, yalign=hippo.ALIGNMENT_END)
  
@@ -188,8 +188,8 @@
         
         self.remove_all()
 
-        self.add(hippo.CanvasText(text="Category", font="Bold 12px", color=0x3F3F3FFF, xalign=hippo.ALIGNMENT_START), left=0, top=0)
-        self.add(hippo.CanvasText(text="Your Usage", font="Bold 12px", color=0x3F3F3FFF, xalign=hippo.ALIGNMENT_START), left=1, top=0)
+        self.add(hippo.CanvasText(text="Category", classes="title", xalign=hippo.ALIGNMENT_START), left=0, top=0)
+        self.add(hippo.CanvasText(text="Your Usage", classes="title", color=0x3F3F3FFF, xalign=hippo.ALIGNMENT_START), left=1, top=0)
         
         categories = categorize(used_apps)
         cat_usage = {}
@@ -243,12 +243,12 @@
 
         thing = self.__get_section_name()
         self.__left_title = hippo.CanvasText(text="New Popular %s" % (thing,),
-                                             font="12px Bold",
+                                             classes="title",
                                              xalign=hippo.ALIGNMENT_START)
         self.__headerbox.append(self.__left_title)
         # TODO this won't underline properly until ActionLink->set_underline listens for text changes
         # underline=pango.UNDERLINE_LOW
-        self.__right_title = ActionLink(font="12px",
+        self.__right_title = ActionLink(id="more-popular-link",
                                         xalign=hippo.ALIGNMENT_END)
         self.__right_title.connect("activated", self.__on_more_popular)
         self.__headerbox.append(self.__right_title, hippo.PACK_EXPAND)
@@ -491,8 +491,8 @@
             self.emit("launch")
              
 class AppBrowser(BigWindow):
-    def __init__(self):
-        super(AppBrowser, self).__init__(themed=False)
+    def __init__(self, stylesheet):
+        super(AppBrowser, self).__init__(stylesheet=stylesheet, themed=False)
 
         self.__repo = apps.get_apps_repo()
         
@@ -508,8 +508,8 @@
         self.__left_box.set_property('background-color', 0xEEEEEEFF)
         self.__box.append(self.__left_box)
         
-        self.__search_text = hippo.CanvasText(text="Search All Applications:", font="Bold 12px",
-                                              color=0x3F3F3FFF, xalign=hippo.ALIGNMENT_START)
+        self.__search_text = hippo.CanvasText(text="Search All Applications:", classes="title",
+                                              xalign=hippo.ALIGNMENT_START)
         self.__left_box.append(self.__search_text)
         self.__search_input = hippo.CanvasEntry()
         #self.__search_input.set_property('border-color', 0xAAAAAAFF)
@@ -529,8 +529,7 @@
         self.__cat_usage = AppCategoryUsage()
         self.__left_box.append(self.__cat_usage)   
 
-        self.__left_box.append(hippo.CanvasText(text="Tools", font="Bold 12px",
-                                                color=0x3F3F3FFF, xalign=hippo.ALIGNMENT_START))
+        self.__left_box.append(hippo.CanvasText(text="Tools", classes="title", xalign=hippo.ALIGNMENT_START))
                                                                
         browse_link = ActionLink(text="Find New Applications", underline=pango.UNDERLINE_LOW, xalign=hippo.ALIGNMENT_START)
         browse_link.connect("button-press-event", lambda l,e: self.__on_browse_popular_apps())



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]