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.animate=True
- self.maxsz=(4,4)
+ self.maxsz=(8,4)
def setSize(self, sz):
self.size=sz
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
'apps': self.getApps(),
'indiv': self.getIndiv(),
'longpress': self.getLongpress(),
+ 'animate': self.getAnimate(),
}
fn=get_config_fn()
self.icons=Icons(self.isconfig, self.config)
self.setMode('l')
- self.setSize((4,4))
+ self.setSize((8,4))
self.reloadIcons()
def connect(self, what, *args):
except TypeError:
do_draw=True
- if do_draw:
+ if do_draw and self.config.getAnimate():
#self.queue_draw()
self.angle_timer_start=time.time()
gobject.timeout_add(20, self.timerAngle)
self.setAngle(0)
else:
self.setAngle(90)
+
+ if do_draw:
+ self.queue_draw()
def timerAngle(self):
if self.angle_timer_start==0:
IconGrid.do_realize(self, self.config)
- if isconfig:
- maxsz=self.config.getMaxSize()
- w=maxsz[0] * (self.config.iconsize + self.config.iconspace)
- h=maxsz[1] * (self.config.iconsize + self.config.iconspace)
- else:
- w=self.size[0] * (self.config.iconsize + self.config.iconspace)
- h=self.size[1] * (self.config.iconsize + self.config.iconspace)
+ self.setSize(self.size)
+
+ def setSize(self, size):
+ IconGrid.setSize(self, size)
+
+ w=self.size[0] * (self.config.iconsize + self.config.iconspace)
+ h=self.size[1] * (self.config.iconsize + self.config.iconspace)
self.set_size_request(w, h)
# 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)
self.buttonRequireLongpress=but
vbox.add(but)
+ 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.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)
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:
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()
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)