[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[ff-cvs] fenfire/org/fenfire/fenpdf/events mousemenu.py
From: |
Matti Katila |
Subject: |
[ff-cvs] fenfire/org/fenfire/fenpdf/events mousemenu.py |
Date: |
Tue, 26 Aug 2003 05:12:28 -0400 |
CVSROOT: /cvsroot/fenfire
Module name: fenfire
Branch:
Changes by: Matti Katila <address@hidden> 03/08/26 05:12:28
Modified files:
org/fenfire/fenpdf/events: mousemenu.py
Log message:
fix mousemenu click
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/fenpdf/events/mousemenu.py.diff?tr1=1.8&tr2=1.9&r1=text&r2=text
Patches:
Index: fenfire/org/fenfire/fenpdf/events/mousemenu.py
diff -u fenfire/org/fenfire/fenpdf/events/mousemenu.py:1.8
fenfire/org/fenfire/fenpdf/events/mousemenu.py:1.9
--- fenfire/org/fenfire/fenpdf/events/mousemenu.py:1.8 Tue Aug 26 03:33:10 2003
+++ fenfire/org/fenfire/fenpdf/events/mousemenu.py Tue Aug 26 05:12:28 2003
@@ -53,6 +53,8 @@
def showList(self, x, y, who):
self.eventHandler.eventGrabber = self.mouse
+ self.dragged = 0
+ self.notExecuted = 1
p("showList")
if who == 'buoymenu':
self.makeBuoyList()
@@ -64,8 +66,8 @@
return
self.w, self.h = self.selectListVob.width, self.selectListVob.height
- self.w *= 2.5
- self.h *= 2.5
+ self.w *= 2
+ self.h *= 2
self.x, self.y = x, y
def hideList(self):
@@ -84,11 +86,12 @@
def mouse(self, ev, oldVS):
""" Should be called only through eventHandler.eventGrabber
"""
+
cs = oldVS.matcher.getCS(0, 'MOUSE_MENU')
key = oldVS.getKeyAt(cs, ev.getX(), ev.getY(), None)
if dbg: p('cs', cs, key)
if cs < 0:
- p('Something WRONG!!, should not happend! How can ',oldvs,'be
*WRONG* vobscene??? should not be reused!')
+ p('Something WRONG!!, should not happend! How can ',oldVS,'be
*WRONG* vobscene??? should not be reused!')
raise 'Unallowed operation'
pts = jarray.zeros(3, 'f')
@@ -98,15 +101,21 @@
if ev.getType() in [ev.MOUSE_PRESSED, ev.MOUSE_DRAGGED]:
self.selectListVob.preSelect(pts[0], pts[1])
+
+ if ev.getType() == ev.MOUSE_DRAGGED:
+ self.dragged = 1
+ vob.AbstractUpdateManager.setNoAnimation()
if ev.getType() in [ev.MOUSE_RELEASED, ev.MOUSE_CLICKED]:
self.selectListVob.postSelect(pts[0], pts[1])
- if key:
+ if key and self.notExecuted:
key()
+ self.notExecuted = 0
else:
p('nothing', key)
- self.eventHandler.eventGrabber = None
- self.hideList()
+
+ if self.dragged or ev.getType() == ev.MOUSE_CLICKED:
+ self.eventHandler.eventGrabber = None
+ self.hideList()
- vob.AbstractUpdateManager.setNoAnimation()
self.fenPDF.animation.regenerateVS()