Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorGary Martin <gary@garycmartin.com>2009-04-07 01:37:42 (GMT)
committer Gary Martin <gary@garycmartin.com>2009-04-07 01:37:42 (GMT)
commit1c7fa414e3ed6960a326856d56568021d03fa23e (patch)
treea0c83c1a4adca94ec9176a59caf9515a9ac5f2e6 /src
parent45b073390be797f3167dabdd0355b0ed483c4537 (diff)
Added canvas panning support using XO hand keys (same as cmd key for Macs).
Diffstat (limited to 'src')
-rw-r--r--src/MMapArea.py24
1 files changed, 15 insertions, 9 deletions
diff --git a/src/MMapArea.py b/src/MMapArea.py
index 02fb4b1..3687c99 100644
--- a/src/MMapArea.py
+++ b/src/MMapArea.py
@@ -205,7 +205,7 @@ class MMapArea (gtk.DrawingArea):
ret = False
obj = self.find_object_at (coords)
- if event.button == 2:
+ if event.button == 1 and self.translate == True:
self.set_cursor (gtk.gdk.FLEUR)
self.original_translation = self.translation
self.origin_x = event.x
@@ -283,12 +283,13 @@ class MMapArea (gtk.DrawingArea):
self.move_origin = None
obj = self.find_object_at (coords)
- if event.button == 2:
- self.undo.add_undo (UndoManager.UndoAction (self, UndoManager.TRANSFORM_CANVAS, \
- self.undo_transform_cb,
- self.scale_fac, self.scale_fac,
- self.original_translation,
- self.translation))
+ #if event.button == 2:
+ #if event.button == 1 and (event.hardware_keycode == 133 or event.hardware_keycode == 134):
+ # self.undo.add_undo (UndoManager.UndoAction (self, UndoManager.TRANSFORM_CANVAS, \
+ # self.undo_transform_cb,
+ # self.scale_fac, self.scale_fac,
+ # self.original_translation,
+ # self.translation))
if obj:
ret = obj.process_button_release (event, self.unending_link, self.mode, coords)
@@ -383,6 +384,9 @@ class MMapArea (gtk.DrawingArea):
self.invalidate ()
def key_press (self, widget, event):
+ # Support for canvas panning keys ('hand' on XO, 'cmd' on Macs)
+ if event.hardware_keycode == 133 or event.hardware_keycode == 134:
+ self.translate = True
if not self.do_filter or not self.im_context.filter_keypress (event):
if self.editing:
if not self.editing.process_key_press (event, self.mode):
@@ -393,6 +397,9 @@ class MMapArea (gtk.DrawingArea):
return True
def key_release (self, widget, event):
+ # Support for canvas panning keys ('hand' on XO, 'cmd' on Macs)
+ if event.hardware_keycode == 133 or event.hardware_keycode == 134:
+ self.translate = False
self.im_context.filter_keypress (event)
return True
@@ -454,8 +461,7 @@ class MMapArea (gtk.DrawingArea):
# create the unending link
self.create_link (self.editing)
self.finish_editing ()
- elif event.state & gtk.gdk.BUTTON2_MASK:
- self.translate = True
+ elif event.state & gtk.gdk.BUTTON1_MASK and self.translate:
self.translation[0] -= (self.origin_x - event.x) / self.scale_fac
self.translation[1] -= (self.origin_y - event.y) / self.scale_fac
self.origin_x = event.x