Change defaults to 'no longpress' and 'rotate icons individually'.
[drlaunch] / src / config.py
index fad6826..5bc5f23 100755 (executable)
@@ -25,7 +25,7 @@ __version__ = "$Id: 0.py 2265 2010-02-21 19:16:26Z v13 $"
 import os
 import pickle
 
-version = "0.3"
+version = "0.7"
 
 try:
     from glib import get_user_config_dir
@@ -60,12 +60,14 @@ class Config:
 
        self.size = (2,2)
        self.iconsize = 64
-       self.iconspace = 42
+#      self.iconspace = 42     # For 4 icons (height)
+       self.iconspace = 36     # For 8 icons (width)
        self.apps=None
-       self.indiv=False
-       self.longpress=True
+       self.indiv=True
+       self.longpress=False
+       self.animate=True
 
-       self.maxsz=(4,4)
+       self.maxsz=(8,4)
 
     def setSize(self, sz):
        self.size=sz
@@ -91,6 +93,12 @@ class Config:
     def getLongpress(self):
        return(self.longpress)
 
+    def setAnimate(self, ar):
+       self.animate=ar
+
+    def getAnimate(self):
+       return(self.animate)
+
     def setApps(self, aps):
        """ apps is a dictionary of (x,y)=>appname """
        self.apps=aps
@@ -114,7 +122,7 @@ class Config:
 
        if dt==None:
            dt={
-               'version':  3,
+               'version':  4,
                'data': {},
                }
 
@@ -123,6 +131,7 @@ class Config:
            'apps':         self.getApps(),
            'indiv':        self.getIndiv(),
            'longpress':    self.getLongpress(),
+           'animate':      self.getAnimate(),
            }
 
        fn=get_config_fn()
@@ -158,6 +167,14 @@ class Config:
 
        return(dt)
 
+    def parse_v3(self, dt):
+       dt['version']=4
+
+       for i in dt['data']:
+           dt['data'][i]['animate']=True
+
+       return(dt)
+
     def load_all(self):
        fn=get_config_fn()
 
@@ -175,6 +192,9 @@ class Config:
 
                if ret['version']==2:
                    ret=parse_v2(ret)
+
+               if ret['version']==3:
+                   ret=parse_v3(ret)
        except:
            ret=None
 
@@ -187,7 +207,7 @@ class Config:
 
        dt0=self.load_all()
 
-       if not dt0['data'].has_key(self.id):
+       if dt0==None or not dt0['data'].has_key(self.id):
            return
 
        dt=dt0['data'][self.id]
@@ -196,6 +216,7 @@ class Config:
        self.setApps(dt['apps'])
        self.setIndiv(dt['indiv'])
        self.setLongpress(dt['longpress'])
+       self.setAnimate(dt['animate'])
 
     def check_init(self):
        if self.id==None: