eric6/Preferences/ProgramsDialog.py

Tue, 24 Sep 2019 18:46:24 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Tue, 24 Sep 2019 18:46:24 +0200
changeset 7263
c1af2e327675
parent 7229
53054eb5b15a
child 7326
eab46b63ed91
permissions
-rw-r--r--

Continued to resolve code style issue M841.

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
6645
ad476851d7e0 Updated copyright for 2019.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6527
diff changeset
3 # Copyright (c) 2006 - 2019 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 the Programs page.
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
2525
8b507a9a2d40 Script changes: Future import added, super calls modified and unicode behavior for str.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 2302
diff changeset
10
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
11 import os
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
12 import re
5970
411f7ba577d5 Continued to add support for Google protobuf protocol files. Added support for gRPC.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5968
diff changeset
13 import sys
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
14
3656
441956d8fce5 Started porting eric5 to PyQt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3484
diff changeset
15 from PyQt5.QtCore import pyqtSlot, Qt, QProcess
441956d8fce5 Started porting eric5 to PyQt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3484
diff changeset
16 from PyQt5.QtGui import QCursor
7263
c1af2e327675 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
17 from PyQt5.QtWidgets import (
c1af2e327675 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
18 QApplication, QTreeWidgetItem, QHeaderView, QDialog, QDialogButtonBox
c1af2e327675 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
19 )
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
20
55
b5c84934de9c Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 53
diff changeset
21 from E5Gui.E5Application import e5App
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
22
12
1d8dd9706f46 First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
23 from .Ui_ProgramsDialog import Ui_ProgramsDialog
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
24
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
25 import Preferences
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
26 import Utilities
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
27
394
da5696492639 Changed algorithm to detect eric tools.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 308
diff changeset
28
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
29 class ProgramsDialog(QDialog, Ui_ProgramsDialog):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
30 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
31 Class implementing the Programs page.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
32 """
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 901
diff changeset
33 def __init__(self, parent=None):
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 Constructor
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
36
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
37 @param parent The parent widget of this dialog. (QWidget)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
38 """
2525
8b507a9a2d40 Script changes: Future import added, super calls modified and unicode behavior for str.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 2302
diff changeset
39 super(ProgramsDialog, self).__init__(parent)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
40 self.setupUi(self)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
41 self.setObjectName("ProgramsDialog")
4278
ccd1e13cb9bd Fixed issues where dialogs could not be minimized on some desktop environments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
42 self.setWindowFlags(Qt.Window)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
43
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
44 self.__hasSearched = False
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
45
3010
befeff46ec0f Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2737
diff changeset
46 self.programsList.headerItem().setText(
3038
7fe9a53280bd Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3034
diff changeset
47 self.programsList.columnCount(), "")
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
48
3010
befeff46ec0f Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2737
diff changeset
49 self.searchButton = self.buttonBox.addButton(
3190
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
50 self.tr("Search"), QDialogButtonBox.ActionRole)
3010
befeff46ec0f Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2737
diff changeset
51 self.searchButton.setToolTip(
3190
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
52 self.tr("Press to search for programs"))
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
53
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
54 def show(self):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
55 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
56 Public slot to show the dialog.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
57 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
58 QDialog.show(self)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
59 if not self.__hasSearched:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
60 self.on_programsSearchButton_clicked()
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
61
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
62 def on_buttonBox_clicked(self, button):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
63 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
64 Private slot called by a button of the button box clicked.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
65
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
66 @param button button that was clicked (QAbstractButton)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
67 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
68 if button == self.searchButton:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
69 self.on_programsSearchButton_clicked()
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
70
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
71 @pyqtSlot()
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
72 def on_programsSearchButton_clicked(self):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
73 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
74 Private slot to search for all supported/required programs.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
75 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
76 QApplication.setOverrideCursor(QCursor(Qt.WaitCursor))
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
77 QApplication.processEvents()
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
78
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
79 self.programsList.clear()
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
80 header = self.programsList.header()
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
81 header.setSortIndicator(0, Qt.AscendingOrder)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
82 header.setSortIndicatorShown(False)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
83
7198
684261ef2165 Removed the Qt4 runtime stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7192
diff changeset
84 # 1. do the Qt5 programs
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
85 # 1a. Translation Converter
7263
c1af2e327675 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
86 exe = (
c1af2e327675 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
87 Utilities.isWindowsPlatform() and
c1af2e327675 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
88 "{0}.exe".format(Utilities.generateQtToolName("lrelease")) or
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
89 Utilities.generateQtToolName("lrelease")
7263
c1af2e327675 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
90 )
2615
bdc9b4659826 Added a method to determine the Qt binaries path to the Globals package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2596
diff changeset
91 exe = os.path.join(Utilities.getQtBinariesPath(), exe)
3010
befeff46ec0f Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2737
diff changeset
92 version = self.__createProgramEntry(
3190
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
93 self.tr("Translation Converter (Qt)"), exe, '-version',
3010
befeff46ec0f Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2737
diff changeset
94 'lrelease', -1)
2297
e8a46f81517c Adjusted some display strings to be independant of the Qt version (Qt4/Qt5).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1509
diff changeset
95 # 1b. Qt Designer
1368
4489ee4feb59 Fixed a few Mac OS X related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1173
diff changeset
96 if Utilities.isWindowsPlatform():
3025
67064c71df21 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3010
diff changeset
97 exe = os.path.join(
67064c71df21 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3010
diff changeset
98 Utilities.getQtBinariesPath(),
2596
32c4afbe0801 Changed the logic to access the Qt tools (executables) to use the information compiled into Qt (QLibraryInfo.location(...)).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2302
diff changeset
99 "{0}.exe".format(Utilities.generateQtToolName("designer")))
1368
4489ee4feb59 Fixed a few Mac OS X related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1173
diff changeset
100 elif Utilities.isMacPlatform():
4489ee4feb59 Fixed a few Mac OS X related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1173
diff changeset
101 exe = Utilities.getQtMacBundle("designer")
4489ee4feb59 Fixed a few Mac OS X related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1173
diff changeset
102 else:
3025
67064c71df21 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3010
diff changeset
103 exe = os.path.join(
67064c71df21 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3010
diff changeset
104 Utilities.getQtBinariesPath(),
2596
32c4afbe0801 Changed the logic to access the Qt tools (executables) to use the information compiled into Qt (QLibraryInfo.location(...)).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2302
diff changeset
105 Utilities.generateQtToolName("designer"))
3010
befeff46ec0f Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2737
diff changeset
106 self.__createProgramEntry(
3190
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
107 self.tr("Qt Designer"), exe, version=version)
2297
e8a46f81517c Adjusted some display strings to be independant of the Qt version (Qt4/Qt5).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1509
diff changeset
108 # 1c. Qt Linguist
1368
4489ee4feb59 Fixed a few Mac OS X related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1173
diff changeset
109 if Utilities.isWindowsPlatform():
3025
67064c71df21 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3010
diff changeset
110 exe = os.path.join(
67064c71df21 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3010
diff changeset
111 Utilities.getQtBinariesPath(),
2596
32c4afbe0801 Changed the logic to access the Qt tools (executables) to use the information compiled into Qt (QLibraryInfo.location(...)).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2302
diff changeset
112 "{0}.exe".format(Utilities.generateQtToolName("linguist")))
1368
4489ee4feb59 Fixed a few Mac OS X related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1173
diff changeset
113 elif Utilities.isMacPlatform():
4489ee4feb59 Fixed a few Mac OS X related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1173
diff changeset
114 exe = Utilities.getQtMacBundle("linguist")
4489ee4feb59 Fixed a few Mac OS X related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1173
diff changeset
115 else:
3025
67064c71df21 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3010
diff changeset
116 exe = os.path.join(
67064c71df21 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3010
diff changeset
117 Utilities.getQtBinariesPath(),
2596
32c4afbe0801 Changed the logic to access the Qt tools (executables) to use the information compiled into Qt (QLibraryInfo.location(...)).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2302
diff changeset
118 Utilities.generateQtToolName("linguist"))
3010
befeff46ec0f Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2737
diff changeset
119 self.__createProgramEntry(
3190
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
120 self.tr("Qt Linguist"), exe, version=version)
2297
e8a46f81517c Adjusted some display strings to be independant of the Qt version (Qt4/Qt5).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1509
diff changeset
121 # 1d. Qt Assistant
1368
4489ee4feb59 Fixed a few Mac OS X related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1173
diff changeset
122 if Utilities.isWindowsPlatform():
3025
67064c71df21 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3010
diff changeset
123 exe = os.path.join(
67064c71df21 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3010
diff changeset
124 Utilities.getQtBinariesPath(),
2596
32c4afbe0801 Changed the logic to access the Qt tools (executables) to use the information compiled into Qt (QLibraryInfo.location(...)).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2302
diff changeset
125 "{0}.exe".format(Utilities.generateQtToolName("assistant")))
1368
4489ee4feb59 Fixed a few Mac OS X related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1173
diff changeset
126 elif Utilities.isMacPlatform():
4489ee4feb59 Fixed a few Mac OS X related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1173
diff changeset
127 exe = Utilities.getQtMacBundle("assistant")
4489ee4feb59 Fixed a few Mac OS X related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1173
diff changeset
128 else:
3025
67064c71df21 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3010
diff changeset
129 exe = os.path.join(
67064c71df21 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3010
diff changeset
130 Utilities.getQtBinariesPath(),
2596
32c4afbe0801 Changed the logic to access the Qt tools (executables) to use the information compiled into Qt (QLibraryInfo.location(...)).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2302
diff changeset
131 Utilities.generateQtToolName("assistant"))
3010
befeff46ec0f Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2737
diff changeset
132 self.__createProgramEntry(
3190
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
133 self.tr("Qt Assistant"), exe, version=version)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
134
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
135 # 2. do the PyQt programs
5696
68af0e9c57ad Started implementing the capability to configure the path to the PyQt tools or determine it based on the current Python interpreter.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5624
diff changeset
136 # 2.1 do the PyQt4 programs
7198
684261ef2165 Removed the Qt4 runtime stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7192
diff changeset
137 # deprecated
5696
68af0e9c57ad Started implementing the capability to configure the path to the PyQt tools or determine it based on the current Python interpreter.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5624
diff changeset
138 # 2.1a. Translation Extractor PyQt4
3010
befeff46ec0f Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2737
diff changeset
139 self.__createProgramEntry(
3664
78e522719af3 Continued porting eric5 to PyQt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3656
diff changeset
140 self.tr("Translation Extractor (Python, PyQt4)"),
5696
68af0e9c57ad Started implementing the capability to configure the path to the PyQt tools or determine it based on the current Python interpreter.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5624
diff changeset
141 Utilities.generatePyQtToolPath("pylupdate4"),
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
142 '-version', 'pylupdate', -1)
5696
68af0e9c57ad Started implementing the capability to configure the path to the PyQt tools or determine it based on the current Python interpreter.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5624
diff changeset
143 # 2.1b. Forms Compiler PyQt4
3010
befeff46ec0f Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2737
diff changeset
144 self.__createProgramEntry(
3664
78e522719af3 Continued porting eric5 to PyQt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3656
diff changeset
145 self.tr("Forms Compiler (Python, PyQt4)"),
7192
a22eee00b052 Started removing runtime support for Python2 and PyQt4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6942
diff changeset
146 Utilities.generatePyQtToolPath("pyuic4", ["py3uic4"]),
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
147 '--version', 'Python User', 4)
5696
68af0e9c57ad Started implementing the capability to configure the path to the PyQt tools or determine it based on the current Python interpreter.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5624
diff changeset
148 # 2.1c. Resource Compiler PyQt4
3010
befeff46ec0f Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2737
diff changeset
149 self.__createProgramEntry(
3664
78e522719af3 Continued porting eric5 to PyQt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3656
diff changeset
150 self.tr("Resource Compiler (Python, PyQt4)"),
5696
68af0e9c57ad Started implementing the capability to configure the path to the PyQt tools or determine it based on the current Python interpreter.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5624
diff changeset
151 Utilities.generatePyQtToolPath("pyrcc4"),
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
152 '-version', 'Resource Compiler', -1)
5696
68af0e9c57ad Started implementing the capability to configure the path to the PyQt tools or determine it based on the current Python interpreter.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5624
diff changeset
153
68af0e9c57ad Started implementing the capability to configure the path to the PyQt tools or determine it based on the current Python interpreter.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5624
diff changeset
154 # 2.2 do the PyQt5 programs
68af0e9c57ad Started implementing the capability to configure the path to the PyQt tools or determine it based on the current Python interpreter.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5624
diff changeset
155 # 2.2a. Translation Extractor PyQt5
3010
befeff46ec0f Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2737
diff changeset
156 self.__createProgramEntry(
3190
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
157 self.tr("Translation Extractor (Python, PyQt5)"),
5696
68af0e9c57ad Started implementing the capability to configure the path to the PyQt tools or determine it based on the current Python interpreter.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5624
diff changeset
158 Utilities.generatePyQtToolPath("pylupdate5"),
2737
dbe5497851fa Started implementation of support for PyQt5 projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2615
diff changeset
159 '-version', 'pylupdate', -1)
5696
68af0e9c57ad Started implementing the capability to configure the path to the PyQt tools or determine it based on the current Python interpreter.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5624
diff changeset
160 # 2.2b. Forms Compiler PyQt5
3010
befeff46ec0f Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2737
diff changeset
161 self.__createProgramEntry(
3190
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
162 self.tr("Forms Compiler (Python, PyQt5)"),
7192
a22eee00b052 Started removing runtime support for Python2 and PyQt4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6942
diff changeset
163 Utilities.generatePyQtToolPath("pyuic5", ["py3uic5"]),
2737
dbe5497851fa Started implementation of support for PyQt5 projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2615
diff changeset
164 '--version', 'Python User', 4)
5696
68af0e9c57ad Started implementing the capability to configure the path to the PyQt tools or determine it based on the current Python interpreter.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5624
diff changeset
165 # 2.2c. Resource Compiler PyQt5
3010
befeff46ec0f Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2737
diff changeset
166 self.__createProgramEntry(
3190
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
167 self.tr("Resource Compiler (Python, PyQt5)"),
5696
68af0e9c57ad Started implementing the capability to configure the path to the PyQt tools or determine it based on the current Python interpreter.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5624
diff changeset
168 Utilities.generatePyQtToolPath("pyrcc5"),
5110
6520a41afb84 Added a fix for latest PyQt 5.7 and later.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
169 '-version', '', -1, versionRe='Resource Compiler|pyrcc5')
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
170
6291
94e0e688dcad PySide2 support: started to implement support for PySide2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6288
diff changeset
171 # 3.1 do the PySide programs
94e0e688dcad PySide2 support: started to implement support for PySide2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6288
diff changeset
172 # 3.1a. Translation Extractor PySide
3010
befeff46ec0f Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2737
diff changeset
173 self.__createProgramEntry(
3190
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
174 self.tr("Translation Extractor (Python, PySide)"),
6291
94e0e688dcad PySide2 support: started to implement support for PySide2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6288
diff changeset
175 Utilities.generatePySideToolPath("pyside-lupdate", "1"),
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 901
diff changeset
176 '-version', '', -1, versionRe='lupdate')
6291
94e0e688dcad PySide2 support: started to implement support for PySide2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6288
diff changeset
177 # 3.1b. Forms Compiler PySide
3010
befeff46ec0f Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2737
diff changeset
178 self.__createProgramEntry(
3190
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
179 self.tr("Forms Compiler (Python, PySide)"),
6291
94e0e688dcad PySide2 support: started to implement support for PySide2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6288
diff changeset
180 Utilities.generatePySideToolPath("pyside-uic", "1"),
1173
c826cd21e273 Adjustments for PySide on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1140
diff changeset
181 '--version', 'PySide User', 5, versionCleanup=(0, -1))
6291
94e0e688dcad PySide2 support: started to implement support for PySide2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6288
diff changeset
182 # 3.1c Resource Compiler PySide
3010
befeff46ec0f Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2737
diff changeset
183 self.__createProgramEntry(
3190
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
184 self.tr("Resource Compiler (Python, PySide)"),
6291
94e0e688dcad PySide2 support: started to implement support for PySide2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6288
diff changeset
185 Utilities.generatePySideToolPath("pyside-rcc", "1"),
94e0e688dcad PySide2 support: started to implement support for PySide2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6288
diff changeset
186 '-version', 'Resource Compiler', -1)
94e0e688dcad PySide2 support: started to implement support for PySide2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6288
diff changeset
187
94e0e688dcad PySide2 support: started to implement support for PySide2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6288
diff changeset
188 # 3.2 do the PySide2 programs
94e0e688dcad PySide2 support: started to implement support for PySide2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6288
diff changeset
189 # 3.2a. Translation Extractor PySide2
94e0e688dcad PySide2 support: started to implement support for PySide2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6288
diff changeset
190 self.__createProgramEntry(
94e0e688dcad PySide2 support: started to implement support for PySide2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6288
diff changeset
191 self.tr("Translation Extractor (Python, PySide2)"),
94e0e688dcad PySide2 support: started to implement support for PySide2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6288
diff changeset
192 Utilities.generatePySideToolPath("pyside2-lupdate", "2"),
94e0e688dcad PySide2 support: started to implement support for PySide2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6288
diff changeset
193 '-version', '', -1, versionRe='lupdate')
94e0e688dcad PySide2 support: started to implement support for PySide2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6288
diff changeset
194 # 3.2b. Forms Compiler PySide2
94e0e688dcad PySide2 support: started to implement support for PySide2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6288
diff changeset
195 self.__createProgramEntry(
94e0e688dcad PySide2 support: started to implement support for PySide2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6288
diff changeset
196 self.tr("Forms Compiler (Python, PySide2)"),
94e0e688dcad PySide2 support: started to implement support for PySide2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6288
diff changeset
197 Utilities.generatePySideToolPath("pyside2-uic", "2"),
94e0e688dcad PySide2 support: started to implement support for PySide2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6288
diff changeset
198 '--version', 'PySide2 User', -1, versionCleanup=(0, -1))
94e0e688dcad PySide2 support: started to implement support for PySide2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6288
diff changeset
199 # 3.2c Resource Compiler PySide2
94e0e688dcad PySide2 support: started to implement support for PySide2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6288
diff changeset
200 self.__createProgramEntry(
94e0e688dcad PySide2 support: started to implement support for PySide2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6288
diff changeset
201 self.tr("Resource Compiler (Python, PySide2)"),
94e0e688dcad PySide2 support: started to implement support for PySide2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6288
diff changeset
202 Utilities.generatePySideToolPath("pyside2-rcc", "2"),
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
203 '-version', 'Resource Compiler', -1)
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 # 4. do the Ruby programs
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
206 # 4a. Forms Compiler for Qt4
3025
67064c71df21 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3010
diff changeset
207 self.__createProgramEntry(
3190
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
208 self.tr("Forms Compiler (Ruby, Qt4)"),
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 901
diff changeset
209 Utilities.isWindowsPlatform() and "rbuic4.exe" or "rbuic4",
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
210 '-version', 'Qt', -1)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
211 # 4b. Resource Compiler for Qt4
3025
67064c71df21 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3010
diff changeset
212 self.__createProgramEntry(
3190
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
213 self.tr("Resource Compiler (Ruby, Qt4)"),
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 901
diff changeset
214 Utilities.isWindowsPlatform() and "rbrcc.exe" or "rbrcc",
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
215 '-version', 'Ruby Resource Compiler', -1)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
216
6672
2af01e538c57 Started implementing support conda virtual environments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6667
diff changeset
217 # 5. do the Conda program(s)
2af01e538c57 Started implementing support conda virtual environments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6667
diff changeset
218 exe = Preferences.getConda("CondaExecutable")
2af01e538c57 Started implementing support conda virtual environments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6667
diff changeset
219 if not exe:
2af01e538c57 Started implementing support conda virtual environments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6667
diff changeset
220 exe = "conda"
2af01e538c57 Started implementing support conda virtual environments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6667
diff changeset
221 if Utilities.isWindowsPlatform():
2af01e538c57 Started implementing support conda virtual environments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6667
diff changeset
222 exe += ".exe"
2af01e538c57 Started implementing support conda virtual environments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6667
diff changeset
223 self.__createProgramEntry(
2af01e538c57 Started implementing support conda virtual environments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6667
diff changeset
224 self.tr("conda Manager"), exe, '--version', 'conda', -1)
2af01e538c57 Started implementing support conda virtual environments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6667
diff changeset
225
6782
390a45748883 PipInterface: started to convert the pip interface from a menu based plug-in to a widget based interface to be placed in the right side tools bar.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6672
diff changeset
226 # 6. do the pip program(s)
390a45748883 PipInterface: started to convert the pip interface from a menu based plug-in to a widget based interface to be placed in the right side tools bar.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6672
diff changeset
227 virtualenvManager = e5App().getObject("VirtualEnvManager")
390a45748883 PipInterface: started to convert the pip interface from a menu based plug-in to a widget based interface to be placed in the right side tools bar.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6672
diff changeset
228 for venvName in virtualenvManager.getVirtualenvNames():
390a45748883 PipInterface: started to convert the pip interface from a menu based plug-in to a widget based interface to be placed in the right side tools bar.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6672
diff changeset
229 interpreter = virtualenvManager.getVirtualenvInterpreter(venvName)
390a45748883 PipInterface: started to convert the pip interface from a menu based plug-in to a widget based interface to be placed in the right side tools bar.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6672
diff changeset
230 self.__createProgramEntry(
390a45748883 PipInterface: started to convert the pip interface from a menu based plug-in to a widget based interface to be placed in the right side tools bar.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6672
diff changeset
231 self.tr("PyPI Package Management"), interpreter, '--version',
390a45748883 PipInterface: started to convert the pip interface from a menu based plug-in to a widget based interface to be placed in the right side tools bar.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6672
diff changeset
232 'pip', 1, exeModule=["-m", "pip"])
390a45748883 PipInterface: started to convert the pip interface from a menu based plug-in to a widget based interface to be placed in the right side tools bar.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6672
diff changeset
233
390a45748883 PipInterface: started to convert the pip interface from a menu based plug-in to a widget based interface to be placed in the right side tools bar.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6672
diff changeset
234 # 7. do the CORBA and Protobuf programs
390a45748883 PipInterface: started to convert the pip interface from a menu based plug-in to a widget based interface to be placed in the right side tools bar.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6672
diff changeset
235 # 7a. omniORB
6
52e8c820d0dd Removed some superfluous unicode() calls.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
236 exe = Preferences.getCorba("omniidl")
5968
c5112b5cb7a9 Started to add support for Google protobuf protocol files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5878
diff changeset
237 if not exe:
c5112b5cb7a9 Started to add support for Google protobuf protocol files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5878
diff changeset
238 exe = "omniidl"
6527
402067bb8029 Preferences omniidl.exe (CORBA support) and protoc.exe (Protobuf support) paths setting bug fix.
Christos Sevastiadis <csevast@auth.gr>
parents: 6291
diff changeset
239 if Utilities.isWindowsPlatform():
402067bb8029 Preferences omniidl.exe (CORBA support) and protoc.exe (Protobuf support) paths setting bug fix.
Christos Sevastiadis <csevast@auth.gr>
parents: 6291
diff changeset
240 exe += ".exe"
3025
67064c71df21 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3010
diff changeset
241 self.__createProgramEntry(
3190
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
242 self.tr("CORBA IDL Compiler"), exe, '-V', 'omniidl', -1)
6782
390a45748883 PipInterface: started to convert the pip interface from a menu based plug-in to a widget based interface to be placed in the right side tools bar.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6672
diff changeset
243 # 7b. protobuf
5968
c5112b5cb7a9 Started to add support for Google protobuf protocol files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5878
diff changeset
244 exe = Preferences.getProtobuf("protoc")
c5112b5cb7a9 Started to add support for Google protobuf protocol files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5878
diff changeset
245 if not exe:
c5112b5cb7a9 Started to add support for Google protobuf protocol files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5878
diff changeset
246 exe = "protoc"
6527
402067bb8029 Preferences omniidl.exe (CORBA support) and protoc.exe (Protobuf support) paths setting bug fix.
Christos Sevastiadis <csevast@auth.gr>
parents: 6291
diff changeset
247 if Utilities.isWindowsPlatform():
402067bb8029 Preferences omniidl.exe (CORBA support) and protoc.exe (Protobuf support) paths setting bug fix.
Christos Sevastiadis <csevast@auth.gr>
parents: 6291
diff changeset
248 exe += ".exe"
5968
c5112b5cb7a9 Started to add support for Google protobuf protocol files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5878
diff changeset
249 self.__createProgramEntry(
c5112b5cb7a9 Started to add support for Google protobuf protocol files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5878
diff changeset
250 self.tr("Protobuf Compiler"), exe, '--version', 'libprotoc', -1)
6782
390a45748883 PipInterface: started to convert the pip interface from a menu based plug-in to a widget based interface to be placed in the right side tools bar.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6672
diff changeset
251 # 7c. grpc
5970
411f7ba577d5 Continued to add support for Google protobuf protocol files. Added support for gRPC.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5968
diff changeset
252 exe = Preferences.getProtobuf("grpcPython")
411f7ba577d5 Continued to add support for Google protobuf protocol files. Added support for gRPC.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5968
diff changeset
253 if not exe:
411f7ba577d5 Continued to add support for Google protobuf protocol files. Added support for gRPC.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5968
diff changeset
254 exe = sys.executable
411f7ba577d5 Continued to add support for Google protobuf protocol files. Added support for gRPC.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5968
diff changeset
255 self.__createProgramEntry(
5974
dfb291b5b620 Changed "grpc" to "gRPC" in visible strings and source docu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5970
diff changeset
256 self.tr("gRPC Compiler"), exe, '--version', 'libprotoc', -1,
5970
411f7ba577d5 Continued to add support for Google protobuf protocol files. Added support for gRPC.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5968
diff changeset
257 exeModule=['-m', 'grpc_tools.protoc'])
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
258
6782
390a45748883 PipInterface: started to convert the pip interface from a menu based plug-in to a widget based interface to be placed in the right side tools bar.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6672
diff changeset
259 # 8. do the spell checking entry
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
260 try:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
261 import enchant
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
262 try:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
263 text = os.path.dirname(enchant.__file__)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
264 except AttributeError:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
265 text = "enchant"
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
266 try:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
267 version = enchant.__version__
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
268 except AttributeError:
3190
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
269 version = self.tr("(unknown)")
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
270 except (ImportError, AttributeError, OSError):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
271 text = "enchant"
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
272 version = ""
3010
befeff46ec0f Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2737
diff changeset
273 self.__createEntry(
3190
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
274 self.tr("Spell Checker - PyEnchant"), text, version)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
275
6782
390a45748883 PipInterface: started to convert the pip interface from a menu based plug-in to a widget based interface to be placed in the right side tools bar.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6672
diff changeset
276 # 9. do the pygments entry
686
b672b36f3efb Added code to show the version of the Pygments source highlighter and which variant is used (built-in or external).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 438
diff changeset
277 try:
b672b36f3efb Added code to show the version of the Pygments source highlighter and which variant is used (built-in or external).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 438
diff changeset
278 import pygments
b672b36f3efb Added code to show the version of the Pygments source highlighter and which variant is used (built-in or external).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 438
diff changeset
279 try:
b672b36f3efb Added code to show the version of the Pygments source highlighter and which variant is used (built-in or external).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 438
diff changeset
280 text = os.path.dirname(pygments.__file__)
b672b36f3efb Added code to show the version of the Pygments source highlighter and which variant is used (built-in or external).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 438
diff changeset
281 except AttributeError:
b672b36f3efb Added code to show the version of the Pygments source highlighter and which variant is used (built-in or external).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 438
diff changeset
282 text = "pygments"
b672b36f3efb Added code to show the version of the Pygments source highlighter and which variant is used (built-in or external).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 438
diff changeset
283 try:
b672b36f3efb Added code to show the version of the Pygments source highlighter and which variant is used (built-in or external).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 438
diff changeset
284 version = pygments.__version__
b672b36f3efb Added code to show the version of the Pygments source highlighter and which variant is used (built-in or external).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 438
diff changeset
285 except AttributeError:
3190
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
286 version = self.tr("(unknown)")
686
b672b36f3efb Added code to show the version of the Pygments source highlighter and which variant is used (built-in or external).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 438
diff changeset
287 except (ImportError, AttributeError, OSError):
b672b36f3efb Added code to show the version of the Pygments source highlighter and which variant is used (built-in or external).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 438
diff changeset
288 text = "pygments"
b672b36f3efb Added code to show the version of the Pygments source highlighter and which variant is used (built-in or external).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 438
diff changeset
289 version = ""
3010
befeff46ec0f Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2737
diff changeset
290 self.__createEntry(
3190
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
291 self.tr("Source Highlighter - Pygments"), text, version)
686
b672b36f3efb Added code to show the version of the Pygments source highlighter and which variant is used (built-in or external).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 438
diff changeset
292
6782
390a45748883 PipInterface: started to convert the pip interface from a menu based plug-in to a widget based interface to be placed in the right side tools bar.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6672
diff changeset
293 # 10. do the plugin related programs
53
c3eb7cc1ff8b Renamed e5App to e5App.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 18
diff changeset
294 pm = e5App().getObject("PluginManager")
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
295 for info in pm.getPluginExeDisplayData():
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
296 if info["programEntry"]:
5970
411f7ba577d5 Continued to add support for Google protobuf protocol files. Added support for gRPC.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5968
diff changeset
297 if "exeModule" not in info:
411f7ba577d5 Continued to add support for Google protobuf protocol files. Added support for gRPC.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5968
diff changeset
298 info["exeModule"] = None
6068
97a787b53663 Extended the programs dialog to allow plug-ins to specify the line containing version information with a regular expression (key 'versionRe').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6048
diff changeset
299 if "versionRe" not in info:
97a787b53663 Extended the programs dialog to allow plug-ins to specify the line containing version information with a regular expression (key 'versionRe').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6048
diff changeset
300 info["versionRe"] = None
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
301 self.__createProgramEntry(
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 901
diff changeset
302 info["header"],
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 901
diff changeset
303 info["exe"],
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 901
diff changeset
304 versionCommand=info["versionCommand"],
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 901
diff changeset
305 versionStartsWith=info["versionStartsWith"],
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 901
diff changeset
306 versionPosition=info["versionPosition"],
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 901
diff changeset
307 version=info["version"],
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 901
diff changeset
308 versionCleanup=info["versionCleanup"],
6068
97a787b53663 Extended the programs dialog to allow plug-ins to specify the line containing version information with a regular expression (key 'versionRe').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6048
diff changeset
309 versionRe=info["versionRe"],
5970
411f7ba577d5 Continued to add support for Google protobuf protocol files. Added support for gRPC.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5968
diff changeset
310 exeModule=info["exeModule"],
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
311 )
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
312 else:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
313 self.__createEntry(
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 901
diff changeset
314 info["header"],
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 901
diff changeset
315 info["text"],
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
316 info["version"]
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
317 )
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
318
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
319 self.programsList.sortByColumn(0, Qt.AscendingOrder)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
320 QApplication.restoreOverrideCursor()
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
321
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
322 self.__hasSearched = True
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
323
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
324 def __createProgramEntry(self, description, exe,
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 901
diff changeset
325 versionCommand="", versionStartsWith="",
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 901
diff changeset
326 versionPosition=0, version="",
5970
411f7ba577d5 Continued to add support for Google protobuf protocol files. Added support for gRPC.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5968
diff changeset
327 versionCleanup=None, versionRe=None,
411f7ba577d5 Continued to add support for Google protobuf protocol files. Added support for gRPC.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5968
diff changeset
328 exeModule=None):
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
329 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
330 Private method to generate a program entry.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
331
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
332 @param description descriptive text (string)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
333 @param exe name of the executable program (string)
3010
befeff46ec0f Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2737
diff changeset
334 @param versionCommand command line switch to get the version info
5970
411f7ba577d5 Continued to add support for Google protobuf protocol files. Added support for gRPC.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5968
diff changeset
335 (str). If this is empty, the given version will be shown.
3010
befeff46ec0f Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2737
diff changeset
336 @param versionStartsWith start of line identifying version info
befeff46ec0f Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2737
diff changeset
337 (string)
befeff46ec0f Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2737
diff changeset
338 @param versionPosition index of part containing the version info
befeff46ec0f Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2737
diff changeset
339 (integer)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
340 @keyparam version version string to show (string)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
341 @keyparam versionCleanup tuple of two integers giving string positions
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
342 start and stop for the version string (tuple of integers)
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 901
diff changeset
343 @keyparam versionRe regexp to determine the line identifying version
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
344 info (string). Takes precedence over versionStartsWith.
5970
411f7ba577d5 Continued to add support for Google protobuf protocol files. Added support for gRPC.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5968
diff changeset
345 @keyparam exeModule list of command line parameters to execute a module
411f7ba577d5 Continued to add support for Google protobuf protocol files. Added support for gRPC.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5968
diff changeset
346 with the program given in exe (e.g. to execute a Python module)
411f7ba577d5 Continued to add support for Google protobuf protocol files. Added support for gRPC.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5968
diff changeset
347 (list of str)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
348 @return version string of detected or given version (string)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
349 """
3010
befeff46ec0f Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2737
diff changeset
350 itmList = self.programsList.findItems(
befeff46ec0f Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2737
diff changeset
351 description, Qt.MatchCaseSensitive)
438
f62a3f9d2e28 Changed code to include Qt Help tools in programs detection and introduced the 'exeDisplayDataList' plug-in function to report back a list of tools to check for.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 426
diff changeset
352 if itmList:
f62a3f9d2e28 Changed code to include Qt Help tools in programs detection and introduced the 'exeDisplayDataList' plug-in function to report back a list of tools to check for.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 426
diff changeset
353 itm = itmList[0]
f62a3f9d2e28 Changed code to include Qt Help tools in programs detection and introduced the 'exeDisplayDataList' plug-in function to report back a list of tools to check for.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 426
diff changeset
354 else:
f62a3f9d2e28 Changed code to include Qt Help tools in programs detection and introduced the 'exeDisplayDataList' plug-in function to report back a list of tools to check for.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 426
diff changeset
355 itm = QTreeWidgetItem(self.programsList, [description])
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
356 font = itm.font(0)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
357 font.setBold(True)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
358 itm.setFont(0, font)
6665
adb59475e671 Some changes to the Qt Help tools detection.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6645
diff changeset
359 rememberedExe = exe
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
360 if not exe:
3190
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
361 itm.setText(1, self.tr("(not configured)"))
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
362 else:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
363 if os.path.isabs(exe):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
364 if not Utilities.isExecutable(exe):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
365 exe = ""
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
366 else:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
367 exe = Utilities.getExecutablePath(exe)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
368 if exe:
7263
c1af2e327675 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
369 if (
c1af2e327675 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
370 versionCommand and
c1af2e327675 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
371 (versionStartsWith != "" or
c1af2e327675 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
372 (versionRe is not None and versionRe != "")) and
c1af2e327675 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
373 versionPosition
c1af2e327675 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
374 ):
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
375 proc = QProcess()
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
376 proc.setProcessChannelMode(QProcess.MergedChannels)
5970
411f7ba577d5 Continued to add support for Google protobuf protocol files. Added support for gRPC.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5968
diff changeset
377 if exeModule:
411f7ba577d5 Continued to add support for Google protobuf protocol files. Added support for gRPC.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5968
diff changeset
378 args = exeModule[:] + [versionCommand]
411f7ba577d5 Continued to add support for Google protobuf protocol files. Added support for gRPC.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5968
diff changeset
379 else:
411f7ba577d5 Continued to add support for Google protobuf protocol files. Added support for gRPC.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5968
diff changeset
380 args = [versionCommand]
411f7ba577d5 Continued to add support for Google protobuf protocol files. Added support for gRPC.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5968
diff changeset
381 proc.start(exe, args)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
382 finished = proc.waitForFinished(10000)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
383 if finished:
3038
7fe9a53280bd Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3034
diff changeset
384 output = str(proc.readAllStandardOutput(),
7fe9a53280bd Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3034
diff changeset
385 Preferences.getSystem("IOEncoding"),
7fe9a53280bd Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3034
diff changeset
386 'replace')
7263
c1af2e327675 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
387 if (
c1af2e327675 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
388 exeModule and
c1af2e327675 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
389 exeModule[0] == "-m" and
6288
67ae52179c8b ProgramsDialog: fixed an issue causing a non-existent module not being detected.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6083
diff changeset
390 ("ImportError:" in output or
6667
d45c9b0c3851 ProgramsDialog: added another condition for failing to load a Python module via -m.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6665
diff changeset
391 "ModuleNotFoundError:" in output or
7263
c1af2e327675 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
392 proc.exitCode() != 0)
c1af2e327675 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
393 ):
6083
fc99172cd83e Fixed the output of the programs dialog for failed module imports of programs (i.e. for commands like "python3 -m grpc_tools.protoc").
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6068
diff changeset
394 version = self.tr("(module not found)")
3194
c95193671ab5 Little correction to the programs dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3190
diff changeset
395 else:
6083
fc99172cd83e Fixed the output of the programs dialog for failed module imports of programs (i.e. for commands like "python3 -m grpc_tools.protoc").
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6068
diff changeset
396 if versionRe is None:
fc99172cd83e Fixed the output of the programs dialog for failed module imports of programs (i.e. for commands like "python3 -m grpc_tools.protoc").
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6068
diff changeset
397 versionRe = "^{0}".format(
fc99172cd83e Fixed the output of the programs dialog for failed module imports of programs (i.e. for commands like "python3 -m grpc_tools.protoc").
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6068
diff changeset
398 re.escape(versionStartsWith))
fc99172cd83e Fixed the output of the programs dialog for failed module imports of programs (i.e. for commands like "python3 -m grpc_tools.protoc").
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6068
diff changeset
399 versionRe = re.compile(versionRe, re.UNICODE)
fc99172cd83e Fixed the output of the programs dialog for failed module imports of programs (i.e. for commands like "python3 -m grpc_tools.protoc").
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6068
diff changeset
400 for line in output.splitlines():
fc99172cd83e Fixed the output of the programs dialog for failed module imports of programs (i.e. for commands like "python3 -m grpc_tools.protoc").
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6068
diff changeset
401 if versionRe.search(line):
fc99172cd83e Fixed the output of the programs dialog for failed module imports of programs (i.e. for commands like "python3 -m grpc_tools.protoc").
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6068
diff changeset
402 try:
fc99172cd83e Fixed the output of the programs dialog for failed module imports of programs (i.e. for commands like "python3 -m grpc_tools.protoc").
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6068
diff changeset
403 version = line.split()[versionPosition]
fc99172cd83e Fixed the output of the programs dialog for failed module imports of programs (i.e. for commands like "python3 -m grpc_tools.protoc").
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6068
diff changeset
404 if versionCleanup:
fc99172cd83e Fixed the output of the programs dialog for failed module imports of programs (i.e. for commands like "python3 -m grpc_tools.protoc").
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6068
diff changeset
405 version = version[
fc99172cd83e Fixed the output of the programs dialog for failed module imports of programs (i.e. for commands like "python3 -m grpc_tools.protoc").
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6068
diff changeset
406 versionCleanup[0]:
fc99172cd83e Fixed the output of the programs dialog for failed module imports of programs (i.e. for commands like "python3 -m grpc_tools.protoc").
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6068
diff changeset
407 versionCleanup[1]
fc99172cd83e Fixed the output of the programs dialog for failed module imports of programs (i.e. for commands like "python3 -m grpc_tools.protoc").
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6068
diff changeset
408 ]
fc99172cd83e Fixed the output of the programs dialog for failed module imports of programs (i.e. for commands like "python3 -m grpc_tools.protoc").
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6068
diff changeset
409 break
fc99172cd83e Fixed the output of the programs dialog for failed module imports of programs (i.e. for commands like "python3 -m grpc_tools.protoc").
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6068
diff changeset
410 except IndexError:
fc99172cd83e Fixed the output of the programs dialog for failed module imports of programs (i.e. for commands like "python3 -m grpc_tools.protoc").
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6068
diff changeset
411 version = self.tr("(unknown)")
fc99172cd83e Fixed the output of the programs dialog for failed module imports of programs (i.e. for commands like "python3 -m grpc_tools.protoc").
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6068
diff changeset
412 else:
fc99172cd83e Fixed the output of the programs dialog for failed module imports of programs (i.e. for commands like "python3 -m grpc_tools.protoc").
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6068
diff changeset
413 version = self.tr("(unknown)")
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
414 else:
3190
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
415 version = self.tr("(not executable)")
5970
411f7ba577d5 Continued to add support for Google protobuf protocol files. Added support for gRPC.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5968
diff changeset
416 if exeModule:
411f7ba577d5 Continued to add support for Google protobuf protocol files. Added support for gRPC.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5968
diff changeset
417 QTreeWidgetItem(itm, [
411f7ba577d5 Continued to add support for Google protobuf protocol files. Added support for gRPC.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5968
diff changeset
418 "{0} {1}".format(exe, " ".join(exeModule)),
411f7ba577d5 Continued to add support for Google protobuf protocol files. Added support for gRPC.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5968
diff changeset
419 version])
411f7ba577d5 Continued to add support for Google protobuf protocol files. Added support for gRPC.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5968
diff changeset
420 else:
411f7ba577d5 Continued to add support for Google protobuf protocol files. Added support for gRPC.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5968
diff changeset
421 QTreeWidgetItem(itm, [exe, version])
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
422 itm.setExpanded(True)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
423 else:
6665
adb59475e671 Some changes to the Qt Help tools detection.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6645
diff changeset
424 if itm.childCount() == 0:
adb59475e671 Some changes to the Qt Help tools detection.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6645
diff changeset
425 itm.setText(1, self.tr("(not found)"))
adb59475e671 Some changes to the Qt Help tools detection.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6645
diff changeset
426 else:
adb59475e671 Some changes to the Qt Help tools detection.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6645
diff changeset
427 QTreeWidgetItem(itm, [rememberedExe,
adb59475e671 Some changes to the Qt Help tools detection.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6645
diff changeset
428 self.tr("(not found)")])
adb59475e671 Some changes to the Qt Help tools detection.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6645
diff changeset
429 itm.setExpanded(True)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
430 QApplication.processEvents()
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
431 self.programsList.header().resizeSections(QHeaderView.ResizeToContents)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
432 self.programsList.header().setStretchLastSection(True)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
433 return version
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
434
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
435 def __createEntry(self, description, entryText, entryVersion):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
436 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
437 Private method to generate a program entry.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
438
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
439 @param description descriptive text (string)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
440 @param entryText text to show (string)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
441 @param entryVersion version string to show (string).
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
442 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
443 itm = QTreeWidgetItem(self.programsList, [description])
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
444 font = itm.font(0)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
445 font.setBold(True)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
446 itm.setFont(0, font)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
447
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
448 if len(entryVersion):
97
c4086afea02b Finished cleaning up the code supported by py3flakes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 55
diff changeset
449 QTreeWidgetItem(itm, [entryText, entryVersion])
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
450 itm.setExpanded(True)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
451 else:
3190
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
452 itm.setText(1, self.tr("(not found)"))
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
453 QApplication.processEvents()
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
454 self.programsList.header().resizeSections(QHeaderView.ResizeToContents)
97
c4086afea02b Finished cleaning up the code supported by py3flakes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 55
diff changeset
455 self.programsList.header().setStretchLastSection(True)

eric ide

mercurial