Sat, 02 Jan 2010 15:11:35 +0000
First commit after changing to Python 3.1.
# -*- coding: utf-8 -*- # Copyright (c) 2008 - 2009 Detlev Offenbach <detlev@die-offenbachs.de> # """ Module implementing the Terminal configuration page. """ import sys from PyQt4.QtCore import pyqtSlot from .ConfigurationPageBase import ConfigurationPageBase from .Ui_TerminalPage import Ui_TerminalPage import Preferences import Utilities class TerminalPage(ConfigurationPageBase, Ui_TerminalPage): """ Class implementing the Terminal configuration page. """ def __init__(self): """ Constructor """ ConfigurationPageBase.__init__(self) self.setupUi(self) self.setObjectName("TerminalPage") if Utilities.isWindowsPlatform(): self.shellGroup.setEnabled(False) else: self.shellCombo.addItems(["ash", "bash", "csh", "ksh", "sh", "tcsh", "zsh"]) # set initial values self.linenowidthSlider.setValue(\ Preferences.getTerminal("LinenoWidth")) self.linenoCheckBox.setChecked(\ Preferences.getTerminal("LinenoMargin")) self.syntaxHighlightingCheckBox.setChecked(\ Preferences.getTerminal("SyntaxHighlightingEnabled")) self.historySpinBox.setValue(\ Preferences.getTerminal("MaxHistoryEntries")) self.monospacedFont = Preferences.getTerminal("MonospacedFont") self.monospacedFontSample.setFont(self.monospacedFont) self.monospacedCheckBox.setChecked(\ Preferences.getTerminal("UseMonospacedFont")) self.marginsFont = Preferences.getTerminal("MarginsFont") self.marginsFontSample.setFont(self.marginsFont) self.shellCombo.setEditText( Preferences.getTerminal("Shell")) self.interactiveCheckBox.setChecked( Preferences.getTerminal("ShellInteractive")) def save(self): """ Public slot to save the Shell configuration. """ Preferences.setTerminal("LinenoWidth", self.linenowidthSlider.value()) Preferences.setTerminal("LinenoMargin", self.linenoCheckBox.isChecked()) Preferences.setTerminal("SyntaxHighlightingEnabled", self.syntaxHighlightingCheckBox.isChecked()) Preferences.setTerminal("MaxHistoryEntries", self.historySpinBox.value()) Preferences.setTerminal("MonospacedFont", self.monospacedFont) Preferences.setTerminal("UseMonospacedFont", self.monospacedCheckBox.isChecked()) Preferences.setTerminal("MarginsFont", self.marginsFont) Preferences.setTerminal("Shell", self.shellCombo.currentText()) Preferences.setTerminal("ShellInteractive", self.interactiveCheckBox.isChecked()) @pyqtSlot() def on_monospacedFontButton_clicked(self): """ Private method used to select the font to be used as the monospaced font. """ self.monospacedFont = \ self.selectFont(self.monospacedFontSample, self.monospacedFont) @pyqtSlot() def on_linenumbersFontButton_clicked(self): """ Private method used to select the font for the editor margins. """ self.marginsFont = self.selectFont(self.marginsFontSample, self.marginsFont) def polishPage(self): """ Public slot to perform some polishing actions. """ self.monospacedFontSample.setFont(self.monospacedFont) self.marginsFontSample.setFont(self.marginsFont) def create(dlg): """ Module function to create the configuration page. @param dlg reference to the configuration dialog """ page = TerminalPage() return page