import time
from portrait import FremantleRotation
-from xdg.IconTheme import getIconPath
+#from xdg.IconTheme import getIconPath
-import config
+#import config
import apps
import icon
from icon import Icon
from icons import Icons
-def getIcon(name):
- ico=getIconPath(name, config.iconsize)
- ret=gtk.gdk.pixbuf_new_from_file_at_size(ico, config.iconsize,
- config.iconsize)
-
- return(ret)
+#def getIcon(name, iconsize):
+# ico=getIconPath(name, iconsize)
+# ret=gtk.gdk.pixbuf_new_from_file_at_size(ico, iconsize, iconsize)
+#
+# return(ret)
#class IconGrid(gtk.Widget, FremantleRotation):
class IconGrid(object): #(gobject.GObject):
self.isconfig=isconfig
- self.icons=Icons(isconfig)
-
- self.setMode('l')
+ self.icons=None
+ self.lasticon=None # The last icon that got selected
- # Maybe fix those:
-# w=(config.getSize() * config.iconsize) + \
-# (config.getSize()) * config.iconspace
- #self.set_size_request(w, w)
+ def do_realize(self, config):
+ self.config=config
-# self.setSize(config.getSize())
+ self.icons=Icons(self.isconfig, self.config)
+ self.setMode('l')
self.setSize((4,4))
-
- self.lasticon=None # The last icon that got selected
-
self.reloadIcons()
def connect(self, what, *args):
def iconAt(self, x, y):
""" Get icon at coordinates x,y. X and Y are in pixels """
- w=config.iconsize + config.iconspace
+ w=self.config.iconsize + self.config.iconspace
- if self.mode=='l' or config.getIndiv():
+ if self.mode=='l' or self.config.getIndiv():
x2=int(x / w)
y2=int(y / w)
else:
return(ret)
def _draw(self, cr, event):
- w=config.iconsize + config.iconspace
+ w=self.config.iconsize + self.config.iconspace
for x,y in self.icons:
- if self.mode=='l' or config.getIndiv():
- x2=x * (config.iconsize + config.iconspace)
- y2=y * (config.iconsize + config.iconspace)
+ if self.mode=='l' or self.config.getIndiv():
+ x2=x * (self.config.iconsize + self.config.iconspace)
+ y2=y * (self.config.iconsize + self.config.iconspace)
else:
- x2=y * (config.iconsize + config.iconspace)
- y2=(self.size[1]-x-1) * (config.iconsize + config.iconspace)
+ x2=y * (self.config.iconsize + self.config.iconspace)
+ y2=(self.size[1]-x-1) * \
+ (self.config.iconsize + self.config.iconspace)
# Only repaint the needed icons
rect=gdk.Rectangle(x2, y2, w, w)
# self.setMode(o)
class IconGridWidget(IconGrid, gtk.Widget):
- def __init__(self, isconfig):
+ def __init__(self, isconfig, config):
IconGrid.__init__(self, isconfig)
gtk.Widget.__init__(self)
+ self.config=config
+
+ IconGrid.do_realize(self, self.config)
+
if isconfig:
- maxsz=config.getMaxSize()
- w=maxsz[0] * (config.iconsize + config.iconspace)
- h=maxsz[1] * (config.iconsize + config.iconspace)
+ 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] * (config.iconsize + config.iconspace)
- h=self.size[1] * (config.iconsize + config.iconspace)
+ 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)