Mon, 26 Dec 2011 19:32:02 +0100
Updated copyright for 2012.
# -*- coding: utf-8 -*- # Copyright (c) 2008 - 2012 Detlev Offenbach <detlev@die-offenbachs.de> # """ Module implementing the Terminal configuration page. """ 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