13 import sys |
13 import sys |
14 import logging |
14 import logging |
15 |
15 |
16 from PyQt5.QtCore import pyqtSlot, QTimer, QFile, QFileInfo, pyqtSignal, \ |
16 from PyQt5.QtCore import pyqtSlot, QTimer, QFile, QFileInfo, pyqtSignal, \ |
17 PYQT_VERSION_STR, QDate, QIODevice, qVersion, QProcess, QSize, QUrl, \ |
17 PYQT_VERSION_STR, QDate, QIODevice, qVersion, QProcess, QSize, QUrl, \ |
18 QObject, Qt, QUuid, QThread |
18 QObject, Qt, QUuid, QThread, QUrlQuery |
19 from PyQt5.QtGui import QKeySequence, QDesktopServices |
19 from PyQt5.QtGui import QKeySequence, QDesktopServices |
20 from PyQt5.QtWidgets import QSizePolicy, QWidget, QWhatsThis, QToolBar, \ |
20 from PyQt5.QtWidgets import QSizePolicy, QWidget, QWhatsThis, QToolBar, \ |
21 QDialog, QSplitter, QApplication, QMenu, QVBoxLayout, QDockWidget, \ |
21 QDialog, QSplitter, QApplication, QMenu, QVBoxLayout, QDockWidget, \ |
22 QAction, QLabel |
22 QAction, QLabel |
23 from PyQt5.Qsci import QSCINTILLA_VERSION_STR |
23 from PyQt5.Qsci import QSCINTILLA_VERSION_STR |
3111 |
3109 |
3112 self.__menus["subwindow"] = QMenu(self.tr("&Windows"), |
3110 self.__menus["subwindow"] = QMenu(self.tr("&Windows"), |
3113 self.__menus["window"]) |
3111 self.__menus["window"]) |
3114 self.__menus["subwindow"].setTearOffEnabled(True) |
3112 self.__menus["subwindow"].setTearOffEnabled(True) |
3115 # central park |
3113 # central park |
3116 try: |
3114 self.__menus["subwindow"].addSection(self.tr("Central Park")) |
3117 self.__menus["subwindow"].addSection(self.tr("Central Park")) |
|
3118 except AttributeError: |
|
3119 # Qt4 |
|
3120 self.__menus["subwindow"].addSeparator() |
|
3121 self.__menus["subwindow"].addAction(self.viewmanagerActivateAct) |
3115 self.__menus["subwindow"].addAction(self.viewmanagerActivateAct) |
3122 # left side |
3116 # left side |
3123 try: |
3117 self.__menus["subwindow"].addSection(self.tr("Left Side")) |
3124 self.__menus["subwindow"].addSection(self.tr("Left Side")) |
|
3125 except AttributeError: |
|
3126 # Qt4 |
|
3127 pass |
|
3128 if self.__shellPosition == "left": |
3118 if self.__shellPosition == "left": |
3129 self.__menus["subwindow"].addAction(self.shellActivateAct) |
3119 self.__menus["subwindow"].addAction(self.shellActivateAct) |
3130 self.__menus["subwindow"].addAction(self.pbActivateAct) |
3120 self.__menus["subwindow"].addAction(self.pbActivateAct) |
3131 self.__menus["subwindow"].addAction(self.mpbActivateAct) |
3121 self.__menus["subwindow"].addAction(self.mpbActivateAct) |
3132 if self.templateViewer is not None: |
3122 if self.templateViewer is not None: |
3134 if self.browser is not None: |
3124 if self.browser is not None: |
3135 self.__menus["subwindow"].addAction(self.browserActivateAct) |
3125 self.__menus["subwindow"].addAction(self.browserActivateAct) |
3136 if self.symbolsViewer is not None: |
3126 if self.symbolsViewer is not None: |
3137 self.__menus["subwindow"].addAction(self.symbolsViewerActivateAct) |
3127 self.__menus["subwindow"].addAction(self.symbolsViewerActivateAct) |
3138 # bottom side |
3128 # bottom side |
3139 try: |
3129 self.__menus["subwindow"].addSection(self.tr("Bottom Side")) |
3140 self.__menus["subwindow"].addSection(self.tr("Bottom Side")) |
|
3141 except AttributeError: |
|
3142 # Qt4 |
|
3143 self.__menus["subwindow"].addSeparator() |
|
3144 if self.__shellPosition == "bottom": |
3130 if self.__shellPosition == "bottom": |
3145 self.__menus["subwindow"].addAction(self.shellActivateAct) |
3131 self.__menus["subwindow"].addAction(self.shellActivateAct) |
3146 self.__menus["subwindow"].addAction(self.taskViewerActivateAct) |
3132 self.__menus["subwindow"].addAction(self.taskViewerActivateAct) |
3147 self.__menus["subwindow"].addAction(self.logViewerActivateAct) |
3133 self.__menus["subwindow"].addAction(self.logViewerActivateAct) |
3148 if self.numbersViewer is not None: |
3134 if self.numbersViewer is not None: |
3149 self.__menus["subwindow"].addAction(self.numbersViewerActivateAct) |
3135 self.__menus["subwindow"].addAction(self.numbersViewerActivateAct) |
3150 try: |
3136 self.__menus["subwindow"].addSection(self.tr("Right Side")) |
3151 self.__menus["subwindow"].addSection(self.tr("Right Side")) |
|
3152 except AttributeError: |
|
3153 # Qt4 |
|
3154 self.__menus["subwindow"].addSeparator() |
|
3155 # right side |
3137 # right side |
3156 if self.__shellPosition == "right": |
3138 if self.__shellPosition == "right": |
3157 self.__menus["subwindow"].addAction(self.shellActivateAct) |
3139 self.__menus["subwindow"].addAction(self.shellActivateAct) |
3158 if self.codeDocumentationViewer is not None: |
3140 if self.codeDocumentationViewer is not None: |
3159 self.__menus["subwindow"].addAction( |
3141 self.__menus["subwindow"].addAction( |
3169 if self.irc is not None: |
3151 if self.irc is not None: |
3170 self.__menus["subwindow"].addAction(self.ircActivateAct) |
3152 self.__menus["subwindow"].addAction(self.ircActivateAct) |
3171 if self.microPythonWidget is not None: |
3153 if self.microPythonWidget is not None: |
3172 self.__menus["subwindow"].addAction( |
3154 self.__menus["subwindow"].addAction( |
3173 self.microPythonWidgetActivateAct) |
3155 self.microPythonWidgetActivateAct) |
3174 try: |
3156 self.__menus["subwindow"].addSection(self.tr("Plug-ins")) |
3175 self.__menus["subwindow"].addSection(self.tr("Plug-ins")) |
|
3176 except AttributeError: |
|
3177 # Qt4 |
|
3178 self.__menus["subwindow"].addSeparator() |
|
3179 |
3157 |
3180 ############################################################## |
3158 ############################################################## |
3181 ## Window/Toolbars menu |
3159 ## Window/Toolbars menu |
3182 ############################################################## |
3160 ############################################################## |
3183 |
3161 |
3754 Utilities.generateVersionInfo("\r\n"), |
3732 Utilities.generateVersionInfo("\r\n"), |
3755 Utilities.generatePluginsVersionInfo("\r\n"), |
3733 Utilities.generatePluginsVersionInfo("\r\n"), |
3756 Utilities.generateDistroInfo("\r\n")) |
3734 Utilities.generateDistroInfo("\r\n")) |
3757 |
3735 |
3758 url = QUrl("mailto:{0}".format(address)) |
3736 url = QUrl("mailto:{0}".format(address)) |
3759 if qVersionTuple() >= (5, 0, 0): |
3737 urlQuery = QUrlQuery(url) |
3760 from PyQt5.QtCore import QUrlQuery |
3738 urlQuery.addQueryItem("subject", subject) |
3761 urlQuery = QUrlQuery(url) |
3739 urlQuery.addQueryItem("body", body) |
3762 urlQuery.addQueryItem("subject", subject) |
3740 url.setQuery(urlQuery) |
3763 urlQuery.addQueryItem("body", body) |
|
3764 url.setQuery(urlQuery) |
|
3765 else: |
|
3766 url.addQueryItem("subject", subject) |
|
3767 url.addQueryItem("body", body) |
|
3768 QDesktopServices.openUrl(url) |
3741 QDesktopServices.openUrl(url) |
3769 |
3742 |
3770 def checkForErrorLog(self): |
3743 def checkForErrorLog(self): |
3771 """ |
3744 """ |
3772 Public method to check for the presence of an error log and ask the |
3745 Public method to check for the presence of an error log and ask the |