Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDan Williams <dcbw@localhost.localdomain>2006-08-23 12:13:15 (GMT)
committer Dan Williams <dcbw@localhost.localdomain>2006-08-23 12:13:15 (GMT)
commit4eb5a6127621c727372e111a2d9450afc438caca (patch)
treec6621672896540b265da2226b071766dee976fc0
parent3b9d3daa3baf991f071438e21e07f2e8a4834e72 (diff)
Actually make theme object a singleton
-rw-r--r--shell/home/FriendsView.py4
-rw-r--r--shell/home/HomeView.py4
-rw-r--r--shell/home/Theme.py9
3 files changed, 13 insertions, 4 deletions
diff --git a/shell/home/FriendsView.py b/shell/home/FriendsView.py
index dfa55af..29418b7 100644
--- a/shell/home/FriendsView.py
+++ b/shell/home/FriendsView.py
@@ -5,12 +5,12 @@ import goocanvas
from sugar.canvas.IconItem import IconItem
from sugar.canvas.IconItem import IconColor
-from Theme import Theme
+import Theme
class Model(goocanvas.CanvasModelSimple):
def __init__(self, data_model):
goocanvas.CanvasModelSimple.__init__(self)
- self._theme = Theme()
+ self._theme = Theme.get_instance()
self._theme.connect("theme-changed", self.__theme_changed_cb)
root = self.get_root_item()
diff --git a/shell/home/HomeView.py b/shell/home/HomeView.py
index 08707e3..a84b4f6 100644
--- a/shell/home/HomeView.py
+++ b/shell/home/HomeView.py
@@ -8,7 +8,7 @@ from sugar.canvas.DonutItem import DonutItem
from sugar.canvas.DonutItem import PieceItem
from sugar.canvas.DonutItem import PieceIcon
-from Theme import Theme
+import Theme
class TasksItem(DonutItem):
def __init__(self, shell):
@@ -43,7 +43,7 @@ class TasksItem(DonutItem):
class Background(goocanvas.Group):
def __init__(self):
goocanvas.Group.__init__(self)
- self._theme = Theme()
+ self._theme = Theme.get_instance()
self._theme.connect("theme-changed", self.__theme_changed_cb)
color = self._theme.get_home_colors()[1]
diff --git a/shell/home/Theme.py b/shell/home/Theme.py
index 747c1eb..259d772 100644
--- a/shell/home/Theme.py
+++ b/shell/home/Theme.py
@@ -39,3 +39,12 @@ class Theme(gobject.GObject):
def get_home_colors(self):
return self.__colors[self._cur_theme]
+
+
+# Use this accessor, don't create more than one theme object
+_theme = None
+def get_instance():
+ global _theme
+ if not _theme:
+ _theme = Theme()
+ return _theme