import cairo
import time
+from subprocess import Popen,PIPE
+
from portrait import FremantleRotation
import launcher
from xdg.IconTheme import getIconPath
self.winConfig=None
self.set_settings(True)
- self.connect('show-settings', self.slot_show_settings)
- self.connect('long-press', self.signalLongpress)
- self.connect('click', self.signalClick)
- def get_id(self):
+ self.id=None
+ self.config=None
+
+ def get_id0(self):
"""If this is called from the constructor then the program
core dumps """
aid=self.get_applet_id()
- ret="%s" % aid
+ # Get desktop activity if D.A.M. is present
+
+ act="/usr/bin/activity"
+
+ if os.path.exists(act):
+ r=Popen([act, "current"], stdout=PIPE).communicate()
+ activity=r[0].strip()
+ else:
+ activity=""
+
+ ret="%s-%s" % (aid, activity)
return(ret)
- def do_realize(self):
- #print "realize"
+ def get_id(self):
+ if self.id==None:
+ self.id=self.get_id0()
+
+ return(self.id)
+
+ def get_config(self):
+ if self.config==None:
+ id=self.get_id()
+ self.config=config.Config(id)
+ return(self.config)
+
+ def do_realize(self):
launcher.init()
- config.init(self.get_id())
+ config=self.get_config()
config.load()
+
+ IconGrid.do_realize(self, config)
+
self.setSize(config.getSize())
self.reloadIcons()
self.set_colormap(screen.get_rgba_colormap())
self.set_app_paintable(True)
+ self.connect('show-settings', self.slot_show_settings)
+ self.connect('long-press', self.signalLongpress)
+ self.connect('click', self.signalClick)
+
HomePluginItem.do_realize(self)
def on_orientation_changed(self, orientation):
# self.winConfig.show_all()
return
- s=WinConfig()
+ s=WinConfig(self.get_config())
s.show_all()
s.connect('destroy', self.slotConfigDestroy)
self.winConfig=s
self.winConfig=None
dt=sender.getData()
+
+ config=self.get_config()
+
config.setSize(dt['size'])
config.setApps(dt['apps'])
config.setIndiv(dt['indiv'])
self.handle_click(sender, icon)
def signalClick(self, sender, icon):
+ config=self.get_config()
+
if not config.getLongpress():
self.handle_click(sender, icon)
def resize(self):
+ config=self.get_config()
+
w=(self.size[0] * config.iconsize) + \
(self.size[0] * config.iconspace)
h=(self.size[1] * config.iconsize) + \