X-Git-Url: http://vcs.maemo.org/git/?a=blobdiff_plain;f=config.py;h=36a33be3bbb1d090d1687e30f465ecb1b41bd346;hb=3e41d8ca09bf165367e362baee40ac64c9c0fcec;hp=005de065a4c8258d5817220c85b0ddaac4b78673;hpb=3fc9929bdc22eb7cf41e5f88a916b7d30f5cec22;p=drlaunch diff --git a/config.py b/config.py index 005de06..36a33be 100755 --- a/config.py +++ b/config.py @@ -22,9 +22,104 @@ __version__ = "$Id: 0.py 2265 2010-02-21 19:16:26Z v13 $" -size = 4 +import os +import pickle + +try: + from glib import get_user_config_dir +except: + def get_user_config_dir(): + home=os.environ['HOME'] + if home=='': + home="/home/user" + cfg="%s/.config" % (home) + + return(cfg) + +size = 2 iconsize = 64 iconspace = 42 +apps=None + +def setSize(sz): + global size + + size=sz + +def getSize(): + global size + + return(size) + +def setApps(aps): + """ apps is a dictionary of (x,y)=>appname """ + global apps + + apps=aps + +def getApps(): + global apps + + if apps==None: + tmp={ + (0,0): 'rtcom-call-ui', + (0,1): 'rtcom-messaging-ui', + (1,0): 'browser', + (1,1): 'osso-addressbook', + } + setApps(tmp) + + return(apps) + +def ensure_dir(): + dir0=get_user_config_dir() + dir=dir0+'/drlaunch' + if not os.path.exists(dir): + os.mkdir(dir) + if not os.path.isdir(dir): + raise Exception('Failed to ensure directory' + dir) + + return(dir) + +def get_config_fn(): + dir=ensure_dir() + ret=dir + '/config' + + return(ret) + +def save(): + fn=get_config_fn() + print "save", fn + + dt={ + 'version': 1, + 'size': getSize(), + 'apps': getApps() + } + + print "save:", dt + + st=pickle.dumps(dt) + f=file(fn, 'w') + f.write(st) + f.close() + +def load(): + fn=get_config_fn() + print "load", fn + + try: + f=file(fn, 'r') + st=f.read() + f.close() + dt=pickle.loads(st) + except: + return + + print "load:", dt + + setSize(dt['size']) + setApps(dt['apps']) # vim: set ts=8 sts=4 sw=4 noet formatoptions=r ai nocindent: