RefactoringRope/MoveDialog.py

Tue, 20 Dec 2022 14:18:42 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Tue, 20 Dec 2022 14:18:42 +0100
branch
eric7
changeset 406
923d7f711cae
parent 396
933b8fcd854f
child 409
65153bf17e8d
permissions
-rw-r--r--

Adjusted code for eric7 23.1 and newer.

7
5ecf9ef23d39 Added the 'move' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1 # -*- coding: utf-8 -*-
5ecf9ef23d39 Added the 'move' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2
374
958f34e97952 Updated copyright for 2022.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 365
diff changeset
3 # Copyright (c) 2010 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
7
5ecf9ef23d39 Added the 'move' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
4 #
5ecf9ef23d39 Added the 'move' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
5
5ecf9ef23d39 Added the 'move' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
6 """
178
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
7 Module implementing the Move Method or Module dialog.
7
5ecf9ef23d39 Added the 'move' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
8 """
5ecf9ef23d39 Added the 'move' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
9
178
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
10 import os
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
11
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 354
diff changeset
12 from PyQt6.QtCore import pyqtSlot
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 354
diff changeset
13 from PyQt6.QtWidgets import QDialogButtonBox, QAbstractButton
7
5ecf9ef23d39 Added the 'move' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
14
396
933b8fcd854f Adapted the import statements to the new structure.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 389
diff changeset
15 from eric7.EricWidgets import EricFileDialog, EricMessageBox
933b8fcd854f Adapted the import statements to the new structure.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 389
diff changeset
16 from eric7.EricWidgets.EricApplication import ericApp
933b8fcd854f Adapted the import statements to the new structure.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 389
diff changeset
17 from eric7.EricWidgets.EricCompleters import EricFileCompleter
178
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
18
406
923d7f711cae Adjusted code for eric7 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 396
diff changeset
19 try:
923d7f711cae Adjusted code for eric7 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 396
diff changeset
20 from eric7.SystemUtilities.FileSystemUtilities import (
923d7f711cae Adjusted code for eric7 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 396
diff changeset
21 toNativeSeparators
923d7f711cae Adjusted code for eric7 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 396
diff changeset
22 )
923d7f711cae Adjusted code for eric7 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 396
diff changeset
23 except ImportError:
923d7f711cae Adjusted code for eric7 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 396
diff changeset
24 # imports for eric < 23.1
923d7f711cae Adjusted code for eric7 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 396
diff changeset
25 from eric7.Utilities import toNativeSeparators
923d7f711cae Adjusted code for eric7 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 396
diff changeset
26
203
c38750e1bafd Performed some code cleanup actions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 189
diff changeset
27 from .Ui_MoveDialog import Ui_MoveDialog
c38750e1bafd Performed some code cleanup actions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 189
diff changeset
28 from .RefactoringDialogBase import RefactoringDialogBase
7
5ecf9ef23d39 Added the 'move' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
29
20
83b71483e198 Made the code PEP-8 compliant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7
diff changeset
30
178
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
31 class MoveDialog(RefactoringDialogBase, Ui_MoveDialog):
7
5ecf9ef23d39 Added the 'move' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
32 """
178
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
33 Class implementing the Move Method or Module dialog.
7
5ecf9ef23d39 Added the 'move' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
34 """
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 374
diff changeset
35
178
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
36 def __init__(self, refactoring, title, filename, offset, parent=None):
7
5ecf9ef23d39 Added the 'move' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
37 """
5ecf9ef23d39 Added the 'move' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
38 Constructor
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 374
diff changeset
39
7
5ecf9ef23d39 Added the 'move' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
40 @param refactoring reference to the main refactoring object
189
2711fdd91925 Renamed the 'Refactoring' module and class 'RefactoringServer'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
41 @type RefactoringServer
178
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
42 @param title title of the dialog
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
43 @type str
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
44 @param filename file name to be worked on
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
45 @type str
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
46 @param offset offset within file
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
47 @type int or None
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
48 @param parent reference to the parent widget
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
49 @type QWidget
7
5ecf9ef23d39 Added the 'move' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
50 """
5ecf9ef23d39 Added the 'move' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
51 RefactoringDialogBase.__init__(self, refactoring, title, parent)
5ecf9ef23d39 Added the 'move' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
52 self.setupUi(self)
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 374
diff changeset
53
178
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
54 self._changeGroupName = "Move"
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 374
diff changeset
55
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 354
diff changeset
56 self.__destinationCompleter = EricFileCompleter(self.destinationEdit)
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 374
diff changeset
57
178
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
58 self.__filename = filename
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
59 self.__offset = offset
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 374
diff changeset
60
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 354
diff changeset
61 self.__project = ericApp().getObject("Project")
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 374
diff changeset
62
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 374
diff changeset
63 self.__okButton = self.buttonBox.button(QDialogButtonBox.StandardButton.Ok)
7
5ecf9ef23d39 Added the 'move' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
64 self.__okButton.setEnabled(False)
5ecf9ef23d39 Added the 'move' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
65 self.__previewButton = self.buttonBox.addButton(
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 374
diff changeset
66 self.tr("Preview"), QDialogButtonBox.ButtonRole.ActionRole
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 374
diff changeset
67 )
7
5ecf9ef23d39 Added the 'move' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
68 self.__previewButton.setDefault(True)
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 374
diff changeset
69
178
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
70 self.moveStackWidget.setCurrentIndex(0)
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 374
diff changeset
71
178
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
72 self.__moveType = ""
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 374
diff changeset
73
178
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
74 if offset is None:
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
75 # it is a 'move module' refactoring, no need to determine
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
76 # the move type via the client
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
77 self.__processMoveType({"Kind": "move_module"})
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
78 else:
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 374
diff changeset
79 self._refactoring.sendJson(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 374
diff changeset
80 "RequestMoveType",
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 374
diff changeset
81 {
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 374
diff changeset
82 "ChangeGroup": self._changeGroupName,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 374
diff changeset
83 "Title": self._title,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 374
diff changeset
84 "FileName": self.__filename,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 374
diff changeset
85 "Offset": self.__offset,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 374
diff changeset
86 },
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 374
diff changeset
87 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 374
diff changeset
88
178
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
89 def __processMoveType(self, data):
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
90 """
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
91 Private method to process the move type data sent by the refactoring
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
92 client in order to polish the dialog.
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 374
diff changeset
93
178
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
94 @param data dictionary containing the move type data
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
95 @type dict
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
96 """
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
97 self.__moveType = data["Kind"]
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 374
diff changeset
98
178
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
99 if self.__moveType == "move_method":
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
100 self.setWindowTitle(self.tr("Move Method"))
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
101 self.moveStackWidget.setCurrentIndex(1)
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
102 self.methodEdit.setText(data["Method"])
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
103 self.methodEdit.selectAll()
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
104 elif self.__moveType == "move_global_method":
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
105 self.setWindowTitle(self.tr("Move Global Method"))
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
106 self.moveStackWidget.setCurrentIndex(2)
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
107 self.destinationLabel.setText(self.tr("Destination Module:"))
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 374
diff changeset
108 self.destinationEdit.setToolTip(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 374
diff changeset
109 self.tr("Enter the destination module for the method")
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 374
diff changeset
110 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 374
diff changeset
111 self.selectButton.setToolTip(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 374
diff changeset
112 self.tr("Select the destination module via a file selection dialog")
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 374
diff changeset
113 )
178
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
114 elif self.__moveType == "move_module":
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
115 self.setWindowTitle(self.tr("Move Module"))
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
116 self.moveStackWidget.setCurrentIndex(2)
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
117 self.destinationLabel.setText(self.tr("Destination Package:"))
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 374
diff changeset
118 self.destinationEdit.setToolTip(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 374
diff changeset
119 self.tr("Enter the destination package for the module")
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 374
diff changeset
120 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 374
diff changeset
121 self.selectButton.setToolTip(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 374
diff changeset
122 self.tr(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 374
diff changeset
123 "Select the destination package via a directory selection" " dialog"
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 374
diff changeset
124 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 374
diff changeset
125 )
178
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
126 else:
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
127 self.setWindowTitle(self.tr("Move"))
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
128 self.moveStackWidget.setCurrentIndex(0)
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 374
diff changeset
129
178
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
130 self.__updateUI()
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 374
diff changeset
131
74
0973b175e2ad Fixed a window sizing issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 62
diff changeset
132 msh = self.minimumSizeHint()
0973b175e2ad Fixed a window sizing issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 62
diff changeset
133 self.resize(max(self.width(), msh.width()), msh.height())
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 374
diff changeset
134
7
5ecf9ef23d39 Added the 'move' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
135 @pyqtSlot(str)
5ecf9ef23d39 Added the 'move' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
136 def on_attributeEdit_textChanged(self, text):
5ecf9ef23d39 Added the 'move' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
137 """
5ecf9ef23d39 Added the 'move' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
138 Private slot to react to changes of the attribute.
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 374
diff changeset
139
178
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
140 @param text text entered into the edit
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
141 @type str
7
5ecf9ef23d39 Added the 'move' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
142 """
5ecf9ef23d39 Added the 'move' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
143 self.__updateUI()
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 374
diff changeset
144
7
5ecf9ef23d39 Added the 'move' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
145 @pyqtSlot(str)
5ecf9ef23d39 Added the 'move' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
146 def on_methodEdit_textChanged(self, text):
5ecf9ef23d39 Added the 'move' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
147 """
26
b02d1f37b55e Added a dialog to move a global method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 20
diff changeset
148 Private slot to react to changes of the method.
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 374
diff changeset
149
178
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
150 @param text text entered into the edit
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
151 @type str
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
152 """
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
153 self.__updateUI()
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 374
diff changeset
154
178
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
155 @pyqtSlot(str)
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
156 def on_destinationEdit_textChanged(self, text):
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
157 """
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
158 Private slot to react to changes of the destination module.
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 374
diff changeset
159
178
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
160 @param text text entered into the edit
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
161 @type str
7
5ecf9ef23d39 Added the 'move' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
162 """
5ecf9ef23d39 Added the 'move' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
163 self.__updateUI()
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 374
diff changeset
164
178
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
165 def __updateUI(self):
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
166 """
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
167 Private method to perform various UI updates.
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
168 """
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
169 if self.__moveType == "move_method":
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 374
diff changeset
170 enable = self.attributeEdit.text() != "" and self.methodEdit.text() != ""
178
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
171 elif self.__moveType in ["move_global_method", "move_module"]:
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
172 enable = self.destinationEdit.text() != ""
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
173 else:
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
174 enable = False
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 374
diff changeset
175
178
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
176 self.__okButton.setEnabled(enable)
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
177 self.__previewButton.setEnabled(enable)
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 374
diff changeset
178
178
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
179 @pyqtSlot()
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
180 def on_selectButton_clicked(self):
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
181 """
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
182 Private slot called to select the destination module via a file
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
183 selection dialog.
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
184 """
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
185 dest = self.destinationEdit.text()
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
186 if not dest:
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
187 dest = self.__project.getProjectPath()
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
188 elif not os.path.isabs(dest):
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
189 dest = os.path.join(self.__project.getProjectPath(), dest)
354
a967ff16629a - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 347
diff changeset
190 destination = (
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 354
diff changeset
191 EricFileDialog.getOpenFileName(
178
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
192 self,
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
193 self.windowTitle(),
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
194 dest,
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 374
diff changeset
195 self.tr("Python Files (*.py *.py3);;All Files (*)"),
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 374
diff changeset
196 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 374
diff changeset
197 if self.__moveType == "move_global_method"
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 374
diff changeset
198 else
178
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
199 # move_module
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 374
diff changeset
200 EricFileDialog.getExistingDirectory(self, self.windowTitle(), dest)
354
a967ff16629a - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 347
diff changeset
201 )
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 374
diff changeset
202
178
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
203 if destination:
406
923d7f711cae Adjusted code for eric7 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 396
diff changeset
204 destination = toNativeSeparators(destination)
178
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
205 if not self.__project.startswithProjectPath(destination):
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
206 if self.__moveType == "move_global_method":
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 374
diff changeset
207 errorMessage = self.tr(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 374
diff changeset
208 """The selected module must be """ """inside the project."""
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 374
diff changeset
209 )
178
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
210 else:
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
211 # move_module
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 374
diff changeset
212 errorMessage = self.tr(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 374
diff changeset
213 """The selected directory must""" """ be inside the project."""
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 374
diff changeset
214 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 374
diff changeset
215 EricMessageBox.critical(self, self.windowTitle(), errorMessage)
178
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
216 return
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 374
diff changeset
217
178
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
218 if self.__moveType == "move_global_method":
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
219 if not os.path.exists(destination):
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 354
diff changeset
220 EricMessageBox.critical(
178
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
221 self,
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
222 self.windowTitle(),
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 374
diff changeset
223 self.tr(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 374
diff changeset
224 """The selected module <b>{0}</b> does""" """ not exist."""
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 374
diff changeset
225 ).format(destination),
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 374
diff changeset
226 )
178
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
227 return
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
228 else:
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
229 # move_module
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 374
diff changeset
230 if not os.path.exists(os.path.join(destination, "__init__.py")):
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 354
diff changeset
231 EricMessageBox.critical(
178
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
232 self,
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
233 self.windowTitle(),
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 374
diff changeset
234 self.tr(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 374
diff changeset
235 """The selected directory <b>{0}</b> is"""
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 374
diff changeset
236 """ not a package."""
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 374
diff changeset
237 ).format(destination),
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 374
diff changeset
238 )
178
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
239 return
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 374
diff changeset
240
178
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
241 destination = self.__project.getRelativePath(destination)
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
242 self.destinationEdit.setText(destination)
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 374
diff changeset
243
178
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
244 def __checkDestination(self):
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
245 """
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
246 Private method to check the destination entered.
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 374
diff changeset
247
203
c38750e1bafd Performed some code cleanup actions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 189
diff changeset
248 @return flag indicating a valid entry
c38750e1bafd Performed some code cleanup actions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 189
diff changeset
249 @rtype bool
178
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
250 """
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
251 destination = os.path.join(
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 374
diff changeset
252 self.__project.getProjectPath(), self.destinationEdit.text()
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 374
diff changeset
253 )
178
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
254 if self.__moveType == "move_global_method":
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
255 if not os.path.exists(destination):
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 354
diff changeset
256 EricMessageBox.critical(
178
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
257 self,
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
258 self.windowTitle(),
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 374
diff changeset
259 self.tr(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 374
diff changeset
260 """The selected module <b>{0}</b> does""" """ not exist."""
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 374
diff changeset
261 ).format(destination),
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 374
diff changeset
262 )
178
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
263 return False
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
264 else:
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
265 # move_module
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
266 if not os.path.exists(os.path.join(destination, "__init__.py")):
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 354
diff changeset
267 EricMessageBox.critical(
178
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
268 self,
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
269 self.windowTitle(),
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 374
diff changeset
270 self.tr(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 374
diff changeset
271 """The selected directory <b>{0}</b> is""" """ not a package."""
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 374
diff changeset
272 ).format(destination),
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 374
diff changeset
273 )
178
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
274 return False
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 374
diff changeset
275
178
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
276 return True
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 374
diff changeset
277
7
5ecf9ef23d39 Added the 'move' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
278 @pyqtSlot(QAbstractButton)
5ecf9ef23d39 Added the 'move' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
279 def on_buttonBox_clicked(self, button):
5ecf9ef23d39 Added the 'move' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
280 """
5ecf9ef23d39 Added the 'move' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
281 Private slot to act on the button pressed.
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 374
diff changeset
282
178
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
283 @param button reference to the button pressed
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
284 @type QAbstractButton
7
5ecf9ef23d39 Added the 'move' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
285 """
178
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
286 if self.__moveType == "move_method" or (
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 374
diff changeset
287 self.__moveType in ["move_global_method", "move_module"]
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 374
diff changeset
288 and self.__checkDestination()
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 374
diff changeset
289 ):
178
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
290 if button == self.__previewButton:
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
291 self.requestPreview()
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
292 elif button == self.__okButton:
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
293 self.applyChanges()
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 374
diff changeset
294
178
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
295 def _calculateChanges(self):
7
5ecf9ef23d39 Added the 'move' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
296 """
178
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
297 Protected method to initiate the calculation of the changes.
7
5ecf9ef23d39 Added the 'move' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
298 """
178
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
299 newName = self.methodEdit.text()
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
300 if not newName:
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
301 newName = None
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 374
diff changeset
302
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 374
diff changeset
303 self._refactoring.sendJson(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 374
diff changeset
304 "CalculateMoveChanges",
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 374
diff changeset
305 {
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 374
diff changeset
306 "ChangeGroup": self._changeGroupName,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 374
diff changeset
307 "Title": self.windowTitle(),
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 374
diff changeset
308 "FileName": self.__filename,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 374
diff changeset
309 "Offset": self.__offset,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 374
diff changeset
310 "Kind": self.__moveType,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 374
diff changeset
311 "NewName": newName,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 374
diff changeset
312 "Attribute": self.attributeEdit.text(),
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 374
diff changeset
313 "DestinationModule": self.destinationEdit.text(),
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 374
diff changeset
314 },
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 374
diff changeset
315 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 374
diff changeset
316
178
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
317 def processChangeData(self, data):
7
5ecf9ef23d39 Added the 'move' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
318 """
178
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
319 Public method to process the change data sent by the refactoring
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
320 client.
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 374
diff changeset
321
178
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
322 @param data dictionary containing the change data
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
323 @type dict
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
324 """
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
325 subcommand = data["Subcommand"]
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
326 if subcommand == "MoveType":
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
327 self.__processMoveType(data)
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
328 else:
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
329 # pass on to base class
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
330 RefactoringDialogBase.processChangeData(self, data)

eric ide

mercurial