eric6/UI/FindFileDialog.py

changeset 8143
2c730d5fd177
parent 7992
0d1e35a10a0b
child 8149
3fefc0c430f2
equal deleted inserted replaced
8141:27f636beebad 8143:2c730d5fd177
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

eric ide

mercurial