8 """ |
8 """ |
9 |
9 |
10 from PyQt6.QtCore import pyqtSlot |
10 from PyQt6.QtCore import pyqtSlot |
11 from PyQt6.QtWidgets import QDialog |
11 from PyQt6.QtWidgets import QDialog |
12 |
12 |
13 from Preferences.ConfigurationPages.ConfigurationPageBase import ( |
13 from Preferences.ConfigurationPages.ConfigurationPageBase import ConfigurationPageBase |
14 ConfigurationPageBase |
|
15 ) |
|
16 from .Ui_MouseClickHandlerRopePage import Ui_MouseClickHandlerRopePage |
14 from .Ui_MouseClickHandlerRopePage import Ui_MouseClickHandlerRopePage |
17 |
15 |
18 from Utilities import MouseUtilities |
16 from Utilities import MouseUtilities |
19 from Preferences.MouseClickDialog import MouseClickDialog |
17 from Preferences.MouseClickDialog import MouseClickDialog |
20 |
18 |
21 |
19 |
22 class MouseClickHandlerRopePage(ConfigurationPageBase, |
20 class MouseClickHandlerRopePage(ConfigurationPageBase, Ui_MouseClickHandlerRopePage): |
23 Ui_MouseClickHandlerRopePage): |
|
24 """ |
21 """ |
25 Class implementing the Rope Mouse Click Handler configuration page. |
22 Class implementing the Rope Mouse Click Handler configuration page. |
26 """ |
23 """ |
|
24 |
27 def __init__(self, plugin): |
25 def __init__(self, plugin): |
28 """ |
26 """ |
29 Constructor |
27 Constructor |
30 |
28 |
31 @param plugin reference to the plugin object |
29 @param plugin reference to the plugin object |
32 @type RefactoringRopePlugin |
30 @type RefactoringRopePlugin |
33 """ |
31 """ |
34 ConfigurationPageBase.__init__(self) |
32 ConfigurationPageBase.__init__(self) |
35 self.setupUi(self) |
33 self.setupUi(self) |
36 self.setObjectName("MouseClickHandlerRopePage") |
34 self.setObjectName("MouseClickHandlerRopePage") |
37 |
35 |
38 self.__plugin = plugin |
36 self.__plugin = plugin |
39 |
37 |
40 # set initial values |
38 # set initial values |
41 self.__modifiers = { |
39 self.__modifiers = { |
42 "goto": ( |
40 "goto": ( |
43 self.__plugin.getPreferences("MouseClickGotoModifiers"), |
41 self.__plugin.getPreferences("MouseClickGotoModifiers"), |
44 self.__plugin.getPreferences("MouseClickGotoButton") |
42 self.__plugin.getPreferences("MouseClickGotoButton"), |
45 ) |
43 ) |
46 } |
44 } |
47 |
45 |
48 self.ropeClickHandlerCheckBox.setChecked( |
46 self.ropeClickHandlerCheckBox.setChecked( |
49 self.__plugin.getPreferences("MouseClickEnabled")) |
47 self.__plugin.getPreferences("MouseClickEnabled") |
50 self.gotoClickEdit.setText(MouseUtilities.MouseButtonModifier2String( |
48 ) |
51 *self.__modifiers["goto"])) |
49 self.gotoClickEdit.setText( |
52 |
50 MouseUtilities.MouseButtonModifier2String(*self.__modifiers["goto"]) |
|
51 ) |
|
52 |
53 def save(self): |
53 def save(self): |
54 """ |
54 """ |
55 Public slot to save the Rope Mouse Click Handler configuration. |
55 Public slot to save the Rope Mouse Click Handler configuration. |
56 """ |
56 """ |
57 self.__plugin.setPreferences( |
57 self.__plugin.setPreferences( |
58 "MouseClickEnabled", self.ropeClickHandlerCheckBox.isChecked()) |
58 "MouseClickEnabled", self.ropeClickHandlerCheckBox.isChecked() |
|
59 ) |
59 self.__plugin.setPreferences( |
60 self.__plugin.setPreferences( |
60 "MouseClickGotoModifiers", self.__modifiers["goto"][0]) |
61 "MouseClickGotoModifiers", self.__modifiers["goto"][0] |
|
62 ) |
61 self.__plugin.setPreferences( |
63 self.__plugin.setPreferences( |
62 "MouseClickGotoButton", self.__modifiers["goto"][1]) |
64 "MouseClickGotoButton", self.__modifiers["goto"][1] |
63 |
65 ) |
|
66 |
64 @pyqtSlot() |
67 @pyqtSlot() |
65 def on_changeGotoButton_clicked(self): |
68 def on_changeGotoButton_clicked(self): |
66 """ |
69 """ |
67 Private slot to change the 'goto' mouse click sequence. |
70 Private slot to change the 'goto' mouse click sequence. |
68 """ |
71 """ |
69 dlg = MouseClickDialog(*self.__modifiers["goto"]) |
72 dlg = MouseClickDialog(*self.__modifiers["goto"]) |
70 if dlg.exec() == QDialog.DialogCode.Accepted: |
73 if dlg.exec() == QDialog.DialogCode.Accepted: |
71 self.__modifiers["goto"] = dlg.getClick() |
74 self.__modifiers["goto"] = dlg.getClick() |
72 self.gotoClickEdit.setText( |
75 self.gotoClickEdit.setText( |
73 MouseUtilities.MouseButtonModifier2String( |
76 MouseUtilities.MouseButtonModifier2String(*self.__modifiers["goto"]) |
74 *self.__modifiers["goto"])) |
77 ) |