Sat, 15 Jan 2022 19:53:40 +0100
Fixed some code style issues.
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:
8614
diff
changeset
|
3 | # Copyright (c) 2002 - 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 browser with class browsing capabilities. |
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 |
8114 | 11 | import shutil |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
12 | |
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
|
13 | from PyQt6.QtCore import ( |
8109 | 14 | pyqtSignal, pyqtSlot, Qt, QUrl, QCoreApplication, QItemSelectionModel, |
15 | QModelIndex, QElapsedTimer | |
7264
bedbe458d792
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
16 | ) |
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
|
17 | from PyQt6.QtGui import QAction, QDesktopServices |
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
|
18 | from PyQt6.QtWidgets import ( |
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
|
19 | QTreeView, QApplication, QMenu, QAbstractItemView, QInputDialog, |
8114 | 20 | QLineEdit, QDialog |
8109 | 21 | ) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
22 | |
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
|
23 | from EricWidgets.EricApplication import ericApp |
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
|
24 | from EricWidgets import EricFileDialog, EricMessageBox |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
25 | |
4528
63154a5e18d0
Expand some browser items on double click.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
4186
diff
changeset
|
26 | from Project.ProjectBrowserModel import ProjectBrowserSimpleDirectoryItem |
7264
bedbe458d792
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
27 | from .BrowserModel import ( |
bedbe458d792
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
28 | BrowserModel, BrowserDirectoryItem, BrowserFileItem, BrowserClassItem, |
bedbe458d792
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
29 | BrowserMethodItem, BrowserClassAttributeItem, BrowserImportItem, |
8114 | 30 | BrowserImportsItem, BrowserSysPathItem, BrowserGlobalsItem, |
31 | BrowserItemDirectory | |
7264
bedbe458d792
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
32 | ) |
12
1d8dd9706f46
First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
33 | from .BrowserSortFilterProxyModel import BrowserSortFilterProxyModel |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
34 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
35 | import UI.PixmapCache |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
36 | import Preferences |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
37 | import Utilities |
3619
4643a9ef7dd6
Avoid masking of global module mimetypes with the local one in Python 2.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3565
diff
changeset
|
38 | import Utilities.MimeTypes |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
39 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
882
diff
changeset
|
40 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
41 | class Browser(QTreeView): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
42 | """ |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
882
diff
changeset
|
43 | Class used to display a file system tree. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
44 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
45 | Via the context menu that |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
46 | is displayed by a right click the user can select various actions on |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
47 | the selected file. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
48 | |
5726
e1dbd217214a
Fixed a few source docu issues (forgotten signals and exceptions).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5674
diff
changeset
|
49 | @signal sourceFile(filename) emitted to open a Python file at a line (str) |
e1dbd217214a
Fixed a few source docu issues (forgotten signals and exceptions).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5674
diff
changeset
|
50 | @signal sourceFile(filename, lineno) emitted to open a Python file at a |
e1dbd217214a
Fixed a few source docu issues (forgotten signals and exceptions).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5674
diff
changeset
|
51 | line (str, int) |
e1dbd217214a
Fixed a few source docu issues (forgotten signals and exceptions).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5674
diff
changeset
|
52 | @signal sourceFile(filename, lineno, type) emitted to open a Python file |
e1dbd217214a
Fixed a few source docu issues (forgotten signals and exceptions).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5674
diff
changeset
|
53 | at a line giving an explicit file type (str, int, str) |
e1dbd217214a
Fixed a few source docu issues (forgotten signals and exceptions).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5674
diff
changeset
|
54 | @signal sourceFile(filename, linenos) emitted to open a Python file giving |
e1dbd217214a
Fixed a few source docu issues (forgotten signals and exceptions).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5674
diff
changeset
|
55 | a list of lines(str, list) |
e1dbd217214a
Fixed a few source docu issues (forgotten signals and exceptions).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5674
diff
changeset
|
56 | @signal designerFile(filename) emitted to open a Qt-Designer file (str) |
e1dbd217214a
Fixed a few source docu issues (forgotten signals and exceptions).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5674
diff
changeset
|
57 | @signal linguistFile(filename) emitted to open a Qt-Linguist (*.ts) |
e1dbd217214a
Fixed a few source docu issues (forgotten signals and exceptions).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5674
diff
changeset
|
58 | file (str) |
e1dbd217214a
Fixed a few source docu issues (forgotten signals and exceptions).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5674
diff
changeset
|
59 | @signal trpreview(filenames) emitted to preview Qt-Linguist (*.qm) |
e1dbd217214a
Fixed a few source docu issues (forgotten signals and exceptions).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5674
diff
changeset
|
60 | files (list of str) |
e1dbd217214a
Fixed a few source docu issues (forgotten signals and exceptions).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5674
diff
changeset
|
61 | @signal trpreview(filenames, ignore) emitted to preview Qt-Linguist (*.qm) |
e1dbd217214a
Fixed a few source docu issues (forgotten signals and exceptions).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5674
diff
changeset
|
62 | files indicating whether non-existent files shall be ignored |
e1dbd217214a
Fixed a few source docu issues (forgotten signals and exceptions).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5674
diff
changeset
|
63 | (list of str, bool) |
e1dbd217214a
Fixed a few source docu issues (forgotten signals and exceptions).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5674
diff
changeset
|
64 | @signal projectFile(filename) emitted to open an eric project file (str) |
e1dbd217214a
Fixed a few source docu issues (forgotten signals and exceptions).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5674
diff
changeset
|
65 | @signal multiProjectFile(filename) emitted to open an eric multi project |
e1dbd217214a
Fixed a few source docu issues (forgotten signals and exceptions).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5674
diff
changeset
|
66 | file (str) |
e1dbd217214a
Fixed a few source docu issues (forgotten signals and exceptions).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5674
diff
changeset
|
67 | @signal pixmapFile(filename) emitted to open a pixmap file (str) |
e1dbd217214a
Fixed a few source docu issues (forgotten signals and exceptions).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5674
diff
changeset
|
68 | @signal pixmapEditFile(filename) emitted to edit a pixmap file (str) |
e1dbd217214a
Fixed a few source docu issues (forgotten signals and exceptions).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5674
diff
changeset
|
69 | @signal svgFile(filename) emitted to open a SVG file (str) |
8282 | 70 | @signal umlFile(filename) emitted to open an eric UML file (str) |
5726
e1dbd217214a
Fixed a few source docu issues (forgotten signals and exceptions).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5674
diff
changeset
|
71 | @signal binaryFile(filename) emitted to open a file as binary (str) |
e1dbd217214a
Fixed a few source docu issues (forgotten signals and exceptions).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5674
diff
changeset
|
72 | @signal unittestOpen(filename) emitted to open a Python file for a |
e1dbd217214a
Fixed a few source docu issues (forgotten signals and exceptions).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5674
diff
changeset
|
73 | unit test (str) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
74 | """ |
4186
e2bf1c32272b
Improved the 'import' change to move the cursor to the next occurence for each double-click on an import item in the project source browser and the file browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4183
diff
changeset
|
75 | sourceFile = pyqtSignal((str, ), (str, int), (str, list), (str, int, str)) |
500
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
476
diff
changeset
|
76 | designerFile = pyqtSignal(str) |
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
476
diff
changeset
|
77 | linguistFile = pyqtSignal(str) |
949
f888270da22e
Fixed a new style signals related issue related to redefining some signals.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
78 | trpreview = pyqtSignal((list, ), (list, bool)) |
500
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
476
diff
changeset
|
79 | projectFile = pyqtSignal(str) |
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
476
diff
changeset
|
80 | multiProjectFile = pyqtSignal(str) |
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
476
diff
changeset
|
81 | pixmapFile = pyqtSignal(str) |
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
476
diff
changeset
|
82 | pixmapEditFile = pyqtSignal(str) |
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
476
diff
changeset
|
83 | svgFile = pyqtSignal(str) |
8282 | 84 | umlFile = pyqtSignal(str) |
4651
7f3f276d3bf3
Integrated the hex editor into the eric IDE.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
85 | binaryFile = pyqtSignal(str) |
500
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
476
diff
changeset
|
86 | unittestOpen = pyqtSignal(str) |
476
121633976eca
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
458
diff
changeset
|
87 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
882
diff
changeset
|
88 | def __init__(self, parent=None): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
89 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
90 | Constructor |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
91 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
92 | @param parent parent widget (QWidget) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
93 | """ |
8218
7c09585bd960
Applied some more code simplifications suggested by the new Simplify checker (super(Foo, self) => super()).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8205
diff
changeset
|
94 | super().__init__(parent) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
95 | |
3656
441956d8fce5
Started porting eric5 to PyQt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3619
diff
changeset
|
96 | self.setWindowTitle(QCoreApplication.translate('Browser', |
441956d8fce5
Started porting eric5 to PyQt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3619
diff
changeset
|
97 | 'File-Browser')) |
7533
88261c96484b
Removed the '.png' extension from all call to get an icon or a pixmap from the PixmapCache because this is not needed anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
98 | self.setWindowIcon(UI.PixmapCache.getIcon("eric")) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
99 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
100 | self.__model = BrowserModel() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
101 | self.__sortModel = BrowserSortFilterProxyModel() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
102 | self.__sortModel.setSourceModel(self.__model) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
103 | self.setModel(self.__sortModel) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
104 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
105 | self.selectedItemsFilter = [BrowserFileItem] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
106 | |
2099
afde0e9110f7
Implemented guards against double activation of list entries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2094
diff
changeset
|
107 | self._activating = False |
afde0e9110f7
Implemented guards against double activation of list entries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2094
diff
changeset
|
108 | |
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:
8114
diff
changeset
|
109 | self.setContextMenuPolicy(Qt.ContextMenuPolicy.CustomContextMenu) |
458
1695e7a2db54
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
233
diff
changeset
|
110 | self.customContextMenuRequested.connect(self._contextMenuRequested) |
500
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
476
diff
changeset
|
111 | self.activated.connect(self._openItem) |
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
476
diff
changeset
|
112 | self.expanded.connect(self._resizeColumns) |
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
476
diff
changeset
|
113 | self.collapsed.connect(self._resizeColumns) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
114 | |
3656
441956d8fce5
Started porting eric5 to PyQt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3619
diff
changeset
|
115 | self.setWhatsThis(QCoreApplication.translate( |
3012
d177226027e2
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2965
diff
changeset
|
116 | 'Browser', |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
117 | """<b>The Browser Window</b>""" |
3012
d177226027e2
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2965
diff
changeset
|
118 | """<p>This allows you to easily navigate the hierarchy of""" |
d177226027e2
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2965
diff
changeset
|
119 | """ directories and files on your system, identify the Python""" |
d177226027e2
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2965
diff
changeset
|
120 | """ programs and open them up in a Source Viewer window. The""" |
d177226027e2
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2965
diff
changeset
|
121 | """ window displays several separate hierarchies.</p>""" |
d177226027e2
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2965
diff
changeset
|
122 | """<p>The first hierarchy is only shown if you have opened a""" |
d177226027e2
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2965
diff
changeset
|
123 | """ program for debugging and its root is the directory""" |
d177226027e2
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2965
diff
changeset
|
124 | """ containing that program. Usually all of the separate files""" |
d177226027e2
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2965
diff
changeset
|
125 | """ that make up a Python application are held in the same""" |
d177226027e2
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2965
diff
changeset
|
126 | """ directory, so this hierarchy gives you easy access to most""" |
d177226027e2
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2965
diff
changeset
|
127 | """ of what you will need.</p>""" |
d177226027e2
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2965
diff
changeset
|
128 | """<p>The next hierarchy is used to easily navigate the""" |
d177226027e2
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2965
diff
changeset
|
129 | """ directories that are specified in the Python""" |
d177226027e2
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2965
diff
changeset
|
130 | """ <tt>sys.path</tt> variable.</p>""" |
d177226027e2
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2965
diff
changeset
|
131 | """<p>The remaining hierarchies allow you navigate your system""" |
d177226027e2
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2965
diff
changeset
|
132 | """ as a whole. On a UNIX system there will be a hierarchy with""" |
d177226027e2
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2965
diff
changeset
|
133 | """ <tt>/</tt> at its root and another with the user home""" |
d177226027e2
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2965
diff
changeset
|
134 | """ directory. On a Windows system there will be a hierarchy for""" |
d177226027e2
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2965
diff
changeset
|
135 | """ each drive on the""" |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
136 | """ system.</p>""" |
3012
d177226027e2
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2965
diff
changeset
|
137 | """<p>Python programs (i.e. those with a <tt>.py</tt> file name""" |
d177226027e2
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2965
diff
changeset
|
138 | """ suffix) are identified in the hierarchies with a Python""" |
d177226027e2
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2965
diff
changeset
|
139 | """ icon. The right mouse button will popup a menu which lets""" |
d177226027e2
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2965
diff
changeset
|
140 | """ you open the file in a Source Viewer window, open the file""" |
d177226027e2
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2965
diff
changeset
|
141 | """ for debugging or use it for a unittest run.</p>""" |
d177226027e2
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2965
diff
changeset
|
142 | """<p>The context menu of a class, function or method allows you""" |
d177226027e2
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2965
diff
changeset
|
143 | """ to open the file defining this class, function or method and""" |
d177226027e2
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2965
diff
changeset
|
144 | """ will ensure, that the correct source line is visible.</p>""" |
d177226027e2
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2965
diff
changeset
|
145 | """<p>Qt-Designer files (i.e. those with a <tt>.ui</tt> file""" |
d177226027e2
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2965
diff
changeset
|
146 | """ name suffix) are shown with a Designer icon. The context""" |
d177226027e2
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2965
diff
changeset
|
147 | """ menu of these files allows you to start Qt-Designer with""" |
d177226027e2
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2965
diff
changeset
|
148 | """ that file.</p>""" |
d177226027e2
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2965
diff
changeset
|
149 | """<p>Qt-Linguist files (i.e. those with a <tt>.ts</tt> file""" |
d177226027e2
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2965
diff
changeset
|
150 | """ name suffix) are shown with a Linguist icon. The context""" |
d177226027e2
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2965
diff
changeset
|
151 | """ menu of these files allows you to start Qt-Linguist with""" |
d177226027e2
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2965
diff
changeset
|
152 | """ that file.</p>""" |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
153 | )) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
154 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
155 | self.__createPopupMenus() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
156 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
157 | self._init() # perform common initialization tasks |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
158 | |
5011
4085e2348621
Added capability to search the file tree via the keyboard (directories and files only) to the file browser and the project browsers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4651
diff
changeset
|
159 | self._keyboardSearchString = "" |
4085e2348621
Added capability to search the file tree via the keyboard (directories and files only) to the file browser and the project browsers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4651
diff
changeset
|
160 | self._keyboardSearchTimer = QElapsedTimer() |
4085e2348621
Added capability to search the file tree via the keyboard (directories and files only) to the file browser and the project browsers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4651
diff
changeset
|
161 | self._keyboardSearchTimer.invalidate() |
4085e2348621
Added capability to search the file tree via the keyboard (directories and files only) to the file browser and the project browsers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4651
diff
changeset
|
162 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
163 | def _init(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
164 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
165 | Protected method to perform initialization tasks common to this |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
166 | base class and all derived classes. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
167 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
168 | self.setRootIsDecorated(True) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
169 | self.setAlternatingRowColors(True) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
170 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
171 | header = self.header() |
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:
8114
diff
changeset
|
172 | header.setSortIndicator(0, Qt.SortOrder.AscendingOrder) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
173 | header.setSortIndicatorShown(True) |
7198
684261ef2165
Removed the Qt4 runtime stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7055
diff
changeset
|
174 | header.setSectionsClickable(True) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
175 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
176 | self.setSortingEnabled(True) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
177 | |
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:
8114
diff
changeset
|
178 | self.setSelectionMode( |
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:
8114
diff
changeset
|
179 | QAbstractItemView.SelectionMode.ExtendedSelection) |
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:
8114
diff
changeset
|
180 | self.setSelectionBehavior( |
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:
8114
diff
changeset
|
181 | QAbstractItemView.SelectionBehavior.SelectRows) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
182 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
183 | self.header().setStretchLastSection(True) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
184 | self.headerSize0 = 0 |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
185 | self.layoutDisplay() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
186 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
187 | def layoutDisplay(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
188 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
189 | Public slot to perform a layout operation. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
190 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
191 | self._resizeColumns(QModelIndex()) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
192 | self._resort() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
193 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
194 | def _resizeColumns(self, index): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
195 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
196 | Protected slot to resize the view when items get expanded or collapsed. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
197 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
198 | @param index index of item (QModelIndex) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
199 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
200 | w = max(100, self.sizeHintForColumn(0)) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
201 | if w != self.headerSize0: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
202 | self.header().resizeSection(0, w) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
203 | self.headerSize0 = w |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
204 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
205 | def _resort(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
206 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
207 | Protected slot to resort the tree. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
208 | """ |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
882
diff
changeset
|
209 | self.model().sort(self.header().sortIndicatorSection(), |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
210 | self.header().sortIndicatorOrder()) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
211 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
212 | def __createPopupMenus(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
213 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
214 | Private method to generate the various popup menus. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
215 | """ |
8109 | 216 | self.showHiddenFilesAct = QAction( |
217 | QCoreApplication.translate('Browser', 'Show Hidden Files')) | |
218 | self.showHiddenFilesAct.setCheckable(True) | |
219 | self.showHiddenFilesAct.toggled.connect(self._showHidden) | |
220 | self.showHiddenFilesAct.setChecked( | |
221 | Preferences.getUI("BrowsersListHiddenFiles")) | |
222 | ||
8114 | 223 | self.__newMenu = QMenu(QCoreApplication.translate('Browser', "New"), |
224 | self) | |
225 | self.__newMenu.addAction( | |
226 | QCoreApplication.translate('Browser', 'Directory'), | |
227 | self._newDirectory) | |
228 | self.__newMenu.addAction( | |
229 | QCoreApplication.translate('Browser', 'File'), self._newFile) | |
230 | ||
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
231 | # create the popup menu for source files |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
232 | self.sourceMenu = QMenu(self) |
3030
4a0a82ddd9d2
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3012
diff
changeset
|
233 | self.sourceMenu.addAction( |
3656
441956d8fce5
Started porting eric5 to PyQt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3619
diff
changeset
|
234 | QCoreApplication.translate('Browser', 'Open'), self._openItem) |
564
b3d966393ba9
Did some code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
501
diff
changeset
|
235 | self.unittestAct = self.sourceMenu.addAction( |
3656
441956d8fce5
Started porting eric5 to PyQt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3619
diff
changeset
|
236 | QCoreApplication.translate('Browser', 'Run unittest...'), |
3012
d177226027e2
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2965
diff
changeset
|
237 | self.handleUnittest) |
4101
68c26f72c0d1
Added the capability to show a file's mime type and to add it to the text mime types list to the project others browser and the file browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
238 | self.sourceMenu.addSeparator() |
68c26f72c0d1
Added the capability to show a file's mime type and to add it to the text mime types list to the project others browser and the file browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
239 | self.mimeTypeAct = self.sourceMenu.addAction( |
5674
a0ad2dcb27f9
Corrected some translations related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5599
diff
changeset
|
240 | QCoreApplication.translate('Browser', 'Show Mime-Type'), |
a0ad2dcb27f9
Corrected some translations related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5599
diff
changeset
|
241 | self.__showMimeType) |
4101
68c26f72c0d1
Added the capability to show a file's mime type and to add it to the text mime types list to the project others browser and the file browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
242 | self.sourceMenu.addSeparator() |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
243 | self.sourceMenu.addAction( |
7677
d4d33990b355
File Browser: changed it to react upon changed files if their contents is shown
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7635
diff
changeset
|
244 | QCoreApplication.translate('Browser', 'Refresh Source File'), |
d4d33990b355
File Browser: changed it to react upon changed files if their contents is shown
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7635
diff
changeset
|
245 | self.__refreshSource) |
d4d33990b355
File Browser: changed it to react upon changed files if their contents is shown
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7635
diff
changeset
|
246 | self.sourceMenu.addSeparator() |
d4d33990b355
File Browser: changed it to react upon changed files if their contents is shown
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7635
diff
changeset
|
247 | self.sourceMenu.addAction( |
3656
441956d8fce5
Started porting eric5 to PyQt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3619
diff
changeset
|
248 | QCoreApplication.translate('Browser', 'Copy Path to Clipboard'), |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
249 | self._copyToClipboard) |
8109 | 250 | self.sourceMenu.addSeparator() |
251 | self.sourceMenu.addAction(self.showHiddenFilesAct) | |
8114 | 252 | self.sourceMenu.addSeparator() |
253 | self.sourceMenu.addMenu(self.__newMenu) | |
254 | self.sourceMenu.addAction( | |
255 | QCoreApplication.translate('Browser', 'Delete'), | |
256 | self._deleteFileOrDirectory) | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
257 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
258 | # create the popup menu for general use |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
259 | self.menu = QMenu(self) |
3012
d177226027e2
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2965
diff
changeset
|
260 | self.menu.addAction( |
3656
441956d8fce5
Started porting eric5 to PyQt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3619
diff
changeset
|
261 | QCoreApplication.translate('Browser', 'Open'), self._openItem) |
4651
7f3f276d3bf3
Integrated the hex editor into the eric IDE.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
262 | self.menu.addAction( |
7f3f276d3bf3
Integrated the hex editor into the eric IDE.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
263 | QCoreApplication.translate('Browser', 'Open in Hex Editor'), |
7f3f276d3bf3
Integrated the hex editor into the eric IDE.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
264 | self._openHexEditor) |
3012
d177226027e2
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2965
diff
changeset
|
265 | self.editPixmapAct = self.menu.addAction( |
3656
441956d8fce5
Started porting eric5 to PyQt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3619
diff
changeset
|
266 | QCoreApplication.translate('Browser', 'Open in Icon Editor'), |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
267 | self._editPixmap) |
8909
1fd7ed5f83a6
File Browser, Project Others Browser
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8881
diff
changeset
|
268 | self.openInEditorAct = self.menu.addAction( |
1fd7ed5f83a6
File Browser, Project Others Browser
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8881
diff
changeset
|
269 | QCoreApplication.translate('Browser', 'Open in Editor'), |
1fd7ed5f83a6
File Browser, Project Others Browser
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8881
diff
changeset
|
270 | self._openFileInEditor) |
4101
68c26f72c0d1
Added the capability to show a file's mime type and to add it to the text mime types list to the project others browser and the file browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
271 | self.menu.addSeparator() |
68c26f72c0d1
Added the capability to show a file's mime type and to add it to the text mime types list to the project others browser and the file browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
272 | self.mimeTypeAct = self.menu.addAction( |
5674
a0ad2dcb27f9
Corrected some translations related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5599
diff
changeset
|
273 | QCoreApplication.translate('Browser', 'Show Mime-Type'), |
a0ad2dcb27f9
Corrected some translations related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5599
diff
changeset
|
274 | self.__showMimeType) |
4101
68c26f72c0d1
Added the capability to show a file's mime type and to add it to the text mime types list to the project others browser and the file browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
275 | self.menu.addSeparator() |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
276 | self.menu.addAction( |
3656
441956d8fce5
Started porting eric5 to PyQt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3619
diff
changeset
|
277 | QCoreApplication.translate('Browser', 'Copy Path to Clipboard'), |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
278 | self._copyToClipboard) |
8109 | 279 | self.menu.addSeparator() |
280 | self.menu.addAction(self.showHiddenFilesAct) | |
8114 | 281 | self.menu.addSeparator() |
282 | self.menu.addMenu(self.__newMenu) | |
283 | self.menu.addAction( | |
284 | QCoreApplication.translate('Browser', 'Delete'), | |
285 | self._deleteFileOrDirectory) | |
8109 | 286 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
287 | # create the menu for multiple selected files |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
288 | self.multiMenu = QMenu(self) |
3030
4a0a82ddd9d2
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3012
diff
changeset
|
289 | self.multiMenu.addAction( |
3656
441956d8fce5
Started porting eric5 to PyQt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3619
diff
changeset
|
290 | QCoreApplication.translate('Browser', 'Open'), self._openItem) |
8109 | 291 | self.multiMenu.addSeparator() |
292 | self.multiMenu.addAction(self.showHiddenFilesAct) | |
8114 | 293 | self.multiMenu.addSeparator() |
294 | self.multiMenu.addAction( | |
295 | QCoreApplication.translate('Browser', 'Delete'), | |
296 | self.__deleteMultiple) | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
297 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
298 | # create the directory menu |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
299 | self.dirMenu = QMenu(self) |
3030
4a0a82ddd9d2
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3012
diff
changeset
|
300 | self.dirMenu.addAction( |
3656
441956d8fce5
Started porting eric5 to PyQt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3619
diff
changeset
|
301 | QCoreApplication.translate('Browser', 'New toplevel directory...'), |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
302 | self.__newToplevelDir) |
564
b3d966393ba9
Did some code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
501
diff
changeset
|
303 | self.addAsTopLevelAct = self.dirMenu.addAction( |
3656
441956d8fce5
Started porting eric5 to PyQt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3619
diff
changeset
|
304 | QCoreApplication.translate('Browser', 'Add as toplevel directory'), |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
305 | self.__addAsToplevelDir) |
564
b3d966393ba9
Did some code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
501
diff
changeset
|
306 | self.removeFromToplevelAct = self.dirMenu.addAction( |
3656
441956d8fce5
Started porting eric5 to PyQt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3619
diff
changeset
|
307 | QCoreApplication.translate('Browser', 'Remove from toplevel'), |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
308 | self.__removeToplevel) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
309 | self.dirMenu.addSeparator() |
3030
4a0a82ddd9d2
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3012
diff
changeset
|
310 | self.dirMenu.addAction( |
3656
441956d8fce5
Started porting eric5 to PyQt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3619
diff
changeset
|
311 | QCoreApplication.translate('Browser', 'Refresh directory'), |
233
9d2677615a3d
Fixed a few issues with the automatic update code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
97
diff
changeset
|
312 | self.__refreshDirectory) |
9d2677615a3d
Fixed a few issues with the automatic update code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
97
diff
changeset
|
313 | self.dirMenu.addSeparator() |
3030
4a0a82ddd9d2
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3012
diff
changeset
|
314 | self.dirMenu.addAction( |
3656
441956d8fce5
Started porting eric5 to PyQt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3619
diff
changeset
|
315 | QCoreApplication.translate('Browser', 'Find in this directory'), |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
316 | self.__findInDirectory) |
3030
4a0a82ddd9d2
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3012
diff
changeset
|
317 | self.dirMenu.addAction( |
3656
441956d8fce5
Started porting eric5 to PyQt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3619
diff
changeset
|
318 | QCoreApplication.translate( |
7055
d62e7c38ee8e
Browser: fixed a little typo.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6987
diff
changeset
|
319 | 'Browser', 'Find && Replace in this directory'), |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
320 | self.__replaceInDirectory) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
321 | self.dirMenu.addAction( |
3656
441956d8fce5
Started porting eric5 to PyQt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3619
diff
changeset
|
322 | QCoreApplication.translate('Browser', 'Copy Path to Clipboard'), |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
323 | self._copyToClipboard) |
8109 | 324 | self.dirMenu.addSeparator() |
325 | self.dirMenu.addAction(self.showHiddenFilesAct) | |
8114 | 326 | self.dirMenu.addSeparator() |
327 | self.dirMenu.addMenu(self.__newMenu) | |
328 | self.dirMenu.addAction( | |
329 | QCoreApplication.translate('Browser', 'Delete'), | |
330 | self._deleteFileOrDirectory) | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
331 | |
1303
6018d7ac3aec
Added context menu for attributes to the file browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
332 | # create the attribute menu |
5674
a0ad2dcb27f9
Corrected some translations related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5599
diff
changeset
|
333 | self.gotoMenu = QMenu(QCoreApplication.translate('Browser', "Goto"), |
a0ad2dcb27f9
Corrected some translations related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5599
diff
changeset
|
334 | self) |
1303
6018d7ac3aec
Added context menu for attributes to the file browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
335 | self.gotoMenu.aboutToShow.connect(self._showGotoMenu) |
6018d7ac3aec
Added context menu for attributes to the file browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
336 | self.gotoMenu.triggered.connect(self._gotoAttribute) |
6018d7ac3aec
Added context menu for attributes to the file browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
337 | |
6018d7ac3aec
Added context menu for attributes to the file browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
338 | self.attributeMenu = QMenu(self) |
3030
4a0a82ddd9d2
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3012
diff
changeset
|
339 | self.attributeMenu.addAction( |
3656
441956d8fce5
Started porting eric5 to PyQt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3619
diff
changeset
|
340 | QCoreApplication.translate('Browser', 'New toplevel directory...'), |
1303
6018d7ac3aec
Added context menu for attributes to the file browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
341 | self.__newToplevelDir) |
6018d7ac3aec
Added context menu for attributes to the file browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
342 | self.attributeMenu.addSeparator() |
6018d7ac3aec
Added context menu for attributes to the file browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
343 | self.attributeMenu.addMenu(self.gotoMenu) |
6018d7ac3aec
Added context menu for attributes to the file browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
344 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
345 | # create the background menu |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
346 | self.backMenu = QMenu(self) |
3030
4a0a82ddd9d2
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3012
diff
changeset
|
347 | self.backMenu.addAction( |
3656
441956d8fce5
Started porting eric5 to PyQt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3619
diff
changeset
|
348 | QCoreApplication.translate('Browser', 'New toplevel directory...'), |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
349 | self.__newToplevelDir) |
8109 | 350 | self.backMenu.addSeparator() |
351 | self.backMenu.addAction(self.showHiddenFilesAct) | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
352 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
353 | def mouseDoubleClickEvent(self, mouseEvent): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
354 | """ |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
882
diff
changeset
|
355 | Protected method of QAbstractItemView. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
356 | |
3012
d177226027e2
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2965
diff
changeset
|
357 | Reimplemented to disable expanding/collapsing of items when |
d177226027e2
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2965
diff
changeset
|
358 | double-clicking. Instead the double-clicked entry is opened. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
359 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
360 | @param mouseEvent the mouse event (QMouseEvent) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
361 | """ |
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
|
362 | index = self.indexAt(mouseEvent.position().toPoint()) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
363 | if index.isValid(): |
4528
63154a5e18d0
Expand some browser items on double click.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
4186
diff
changeset
|
364 | itm = self.model().item(index) |
63154a5e18d0
Expand some browser items on double click.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
4186
diff
changeset
|
365 | if isinstance(itm, ( |
63154a5e18d0
Expand some browser items on double click.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
4186
diff
changeset
|
366 | BrowserDirectoryItem, BrowserImportsItem, |
4529
6becda664299
Extended Tobias' change to include the Globals item as well.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4528
diff
changeset
|
367 | ProjectBrowserSimpleDirectoryItem, BrowserSysPathItem, |
6becda664299
Extended Tobias' change to include the Globals item as well.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4528
diff
changeset
|
368 | BrowserGlobalsItem)): |
4528
63154a5e18d0
Expand some browser items on double click.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
4186
diff
changeset
|
369 | self.setExpanded(index, not self.isExpanded(index)) |
63154a5e18d0
Expand some browser items on double click.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
4186
diff
changeset
|
370 | else: |
63154a5e18d0
Expand some browser items on double click.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
4186
diff
changeset
|
371 | self._openItem() |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
372 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
373 | def _contextMenuRequested(self, coord): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
374 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
375 | Protected slot to show the context menu of the listview. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
376 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
377 | @param coord the position of the mouse pointer (QPoint) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
378 | """ |
564
b3d966393ba9
Did some code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
501
diff
changeset
|
379 | categories = self.getSelectedItemsCountCategorized( |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
882
diff
changeset
|
380 | [BrowserDirectoryItem, BrowserFileItem, |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
381 | BrowserClassItem, BrowserMethodItem]) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
382 | cnt = categories["sum"] |
12
1d8dd9706f46
First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
383 | bfcnt = categories[str(BrowserFileItem)] |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
384 | if cnt > 1 and cnt == bfcnt: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
385 | self.multiMenu.popup(self.mapToGlobal(coord)) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
386 | else: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
387 | index = self.indexAt(coord) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
388 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
389 | if index.isValid(): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
390 | self.setCurrentIndex(index) |
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
|
391 | flags = ( |
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:
8114
diff
changeset
|
392 | QItemSelectionModel.SelectionFlag.ClearAndSelect | |
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
|
393 | QItemSelectionModel.SelectionFlag.Rows |
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
|
394 | ) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
395 | self.selectionModel().select(index, flags) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
396 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
397 | itm = self.model().item(index) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
398 | coord = self.mapToGlobal(coord) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
399 | if isinstance(itm, BrowserFileItem): |
476
121633976eca
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
458
diff
changeset
|
400 | if itm.isPython3File(): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
401 | if itm.fileName().endswith('.py'): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
402 | self.unittestAct.setEnabled(True) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
403 | else: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
404 | self.unittestAct.setEnabled(False) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
405 | self.sourceMenu.popup(coord) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
406 | else: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
407 | self.editPixmapAct.setVisible(itm.isPixmapFile()) |
8909
1fd7ed5f83a6
File Browser, Project Others Browser
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8881
diff
changeset
|
408 | self.openInEditorAct.setVisible(itm.isSvgFile()) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
409 | self.menu.popup(coord) |
7264
bedbe458d792
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
410 | elif isinstance( |
bedbe458d792
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
411 | itm, |
bedbe458d792
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
412 | (BrowserClassItem, BrowserMethodItem, BrowserImportItem) |
bedbe458d792
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
413 | ): |
4183
856ba07de877
Added capability to show imports of a Python script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4101
diff
changeset
|
414 | self.editPixmapAct.setVisible(False) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
415 | self.menu.popup(coord) |
1303
6018d7ac3aec
Added context menu for attributes to the file browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
416 | elif isinstance(itm, BrowserClassAttributeItem): |
6018d7ac3aec
Added context menu for attributes to the file browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
417 | self.attributeMenu.popup(coord) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
418 | elif isinstance(itm, BrowserDirectoryItem): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
419 | if not index.parent().isValid(): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
420 | self.removeFromToplevelAct.setEnabled(True) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
421 | self.addAsTopLevelAct.setEnabled(False) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
422 | else: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
423 | self.removeFromToplevelAct.setEnabled(False) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
424 | self.addAsTopLevelAct.setEnabled(True) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
425 | self.dirMenu.popup(coord) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
426 | else: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
427 | self.backMenu.popup(coord) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
428 | else: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
429 | self.backMenu.popup(self.mapToGlobal(coord)) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
430 | |
1303
6018d7ac3aec
Added context menu for attributes to the file browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
431 | def _showGotoMenu(self): |
6018d7ac3aec
Added context menu for attributes to the file browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
432 | """ |
6018d7ac3aec
Added context menu for attributes to the file browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
433 | Protected slot to prepare the goto submenu of the attribute menu. |
6018d7ac3aec
Added context menu for attributes to the file browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
434 | """ |
6018d7ac3aec
Added context menu for attributes to the file browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
435 | self.gotoMenu.clear() |
6018d7ac3aec
Added context menu for attributes to the file browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
436 | |
6018d7ac3aec
Added context menu for attributes to the file browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
437 | itm = self.model().item(self.currentIndex()) |
6018d7ac3aec
Added context menu for attributes to the file browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
438 | linenos = itm.linenos() |
6018d7ac3aec
Added context menu for attributes to the file browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
439 | fileName = itm.fileName() |
6018d7ac3aec
Added context menu for attributes to the file browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
440 | |
6018d7ac3aec
Added context menu for attributes to the file browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
441 | for lineno in sorted(linenos): |
3012
d177226027e2
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2965
diff
changeset
|
442 | act = self.gotoMenu.addAction( |
5674
a0ad2dcb27f9
Corrected some translations related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5599
diff
changeset
|
443 | QCoreApplication.translate( |
a0ad2dcb27f9
Corrected some translations related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5599
diff
changeset
|
444 | 'Browser', "Line {0}").format(lineno)) |
1303
6018d7ac3aec
Added context menu for attributes to the file browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
445 | act.setData([fileName, lineno]) |
6018d7ac3aec
Added context menu for attributes to the file browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
446 | |
6018d7ac3aec
Added context menu for attributes to the file browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
447 | def _gotoAttribute(self, act): |
6018d7ac3aec
Added context menu for attributes to the file browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
448 | """ |
6018d7ac3aec
Added context menu for attributes to the file browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
449 | Protected slot to handle the selection of the goto menu. |
2965
d133c7edd88a
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2763
diff
changeset
|
450 | |
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:
8322
diff
changeset
|
451 | @param act reference to the action (EricAction) |
1303
6018d7ac3aec
Added context menu for attributes to the file browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
452 | """ |
6018d7ac3aec
Added context menu for attributes to the file browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
453 | fileName, lineno = act.data() |
6018d7ac3aec
Added context menu for attributes to the file browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
454 | self.sourceFile[str, int].emit(fileName, lineno) |
6018d7ac3aec
Added context menu for attributes to the file browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
455 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
456 | def handlePreferencesChanged(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
457 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
458 | Public slot used to handle the preferencesChanged signal. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
459 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
460 | self.model().preferencesChanged() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
461 | self._resort() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
462 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
463 | def _openItem(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
464 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
465 | Protected slot to handle the open popup menu entry. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
466 | """ |
564
b3d966393ba9
Did some code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
501
diff
changeset
|
467 | itmList = self.getSelectedItems( |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
882
diff
changeset
|
468 | [BrowserFileItem, BrowserClassItem, |
4183
856ba07de877
Added capability to show imports of a Python script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4101
diff
changeset
|
469 | BrowserMethodItem, BrowserClassAttributeItem, |
856ba07de877
Added capability to show imports of a Python script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4101
diff
changeset
|
470 | BrowserImportItem]) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
471 | |
2099
afde0e9110f7
Implemented guards against double activation of list entries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2094
diff
changeset
|
472 | if not self._activating: |
afde0e9110f7
Implemented guards against double activation of list entries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2094
diff
changeset
|
473 | self._activating = True |
afde0e9110f7
Implemented guards against double activation of list entries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2094
diff
changeset
|
474 | for itm in itmList: |
afde0e9110f7
Implemented guards against double activation of list entries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2094
diff
changeset
|
475 | if isinstance(itm, BrowserFileItem): |
8228
772103b14c18
Applied some more code simplifications suggested by the new Simplify checker (Y114: use logical or for multiple if).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8227
diff
changeset
|
476 | if ( |
772103b14c18
Applied some more code simplifications suggested by the new Simplify checker (Y114: use logical or for multiple if).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8227
diff
changeset
|
477 | itm.isPython3File() or |
772103b14c18
Applied some more code simplifications suggested by the new Simplify checker (Y114: use logical or for multiple if).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8227
diff
changeset
|
478 | itm.isIdlFile() or |
772103b14c18
Applied some more code simplifications suggested by the new Simplify checker (Y114: use logical or for multiple if).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8227
diff
changeset
|
479 | itm.isProtobufFile() or |
772103b14c18
Applied some more code simplifications suggested by the new Simplify checker (Y114: use logical or for multiple if).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8227
diff
changeset
|
480 | itm.isResourcesFile() |
772103b14c18
Applied some more code simplifications suggested by the new Simplify checker (Y114: use logical or for multiple if).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8227
diff
changeset
|
481 | ): |
2099
afde0e9110f7
Implemented guards against double activation of list entries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2094
diff
changeset
|
482 | self.sourceFile[str].emit(itm.fileName()) |
afde0e9110f7
Implemented guards against double activation of list entries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2094
diff
changeset
|
483 | elif itm.isRubyFile(): |
3012
d177226027e2
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2965
diff
changeset
|
484 | self.sourceFile[str, int, str].emit( |
d177226027e2
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2965
diff
changeset
|
485 | itm.fileName(), -1, "Ruby") |
2099
afde0e9110f7
Implemented guards against double activation of list entries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2094
diff
changeset
|
486 | elif itm.isDFile(): |
3012
d177226027e2
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2965
diff
changeset
|
487 | self.sourceFile[str, int, str].emit( |
d177226027e2
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2965
diff
changeset
|
488 | itm.fileName(), -1, "D") |
2099
afde0e9110f7
Implemented guards against double activation of list entries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2094
diff
changeset
|
489 | elif itm.isDesignerFile(): |
afde0e9110f7
Implemented guards against double activation of list entries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2094
diff
changeset
|
490 | self.designerFile.emit(itm.fileName()) |
afde0e9110f7
Implemented guards against double activation of list entries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2094
diff
changeset
|
491 | elif itm.isLinguistFile(): |
afde0e9110f7
Implemented guards against double activation of list entries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2094
diff
changeset
|
492 | if itm.fileExt() == '.ts': |
afde0e9110f7
Implemented guards against double activation of list entries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2094
diff
changeset
|
493 | self.linguistFile.emit(itm.fileName()) |
afde0e9110f7
Implemented guards against double activation of list entries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2094
diff
changeset
|
494 | else: |
afde0e9110f7
Implemented guards against double activation of list entries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2094
diff
changeset
|
495 | self.trpreview.emit([itm.fileName()]) |
afde0e9110f7
Implemented guards against double activation of list entries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2094
diff
changeset
|
496 | elif itm.isProjectFile(): |
afde0e9110f7
Implemented guards against double activation of list entries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2094
diff
changeset
|
497 | self.projectFile.emit(itm.fileName()) |
afde0e9110f7
Implemented guards against double activation of list entries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2094
diff
changeset
|
498 | elif itm.isMultiProjectFile(): |
afde0e9110f7
Implemented guards against double activation of list entries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2094
diff
changeset
|
499 | self.multiProjectFile.emit(itm.fileName()) |
2334
fc69ad77e18a
Introduced a zoom widget in the status bar of several windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
500 | elif itm.isSvgFile(): |
fc69ad77e18a
Introduced a zoom widget in the status bar of several windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
501 | self.svgFile.emit(itm.fileName()) |
2099
afde0e9110f7
Implemented guards against double activation of list entries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2094
diff
changeset
|
502 | elif itm.isPixmapFile(): |
afde0e9110f7
Implemented guards against double activation of list entries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2094
diff
changeset
|
503 | self.pixmapFile.emit(itm.fileName()) |
8282 | 504 | elif itm.isEricGraphicsFile(): |
505 | self.umlFile.emit(itm.fileName()) | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
506 | else: |
3619
4643a9ef7dd6
Avoid masking of global module mimetypes with the local one in Python 2.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3565
diff
changeset
|
507 | if Utilities.MimeTypes.isTextFile(itm.fileName()): |
2099
afde0e9110f7
Implemented guards against double activation of list entries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2094
diff
changeset
|
508 | self.sourceFile[str].emit(itm.fileName()) |
afde0e9110f7
Implemented guards against double activation of list entries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2094
diff
changeset
|
509 | else: |
afde0e9110f7
Implemented guards against double activation of list entries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2094
diff
changeset
|
510 | QDesktopServices.openUrl(QUrl(itm.fileName())) |
afde0e9110f7
Implemented guards against double activation of list entries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2094
diff
changeset
|
511 | elif isinstance(itm, BrowserClassItem): |
3030
4a0a82ddd9d2
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3012
diff
changeset
|
512 | self.sourceFile[str, int].emit( |
4a0a82ddd9d2
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3012
diff
changeset
|
513 | itm.fileName(), itm.classObject().lineno) |
2099
afde0e9110f7
Implemented guards against double activation of list entries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2094
diff
changeset
|
514 | elif isinstance(itm, BrowserMethodItem): |
3030
4a0a82ddd9d2
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3012
diff
changeset
|
515 | self.sourceFile[str, int].emit( |
4a0a82ddd9d2
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3012
diff
changeset
|
516 | itm.fileName(), itm.functionObject().lineno) |
2099
afde0e9110f7
Implemented guards against double activation of list entries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2094
diff
changeset
|
517 | elif isinstance(itm, BrowserClassAttributeItem): |
3030
4a0a82ddd9d2
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3012
diff
changeset
|
518 | self.sourceFile[str, int].emit( |
4a0a82ddd9d2
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3012
diff
changeset
|
519 | itm.fileName(), itm.attributeObject().lineno) |
4183
856ba07de877
Added capability to show imports of a Python script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4101
diff
changeset
|
520 | elif isinstance(itm, BrowserImportItem): |
4186
e2bf1c32272b
Improved the 'import' change to move the cursor to the next occurence for each double-click on an import item in the project source browser and the file browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4183
diff
changeset
|
521 | self.sourceFile[str, list].emit( |
e2bf1c32272b
Improved the 'import' change to move the cursor to the next occurence for each double-click on an import item in the project source browser and the file browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4183
diff
changeset
|
522 | itm.fileName(), itm.linenos()) |
2099
afde0e9110f7
Implemented guards against double activation of list entries.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2094
diff
changeset
|
523 | self._activating = False |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
524 | |
4101
68c26f72c0d1
Added the capability to show a file's mime type and to add it to the text mime types list to the project others browser and the file browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
525 | def __showMimeType(self): |
68c26f72c0d1
Added the capability to show a file's mime type and to add it to the text mime types list to the project others browser and the file browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
526 | """ |
68c26f72c0d1
Added the capability to show a file's mime type and to add it to the text mime types list to the project others browser and the file browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
527 | Private slot to show the mime type of the selected entry. |
68c26f72c0d1
Added the capability to show a file's mime type and to add it to the text mime types list to the project others browser and the file browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
528 | """ |
68c26f72c0d1
Added the capability to show a file's mime type and to add it to the text mime types list to the project others browser and the file browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
529 | itmList = self.getSelectedItems( |
68c26f72c0d1
Added the capability to show a file's mime type and to add it to the text mime types list to the project others browser and the file browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
530 | [BrowserFileItem, BrowserClassItem, |
4183
856ba07de877
Added capability to show imports of a Python script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4101
diff
changeset
|
531 | BrowserMethodItem, BrowserClassAttributeItem, |
856ba07de877
Added capability to show imports of a Python script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4101
diff
changeset
|
532 | BrowserImportItem]) |
4101
68c26f72c0d1
Added the capability to show a file's mime type and to add it to the text mime types list to the project others browser and the file browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
533 | if itmList: |
68c26f72c0d1
Added the capability to show a file's mime type and to add it to the text mime types list to the project others browser and the file browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
534 | mimetype = Utilities.MimeTypes.mimeType(itmList[0].fileName()) |
68c26f72c0d1
Added the capability to show a file's mime type and to add it to the text mime types list to the project others browser and the file browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
535 | if mimetype is None: |
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:
8322
diff
changeset
|
536 | EricMessageBox.warning( |
4101
68c26f72c0d1
Added the capability to show a file's mime type and to add it to the text mime types list to the project others browser and the file browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
537 | self, |
5674
a0ad2dcb27f9
Corrected some translations related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5599
diff
changeset
|
538 | QCoreApplication.translate('Browser', "Show Mime-Type"), |
a0ad2dcb27f9
Corrected some translations related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5599
diff
changeset
|
539 | QCoreApplication.translate( |
a0ad2dcb27f9
Corrected some translations related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5599
diff
changeset
|
540 | 'Browser', |
a0ad2dcb27f9
Corrected some translations related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5599
diff
changeset
|
541 | """The mime type of the file could not be""" |
a0ad2dcb27f9
Corrected some translations related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5599
diff
changeset
|
542 | """ determined.""")) |
4101
68c26f72c0d1
Added the capability to show a file's mime type and to add it to the text mime types list to the project others browser and the file browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
543 | elif mimetype.split("/")[0] == "text": |
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:
8322
diff
changeset
|
544 | EricMessageBox.information( |
4101
68c26f72c0d1
Added the capability to show a file's mime type and to add it to the text mime types list to the project others browser and the file browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
545 | self, |
5674
a0ad2dcb27f9
Corrected some translations related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5599
diff
changeset
|
546 | QCoreApplication.translate('Browser', "Show Mime-Type"), |
a0ad2dcb27f9
Corrected some translations related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5599
diff
changeset
|
547 | QCoreApplication.translate( |
a0ad2dcb27f9
Corrected some translations related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5599
diff
changeset
|
548 | 'Browser', |
a0ad2dcb27f9
Corrected some translations related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5599
diff
changeset
|
549 | """The file has the mime type <b>{0}</b>.""") |
4101
68c26f72c0d1
Added the capability to show a file's mime type and to add it to the text mime types list to the project others browser and the file browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
550 | .format(mimetype)) |
68c26f72c0d1
Added the capability to show a file's mime type and to add it to the text mime types list to the project others browser and the file browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
551 | else: |
68c26f72c0d1
Added the capability to show a file's mime type and to add it to the text mime types list to the project others browser and the file browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
552 | textMimeTypesList = Preferences.getUI("TextMimeTypes") |
68c26f72c0d1
Added the capability to show a file's mime type and to add it to the text mime types list to the project others browser and the file browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
553 | if mimetype in textMimeTypesList: |
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:
8322
diff
changeset
|
554 | EricMessageBox.information( |
4101
68c26f72c0d1
Added the capability to show a file's mime type and to add it to the text mime types list to the project others browser and the file browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
555 | self, |
5674
a0ad2dcb27f9
Corrected some translations related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5599
diff
changeset
|
556 | QCoreApplication.translate( |
a0ad2dcb27f9
Corrected some translations related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5599
diff
changeset
|
557 | 'Browser', "Show Mime-Type"), |
a0ad2dcb27f9
Corrected some translations related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5599
diff
changeset
|
558 | QCoreApplication.translate( |
a0ad2dcb27f9
Corrected some translations related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5599
diff
changeset
|
559 | 'Browser', |
a0ad2dcb27f9
Corrected some translations related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5599
diff
changeset
|
560 | """The file has the mime type <b>{0}</b>.""") |
4101
68c26f72c0d1
Added the capability to show a file's mime type and to add it to the text mime types list to the project others browser and the file browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
561 | .format(mimetype)) |
68c26f72c0d1
Added the capability to show a file's mime type and to add it to the text mime types list to the project others browser and the file browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
562 | else: |
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:
8322
diff
changeset
|
563 | ok = EricMessageBox.yesNo( |
4101
68c26f72c0d1
Added the capability to show a file's mime type and to add it to the text mime types list to the project others browser and the file browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
564 | self, |
5674
a0ad2dcb27f9
Corrected some translations related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5599
diff
changeset
|
565 | QCoreApplication.translate( |
a0ad2dcb27f9
Corrected some translations related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5599
diff
changeset
|
566 | 'Browser', "Show Mime-Type"), |
a0ad2dcb27f9
Corrected some translations related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5599
diff
changeset
|
567 | QCoreApplication.translate( |
a0ad2dcb27f9
Corrected some translations related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5599
diff
changeset
|
568 | 'Browser', |
a0ad2dcb27f9
Corrected some translations related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5599
diff
changeset
|
569 | """The file has the mime type <b>{0}</b>.""" |
a0ad2dcb27f9
Corrected some translations related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5599
diff
changeset
|
570 | """<br/> Shall it be added to the list of""" |
a0ad2dcb27f9
Corrected some translations related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5599
diff
changeset
|
571 | """ text mime types?""").format(mimetype)) |
4101
68c26f72c0d1
Added the capability to show a file's mime type and to add it to the text mime types list to the project others browser and the file browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
572 | if ok: |
68c26f72c0d1
Added the capability to show a file's mime type and to add it to the text mime types list to the project others browser and the file browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
573 | textMimeTypesList.append(mimetype) |
68c26f72c0d1
Added the capability to show a file's mime type and to add it to the text mime types list to the project others browser and the file browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
574 | Preferences.setUI("TextMimeTypes", textMimeTypesList) |
7677
d4d33990b355
File Browser: changed it to react upon changed files if their contents is shown
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7635
diff
changeset
|
575 | |
d4d33990b355
File Browser: changed it to react upon changed files if their contents is shown
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7635
diff
changeset
|
576 | def __refreshSource(self): |
d4d33990b355
File Browser: changed it to react upon changed files if their contents is shown
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7635
diff
changeset
|
577 | """ |
d4d33990b355
File Browser: changed it to react upon changed files if their contents is shown
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7635
diff
changeset
|
578 | Private slot to refresh the structure of a source file. |
d4d33990b355
File Browser: changed it to react upon changed files if their contents is shown
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7635
diff
changeset
|
579 | """ |
d4d33990b355
File Browser: changed it to react upon changed files if their contents is shown
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7635
diff
changeset
|
580 | itmList = self.getSelectedItems([BrowserFileItem]) |
d4d33990b355
File Browser: changed it to react upon changed files if their contents is shown
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7635
diff
changeset
|
581 | if itmList: |
d4d33990b355
File Browser: changed it to react upon changed files if their contents is shown
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7635
diff
changeset
|
582 | self.__model.repopulateFileItem(itmList[0]) |
d4d33990b355
File Browser: changed it to react upon changed files if their contents is shown
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7635
diff
changeset
|
583 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
584 | def _editPixmap(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
585 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
586 | Protected slot to handle the open in icon editor popup menu entry. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
587 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
588 | itmList = self.getSelectedItems([BrowserFileItem]) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
589 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
590 | for itm in itmList: |
8227
349308e84eeb
Applied some more code simplifications suggested by the new Simplify checker (Y102: use single if) (batch 2).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8221
diff
changeset
|
591 | if isinstance(itm, BrowserFileItem) and itm.isPixmapFile(): |
349308e84eeb
Applied some more code simplifications suggested by the new Simplify checker (Y102: use single if) (batch 2).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8221
diff
changeset
|
592 | self.pixmapEditFile.emit(itm.fileName()) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
593 | |
4651
7f3f276d3bf3
Integrated the hex editor into the eric IDE.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
594 | def _openHexEditor(self): |
7f3f276d3bf3
Integrated the hex editor into the eric IDE.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
595 | """ |
7f3f276d3bf3
Integrated the hex editor into the eric IDE.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
596 | Protected slot to handle the open in hex editor popup menu entry. |
7f3f276d3bf3
Integrated the hex editor into the eric IDE.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
597 | """ |
7f3f276d3bf3
Integrated the hex editor into the eric IDE.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
598 | itmList = self.getSelectedItems([BrowserFileItem]) |
7f3f276d3bf3
Integrated the hex editor into the eric IDE.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
599 | |
7f3f276d3bf3
Integrated the hex editor into the eric IDE.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
600 | for itm in itmList: |
7f3f276d3bf3
Integrated the hex editor into the eric IDE.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
601 | if isinstance(itm, BrowserFileItem): |
7f3f276d3bf3
Integrated the hex editor into the eric IDE.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
602 | self.binaryFile.emit(itm.fileName()) |
8909
1fd7ed5f83a6
File Browser, Project Others Browser
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8881
diff
changeset
|
603 | |
1fd7ed5f83a6
File Browser, Project Others Browser
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8881
diff
changeset
|
604 | def _openFileInEditor(self): |
1fd7ed5f83a6
File Browser, Project Others Browser
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8881
diff
changeset
|
605 | """ |
8925
8375eb895f70
Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8909
diff
changeset
|
606 | Protected slot to handle the Open in Editor menu action. |
8909
1fd7ed5f83a6
File Browser, Project Others Browser
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8881
diff
changeset
|
607 | """ |
1fd7ed5f83a6
File Browser, Project Others Browser
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8881
diff
changeset
|
608 | itmList = self.getSelectedItems([BrowserFileItem]) |
1fd7ed5f83a6
File Browser, Project Others Browser
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8881
diff
changeset
|
609 | |
1fd7ed5f83a6
File Browser, Project Others Browser
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8881
diff
changeset
|
610 | for itm in itmList: |
1fd7ed5f83a6
File Browser, Project Others Browser
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8881
diff
changeset
|
611 | if Utilities.MimeTypes.isTextFile(itm.fileName()): |
1fd7ed5f83a6
File Browser, Project Others Browser
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8881
diff
changeset
|
612 | self.sourceFile.emit(itm.fileName()) |
4651
7f3f276d3bf3
Integrated the hex editor into the eric IDE.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
613 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
614 | def _copyToClipboard(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
615 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
616 | Protected method to copy the text shown for an entry to the clipboard. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
617 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
618 | itm = self.model().item(self.currentIndex()) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
619 | try: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
620 | fn = itm.fileName() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
621 | except AttributeError: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
622 | try: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
623 | fn = itm.dirName() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
624 | except AttributeError: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
625 | fn = "" |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
626 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
627 | if fn: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
628 | cb = QApplication.clipboard() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
629 | cb.setText(fn) |
8109 | 630 | |
631 | @pyqtSlot(bool) | |
632 | def _showHidden(self, checked): | |
633 | """ | |
634 | Protected slot to show or hide hidden files. | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
635 | |
8109 | 636 | @param checked flag indicating the state of the action |
637 | @type bool | |
638 | """ | |
639 | self.__sortModel.setShowHiddenFiles(checked) | |
640 | # remember the current state | |
641 | Preferences.setUI("BrowsersListHiddenFiles", checked) | |
642 | ||
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
643 | def handleUnittest(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
644 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
645 | Public slot to handle the unittest popup menu entry. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
646 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
647 | try: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
648 | index = self.currentIndex() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
649 | itm = self.model().item(index) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
650 | pyfn = itm.fileName() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
651 | except AttributeError: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
652 | pyfn = None |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
653 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
654 | if pyfn is not None: |
500
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
476
diff
changeset
|
655 | self.unittestOpen.emit(pyfn) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
656 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
657 | def __newToplevelDir(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
658 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
659 | Private slot to handle the New toplevel directory popup menu entry. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
660 | """ |
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:
8322
diff
changeset
|
661 | dname = EricFileDialog.getExistingDirectory( |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
662 | None, |
3656
441956d8fce5
Started porting eric5 to PyQt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3619
diff
changeset
|
663 | QCoreApplication.translate('Browser', "New toplevel directory"), |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
664 | "", |
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:
8322
diff
changeset
|
665 | EricFileDialog.ShowDirsOnly) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
666 | if dname: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
667 | dname = os.path.abspath(Utilities.toNativeSeparators(dname)) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
668 | self.__model.addTopLevelDir(dname) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
669 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
670 | def __removeToplevel(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
671 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
672 | Private slot to handle the Remove from toplevel popup menu entry. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
673 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
674 | index = self.currentIndex() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
675 | sindex = self.model().mapToSource(index) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
676 | self.__model.removeToplevelDir(sindex) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
677 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
678 | def __addAsToplevelDir(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
679 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
680 | Private slot to handle the Add as toplevel directory popup menu entry. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
681 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
682 | index = self.currentIndex() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
683 | dname = self.model().item(index).dirName() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
684 | self.__model.addTopLevelDir(dname) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
685 | |
233
9d2677615a3d
Fixed a few issues with the automatic update code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
97
diff
changeset
|
686 | def __refreshDirectory(self): |
9d2677615a3d
Fixed a few issues with the automatic update code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
97
diff
changeset
|
687 | """ |
9d2677615a3d
Fixed a few issues with the automatic update code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
97
diff
changeset
|
688 | Private slot to refresh a directory entry. |
9d2677615a3d
Fixed a few issues with the automatic update code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
97
diff
changeset
|
689 | """ |
9d2677615a3d
Fixed a few issues with the automatic update code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
97
diff
changeset
|
690 | index = self.currentIndex() |
9d2677615a3d
Fixed a few issues with the automatic update code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
97
diff
changeset
|
691 | refreshDir = self.model().item(index).dirName() |
9d2677615a3d
Fixed a few issues with the automatic update code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
97
diff
changeset
|
692 | self.__model.directoryChanged(refreshDir) |
9d2677615a3d
Fixed a few issues with the automatic update code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
97
diff
changeset
|
693 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
694 | def __findInDirectory(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
695 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
696 | Private slot to handle the Find in directory popup menu entry. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
697 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
698 | index = self.currentIndex() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
699 | searchDir = self.model().item(index).dirName() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
700 | |
8614 | 701 | ericApp().getObject("UserInterface").showFindFilesWidget( |
7264
bedbe458d792
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
702 | searchDir=searchDir) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
703 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
704 | def __replaceInDirectory(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
705 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
706 | Private slot to handle the Find&Replace in directory popup menu entry. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
707 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
708 | index = self.currentIndex() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
709 | searchDir = self.model().item(index).dirName() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
710 | |
8614 | 711 | ericApp().getObject("UserInterface").showReplaceFilesWidget( |
7264
bedbe458d792
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
712 | searchDir=searchDir) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
713 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
882
diff
changeset
|
714 | def handleProgramChange(self, fn): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
715 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
716 | Public slot to handle the programChange signal. |
2965
d133c7edd88a
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2763
diff
changeset
|
717 | |
d133c7edd88a
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2763
diff
changeset
|
718 | @param fn file name (string) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
719 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
720 | self.__model.programChange(os.path.dirname(fn)) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
721 | |
3357
2390df6f42ba
Started to change the file browser model such, that the sys.path entry is dependent on the running interpreter.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3190
diff
changeset
|
722 | def handleInterpreterChanged(self, interpreter): |
2390df6f42ba
Started to change the file browser model such, that the sys.path entry is dependent on the running interpreter.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3190
diff
changeset
|
723 | """ |
2390df6f42ba
Started to change the file browser model such, that the sys.path entry is dependent on the running interpreter.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3190
diff
changeset
|
724 | Public slot to handle a change of the debug client's interpreter. |
2390df6f42ba
Started to change the file browser model such, that the sys.path entry is dependent on the running interpreter.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3190
diff
changeset
|
725 | |
2390df6f42ba
Started to change the file browser model such, that the sys.path entry is dependent on the running interpreter.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3190
diff
changeset
|
726 | @param interpreter interpreter of the debug client (string) |
2390df6f42ba
Started to change the file browser model such, that the sys.path entry is dependent on the running interpreter.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3190
diff
changeset
|
727 | """ |
2390df6f42ba
Started to change the file browser model such, that the sys.path entry is dependent on the running interpreter.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3190
diff
changeset
|
728 | self.__model.interpreterChanged(interpreter) |
2390df6f42ba
Started to change the file browser model such, that the sys.path entry is dependent on the running interpreter.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3190
diff
changeset
|
729 | |
5599
033967644b1f
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
730 | def wantedItem(self, itm, filterList=None): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
731 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
732 | Public method to check type of an item. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
733 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
734 | @param itm the item to check (BrowserItem) |
5599
033967644b1f
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
735 | @param filterList list of classes to check against |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
736 | @return flag indicating item is a valid type (boolean) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
737 | """ |
5599
033967644b1f
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
738 | if filterList is None: |
033967644b1f
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
739 | filterList = self.selectedItemsFilter |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
740 | |
8221
0572a215bd2f
Applied some more code simplifications suggested by the new Simplify checker (Y110, Y111: use any() or all()).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8218
diff
changeset
|
741 | return any(isinstance(itm, typ) for typ in filterList) |
0572a215bd2f
Applied some more code simplifications suggested by the new Simplify checker (Y110, Y111: use any() or all()).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8218
diff
changeset
|
742 | |
5599
033967644b1f
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
743 | def getSelectedItems(self, filterList=None): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
744 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
745 | Public method to get the selected items. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
746 | |
5599
033967644b1f
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
747 | @param filterList list of classes to check against |
8114 | 748 | @return list of selected items (list of BrowserItem) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
749 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
750 | selectedItems = [] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
751 | indexes = self.selectedIndexes() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
752 | for index in indexes: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
753 | if index.column() == 0: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
754 | itm = self.model().item(index) |
5599
033967644b1f
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
755 | if self.wantedItem(itm, filterList): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
756 | selectedItems.append(itm) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
757 | return selectedItems |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
758 | |
5599
033967644b1f
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
759 | def getSelectedItemsCount(self, filterList=None): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
760 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
761 | Public method to get the count of items selected. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
762 | |
5599
033967644b1f
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
763 | @param filterList list of classes to check against |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
764 | @return count of items selected (integer) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
765 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
766 | count = 0 |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
767 | indexes = self.selectedIndexes() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
768 | for index in indexes: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
769 | if index.column() == 0: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
770 | itm = self.model().item(index) |
5599
033967644b1f
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
771 | if self.wantedItem(itm, filterList): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
772 | count += 1 |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
773 | return count |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
774 | |
5599
033967644b1f
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
775 | def getSelectedItemsCountCategorized(self, filterList=None): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
776 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
777 | Public method to get a categorized count of selected items. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
778 | |
5599
033967644b1f
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
779 | @param filterList list of classes to check against |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
780 | @return a dictionary containing the counts of items belonging |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
781 | to the individual filter classes. The keys of the dictionary |
3450
2f7c8fd8e3f5
Added capability to check multiple files from the project sources browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3357
diff
changeset
|
782 | are the string representation of the classes given in the |
2f7c8fd8e3f5
Added capability to check multiple files from the project sources browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3357
diff
changeset
|
783 | filter (i.e. str(filterClass)). The dictionary contains |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
784 | an additional entry with key "sum", that stores the sum of |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
785 | all selected entries fulfilling the filter criteria. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
786 | """ |
5599
033967644b1f
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
787 | if filterList is None: |
033967644b1f
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
788 | filterList = self.selectedItemsFilter |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
789 | categories = {} |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
790 | categories["sum"] = 0 |
5599
033967644b1f
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
791 | for typ in filterList: |
12
1d8dd9706f46
First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
792 | categories[str(typ)] = 0 |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
793 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
794 | indexes = self.selectedIndexes() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
795 | for index in indexes: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
796 | if index.column() == 0: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
797 | itm = self.model().item(index) |
5599
033967644b1f
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
798 | for typ in filterList: |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
799 | if isinstance(itm, typ): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
800 | categories["sum"] += 1 |
12
1d8dd9706f46
First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
801 | categories[str(typ)] += 1 |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
802 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
803 | return categories |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
804 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
805 | def saveToplevelDirs(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
806 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
807 | Public slot to save the toplevel directories. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
808 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
809 | self.__model.saveToplevelDirs() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
810 | |
5011
4085e2348621
Added capability to search the file tree via the keyboard (directories and files only) to the file browser and the project browsers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4651
diff
changeset
|
811 | def keyboardSearch(self, search): |
4085e2348621
Added capability to search the file tree via the keyboard (directories and files only) to the file browser and the project browsers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4651
diff
changeset
|
812 | """ |
4085e2348621
Added capability to search the file tree via the keyboard (directories and files only) to the file browser and the project browsers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4651
diff
changeset
|
813 | Public function to search the tree via the keyboard. |
4085e2348621
Added capability to search the file tree via the keyboard (directories and files only) to the file browser and the project browsers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4651
diff
changeset
|
814 | |
4085e2348621
Added capability to search the file tree via the keyboard (directories and files only) to the file browser and the project browsers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4651
diff
changeset
|
815 | @param search the character entered via the keyboard |
4085e2348621
Added capability to search the file tree via the keyboard (directories and files only) to the file browser and the project browsers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4651
diff
changeset
|
816 | @type str |
4085e2348621
Added capability to search the file tree via the keyboard (directories and files only) to the file browser and the project browsers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4651
diff
changeset
|
817 | """ |
4085e2348621
Added capability to search the file tree via the keyboard (directories and files only) to the file browser and the project browsers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4651
diff
changeset
|
818 | if self.model().rowCount() == 0: |
4085e2348621
Added capability to search the file tree via the keyboard (directories and files only) to the file browser and the project browsers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4651
diff
changeset
|
819 | return |
4085e2348621
Added capability to search the file tree via the keyboard (directories and files only) to the file browser and the project browsers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4651
diff
changeset
|
820 | |
8260
2161475d9639
Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8258
diff
changeset
|
821 | startIndex = ( |
2161475d9639
Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8258
diff
changeset
|
822 | self.currentIndex() |
2161475d9639
Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8258
diff
changeset
|
823 | if self.currentIndex().isValid() else |
2161475d9639
Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8258
diff
changeset
|
824 | self.model().index(0, 0) |
2161475d9639
Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8258
diff
changeset
|
825 | ) |
5011
4085e2348621
Added capability to search the file tree via the keyboard (directories and files only) to the file browser and the project browsers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4651
diff
changeset
|
826 | |
4085e2348621
Added capability to search the file tree via the keyboard (directories and files only) to the file browser and the project browsers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4651
diff
changeset
|
827 | keyboardSearchTimeWasValid = self._keyboardSearchTimer.isValid() |
4085e2348621
Added capability to search the file tree via the keyboard (directories and files only) to the file browser and the project browsers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4651
diff
changeset
|
828 | keyboardSearchTimeElapsed = self._keyboardSearchTimer.restart() |
7264
bedbe458d792
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
829 | if ( |
bedbe458d792
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
830 | not search or |
bedbe458d792
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
831 | not keyboardSearchTimeWasValid or |
bedbe458d792
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
832 | keyboardSearchTimeElapsed > |
bedbe458d792
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
833 | QApplication.keyboardInputInterval() |
bedbe458d792
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
834 | ): |
5011
4085e2348621
Added capability to search the file tree via the keyboard (directories and files only) to the file browser and the project browsers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4651
diff
changeset
|
835 | self._keyboardSearchString = search.lower() |
4085e2348621
Added capability to search the file tree via the keyboard (directories and files only) to the file browser and the project browsers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4651
diff
changeset
|
836 | else: |
4085e2348621
Added capability to search the file tree via the keyboard (directories and files only) to the file browser and the project browsers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4651
diff
changeset
|
837 | self._keyboardSearchString += search.lower() |
4085e2348621
Added capability to search the file tree via the keyboard (directories and files only) to the file browser and the project browsers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4651
diff
changeset
|
838 | |
4085e2348621
Added capability to search the file tree via the keyboard (directories and files only) to the file browser and the project browsers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4651
diff
changeset
|
839 | index = startIndex |
4085e2348621
Added capability to search the file tree via the keyboard (directories and files only) to the file browser and the project browsers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4651
diff
changeset
|
840 | found = False |
4085e2348621
Added capability to search the file tree via the keyboard (directories and files only) to the file browser and the project browsers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4651
diff
changeset
|
841 | while True: |
4085e2348621
Added capability to search the file tree via the keyboard (directories and files only) to the file browser and the project browsers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4651
diff
changeset
|
842 | name = self.model().data(index) |
7264
bedbe458d792
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
843 | if ( |
bedbe458d792
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
844 | name.lower().startswith(self._keyboardSearchString) and |
bedbe458d792
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
845 | self._keyboardSearchType(self.model().item(index)) |
bedbe458d792
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
846 | ): |
5011
4085e2348621
Added capability to search the file tree via the keyboard (directories and files only) to the file browser and the project browsers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4651
diff
changeset
|
847 | found = True |
4085e2348621
Added capability to search the file tree via the keyboard (directories and files only) to the file browser and the project browsers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4651
diff
changeset
|
848 | break |
4085e2348621
Added capability to search the file tree via the keyboard (directories and files only) to the file browser and the project browsers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4651
diff
changeset
|
849 | |
4085e2348621
Added capability to search the file tree via the keyboard (directories and files only) to the file browser and the project browsers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4651
diff
changeset
|
850 | index = self.indexBelow(index) |
4085e2348621
Added capability to search the file tree via the keyboard (directories and files only) to the file browser and the project browsers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4651
diff
changeset
|
851 | if not index.isValid(): |
4085e2348621
Added capability to search the file tree via the keyboard (directories and files only) to the file browser and the project browsers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4651
diff
changeset
|
852 | index = self.model().index(0, 0) |
4085e2348621
Added capability to search the file tree via the keyboard (directories and files only) to the file browser and the project browsers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4651
diff
changeset
|
853 | if index == startIndex: |
4085e2348621
Added capability to search the file tree via the keyboard (directories and files only) to the file browser and the project browsers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4651
diff
changeset
|
854 | break |
4085e2348621
Added capability to search the file tree via the keyboard (directories and files only) to the file browser and the project browsers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4651
diff
changeset
|
855 | |
4085e2348621
Added capability to search the file tree via the keyboard (directories and files only) to the file browser and the project browsers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4651
diff
changeset
|
856 | if found: |
4085e2348621
Added capability to search the file tree via the keyboard (directories and files only) to the file browser and the project browsers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4651
diff
changeset
|
857 | self.setCurrentIndex(index) |
4085e2348621
Added capability to search the file tree via the keyboard (directories and files only) to the file browser and the project browsers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4651
diff
changeset
|
858 | |
4085e2348621
Added capability to search the file tree via the keyboard (directories and files only) to the file browser and the project browsers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4651
diff
changeset
|
859 | def _keyboardSearchType(self, item): |
4085e2348621
Added capability to search the file tree via the keyboard (directories and files only) to the file browser and the project browsers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4651
diff
changeset
|
860 | """ |
4085e2348621
Added capability to search the file tree via the keyboard (directories and files only) to the file browser and the project browsers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4651
diff
changeset
|
861 | Protected method to check, if the item is of the correct type. |
4085e2348621
Added capability to search the file tree via the keyboard (directories and files only) to the file browser and the project browsers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4651
diff
changeset
|
862 | |
4085e2348621
Added capability to search the file tree via the keyboard (directories and files only) to the file browser and the project browsers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4651
diff
changeset
|
863 | @param item reference to the item |
4085e2348621
Added capability to search the file tree via the keyboard (directories and files only) to the file browser and the project browsers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4651
diff
changeset
|
864 | @type BrowserItem |
4085e2348621
Added capability to search the file tree via the keyboard (directories and files only) to the file browser and the project browsers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4651
diff
changeset
|
865 | @return flag indicating a correct type |
4085e2348621
Added capability to search the file tree via the keyboard (directories and files only) to the file browser and the project browsers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4651
diff
changeset
|
866 | @rtype bool |
4085e2348621
Added capability to search the file tree via the keyboard (directories and files only) to the file browser and the project browsers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4651
diff
changeset
|
867 | """ |
4085e2348621
Added capability to search the file tree via the keyboard (directories and files only) to the file browser and the project browsers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4651
diff
changeset
|
868 | return isinstance( |
4085e2348621
Added capability to search the file tree via the keyboard (directories and files only) to the file browser and the project browsers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4651
diff
changeset
|
869 | item, (BrowserDirectoryItem, BrowserFileItem, BrowserSysPathItem)) |
8114 | 870 | |
871 | @pyqtSlot() | |
872 | def _newDirectory(self): | |
873 | """ | |
874 | Protected slot to create a new directory. | |
875 | """ | |
876 | index = self.currentIndex() | |
877 | if index.isValid(): | |
878 | dname = self.model().item(index).dirName() | |
879 | newName, ok = QInputDialog.getText( | |
880 | self, | |
881 | self.tr("New Directory"), | |
882 | self.tr("Name for new directory:"), | |
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:
8114
diff
changeset
|
883 | QLineEdit.EchoMode.Normal) |
8114 | 884 | if ok and bool(newName): |
885 | dirpath = os.path.join(dname, newName) | |
886 | if os.path.exists(dirpath): | |
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:
8322
diff
changeset
|
887 | EricMessageBox.warning( |
8114 | 888 | self, |
889 | self.tr("New Directory"), | |
890 | self.tr("A file or directory named <b>{0}</b> exists" | |
891 | " already. Aborting...") | |
892 | .format(newName)) | |
893 | else: | |
894 | try: | |
895 | os.mkdir(dirpath, mode=0o751) | |
896 | except OSError as err: | |
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:
8322
diff
changeset
|
897 | EricMessageBox.critical( |
8114 | 898 | self, |
899 | self.tr("New Directory"), | |
900 | self.tr("<p>The directory <b>{0}</b> could not be" | |
901 | " created.</p><p>Reason: {1}</p>") | |
902 | .format(newName, str(err))) | |
903 | ||
904 | @pyqtSlot() | |
905 | def _newFile(self): | |
906 | """ | |
907 | Protected slot to create a new file. | |
908 | """ | |
909 | index = self.currentIndex() | |
910 | if index.isValid(): | |
911 | dname = self.model().item(index).dirName() | |
912 | fname, ok = QInputDialog.getText( | |
913 | self, | |
914 | self.tr("New File"), | |
915 | self.tr("Name for new file:"), | |
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:
8114
diff
changeset
|
916 | QLineEdit.EchoMode.Normal) |
8114 | 917 | if ok and bool(fname): |
918 | filepath = os.path.join(dname, fname) | |
919 | if os.path.exists(filepath): | |
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:
8322
diff
changeset
|
920 | EricMessageBox.warning( |
8114 | 921 | self, |
922 | self.tr("New File"), | |
923 | self.tr("A file or directory named <b>{0}</b> exists" | |
924 | " already. Aborting...") | |
925 | .format(fname)) | |
926 | else: | |
927 | try: | |
8205
4a0f1f896341
Applied some code simplifications suggested by the new Simplify checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8143
diff
changeset
|
928 | with open(filepath, "w"): |
4a0f1f896341
Applied some code simplifications suggested by the new Simplify checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8143
diff
changeset
|
929 | pass |
8114 | 930 | except OSError as err: |
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:
8322
diff
changeset
|
931 | EricMessageBox.critical( |
8114 | 932 | self, |
933 | self.tr("New File"), | |
934 | self.tr("<p>The file <b>{0}</b> could not be" | |
935 | " created.</p><p>Reason: {1}</p>") | |
936 | .format(fname, str(err))) | |
937 | ||
938 | @pyqtSlot() | |
939 | def _deleteFileOrDirectory(self): | |
940 | """ | |
941 | Protected slot to delete a directory or file. | |
942 | """ | |
943 | index = self.currentIndex() | |
944 | if index.isValid(): | |
945 | itm = self.model().item(index) | |
946 | if itm.type() == BrowserItemDirectory: | |
947 | self.__deleteDirectory(itm.dirName()) | |
948 | else: | |
949 | self.__deleteFile(itm.fileName()) | |
950 | ||
951 | def __deleteFile(self, fn): | |
952 | """ | |
953 | Private method to delete a file. | |
954 | ||
955 | @param fn filename to be deleted | |
956 | @type str | |
957 | """ | |
958 | try: | |
8258
82b608e352ec
Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8228
diff
changeset
|
959 | from send2trash import send2trash as s2t |
8114 | 960 | trashMsg = self.tr("Do you really want to move this file to the" |
961 | " trash?") | |
962 | except ImportError: | |
963 | s2t = os.remove | |
964 | trashMsg = self.tr("Do you really want to delete this file?") | |
965 | ||
966 | from UI.DeleteFilesConfirmationDialog import ( | |
967 | DeleteFilesConfirmationDialog | |
968 | ) | |
969 | dlg = DeleteFilesConfirmationDialog( | |
970 | self.parent(), | |
971 | self.tr("Delete File"), | |
972 | trashMsg, | |
973 | [fn]) | |
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:
8114
diff
changeset
|
974 | if dlg.exec() == QDialog.DialogCode.Accepted: |
8114 | 975 | try: |
976 | s2t(fn) | |
977 | except OSError as err: | |
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:
8322
diff
changeset
|
978 | EricMessageBox.critical( |
8114 | 979 | self.ui, |
980 | self.tr("Delete File"), | |
981 | self.tr( | |
982 | "<p>The selected file <b>{0}</b> could not be" | |
983 | " deleted.</p><p>Reason: {1}</p>") | |
984 | .format(fn, str(err)) | |
985 | ) | |
986 | ||
987 | def __deleteDirectory(self, dn): | |
988 | """ | |
989 | Private method to delete a directory. | |
990 | ||
991 | @param dn directory name to be removed from the project | |
992 | @type str | |
993 | """ | |
994 | try: | |
8258
82b608e352ec
Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8228
diff
changeset
|
995 | from send2trash import send2trash |
8114 | 996 | s2tAvailable = True |
997 | trashMsg = self.tr("Do you really want to move this directory to" | |
998 | " the trash?") | |
999 | except ImportError: | |
1000 | s2tAvailable = False | |
1001 | trashMsg = self.tr("Do you really want to delete this directory?") | |
1002 | ||
1003 | from UI.DeleteFilesConfirmationDialog import ( | |
1004 | DeleteFilesConfirmationDialog | |
1005 | ) | |
1006 | dlg = DeleteFilesConfirmationDialog( | |
1007 | self.parent(), | |
1008 | self.tr("Delete Directory"), | |
1009 | trashMsg, | |
1010 | [dn]) | |
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:
8114
diff
changeset
|
1011 | if dlg.exec() == QDialog.DialogCode.Accepted: |
8114 | 1012 | try: |
1013 | if s2tAvailable: | |
1014 | send2trash(dn) | |
1015 | else: | |
1016 | shutil.rmtree(dn, True) | |
1017 | except OSError as err: | |
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:
8322
diff
changeset
|
1018 | EricMessageBox.critical( |
8114 | 1019 | self.ui, |
1020 | self.tr("Delete Directory"), | |
1021 | self.tr( | |
1022 | "<p>The selected directory <b>{0}</b> could not be" | |
1023 | " deleted.</p><p>Reason: {1}</p>") | |
1024 | .format(dn, str(err)) | |
1025 | ) | |
1026 | ||
1027 | @pyqtSlot() | |
1028 | def __deleteMultiple(self): | |
1029 | """ | |
1030 | Private slot to delete multiple directories and files. | |
1031 | ||
1032 | Note: The context menu for multi selection is only shown for file | |
1033 | items. | |
1034 | """ | |
1035 | fileNames = [] | |
1036 | for itm in self.getSelectedItems(): | |
1037 | fileNames.append(itm.fileName()) | |
1038 | ||
1039 | try: | |
8258
82b608e352ec
Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8228
diff
changeset
|
1040 | from send2trash import send2trash as s2t |
8114 | 1041 | trashMsg = self.tr("Do you really want to move these files to the" |
1042 | " trash?") | |
1043 | except ImportError: | |
1044 | s2t = os.remove | |
1045 | trashMsg = self.tr("Do you really want to delete these files?") | |
1046 | ||
1047 | from UI.DeleteFilesConfirmationDialog import ( | |
1048 | DeleteFilesConfirmationDialog | |
1049 | ) | |
1050 | dlg = DeleteFilesConfirmationDialog( | |
1051 | self.parent(), | |
1052 | self.tr("Delete Files"), | |
1053 | trashMsg, | |
1054 | sorted(fileNames) | |
1055 | ) | |
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:
8114
diff
changeset
|
1056 | if dlg.exec() == QDialog.DialogCode.Accepted: |
8114 | 1057 | for fn in fileNames: |
1058 | try: | |
1059 | s2t(fn) | |
1060 | except OSError as err: | |
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:
8322
diff
changeset
|
1061 | EricMessageBox.critical( |
8114 | 1062 | self.ui, |
1063 | self.tr("Delete File"), | |
1064 | self.tr( | |
1065 | "<p>The selected file <b>{0}</b> could not be" | |
1066 | " deleted.</p><p>Reason: {1}</p>") | |
1067 | .format(fn, str(err)) | |
1068 | ) |