Thu, 30 Dec 2021 11:17:58 +0100
Updated copyright for 2022.
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1 | # -*- coding: utf-8 -*- |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2 | |
8881
54e42bc2437a
Updated copyright for 2022.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8859
diff
changeset
|
3 | # Copyright (c) 2004 - 2022 Detlev Offenbach <detlev@die-offenbachs.de> |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
4 | # |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
5 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
6 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
7 | Module implementing a dialog to search for files. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
8 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
9 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
10 | import os |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
11 | import sys |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
12 | |
8636
c0a3a6e40815
Extended the supported file type specific signals in the two 'Find' related widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8632
diff
changeset
|
13 | from PyQt6.QtCore import pyqtSignal, pyqtSlot, Qt, QUrl |
c0a3a6e40815
Extended the supported file type specific signals in the two 'Find' related widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8632
diff
changeset
|
14 | from PyQt6.QtGui import QDesktopServices, QImageReader |
8318
962bce857696
Replaced all imports of PyQt5 to PyQt6 and started to replace code using obsoleted methods and adapt to the PyQt6 enum usage.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8312
diff
changeset
|
15 | from PyQt6.QtWidgets import ( |
8632
f25cd4b94eb0
Changed the Find File dialog to an integrated widget (right side)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
16 | QWidget, QHeaderView, QApplication, QTreeWidgetItem |
7264
bedbe458d792
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
17 | ) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
18 | |
8358
144a6b854f70
Sorted the eric specific extensions into packages named like the corresponding PyQt packages (i.e. EricCore,EricGui and EricWidgets).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8356
diff
changeset
|
19 | from EricWidgets.EricPathPicker import EricPathPickerModes |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
20 | |
8632
f25cd4b94eb0
Changed the Find File dialog to an integrated widget (right side)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
21 | from .Ui_FindLocationWidget import Ui_FindLocationWidget |
3186
a05eff845522
Changed all the file or directory selection buttons to QToolButton and gave them an icon.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
22 | |
8632
f25cd4b94eb0
Changed the Find File dialog to an integrated widget (right side)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
23 | import UI.PixmapCache |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
24 | from Utilities import direntries |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
25 | import Utilities |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
26 | |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3186
diff
changeset
|
27 | |
8632
f25cd4b94eb0
Changed the Find File dialog to an integrated widget (right side)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
28 | class FindLocationWidget(QWidget, Ui_FindLocationWidget): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
29 | """ |
8632
f25cd4b94eb0
Changed the Find File dialog to an integrated widget (right side)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
30 | Class implementing a widget to search for files. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
31 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
32 | The occurrences found are displayed in a QTreeWidget showing the |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
33 | filename and the pathname. The file will be opened upon a double click |
8632
f25cd4b94eb0
Changed the Find File dialog to an integrated widget (right side)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
34 | onto the respective entry of the list or by pressing the open button. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
35 | |
501
5c615a85241a
Finished porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
500
diff
changeset
|
36 | @signal sourceFile(str) emitted to open a file in the editor |
5c615a85241a
Finished porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
500
diff
changeset
|
37 | @signal designerFile(str) emitted to open a Qt-Designer file |
8636
c0a3a6e40815
Extended the supported file type specific signals in the two 'Find' related widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8632
diff
changeset
|
38 | @signal linguistFile(str) emitted to open a Qt-Linguist (*.ts) file |
c0a3a6e40815
Extended the supported file type specific signals in the two 'Find' related widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8632
diff
changeset
|
39 | @signal trpreview([str]) emitted to preview Qt-Linguist (*.qm) files |
c0a3a6e40815
Extended the supported file type specific signals in the two 'Find' related widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8632
diff
changeset
|
40 | @signal pixmapFile(str) emitted to open a pixmap file |
c0a3a6e40815
Extended the supported file type specific signals in the two 'Find' related widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8632
diff
changeset
|
41 | @signal svgFile(str) emitted to open a SVG file |
c0a3a6e40815
Extended the supported file type specific signals in the two 'Find' related widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8632
diff
changeset
|
42 | @signal umlFile(str) emitted to open an eric UML file |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
43 | """ |
476
121633976eca
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
428
diff
changeset
|
44 | sourceFile = pyqtSignal(str) |
500
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
476
diff
changeset
|
45 | designerFile = pyqtSignal(str) |
8636
c0a3a6e40815
Extended the supported file type specific signals in the two 'Find' related widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8632
diff
changeset
|
46 | linguistFile = pyqtSignal(str) |
c0a3a6e40815
Extended the supported file type specific signals in the two 'Find' related widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8632
diff
changeset
|
47 | trpreview = pyqtSignal(list) |
c0a3a6e40815
Extended the supported file type specific signals in the two 'Find' related widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8632
diff
changeset
|
48 | pixmapFile = pyqtSignal(str) |
c0a3a6e40815
Extended the supported file type specific signals in the two 'Find' related widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8632
diff
changeset
|
49 | svgFile = pyqtSignal(str) |
c0a3a6e40815
Extended the supported file type specific signals in the two 'Find' related widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8632
diff
changeset
|
50 | umlFile = pyqtSignal(str) |
476
121633976eca
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
428
diff
changeset
|
51 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
882
diff
changeset
|
52 | def __init__(self, project, parent=None): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
53 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
54 | Constructor |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
55 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
56 | @param project reference to the project object |
8632
f25cd4b94eb0
Changed the Find File dialog to an integrated widget (right side)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
57 | @type Project |
f25cd4b94eb0
Changed the Find File dialog to an integrated widget (right side)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
58 | @param parent parent widget of this dialog |
f25cd4b94eb0
Changed the Find File dialog to an integrated widget (right side)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
59 | @type QWidget |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
60 | """ |
8218
7c09585bd960
Applied some more code simplifications suggested by the new Simplify checker (super(Foo, self) => super()).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8143
diff
changeset
|
61 | super().__init__(parent) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
62 | self.setupUi(self) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
63 | |
8632
f25cd4b94eb0
Changed the Find File dialog to an integrated widget (right side)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
64 | self.layout().setContentsMargins(0, 3, 0, 0) |
f25cd4b94eb0
Changed the Find File dialog to an integrated widget (right side)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
65 | |
8356
68ec9c3d4de5
Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8327
diff
changeset
|
66 | self.searchDirPicker.setMode(EricPathPickerModes.DIRECTORY_MODE) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
67 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
68 | self.fileList.headerItem().setText(self.fileList.columnCount(), "") |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
69 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
70 | self.stopButton.setEnabled(False) |
8632
f25cd4b94eb0
Changed the Find File dialog to an integrated widget (right side)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
71 | self.stopButton.clicked.connect(self.__stopSearch) |
f25cd4b94eb0
Changed the Find File dialog to an integrated widget (right side)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
72 | self.stopButton.setIcon(UI.PixmapCache.getIcon("stopLoading")) |
f25cd4b94eb0
Changed the Find File dialog to an integrated widget (right side)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
73 | |
f25cd4b94eb0
Changed the Find File dialog to an integrated widget (right side)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
74 | self.findButton.clicked.connect(self.__searchFile) |
f25cd4b94eb0
Changed the Find File dialog to an integrated widget (right side)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
75 | self.findButton.setIcon(UI.PixmapCache.getIcon("find")) |
f25cd4b94eb0
Changed the Find File dialog to an integrated widget (right side)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
76 | |
8809
29471a3867ac
Added a 'Clear' button to the 'search in files' and 'search location' panes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8643
diff
changeset
|
77 | self.clearButton.setEnabled(False) |
29471a3867ac
Added a 'Clear' button to the 'search in files' and 'search location' panes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8643
diff
changeset
|
78 | self.clearButton.clicked.connect(self.__clearResults) |
29471a3867ac
Added a 'Clear' button to the 'search in files' and 'search location' panes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8643
diff
changeset
|
79 | self.clearButton.setIcon(UI.PixmapCache.getIcon("clear")) |
29471a3867ac
Added a 'Clear' button to the 'search in files' and 'search location' panes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8643
diff
changeset
|
80 | |
29471a3867ac
Added a 'Clear' button to the 'search in files' and 'search location' panes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8643
diff
changeset
|
81 | self.openButton.setEnabled(False) |
8632
f25cd4b94eb0
Changed the Find File dialog to an integrated widget (right side)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
82 | self.openButton.setIcon(UI.PixmapCache.getIcon("open")) |
f25cd4b94eb0
Changed the Find File dialog to an integrated widget (right side)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
83 | self.openButton.clicked.connect(self.__openFile) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
84 | |
8636
c0a3a6e40815
Extended the supported file type specific signals in the two 'Find' related widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8632
diff
changeset
|
85 | self.__project = project |
c0a3a6e40815
Extended the supported file type specific signals in the two 'Find' related widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8632
diff
changeset
|
86 | self.__project.projectOpened.connect(self.__projectOpened) |
c0a3a6e40815
Extended the supported file type specific signals in the two 'Find' related widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8632
diff
changeset
|
87 | self.__project.projectClosed.connect(self.__projectClosed) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
88 | self.extsepLabel.setText(os.extsep) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
89 | |
8632
f25cd4b94eb0
Changed the Find File dialog to an integrated widget (right side)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
90 | self.__shouldStop = False |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
91 | |
8632
f25cd4b94eb0
Changed the Find File dialog to an integrated widget (right side)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
92 | self.fileNameEdit.returnPressed.connect(self.__searchFile) |
f25cd4b94eb0
Changed the Find File dialog to an integrated widget (right side)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
93 | self.fileExtEdit.returnPressed.connect(self.__searchFile) |
8643
5adf87ac0c3e
Fixed an initialization issue in the FindLocationWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8636
diff
changeset
|
94 | |
5adf87ac0c3e
Fixed an initialization issue in the FindLocationWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8636
diff
changeset
|
95 | self.__projectClosed() |
8632
f25cd4b94eb0
Changed the Find File dialog to an integrated widget (right side)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
96 | |
f25cd4b94eb0
Changed the Find File dialog to an integrated widget (right side)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
97 | @pyqtSlot() |
f25cd4b94eb0
Changed the Find File dialog to an integrated widget (right side)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
98 | def __stopSearch(self): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
99 | """ |
8632
f25cd4b94eb0
Changed the Find File dialog to an integrated widget (right side)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
100 | Private slot to handle the stop button being pressed. |
f25cd4b94eb0
Changed the Find File dialog to an integrated widget (right side)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
101 | """ |
f25cd4b94eb0
Changed the Find File dialog to an integrated widget (right side)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
102 | self.__shouldStop = True |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
103 | |
8632
f25cd4b94eb0
Changed the Find File dialog to an integrated widget (right side)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
104 | @pyqtSlot() |
2754
2b3a46d8905b
Fixed an issue in the find file by name dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2701
diff
changeset
|
105 | def __openFile(self, itm=None): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
106 | """ |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
882
diff
changeset
|
107 | Private slot to open a file. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
108 | |
8636
c0a3a6e40815
Extended the supported file type specific signals in the two 'Find' related widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8632
diff
changeset
|
109 | It emits a signal depending on the file extension. |
2754
2b3a46d8905b
Fixed an issue in the find file by name dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2701
diff
changeset
|
110 | |
8632
f25cd4b94eb0
Changed the Find File dialog to an integrated widget (right side)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
111 | @param itm item to be opened |
f25cd4b94eb0
Changed the Find File dialog to an integrated widget (right side)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
112 | @type QTreeWidgetItem |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
113 | """ |
2754
2b3a46d8905b
Fixed an issue in the find file by name dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2701
diff
changeset
|
114 | if itm is None: |
2b3a46d8905b
Fixed an issue in the find file by name dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2701
diff
changeset
|
115 | itm = self.fileList.currentItem() |
2b3a46d8905b
Fixed an issue in the find file by name dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2701
diff
changeset
|
116 | if itm is not None: |
2b3a46d8905b
Fixed an issue in the find file by name dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2701
diff
changeset
|
117 | fileName = itm.text(0) |
2b3a46d8905b
Fixed an issue in the find file by name dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2701
diff
changeset
|
118 | filePath = itm.text(1) |
8636
c0a3a6e40815
Extended the supported file type specific signals in the two 'Find' related widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8632
diff
changeset
|
119 | fileExt = os.path.splitext(fileName)[1] |
c0a3a6e40815
Extended the supported file type specific signals in the two 'Find' related widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8632
diff
changeset
|
120 | fullName = os.path.join(filePath, fileName) |
2754
2b3a46d8905b
Fixed an issue in the find file by name dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2701
diff
changeset
|
121 | |
8636
c0a3a6e40815
Extended the supported file type specific signals in the two 'Find' related widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8632
diff
changeset
|
122 | if fileExt == ".ui": |
c0a3a6e40815
Extended the supported file type specific signals in the two 'Find' related widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8632
diff
changeset
|
123 | self.designerFile.emit(fullName) |
c0a3a6e40815
Extended the supported file type specific signals in the two 'Find' related widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8632
diff
changeset
|
124 | elif fileExt == ".ts": |
c0a3a6e40815
Extended the supported file type specific signals in the two 'Find' related widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8632
diff
changeset
|
125 | self.linguistFile.emit(fullName) |
c0a3a6e40815
Extended the supported file type specific signals in the two 'Find' related widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8632
diff
changeset
|
126 | elif fileExt == ".qm": |
c0a3a6e40815
Extended the supported file type specific signals in the two 'Find' related widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8632
diff
changeset
|
127 | self.trpreview.emit([fullName]) |
c0a3a6e40815
Extended the supported file type specific signals in the two 'Find' related widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8632
diff
changeset
|
128 | elif fileExt in (".egj", ".e5g"): |
c0a3a6e40815
Extended the supported file type specific signals in the two 'Find' related widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8632
diff
changeset
|
129 | self.umlFile.emit(fullName) |
c0a3a6e40815
Extended the supported file type specific signals in the two 'Find' related widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8632
diff
changeset
|
130 | elif fileExt == ".svg": |
c0a3a6e40815
Extended the supported file type specific signals in the two 'Find' related widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8632
diff
changeset
|
131 | self.svgFile.emit(fullName) |
c0a3a6e40815
Extended the supported file type specific signals in the two 'Find' related widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8632
diff
changeset
|
132 | elif fileExt[1:] in QImageReader.supportedImageFormats(): |
c0a3a6e40815
Extended the supported file type specific signals in the two 'Find' related widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8632
diff
changeset
|
133 | self.pixmapFile.emit(fullName) |
2754
2b3a46d8905b
Fixed an issue in the find file by name dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2701
diff
changeset
|
134 | else: |
8636
c0a3a6e40815
Extended the supported file type specific signals in the two 'Find' related widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8632
diff
changeset
|
135 | if Utilities.MimeTypes.isTextFile(fullName): |
c0a3a6e40815
Extended the supported file type specific signals in the two 'Find' related widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8632
diff
changeset
|
136 | self.sourceFile.emit(fullName) |
c0a3a6e40815
Extended the supported file type specific signals in the two 'Find' related widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8632
diff
changeset
|
137 | else: |
c0a3a6e40815
Extended the supported file type specific signals in the two 'Find' related widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8632
diff
changeset
|
138 | QDesktopServices.openUrl(QUrl(fullName)) |
8632
f25cd4b94eb0
Changed the Find File dialog to an integrated widget (right side)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
139 | |
f25cd4b94eb0
Changed the Find File dialog to an integrated widget (right side)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
140 | @pyqtSlot() |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
141 | def __searchFile(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
142 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
143 | Private slot to handle the search. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
144 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
145 | fileName = self.fileNameEdit.text() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
146 | fileExt = self.fileExtEdit.text() |
998
eb7a1af5d9fc
Fixed a strange behavior of the find file dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
147 | |
8632
f25cd4b94eb0
Changed the Find File dialog to an integrated widget (right side)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
148 | self.findStatusLabel.clear() |
f25cd4b94eb0
Changed the Find File dialog to an integrated widget (right side)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
149 | |
8859
64252c7bfb87
Corrected some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8845
diff
changeset
|
150 | patternFormat = ( |
64252c7bfb87
Corrected some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8845
diff
changeset
|
151 | "{0}{1}{2}" |
64252c7bfb87
Corrected some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8845
diff
changeset
|
152 | if "*" in fileName or "?" in fileName else |
64252c7bfb87
Corrected some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8845
diff
changeset
|
153 | "{0}*{1}{2}" |
64252c7bfb87
Corrected some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8845
diff
changeset
|
154 | ) |
8844
cae9a0840828
Made FindLocationWidget more intuitiv:
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
8809
diff
changeset
|
155 | |
8845
3d3c1b812fe4
Changed the find location widget to find files without extension as well.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8844
diff
changeset
|
156 | fileNamePatterns = [patternFormat.format( |
3d3c1b812fe4
Changed the find location widget to find files without extension as well.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8844
diff
changeset
|
157 | fileName or "*", os.extsep, fileExt or "*")] |
3d3c1b812fe4
Changed the find location widget to find files without extension as well.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8844
diff
changeset
|
158 | |
3d3c1b812fe4
Changed the find location widget to find files without extension as well.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8844
diff
changeset
|
159 | if not fileExt: |
3d3c1b812fe4
Changed the find location widget to find files without extension as well.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8844
diff
changeset
|
160 | # search for files without extension as well |
3d3c1b812fe4
Changed the find location widget to find files without extension as well.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8844
diff
changeset
|
161 | if "*" in fileName or "?" in fileName: |
3d3c1b812fe4
Changed the find location widget to find files without extension as well.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8844
diff
changeset
|
162 | patternFormat = "{0}" |
3d3c1b812fe4
Changed the find location widget to find files without extension as well.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8844
diff
changeset
|
163 | else: |
3d3c1b812fe4
Changed the find location widget to find files without extension as well.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8844
diff
changeset
|
164 | patternFormat = "{0}*" |
3d3c1b812fe4
Changed the find location widget to find files without extension as well.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8844
diff
changeset
|
165 | |
3d3c1b812fe4
Changed the find location widget to find files without extension as well.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8844
diff
changeset
|
166 | fileNamePatterns.append(patternFormat.format(fileName or "*")) |
998
eb7a1af5d9fc
Fixed a strange behavior of the find file dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
167 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
168 | searchPaths = [] |
7264
bedbe458d792
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
169 | if ( |
bedbe458d792
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
170 | self.searchDirCheckBox.isChecked() and |
bedbe458d792
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
171 | self.searchDirPicker.text() != "" |
bedbe458d792
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
172 | ): |
4589
b648ccbdbef9
Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
173 | searchPaths.append(self.searchDirPicker.text()) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
174 | if self.projectCheckBox.isChecked(): |
8636
c0a3a6e40815
Extended the supported file type specific signals in the two 'Find' related widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8632
diff
changeset
|
175 | searchPaths.append(self.__project.getProjectPath()) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
176 | if self.syspathCheckBox.isChecked(): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
177 | searchPaths.extend(sys.path) |
998
eb7a1af5d9fc
Fixed a strange behavior of the find file dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
178 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
179 | self.fileList.clear() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
180 | locations = {} |
8632
f25cd4b94eb0
Changed the Find File dialog to an integrated widget (right side)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
181 | self.__shouldStop = False |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
182 | self.stopButton.setEnabled(True) |
8809
29471a3867ac
Added a 'Clear' button to the 'search in files' and 'search location' panes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8643
diff
changeset
|
183 | self.clearButton.setEnabled(False) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
184 | QApplication.processEvents() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
185 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
186 | for path in searchPaths: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
187 | if os.path.isdir(path): |
8845
3d3c1b812fe4
Changed the find location widget to find files without extension as well.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8844
diff
changeset
|
188 | files = direntries(path, True, fileNamePatterns, |
3012
d177226027e2
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2754
diff
changeset
|
189 | False, self.checkStop) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
190 | if files: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
191 | for file in files: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
192 | fp, fn = os.path.split(file) |
12
1d8dd9706f46
First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
193 | if fn in locations: |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
194 | if fp in locations[fn]: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
195 | continue |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
196 | else: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
197 | locations[fn].append(fp) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
198 | else: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
199 | locations[fn] = [fp] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
200 | QTreeWidgetItem(self.fileList, [fn, fp]) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
201 | QApplication.processEvents() |
8632
f25cd4b94eb0
Changed the Find File dialog to an integrated widget (right side)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
202 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
203 | del locations |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
204 | self.stopButton.setEnabled(False) |
8636
c0a3a6e40815
Extended the supported file type specific signals in the two 'Find' related widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8632
diff
changeset
|
205 | self.fileList.sortItems(self.fileList.sortColumn(), |
c0a3a6e40815
Extended the supported file type specific signals in the two 'Find' related widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8632
diff
changeset
|
206 | Qt.SortOrder.AscendingOrder) |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
207 | self.fileList.header().resizeSections( |
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
208 | QHeaderView.ResizeMode.ResizeToContents) |
8636
c0a3a6e40815
Extended the supported file type specific signals in the two 'Find' related widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8632
diff
changeset
|
209 | self.fileList.header().resizeSection(0, self.width() // 2) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
210 | self.fileList.header().setStretchLastSection(True) |
2754
2b3a46d8905b
Fixed an issue in the find file by name dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2701
diff
changeset
|
211 | |
8632
f25cd4b94eb0
Changed the Find File dialog to an integrated widget (right side)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
212 | self.findStatusLabel.setText(self.tr( |
f25cd4b94eb0
Changed the Find File dialog to an integrated widget (right side)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
213 | "%n file(s) found", "", self.fileList.topLevelItemCount())) |
8809
29471a3867ac
Added a 'Clear' button to the 'search in files' and 'search location' panes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8643
diff
changeset
|
214 | |
29471a3867ac
Added a 'Clear' button to the 'search in files' and 'search location' panes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8643
diff
changeset
|
215 | self.clearButton.setEnabled(self.fileList.topLevelItemCount() != 0) |
29471a3867ac
Added a 'Clear' button to the 'search in files' and 'search location' panes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8643
diff
changeset
|
216 | |
29471a3867ac
Added a 'Clear' button to the 'search in files' and 'search location' panes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8643
diff
changeset
|
217 | @pyqtSlot() |
29471a3867ac
Added a 'Clear' button to the 'search in files' and 'search location' panes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8643
diff
changeset
|
218 | def __clearResults(self): |
29471a3867ac
Added a 'Clear' button to the 'search in files' and 'search location' panes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8643
diff
changeset
|
219 | """ |
29471a3867ac
Added a 'Clear' button to the 'search in files' and 'search location' panes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8643
diff
changeset
|
220 | Private slot to clear the current search results. |
29471a3867ac
Added a 'Clear' button to the 'search in files' and 'search location' panes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8643
diff
changeset
|
221 | """ |
29471a3867ac
Added a 'Clear' button to the 'search in files' and 'search location' panes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8643
diff
changeset
|
222 | self.fileList.clear() |
29471a3867ac
Added a 'Clear' button to the 'search in files' and 'search location' panes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8643
diff
changeset
|
223 | self.clearButton.setEnabled(False) |
29471a3867ac
Added a 'Clear' button to the 'search in files' and 'search location' panes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8643
diff
changeset
|
224 | self.openButton.setEnabled(False) |
29471a3867ac
Added a 'Clear' button to the 'search in files' and 'search location' panes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8643
diff
changeset
|
225 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
226 | def checkStop(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
227 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
228 | Public method to check, if the search should be stopped. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
229 | |
8632
f25cd4b94eb0
Changed the Find File dialog to an integrated widget (right side)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
230 | @return flag indicating the search should be stopped |
f25cd4b94eb0
Changed the Find File dialog to an integrated widget (right side)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
231 | @rtype bool |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
232 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
233 | QApplication.processEvents() |
8632
f25cd4b94eb0
Changed the Find File dialog to an integrated widget (right side)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
234 | return self.__shouldStop |
f25cd4b94eb0
Changed the Find File dialog to an integrated widget (right side)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
235 | |
f25cd4b94eb0
Changed the Find File dialog to an integrated widget (right side)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
236 | @pyqtSlot(str) |
4589
b648ccbdbef9
Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
237 | def on_searchDirPicker_textChanged(self, text): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
238 | """ |
3012
d177226027e2
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2754
diff
changeset
|
239 | Private slot to handle the textChanged signal of the search directory |
d177226027e2
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2754
diff
changeset
|
240 | edit. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
241 | |
8632
f25cd4b94eb0
Changed the Find File dialog to an integrated widget (right side)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
242 | @param text text of the search dir edit |
f25cd4b94eb0
Changed the Find File dialog to an integrated widget (right side)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
243 | @type str |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
244 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
245 | self.searchDirCheckBox.setEnabled(text != "") |
8632
f25cd4b94eb0
Changed the Find File dialog to an integrated widget (right side)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
246 | |
f25cd4b94eb0
Changed the Find File dialog to an integrated widget (right side)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
247 | @pyqtSlot(QTreeWidgetItem, int) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
248 | def on_fileList_itemActivated(self, itm, column): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
249 | """ |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
882
diff
changeset
|
250 | Private slot to handle the double click on a file item. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
251 | |
2754
2b3a46d8905b
Fixed an issue in the find file by name dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2701
diff
changeset
|
252 | It emits the signal sourceFile or designerFile depending on the |
2b3a46d8905b
Fixed an issue in the find file by name dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2701
diff
changeset
|
253 | file extension. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
254 | |
8632
f25cd4b94eb0
Changed the Find File dialog to an integrated widget (right side)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
255 | @param itm the double clicked listview item |
f25cd4b94eb0
Changed the Find File dialog to an integrated widget (right side)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
256 | @type QTreeWidgetItem |
f25cd4b94eb0
Changed the Find File dialog to an integrated widget (right side)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
257 | @param column column that was double clicked (ignored) |
f25cd4b94eb0
Changed the Find File dialog to an integrated widget (right side)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
258 | @type int |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
259 | """ |
2754
2b3a46d8905b
Fixed an issue in the find file by name dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2701
diff
changeset
|
260 | self.__openFile(itm) |
8632
f25cd4b94eb0
Changed the Find File dialog to an integrated widget (right side)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
261 | |
2754
2b3a46d8905b
Fixed an issue in the find file by name dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2701
diff
changeset
|
262 | @pyqtSlot(QTreeWidgetItem, QTreeWidgetItem) |
2b3a46d8905b
Fixed an issue in the find file by name dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2701
diff
changeset
|
263 | def on_fileList_currentItemChanged(self, current, previous): |
2b3a46d8905b
Fixed an issue in the find file by name dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2701
diff
changeset
|
264 | """ |
2b3a46d8905b
Fixed an issue in the find file by name dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2701
diff
changeset
|
265 | Private slot handling a change of the current item. |
2b3a46d8905b
Fixed an issue in the find file by name dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2701
diff
changeset
|
266 | |
8632
f25cd4b94eb0
Changed the Find File dialog to an integrated widget (right side)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
267 | @param current current item |
f25cd4b94eb0
Changed the Find File dialog to an integrated widget (right side)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
268 | @type QTreeWidgetItem |
f25cd4b94eb0
Changed the Find File dialog to an integrated widget (right side)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
269 | @param previous prevoius current item |
f25cd4b94eb0
Changed the Find File dialog to an integrated widget (right side)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
270 | @type QTreeWidgetItem |
2754
2b3a46d8905b
Fixed an issue in the find file by name dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2701
diff
changeset
|
271 | """ |
8632
f25cd4b94eb0
Changed the Find File dialog to an integrated widget (right side)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
272 | self.openButton.setEnabled(current is not None) |
f25cd4b94eb0
Changed the Find File dialog to an integrated widget (right side)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
273 | |
f25cd4b94eb0
Changed the Find File dialog to an integrated widget (right side)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
274 | @pyqtSlot() |
8636
c0a3a6e40815
Extended the supported file type specific signals in the two 'Find' related widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8632
diff
changeset
|
275 | def __projectOpened(self): |
c0a3a6e40815
Extended the supported file type specific signals in the two 'Find' related widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8632
diff
changeset
|
276 | """ |
c0a3a6e40815
Extended the supported file type specific signals in the two 'Find' related widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8632
diff
changeset
|
277 | Private slot to handle a project being opened. |
c0a3a6e40815
Extended the supported file type specific signals in the two 'Find' related widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8632
diff
changeset
|
278 | """ |
c0a3a6e40815
Extended the supported file type specific signals in the two 'Find' related widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8632
diff
changeset
|
279 | self.projectCheckBox.setEnabled(True) |
c0a3a6e40815
Extended the supported file type specific signals in the two 'Find' related widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8632
diff
changeset
|
280 | self.projectCheckBox.setChecked(True) |
c0a3a6e40815
Extended the supported file type specific signals in the two 'Find' related widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8632
diff
changeset
|
281 | |
c0a3a6e40815
Extended the supported file type specific signals in the two 'Find' related widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8632
diff
changeset
|
282 | @pyqtSlot() |
c0a3a6e40815
Extended the supported file type specific signals in the two 'Find' related widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8632
diff
changeset
|
283 | def __projectClosed(self): |
c0a3a6e40815
Extended the supported file type specific signals in the two 'Find' related widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8632
diff
changeset
|
284 | """ |
c0a3a6e40815
Extended the supported file type specific signals in the two 'Find' related widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8632
diff
changeset
|
285 | Private slot to handle a project being closed. |
c0a3a6e40815
Extended the supported file type specific signals in the two 'Find' related widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8632
diff
changeset
|
286 | """ |
c0a3a6e40815
Extended the supported file type specific signals in the two 'Find' related widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8632
diff
changeset
|
287 | self.projectCheckBox.setEnabled(False) |
c0a3a6e40815
Extended the supported file type specific signals in the two 'Find' related widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8632
diff
changeset
|
288 | self.projectCheckBox.setChecked(False) |
c0a3a6e40815
Extended the supported file type specific signals in the two 'Find' related widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8632
diff
changeset
|
289 | |
c0a3a6e40815
Extended the supported file type specific signals in the two 'Find' related widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8632
diff
changeset
|
290 | @pyqtSlot() |
8632
f25cd4b94eb0
Changed the Find File dialog to an integrated widget (right side)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
291 | def activate(self): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
292 | """ |
8632
f25cd4b94eb0
Changed the Find File dialog to an integrated widget (right side)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
293 | Public slot to enable/disable the project checkbox. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
294 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
295 | self.fileNameEdit.selectAll() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
296 | self.fileNameEdit.setFocus() |