39 @signal designerFile(str) emitted to open a Qt-Designer file |
39 @signal designerFile(str) emitted to open a Qt-Designer file |
40 """ |
40 """ |
41 sourceFile = pyqtSignal(str, int, str, int, int) |
41 sourceFile = pyqtSignal(str, int, str, int, int) |
42 designerFile = pyqtSignal(str) |
42 designerFile = pyqtSignal(str) |
43 |
43 |
44 lineRole = Qt.UserRole + 1 |
44 lineRole = Qt.ItemDataRole.UserRole + 1 |
45 startRole = Qt.UserRole + 2 |
45 startRole = Qt.ItemDataRole.UserRole + 2 |
46 endRole = Qt.UserRole + 3 |
46 endRole = Qt.ItemDataRole.UserRole + 3 |
47 replaceRole = Qt.UserRole + 4 |
47 replaceRole = Qt.ItemDataRole.UserRole + 4 |
48 md5Role = Qt.UserRole + 5 |
48 md5Role = Qt.ItemDataRole.UserRole + 5 |
49 |
49 |
50 def __init__(self, project, replaceMode=False, parent=None): |
50 def __init__(self, project, replaceMode=False, parent=None): |
51 """ |
51 """ |
52 Constructor |
52 Constructor |
53 |
53 |
55 @param replaceMode flag indicating the replace dialog mode (boolean) |
55 @param replaceMode flag indicating the replace dialog mode (boolean) |
56 @param parent parent widget of this dialog (QWidget) |
56 @param parent parent widget of this dialog (QWidget) |
57 """ |
57 """ |
58 super(FindFileDialog, self).__init__(parent) |
58 super(FindFileDialog, self).__init__(parent) |
59 self.setupUi(self) |
59 self.setupUi(self) |
60 self.setWindowFlags(Qt.Window) |
60 self.setWindowFlags(Qt.WindowType.Window) |
61 |
61 |
62 self.dirPicker.setMode(E5PathPickerModes.DirectoryMode) |
62 self.dirPicker.setMode(E5PathPickerModes.DirectoryMode) |
63 self.dirPicker.setInsertPolicy(QComboBox.InsertAtTop) |
63 self.dirPicker.setInsertPolicy(QComboBox.InsertPolicy.InsertAtTop) |
64 self.dirPicker.setSizeAdjustPolicy( |
64 self.dirPicker.setSizeAdjustPolicy( |
65 QComboBox.AdjustToMinimumContentsLength) |
65 QComboBox.SizeAdjustPolicy.AdjustToContents) |
66 |
66 |
67 self.__replaceMode = replaceMode |
67 self.__replaceMode = replaceMode |
68 |
68 |
69 self.stopButton = self.buttonBox.addButton( |
69 self.stopButton = self.buttonBox.addButton( |
70 self.tr("Stop"), QDialogButtonBox.ActionRole) |
70 self.tr("Stop"), QDialogButtonBox.ButtonRole.ActionRole) |
71 self.stopButton.setEnabled(False) |
71 self.stopButton.setEnabled(False) |
72 |
72 |
73 self.findButton = self.buttonBox.addButton( |
73 self.findButton = self.buttonBox.addButton( |
74 self.tr("Find"), QDialogButtonBox.ActionRole) |
74 self.tr("Find"), QDialogButtonBox.ButtonRole.ActionRole) |
75 self.findButton.setEnabled(False) |
75 self.findButton.setEnabled(False) |
76 self.findButton.setDefault(True) |
76 self.findButton.setDefault(True) |
77 |
77 |
78 if self.__replaceMode: |
78 if self.__replaceMode: |
79 self.replaceButton.setEnabled(False) |
79 self.replaceButton.setEnabled(False) |
107 )) |
107 )) |
108 |
108 |
109 self.project = project |
109 self.project = project |
110 |
110 |
111 self.findList.headerItem().setText(self.findList.columnCount(), "") |
111 self.findList.headerItem().setText(self.findList.columnCount(), "") |
112 self.findList.header().setSortIndicator(0, Qt.AscendingOrder) |
112 self.findList.header().setSortIndicator(0, Qt.SortOrder.AscendingOrder) |
113 self.__section0Size = self.findList.header().sectionSize(0) |
113 self.__section0Size = self.findList.header().sectionSize(0) |
114 self.findList.setExpandsOnDoubleClick(False) |
114 self.findList.setExpandsOnDoubleClick(False) |
115 if self.__replaceMode: |
115 if self.__replaceMode: |
116 font = Preferences.getEditorOtherFonts("MonospacedFont") |
116 font = Preferences.getEditorOtherFonts("MonospacedFont") |
117 self.findList.setFont(font) |
117 self.findList.setFont(font) |
134 |
134 |
135 self.__cancelSearch = False |
135 self.__cancelSearch = False |
136 self.__lastFileItem = None |
136 self.__lastFileItem = None |
137 self.__populating = False |
137 self.__populating = False |
138 |
138 |
139 self.setContextMenuPolicy(Qt.CustomContextMenu) |
139 self.setContextMenuPolicy(Qt.ContextMenuPolicy.CustomContextMenu) |
140 self.customContextMenuRequested.connect(self.__contextMenuRequested) |
140 self.customContextMenuRequested.connect(self.__contextMenuRequested) |
141 |
141 |
142 def __createItem(self, file, line, text, start, end, replTxt="", md5=""): |
142 def __createItem(self, file, line, text, start, end, replTxt="", md5=""): |
143 """ |
143 """ |
144 Private method to create an entry in the file list. |
144 Private method to create an entry in the file list. |
157 self.__lastFileItem.setFirstColumnSpanned(True) |
157 self.__lastFileItem.setFirstColumnSpanned(True) |
158 self.__lastFileItem.setExpanded(True) |
158 self.__lastFileItem.setExpanded(True) |
159 if self.__replaceMode: |
159 if self.__replaceMode: |
160 self.__lastFileItem.setFlags( |
160 self.__lastFileItem.setFlags( |
161 self.__lastFileItem.flags() | |
161 self.__lastFileItem.flags() | |
162 Qt.ItemFlags(Qt.ItemIsUserCheckable | Qt.ItemIsTristate)) |
162 Qt.ItemFlags(Qt.ItemFlag.ItemIsUserCheckable | |
|
163 Qt.ItemFlag.ItemIsTristate)) |
163 self.__lastFileItem.setData(0, self.md5Role, md5) |
164 self.__lastFileItem.setData(0, self.md5Role, md5) |
164 |
165 |
165 itm = QTreeWidgetItem(self.__lastFileItem) |
166 itm = QTreeWidgetItem(self.__lastFileItem) |
166 itm.setTextAlignment(0, Qt.AlignRight) |
167 itm.setTextAlignment(0, Qt.AlignmentFlag.AlignRight) |
167 itm.setData(0, Qt.DisplayRole, line) |
168 itm.setData(0, Qt.ItemDataRole.DisplayRole, line) |
168 itm.setData(1, Qt.DisplayRole, text) |
169 itm.setData(1, Qt.ItemDataRole.DisplayRole, text) |
169 itm.setData(0, self.lineRole, line) |
170 itm.setData(0, self.lineRole, line) |
170 itm.setData(0, self.startRole, start) |
171 itm.setData(0, self.startRole, start) |
171 itm.setData(0, self.endRole, end) |
172 itm.setData(0, self.endRole, end) |
172 itm.setData(0, self.replaceRole, replTxt) |
173 itm.setData(0, self.replaceRole, replTxt) |
173 if self.__replaceMode: |
174 if self.__replaceMode: |
174 itm.setFlags(itm.flags() | Qt.ItemFlags(Qt.ItemIsUserCheckable)) |
175 itm.setFlags(itm.flags() | |
175 itm.setCheckState(0, Qt.Checked) |
176 Qt.ItemFlags(Qt.ItemFlag.ItemIsUserCheckable)) |
|
177 itm.setCheckState(0, Qt.CheckState.Checked) |
176 self.replaceButton.setEnabled(True) |
178 self.replaceButton.setEnabled(True) |
177 |
179 |
178 def show(self, txt=""): |
180 def show(self, txt=""): |
179 """ |
181 """ |
180 Public method to enable/disable the project button. |
182 Public method to enable/disable the project button. |
273 self.dirPicker.currentText())))) or |
275 self.dirPicker.currentText())))) or |
274 (self.filterCheckBox.isChecked() and |
276 (self.filterCheckBox.isChecked() and |
275 self.filterEdit.text() == "") |
277 self.filterEdit.text() == "") |
276 ): |
278 ): |
277 self.findButton.setEnabled(False) |
279 self.findButton.setEnabled(False) |
278 self.buttonBox.button(QDialogButtonBox.Close).setDefault(True) |
280 self.buttonBox.button( |
|
281 QDialogButtonBox.StandardButton.Close).setDefault(True) |
279 else: |
282 else: |
280 self.findButton.setEnabled(True) |
283 self.findButton.setEnabled(True) |
281 self.findButton.setDefault(True) |
284 self.findButton.setDefault(True) |
282 |
285 |
283 def on_buttonBox_clicked(self, button): |
286 def on_buttonBox_clicked(self, button): |
676 self.findProgress.setValue(0) |
679 self.findProgress.setValue(0) |
677 |
680 |
678 progress = 0 |
681 progress = 0 |
679 for index in range(self.findList.topLevelItemCount()): |
682 for index in range(self.findList.topLevelItemCount()): |
680 itm = self.findList.topLevelItem(index) |
683 itm = self.findList.topLevelItem(index) |
681 if itm.checkState(0) in [Qt.PartiallyChecked, Qt.Checked]: |
684 if itm.checkState(0) in [Qt.CheckState.PartiallyChecked, |
|
685 Qt.CheckState.Checked]: |
682 file = itm.text(0) |
686 file = itm.text(0) |
683 origHash = itm.data(0, self.md5Role) |
687 origHash = itm.data(0, self.md5Role) |
684 |
688 |
685 self.findProgressLabel.setPath(file) |
689 self.findProgressLabel.setPath(file) |
686 |
690 |
725 continue |
729 continue |
726 |
730 |
727 # replace the lines authorized by the user |
731 # replace the lines authorized by the user |
728 for cindex in range(itm.childCount()): |
732 for cindex in range(itm.childCount()): |
729 citm = itm.child(cindex) |
733 citm = itm.child(cindex) |
730 if citm.checkState(0) == Qt.Checked: |
734 if citm.checkState(0) == Qt.CheckState.Checked: |
731 line = citm.data(0, self.lineRole) |
735 line = citm.data(0, self.lineRole) |
732 rline = citm.data(0, self.replaceRole) |
736 rline = citm.data(0, self.replaceRole) |
733 lines[line - 1] = rline |
737 lines[line - 1] = rline |
734 |
738 |
735 # write the file |
739 # write the file |