X-Git-Url: http://git.maemo.org/git/?a=blobdiff_plain;f=src%2Fwin_config.py;h=43db90d8e79c9d9688d2a02a7ff019fa7dd3373e;hb=37152347df6b2ae425a1c222a2765d07c624247f;hp=016de496385ed0fc40ae0945d7aa1d131d8ab409;hpb=0fbb9ce4e10bb20ffc0078d666b8f0f58e9bfba2;p=drlaunch diff --git a/src/win_config.py b/src/win_config.py index 016de49..43db90d 100755 --- a/src/win_config.py +++ b/src/win_config.py @@ -31,26 +31,30 @@ from hildon import StackableWindow #from portrait import FremantleRotation #from xdg.IconTheme import getIconPath -import config +#import config import apps from icon import Icon, getIcon from icongrid import IconGridWidget class WinConfig(StackableWindow): - def __init__(self, *args): + def __init__(self, config, *args): StackableWindow.__init__(self) + self.config=config + self.setupUi() def setupUi(self): - self.igw=IconGridWidget(True) + self.igw=IconGridWidget(True, self.config) +# self.igw.do_realize() # self.igw.setSize(config.getSize()) - hbox=gtk.HBox() - self.add(hbox) + self.pa=hildon.PannableArea() + self.add(self.pa) + self.pa.set_property('mov-mode', hildon.MOVEMENT_MODE_HORIZ) - # Add the icongrid - hbox.add(self.igw) + hbox=gtk.HBox() + self.pa.add_with_viewport(hbox) # Now go for the right side al=gtk.Alignment(yscale=0) @@ -60,7 +64,7 @@ class WinConfig(StackableWindow): # hbox.add(vbox) al.add(vbox) - maxsz=config.getMaxSize() + maxsz=self.config.getMaxSize() # ---------------------------------------------- vbox.add(gtk.Label('Width:')) @@ -109,14 +113,27 @@ class WinConfig(StackableWindow): self.buttonRequireLongpress=but vbox.add(but) - #self.igw.connect('long-press', self.slotLongpress) + but=hildon.CheckButton( + gtk.HILDON_SIZE_AUTO_WIDTH | gtk.HILDON_SIZE_FINGER_HEIGHT) + but.set_label("Animate rotation") + self.buttonAnimateRotation=but + vbox.add(but) + + # Add the icongrid + al=gtk.Alignment(xalign=0, xscale=0) + al.add(self.igw) + al.set_padding(0, 0, 20, 0) + hbox.add(al) + + self.igw.connect('long-press', self.slotLongpress) self.igw.connect('click', self.slotLongpress) self.ignore_toggle=False - self.setSize(config.getSize()) - self.setIndiv(config.getIndiv()) - self.setLongpress(config.getLongpress()) + self.setSize(self.config.getSize()) + self.setIndiv(self.config.getIndiv()) + self.setLongpress(self.config.getLongpress()) + self.setAnimate(self.config.getAnimate()) def slotLongpress(self, sender, icon): self.doConfig(icon) @@ -149,7 +166,7 @@ class WinConfig(StackableWindow): self.ignore_toggle=True - maxsz=config.getMaxSize() + maxsz=self.config.getMaxSize() id=sz[0]-1 @@ -181,9 +198,19 @@ class WinConfig(StackableWindow): if indiv: for i in self.butsSizeY: i.set_sensitive(True) + for i in self.butsSizeX: + i.set_sensitive(True) + else: for i in self.butsSizeY: i.set_sensitive(False) + + cnt=0 + for i in self.butsSizeX: + cnt+=1 + if cnt>4: + i.set_sensitive(False) + sz=self.getSize() szx=sz[0] if szx>4: @@ -195,6 +222,9 @@ class WinConfig(StackableWindow): def setLongpress(self, lp): self.buttonRequireLongpress.set_active(lp) + def setAnimate(self, ar): + self.buttonAnimateRotation.set_active(ar) + def doConfig(self, icon): aps=apps.scan() @@ -234,16 +264,17 @@ class WinConfig(StackableWindow): r=dialog.run() if r==gtk.RESPONSE_OK: - cur=selector.get_current_text() - if cur=='None': + idx2=selector.get_active(0) + if idx2<1: app=None else: + cur=lst[idx2-1] for i in aps: if aps[i]['name']==cur: app=aps[i] break if app!=None: - app['icon2']=getIcon(app['icon']) + app['icon2']=getIcon(app['icon'], self.config.getIconSize()) else: app={ 'id': None, @@ -281,12 +312,14 @@ class WinConfig(StackableWindow): indiv=self.buttonRotateIndividually.get_active() lp=self.buttonRequireLongpress.get_active() + ar=self.buttonAnimateRotation.get_active() ret={ 'size': sz, 'apps': wapps, 'indiv': indiv, 'longpress': lp, + 'animate': ar, } return(ret)