import os
import pickle
-version = "0.9.2"
+version = "1.0"
try:
from glib import get_user_config_dir
self.size = (2,2)
self.themebgsize = 96
- self.iconsize = 64
-# self.iconspace = 42 # For 4 icons (height)
- self.iconspace = 36 # For 8 icons (width)
+ self.iconsize0 = 64
+### self.iconspace = 42 # For 4 icons (height)
+## self.iconspace = 36 # For 8 icons (width)
+
+# self.iconsize = 64
+# self.iconpadding = 12
+# self.iconmargin = 6
+
self.apps=None
self.indiv=True
self.longpress=False
self.nobg=False
self.themebg=False
- self.maxsz=(8,4)
+ self.setDefaultSizes()
+
+ #self.maxsz=(8,4)
def setSize(self, sz):
- self.size=sz
+ maxsz=self.getMaxSize()
+ sz2=(min(sz[0], maxsz[0]), min(sz[1], maxsz[1]))
+ self.size=sz2
def getSize(self):
return(self.size)
+ def setDefaultSizes(self):
+ self.iconsize=64
+ self.iconpadding=12
+ self.iconmargin=6
+
def getMaxSize(self):
- return(self.maxsz)
+ isf=self.getIconSizeFull()
+ retx=int(800/isf)
+ rety=int((480-60)/isf)
+ maxsz=(retx, rety)
+ return(maxsz)
def getIconSize(self):
return(self.iconsize)
+ def setIconSize(self, sz):
+ self.iconsize=sz
+
+ def getIconSpace(self):
+ return((2*self.iconpadding) + (2*self.iconmargin))
+
+ def getIconSizeFull(self):
+ ret=self.iconsize + (2*self.iconpadding) + (2*self.iconmargin)
+ return(ret)
+
+ def getIconMargin(self):
+ return(self.iconmargin)
+
+ def setIconMargin(self, sz):
+ self.iconmargin=sz
+
+ def getIconPadding(self):
+ return(self.iconpadding)
+
+ def setIconPadding(self, sz):
+ self.iconpadding=sz
+
def setIndiv(self, indiv):
self.indiv=indiv
return(self.apps)
+ def filterDefault(self, value, default):
+ if value==default:
+ return(-1)
+ else:
+ return(value)
+
+ def provideDefault(self, value, default):
+ if value==-1:
+ return(default)
+ else:
+ return(value)
+
def save(self):
self.check_init()
if dt==None:
dt={
- 'version': 6,
+ 'version': 7,
'data': {},
}
'animate': self.getAnimate(),
'nobg': self.getNoBg(),
'themebg': self.getThemeBg(),
+ 'iconsize': self.filterDefault(self.getIconSize(), 64),
+ 'iconpadding': self.filterDefault(self.getIconPadding(), 12),
+ 'iconmargin': self.filterDefault(self.getIconMargin(), 6),
}
fn=get_config_fn()
return(dt)
+ def parse_v6(self, dt):
+ dt['version']=7
+
+ for i in dt['data']:
+ dt['data'][i]['iconsize']=-1
+ dt['data'][i]['iconpadding']=-1
+ dt['data'][i]['iconmargin']=-1
+
+ return(dt)
+
def load_all(self):
fn=get_config_fn()
if ret['version']==5:
ret=self.parse_v5(ret)
+
+ if ret['version']==6:
+ ret=self.parse_v6(ret)
except Exception, e:
print "config error:", e
ret=None
self.setAnimate(dt['animate'])
self.setNoBg(dt['nobg'])
self.setThemeBg(dt['themebg'])
+ self.setIconSize(self.provideDefault(dt['iconsize'], 64))
+ self.setIconPadding(self.provideDefault(dt['iconpadding'], 12))
+ self.setIconMargin(self.provideDefault(dt['iconmargin'], 6))
def check_init(self):
if self.id==None: