Added support for 8x4 grid by reducing spacing to 36 from 42.
[drlaunch] / src / icongrid.py
index 3571736..b13f7df 100755 (executable)
@@ -69,7 +69,7 @@ class IconGrid(object):       #(gobject.GObject):
 
        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):
@@ -106,7 +106,7 @@ class IconGrid(object):     #(gobject.GObject):
        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)
@@ -115,6 +115,9 @@ class IconGrid(object):     #(gobject.GObject):
                 self.setAngle(0)
             else:
                 self.setAngle(90)
+
+           if do_draw:
+               self.queue_draw()
                 
     def timerAngle(self):
        if self.angle_timer_start==0:
@@ -300,13 +303,13 @@ class IconGridWidget(IconGrid, gtk.Widget):
 
        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)