X-Git-Url: http://vcs.maemo.org/git/?a=blobdiff_plain;f=src%2Fwin_config.py;h=4639e2bbdfd83637318685477bb92400a6c8788d;hb=6cf311bec98c1ccc0cf512ead71526e1ab223085;hp=472885e3e521bfe09bb2e6a22f81c495a9a9794e;hpb=2ce2f31557eb98311c886f58d0c9da1dd45897b6;p=drlaunch diff --git a/src/win_config.py b/src/win_config.py index 472885e..4639e2b 100755 --- a/src/win_config.py +++ b/src/win_config.py @@ -35,9 +35,11 @@ from hildon import StackableWindow 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): @@ -50,6 +52,14 @@ class DialogIconSize(gtk.Dialog): 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) @@ -57,7 +67,7 @@ class DialogIconSize(gtk.Dialog): 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) @@ -70,7 +80,7 @@ class DialogIconSize(gtk.Dialog): 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) @@ -81,12 +91,16 @@ class DialogIconSize(gtk.Dialog): 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()) @@ -138,6 +152,7 @@ class DialogIconSize(gtk.Dialog): def recalc(self): maxsz=self.config.getMaxSize() self.setWH(maxsz[0], maxsz[1]) + self.icon.refresh() def getIconSize(self): return(self.scaleIconSize.get_value()) @@ -197,9 +212,10 @@ class DialogIconSize(gtk.Dialog): 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) @@ -207,6 +223,13 @@ class WinConfig(StackableWindow): #, FremantleRotation): 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 @@ -220,6 +243,8 @@ class WinConfig(StackableWindow): #, FremantleRotation): # 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) @@ -242,11 +267,10 @@ class WinConfig(StackableWindow): #, FremantleRotation): 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) @@ -262,7 +286,7 @@ class WinConfig(StackableWindow): #, FremantleRotation): 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) @@ -280,7 +304,7 @@ class WinConfig(StackableWindow): #, FremantleRotation): 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) @@ -308,14 +332,14 @@ class WinConfig(StackableWindow): #, FremantleRotation): 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) @@ -323,7 +347,7 @@ class WinConfig(StackableWindow): #, FremantleRotation): 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) @@ -332,7 +356,7 @@ class WinConfig(StackableWindow): #, FremantleRotation): 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 @@ -368,8 +392,6 @@ class WinConfig(StackableWindow): #, FremantleRotation): hbox.add(self.w_igw) self.pa.add_with_viewport(hbox) - self.add(self.pa) - self.adjustMaxSize() # def setupUi(self, orientation): @@ -466,6 +488,10 @@ class WinConfig(StackableWindow): #, FremantleRotation): else: self.setLayoutLandscape() +# def slotDeleteEvent(self, sender, event): +# print "wc-del-event" +# return(False) + def slotLongpress(self, sender, icon): self.doConfig(icon) @@ -491,6 +517,10 @@ class WinConfig(StackableWindow): #, FremantleRotation): nobg=self.getNoBg() self.setNoBg(nobg) + def slotButtonThemeBackground(self, sender): + themebg=self.getThemeBg() + self.setThemeBg(themebg) + def slotButtonAbout(self, sender): DlgAbout.present2(self) @@ -512,17 +542,18 @@ class WinConfig(StackableWindow): #, FremantleRotation): 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 @@ -601,16 +632,23 @@ class WinConfig(StackableWindow): #, FremantleRotation): 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() @@ -638,7 +676,7 @@ class WinConfig(StackableWindow): #, FremantleRotation): 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 @@ -671,6 +709,12 @@ class WinConfig(StackableWindow): #, FremantleRotation): dialog.destroy() +# def finish(self): +# print "wc-finish" +# self.igw=None +# +# self.dis_finish() + def getData(self): szx=0 szy=0 @@ -695,7 +739,7 @@ class WinConfig(StackableWindow): #, FremantleRotation): 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()