From b63c3219a77d9524538e099910365394946e1750 Mon Sep 17 00:00:00 2001 From: Marius Stanciu Date: Fri, 1 Jun 2018 21:05:51 +0300 Subject: [PATCH] - added a new global setting only accessible through the Tcl Shell, named: global_mouse_pan_button It can be set through set_sys TclCommand or the value getted through get_sys TclCommand. Values are 1 for left mouse button, 2 for middle mouse button and 3 for right mouse button. It does hurt my hand (wrist) keeping the middle mouse button pressed when panning and I very much preffer panning with RMB. The default setting is pan_button = middle mouse button. --- FlatCAMApp.py | 3 +++ PlotCanvas.py | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/FlatCAMApp.py b/FlatCAMApp.py index f2d6f500..5aed5e12 100644 --- a/FlatCAMApp.py +++ b/FlatCAMApp.py @@ -286,6 +286,7 @@ class App(QtCore.QObject): self.defaults = LoudDict() self.defaults.set_change_callback(self.on_defaults_dict_change) # When the dictionary changes. self.defaults.update({ + "global_mouse_pan_button": 2, "serial": 0, "stats": {}, "units": "IN", @@ -475,6 +476,8 @@ class App(QtCore.QObject): self.collection = ObjectCollection.ObjectCollection() self.ui.project_tab_layout.addWidget(self.collection.view) + + self.mouse_pan_button = int(self.defaults['global_mouse_pan_button']) #### End of Data #### #### Worker #### diff --git a/PlotCanvas.py b/PlotCanvas.py index 94469d2b..6d94b042 100644 --- a/PlotCanvas.py +++ b/PlotCanvas.py @@ -445,7 +445,7 @@ class PlotCanvas(QtCore.QObject): def on_mouse_press(self, event): # Check for middle mouse button press - if event.button == 2: + if event.button == self.app.mouse_pan_button: # Prepare axes for pan (using 'matplotlib' pan function) self.pan_axes = [] @@ -461,7 +461,7 @@ class PlotCanvas(QtCore.QObject): def on_mouse_release(self, event): # Check for middle mouse button release to complete pan procedure - if event.button == 2: + if event.button == self.app.mouse_pan_button: for a in self.pan_axes: a.end_pan()