# hbox.add(vbox)
al.add(vbox)
- vbox.add(gtk.Label('Grid size:'))
+ maxsz=config.getMaxSize()
- self.butsSize=[]
- for i in xrange(4):
- but=gtk.ToggleButton("%sx%s" % (i+1,i+1))
- but.set_size_request(160, 90)
- self.butsSize.append(but)
- but.connect('toggled', self.slotButtonSize, i)
+ # ----------------------------------------------
+ vbox.add(gtk.Label('Width:'))
hbox2=gtk.HBox()
vbox.add(hbox2)
- hbox2.add(self.butsSize[0])
- hbox2.add(self.butsSize[1])
+
+ self.butsSizeX=[]
+ self.butsSize=self.butsSizeX # For now
+ for i in xrange(maxsz[0]):
+ but=hildon.GtkToggleButton(gtk.HILDON_SIZE_FINGER_HEIGHT)
+ but.set_label("%s" % (i+1,))
+ but.connect('toggled', self.slotButtonSizeX, i)
+
+ self.butsSizeX.append(but)
+
+ hbox2.add(but)
+
+ # ----------------------------------------------
+ vbox.add(gtk.Label('Height:'))
+
hbox2=gtk.HBox()
vbox.add(hbox2)
- hbox2.add(self.butsSize[2])
- hbox2.add(self.butsSize[3])
- self.igw.connect('long-press', self.slotLongpress)
+ self.butsSizeY=[]
+ for i in xrange(maxsz[1]):
+ but=hildon.GtkToggleButton(gtk.HILDON_SIZE_FINGER_HEIGHT)
+ but.set_label("%s" % (i+1,))
+ but.connect('toggled', self.slotButtonSizeY, i)
+
+ self.butsSizeY.append(but)
+
+ hbox2.add(but)
+
+ but=hildon.CheckButton(
+ gtk.HILDON_SIZE_AUTO_WIDTH | gtk.HILDON_SIZE_FINGER_HEIGHT)
+ but.set_label("Rotate icons individually")
+ but.connect('toggled', self.slotButtonRotateIndividually)
+ self.buttonRotateIndividually=but
+ vbox.add(but)
+
+ but=hildon.CheckButton(
+ gtk.HILDON_SIZE_AUTO_WIDTH | gtk.HILDON_SIZE_FINGER_HEIGHT)
+ but.set_label("Require long press")
+# but.connect('toggled', self.slotButtonLongpress)
+ self.buttonRequireLongpress=but
+ vbox.add(but)
+
+ #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())
def slotLongpress(self, sender, icon):
self.doConfig(icon)
- def slotButtonSize(self, sender, id):
- self.setSize(id+1)
+ def slotButtonSizeX(self, sender, id):
+ if self.getIndiv():
+ old=self.getSize()
+ sz=(id+1, old[1])
+ else:
+ sz=(id+1, id+1)
+
+ self.setSize(sz)
+
+ def slotButtonSizeY(self, sender, id):
+ old=self.getSize()
+ sz=(old[0], id+1)
+ self.setSize(sz)
+ def slotButtonRotateIndividually(self, sender):
+ but=self.buttonRotateIndividually
+ self.setIndiv(but.get_active())
+
+# def slotButtonLongpress(self, sender):
+# but=self.buttonRequireLongpress
+# self.set
+
def setSize(self, sz):
if self.ignore_toggle:
return
self.ignore_toggle=True
- id=sz-1
+ maxsz=config.getMaxSize()
+
+ id=sz[0]-1
- for i in xrange(4):
- but=self.butsSize[i]
+ for i in xrange(maxsz[0]):
+ but=self.butsSizeX[i]
+ but.set_active(i==id)
+
+ id=sz[1]-1
+
+ for i in xrange(maxsz[1]):
+ but=self.butsSizeY[i]
but.set_active(i==id)
self.ignore_toggle=False
self.igw.queue_draw()
+ def getSize(self):
+ return(self.igw.getSize())
+
+ def getIndiv(self):
+ ret=self.buttonRotateIndividually.get_active()
+
+ return(ret)
+
+ def setIndiv(self, indiv):
+ if indiv:
+ for i in self.butsSizeY:
+ i.set_sensitive(True)
+ else:
+ for i in self.butsSizeY:
+ i.set_sensitive(False)
+ sz=self.getSize()
+ szx=sz[0]
+ if szx>4:
+ szx=4
+ self.setSize((szx, szx))
+
+ self.buttonRotateIndividually.set_active(indiv)
+
+ def setLongpress(self, lp):
+ self.buttonRequireLongpress.set_active(lp)
def doConfig(self, icon):
aps=apps.scan()
dialog.destroy()
def getData(self):
- sz=0
- for but in self.butsSize:
- sz+=1
+ szx=0
+ szy=0
+ for but in self.butsSizeX:
+ szx+=1
if but.get_active()==True:
break
+ for but in self.butsSizeY:
+ szy+=1
+ if but.get_active()==True:
+ break
+
+ if self.getIndiv():
+ sz=(szx, szy)
+ else:
+ sz=(szx, szx)
+
wapps={}
- for x in xrange(sz):
- for y in xrange(sz):
+ for x in xrange(sz[0]):
+ for y in xrange(sz[1]):
ico=self.igw.get(x,y)
k=(x,y)
wapps[k]=ico.name
+ indiv=self.buttonRotateIndividually.get_active()
+ lp=self.buttonRequireLongpress.get_active()
+
ret={
- 'size': sz,
- 'apps': wapps
+ 'size': sz,
+ 'apps': wapps,
+ 'indiv': indiv,
+ 'longpress': lp,
}
return(ret)