eric7/UI/FindLocationWidget.py

Thu, 30 Dec 2021 11:17:58 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Thu, 30 Dec 2021 11:17:58 +0100
branch
eric7
changeset 8881
54e42bc2437a
parent 8859
64252c7bfb87
child 9039
3c8aa997bad8
permissions
-rw-r--r--

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()

eric ide

mercurial