Tue, 01 Jun 2021 19:37:46 +0200
Ported the plug-in to PyQt6 for eric7.
(But it needs rework for recent Pyramid version.)
# -*- coding: utf-8 -*- # Copyright (c) 2012 - 2021 Detlev Offenbach <detlev@die-offenbachs.de> # """ Module implementing the Pyramid configuration page. """ from PyQt6.QtCore import pyqtSlot from EricWidgets.EricApplication import ericApp from EricWidgets.EricPathPicker import EricPathPickerModes from Preferences.ConfigurationPages.ConfigurationPageBase import ( ConfigurationPageBase ) from .Ui_PyramidPage import Ui_PyramidPage import UI.PixmapCache from Globals import isWindowsPlatform, isMacPlatform class PyramidPage(ConfigurationPageBase, Ui_PyramidPage): """ Class implementing the Pyramid configuration page. """ def __init__(self, plugin): """ Constructor @param plugin reference to the plugin object @type ProjectPyramidPlugin """ super().__init__() self.setupUi(self) self.setObjectName("PyramidPage") self.__plugin = plugin consoleList = [] if isWindowsPlatform(): consoleList.append("cmd.exe /c") elif isMacPlatform(): consoleList.append("xterm -e") consoleList.append("/opt/X11/bin/xterm -e") else: consoleList.append("@konsole --workdir . -e") # KDE 5 konsole spawns consoleList.append("gnome-terminal -e") consoleList.append("mate-terminal -e") consoleList.append("xfce4-terminal -e") consoleList.append("xterm -e") self.consoleCommandCombo.addItems(consoleList) self.urlResetButton.setIcon(UI.PixmapCache.getIcon("editUndo")) self.py3ShellCombo.addItem(self.tr("Plain Python"), "python") self.py3ShellCombo.addItem(self.tr("IPython"), "ipython") self.py3ShellCombo.addItem(self.tr("bpython"), "bpython") venvManager = ericApp().getObject("VirtualEnvManager") self.py3VenvNameComboBox.addItems( [""] + sorted(venvManager.getVirtualenvNames())) self.translationsEditorPicker.setMode( EricPathPickerModes.OPEN_FILE_MODE) self.translationsEditorPicker.setFilters(self.tr("All Files (*)")) # set initial values self.consoleCommandCombo.setEditText( self.__plugin.getPreferences("ConsoleCommand")) self.externalBrowserCheckBox.setChecked( self.__plugin.getPreferences("UseExternalBrowser")) venvName = self.__plugin.getPreferences( "VirtualEnvironmentNamePy3") if venvName: index = self.py3VenvNameComboBox.findText(venvName) if index < 0: index = 0 self.py3VenvNameComboBox.setCurrentIndex(index) self.py3ShellCombo.setCurrentIndex(self.py3ShellCombo.findData( self.__plugin.getPreferences("Python3ConsoleType"))) self.urlEdit.setText( self.__plugin.getPreferences("PyramidDocUrl")) self.translationsEditorPicker.setText( self.__plugin.getPreferences("TranslationsEditor")) def save(self): """ Public slot to save the Pyramid configuration. """ self.__plugin.setPreferences( "ConsoleCommand", self.consoleCommandCombo.currentText()) self.__plugin.setPreferences( "UseExternalBrowser", self.externalBrowserCheckBox.isChecked()) self.__plugin.setPreferences( "VirtualEnvironmentNamePy3", self.py3VenvNameComboBox.currentText()) self.__plugin.setPreferences( "Python3ConsoleType", self.py3ShellCombo.itemData(self.py3ShellCombo.currentIndex())) self.__plugin.setPreferences( "PyramidDocUrl", self.urlEdit.text()) self.__plugin.setPreferences( "TranslationsEditor", self.translationsEditorPicker.text()) @pyqtSlot() def on_urlResetButton_clicked(self): """ Private slot to reset the Pyramid documentation URL. """ self.urlEdit.setText( self.__plugin.getDefaultPreference("PyramidDocUrl"))