diff -r afde0e9110f7 -r fb16f4650860 Preferences/ConfigurationPages/HelpInterfacePage.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Preferences/ConfigurationPages/HelpInterfacePage.py Wed Oct 03 20:07:50 2012 +0200 @@ -0,0 +1,86 @@ +# -*- 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