import config
import apps
from icon import Icon, getIcon
+from iconw import IconWidget
from icongrid import IconGridWidget
from about import DlgAbout
from portrait import FremantleRotation
+from sig import Disconnector
class DialogIconSize(gtk.Dialog):
def __init__(self, config):
vbox=self.vbox
+ self.pa=hildon.PannableArea()
+ vbox.add(self.pa)
+ self.pa.set_property('mov-mode', hildon.MOVEMENT_MODE_VERT)
+
+ vbox=gtk.VBox()
+ self.pa.add_with_viewport(vbox)
+ self.pa.set_size_request(-1, 1000)
+
self.labelDim=gtk.Label("koko")
vbox.add(self.labelDim)
scale=gtk.HScale()
scale.set_digits(0)
scale.set_value_pos(gtk.POS_RIGHT)
- scale.set_range(48,128)
+ scale.set_range(*self.config.getIconSizeRange())
scale.set_increments(8, 16)
self.scaleIconSize=scale
vbox.add(scale)
scale=gtk.HScale()
scale.set_digits(0)
scale.set_value_pos(gtk.POS_RIGHT)
- scale.set_range(2,16)
+ scale.set_range(*self.config.getIconPaddingRange())
scale.set_increments(2,2)
self.scaleIconPadding=scale
vbox2.add(scale)
scale=gtk.HScale()
scale.set_digits(0)
scale.set_value_pos(gtk.POS_RIGHT)
- scale.set_range(2,16)
+ scale.set_range(*self.config.getIconMarginRange())
scale.set_increments(2,2)
self.scaleIconMargin=scale
vbox2.add(scale)
hbox.add(vbox2)
+ self.icon=IconWidget(False, self.config)
+ self.icon.setApp('osso-addressbook')
+ vbox.add(self.icon)
+
self.scaleIconSize.set_value(self.config.getIconSize())
self.scaleIconPadding.set_value(self.config.getIconPadding())
self.scaleIconMargin.set_value(self.config.getIconMargin())
def recalc(self):
maxsz=self.config.getMaxSize()
self.setWH(maxsz[0], maxsz[1])
+ self.icon.refresh()
def getIconSize(self):
return(self.scaleIconSize.get_value())
return(ret)
-class WinConfig(StackableWindow): #, FremantleRotation):
+class WinConfig(StackableWindow, Disconnector): #, FremantleRotation):
def __init__(self, config, *args):
StackableWindow.__init__(self)
+ Disconnector.__init__(self)
# FremantleRotation.__init__(self, "DrlaunchPlugin",
# mode=FremantleRotation.AUTOMATIC)
self.setupUi()
+# h=self.c(self, 'delete-event', self.slotDeleteEvent)
+
+# This is a nice test. If it is displayed then the window is actually
+# destroyed and there is no memory leak
+# def __del__(self):
+# print "wc-del"
+
def setupUi(self):
"""
self.pa Main Pannable Area
# self.add(self.pa)
self.pa.set_property('mov-mode', hildon.MOVEMENT_MODE_HORIZ)
+ self.add(self.pa)
+
#1 hbox=gtk.HBox()
#1 self.pa.add_with_viewport(hbox)
vbox.add(hbox2)
self.butsSizeX=[]
- self.butsSize=self.butsSizeX # For now
for i in xrange(self.maxmaxsz[0]):
but=hildon.GtkToggleButton(gtk.HILDON_SIZE_FINGER_HEIGHT)
but.set_label("%s" % (i+1,))
- but.connect('toggled', self.slotButtonSizeX, i)
+ self.c(but, 'toggled', self.slotButtonSizeX, i)
self.butsSizeX.append(but)
for i in xrange(self.maxmaxsz[1]):
but=hildon.GtkToggleButton(gtk.HILDON_SIZE_FINGER_HEIGHT)
but.set_label("%s" % (i+1,))
- but.connect('toggled', self.slotButtonSizeY, i)
+ self.c(but, 'toggled', self.slotButtonSizeY, i)
self.butsSizeY.append(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.c(but, '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("Theme background")
- #but.connect('toggled', self.slotButtonNoBackground)
+ but.connect('toggled', self.slotButtonThemeBackground)
self.buttonThemeBackground=but
vbox.add(but)
but=hildon.CheckButton(
gtk.HILDON_SIZE_AUTO_WIDTH | gtk.HILDON_SIZE_FINGER_HEIGHT)
but.set_label("No background")
- but.connect('toggled', self.slotButtonNoBackground)
+ self.c(but, 'toggled', self.slotButtonNoBackground)
self.buttonNoBackground=but
vbox.add(but)
gtk.HILDON_SIZE_AUTO_WIDTH | gtk.HILDON_SIZE_FINGER_HEIGHT,
hildon.BUTTON_ARRANGEMENT_VERTICAL)
but.set_label("Adjust icon size")
- but.connect('clicked', self.slotButtonIconSize)
+ self.c(but, 'clicked', self.slotButtonIconSize)
self.buttonIconSize=but
vbox.add(but)
gtk.HILDON_SIZE_AUTO_WIDTH | gtk.HILDON_SIZE_FINGER_HEIGHT,
hildon.BUTTON_ARRANGEMENT_VERTICAL)
but.set_title("About")
- but.connect("clicked", self.slotButtonAbout)
+ self.c(but, "clicked", self.slotButtonAbout)
vbox.add(but)
self.buttonAbout=but
hbox.add(self.w_igw)
self.pa.add_with_viewport(hbox)
- self.add(self.pa)
-
self.adjustMaxSize()
# def setupUi(self, orientation):
else:
self.setLayoutLandscape()
+# def slotDeleteEvent(self, sender, event):
+# print "wc-del-event"
+# return(False)
+
def slotLongpress(self, sender, icon):
self.doConfig(icon)
nobg=self.getNoBg()
self.setNoBg(nobg)
+ def slotButtonThemeBackground(self, sender):
+ themebg=self.getThemeBg()
+ self.setThemeBg(themebg)
+
def slotButtonAbout(self, sender):
DlgAbout.present2(self)
def show_all(self):
StackableWindow.show_all(self)
+# return
self.adjustMaxSize()
self.queue_draw()
- def slotScaleIconSzChange(self, sender):
- return
- self.config.setIconSize(self.getIconSize())
- self.config.setIconMargin(self.getIconMargin())
- self.config.setIconPadding(self.getIconPadding())
- self.igw.reconfig()
- self.adjustMaxSize()
- self.queue_draw()
+# def slotScaleIconSzChange(self, sender):
+# return
+# self.config.setIconSize(self.getIconSize())
+# self.config.setIconMargin(self.getIconMargin())
+# self.config.setIconPadding(self.getIconPadding())
+# self.igw.reconfig()
+# self.adjustMaxSize()
+# self.queue_draw()
# def slotButtonLongpress(self, sender):
# but=self.buttonRequireLongpress
def getNoBg(self):
ret=self.buttonNoBackground.get_active()
-
return(ret)
def setNoBg(self, nobg):
self.buttonNoBackground.set_active(nobg)
self.buttonThemeBackground.set_sensitive(not nobg)
+ self.config.setNoBg(nobg)
+ self.igw.reconfig()
+
+ def getThemeBg(self):
+ ret=self.buttonThemeBackground.get_active()
+ return(ret)
def setThemeBg(self, themebg):
self.buttonThemeBackground.set_active(themebg)
+ self.config.setThemeBg(themebg)
+ self.igw.reconfig()
def doConfig(self, icon):
aps=apps.scan()
if app==None:
continue
selector.append_text(app)
- if icon.name!=None and aps[icon.name]['name']==app:
+ if icon.appname!=None and aps[icon.appname]['name']==app:
idx=cnt
cnt+=1
dialog.destroy()
+# def finish(self):
+# print "wc-finish"
+# self.igw=None
+#
+# self.dis_finish()
+
def getData(self):
szx=0
szy=0
for y in xrange(sz[1]):
ico=self.igw.get(x,y)
k=(x,y)
- wapps[k]=ico.name
+ wapps[k]=ico.appname
indiv=self.buttonRotateIndividually.get_active()
lp=self.buttonRequireLongpress.get_active()