from portrait import FremantleRotation
import launcher
from xdg.IconTheme import getIconPath
-
+from sig import Disconnector
#import config
import apps
return(ret)
-class Icon(gobject.GObject):
+class Icon(Disconnector, gobject.GObject):
+#class Icon(gtk.Widget, Disconnector):
+
+ __v_t=(gobject.SIGNAL_RUN_FIRST | gobject.SIGNAL_ACTION,
+ gobject.TYPE_NONE, ())
+
+ gsignals={
+ 'click': __v_t,
+ 'double-click': __v_t,
+ 'tripple-click': __v_t,
+ 'long-press': __v_t,
+ }
+
+ __gsignals__=gsignals
+
def __init__(self, isconfig, config):
- self.__gobject_init__()
+# self.__gobject_init__()
+ gobject.GObject.__init__(self)
+# gtk.Widget.__init__(self)
+ Disconnector.__init__(self)
self.isconfig=isconfig
self.config=config
- self.name=None
+ self.appname=None
self.icon=None
self.sicon=None
self.lastpress=0
self.presstime=0.25
- self.window=None
+ self.window_=None
self.clickcount=0
self.draw_queued=False
+ #print "icon-init"
+
+ def __del__(self):
+ #print "icon-del"
+ pass
+
def timePressed(self):
""" return how much time a button is pressed """
dt=time.time() - self.lastpress
def setApp(self, dt):
if dt==None:
- self.name=None
+ self.appname=None
self.icon=None
self.sicon=None
else:
- self.name=dt['id']
+ self.appname=dt['id']
self.icon=dt['icon2']
self.sicon=None
self.clearAnimationCache()
self.clickcount+=1
if self.clickcount==1:
self.emit('click')
+# print "emit click", self
elif self.clickcount==2:
self.emit('double-click')
if self.clickcount==3:
self.clickcount=0
elif dt>self.presstime and dt<2:
self.emit('long-press')
+# print "Emit lp"
def doCancel(self):
self.ispressed=False
def setWindow(self, window):
- self.window=window
+ self.window_=window
def invalidate(self, window=None):
if window==None:
- window=self.window
+ window=self.window_
else:
- self.window=window
+ self.window_=window
if window==None:
return
rect=gdk.Rectangle(self.x, self.y, w, w)
gdk.Window.invalidate_rect(window, rect, True)
-gobject.type_register(Icon)
-signals=['click', 'double-click', 'tripple-click', 'long-press']
-for s in signals:
- gobject.signal_new(s, Icon, gobject.SIGNAL_RUN_FIRST,
- gobject.TYPE_NONE, ())
+#gobject.type_register(Icon)
+#signals=['click', 'double-click', 'tripple-click', 'long-press']
+#for s in signals:
+# gobject.signal_new(s, Icon, gobject.SIGNAL_RUN_FIRST | \
+# gobject.SIGNAL_ACTION, gobject.TYPE_NONE, ())
# vim: set ts=8 sts=4 sw=4 noet formatoptions=r ai nocindent: