Preferences/ConfigurationPages/HelpInterfacePage.py

Wed, 11 Sep 2013 22:31:09 +0200

author
T.Rzepka <Tobias.Rzepka@gmail.com>
date
Wed, 11 Sep 2013 22:31:09 +0200
changeset 2908
c6e9a57eb44b
parent 2100
fb16f4650860
child 2525
8b507a9a2d40
child 2964
84b65fb9e780
permissions
-rw-r--r--

Config options to the editor syntax checker page rearranged.

# -*- coding: utf-8 -*-

"""
Module implementing the Interface configuration page (variant for web browser).
"""

from PyQt4.QtCore import pyqtSlot
from PyQt4.QtGui import QStyleFactory

from E5Gui.E5Completers import E5FileCompleter
from E5Gui import E5FileDialog

from .ConfigurationPageBase import ConfigurationPageBase
from .Ui_HelpInterfacePage import Ui_HelpInterfacePage

import Preferences
import Utilities


class HelpInterfacePage(ConfigurationPageBase, Ui_HelpInterfacePage):
    """
    Class implementing the Interface configuration page (variant for web browser).
    """
    def __init__(self):
        """
        Constructor
        """
        super().__init__()
        self.setupUi(self)
        self.setObjectName("InterfacePage")
        
        self.styleSheetCompleter = E5FileCompleter(self.styleSheetEdit)
        
        # set initial values
        self.__populateStyleCombo()
        self.styleSheetEdit.setText(Preferences.getUI("StyleSheet"))
    
    def save(self):
        """
        Public slot to save the Interface configuration.
        """
        # save the style settings
        styleIndex = self.styleComboBox.currentIndex()
        style = self.styleComboBox.itemData(styleIndex)
        Preferences.setUI("Style", style)
        Preferences.setUI("StyleSheet",
            self.styleSheetEdit.text())
    
    def __populateStyleCombo(self):
        """
        Private method to populate the style combo box.
        """
        curStyle = Preferences.getUI("Style")
        styles = sorted(list(QStyleFactory.keys()))
        self.styleComboBox.addItem(self.trUtf8('System'), "System")
        for style in styles:
            self.styleComboBox.addItem(style, style)
        currentIndex = self.styleComboBox.findData(curStyle)
        if currentIndex == -1:
            currentIndex = 0
        self.styleComboBox.setCurrentIndex(currentIndex)
        
    @pyqtSlot()
    def on_styleSheetButton_clicked(self):
        """
        Private method to select the style sheet file via a dialog.
        """
        file = E5FileDialog.getOpenFileName(
            self,
            self.trUtf8("Select style sheet file"),
            self.styleSheetEdit.text(),
            self.trUtf8("Qt Style Sheets (*.qss);;Cascading Style Sheets (*.css);;"
                        "All files (*)"))
        
        if file:
            self.styleSheetEdit.setText(Utilities.toNativeSeparators(file))
    

def create(dlg):
    """
    Module function to create the configuration page.
    
    @param dlg reference to the configuration dialog
    """
    page = HelpInterfacePage()
    return page

eric ide

mercurial