diff -r 4e8b98454baa -r 800c432b34c8 eric7/Preferences/ConfigurationPages/TemplatesPage.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eric7/Preferences/ConfigurationPages/TemplatesPage.py Sat May 15 18:45:04 2021 +0200 @@ -0,0 +1,86 @@ +# -*- coding: utf-8 -*- + +# Copyright (c) 2006 - 2021 Detlev Offenbach <detlev@die-offenbachs.de> +# + +""" +Module implementing the Templates configuration page. +""" + +from PyQt5.QtCore import pyqtSlot +from PyQt5.QtWidgets import QFontDialog + +from .ConfigurationPageBase import ConfigurationPageBase +from .Ui_TemplatesPage import Ui_TemplatesPage + +import Preferences + +try: + MonospacedFontsOption = QFontDialog.FontDialogOption.MonospacedFonts +except AttributeError: + MonospacedFontsOption = QFontDialog.FontDialogOptions(0x10) + + +class TemplatesPage(ConfigurationPageBase, Ui_TemplatesPage): + """ + Class implementing the Templates configuration page. + """ + def __init__(self): + """ + Constructor + """ + super().__init__() + self.setupUi(self) + self.setObjectName("TemplatesPage") + + # set initial values + self.templatesAutoOpenGroupsCheckBox.setChecked( + Preferences.getTemplates("AutoOpenGroups")) + self.templatesSeparatorCharEdit.setText( + Preferences.getTemplates("SeparatorChar")) + if Preferences.getTemplates("SingleDialog"): + self.templatesSingleDialogButton.setChecked(True) + else: + self.templatesMultiDialogButton.setChecked(True) + self.templatesToolTipCheckBox.setChecked( + Preferences.getTemplates("ShowTooltip")) + self.editorFont = Preferences.getTemplates("EditorFont") + self.editorFontSample.setFont(self.editorFont) + + def save(self): + """ + Public slot to save the Templates configuration. + """ + Preferences.setTemplates( + "AutoOpenGroups", + self.templatesAutoOpenGroupsCheckBox.isChecked()) + sepChar = self.templatesSeparatorCharEdit.text() + if sepChar: + Preferences.setTemplates("SeparatorChar", sepChar) + Preferences.setTemplates( + "SingleDialog", + self.templatesSingleDialogButton.isChecked()) + Preferences.setTemplates( + "ShowTooltip", + self.templatesToolTipCheckBox.isChecked()) + Preferences.setTemplates("EditorFont", self.editorFont) + + @pyqtSlot() + def on_editorFontButton_clicked(self): + """ + Private method used to select the font to be used by the code editor. + """ + self.editorFont = self.selectFont( + self.editorFontSample, self.editorFont, + options=MonospacedFontsOption) + + +def create(dlg): + """ + Module function to create the configuration page. + + @param dlg reference to the configuration dialog + @return reference to the instantiated page (ConfigurationPageBase) + """ + page = TemplatesPage() + return page