def set_country_for_locale(self, languageCode):
     self.clear()
     self.codesList = []
     self.countryList = []
     for locale in QLocale.matchingLocales(QLocale(languageCode).language(), QLocale.AnyScript, QLocale.AnyCountry):
         codeName = locale.name().split("_")[-1]
         if codeName not in self.codesList:
             self.codesList.append(codeName)
         self.codesList.sort()
         
     for country in self.codesList:
         locale = QLocale(languageCode+"-"+country)
         if locale:
             countryName = locale.nativeCountryName()
             self.countryList.append(countryName.title())
             self.setIconSize(QSize(32, 22))
             codeIcon = QImage(self.iconSize(), QImage.Format_ARGB32)
             painter = QPainter(codeIcon)
             painter.setBrush(Qt.transparent)
             codeIcon.fill(Qt.transparent)
             font = QFontDatabase().systemFont(QFontDatabase.FixedFont)
             painter.setFont(font)
             painter.setPen(self.palette().color(QPalette.Text))
             painter.drawText(codeIcon.rect(), Qt.AlignCenter,country)
             painter.end()
             self.addItem(QIcon(QPixmap.fromImage(codeIcon)), countryName.title())
Beispiel #2
0
    def expand(cls, language):
        """
        Class method to expand a language enum to a readable languages
        list.
        
        @param language language number (QLocale.Language)
        @return list of expanded language names (list of strings)
        """
        allLanguages = []
        countries = [
            l.country() for l in QLocale.matchingLocales(
                language, QLocale.AnyScript, QLocale.AnyCountry)
        ]
        languageString = ("{0} [{1}]").format(
            QLocale.languageToString(language),
            QLocale(language).name().split('_')[0])
        allLanguages.append(languageString)
        for country in countries:
            languageString = ("{0}/{1} [{2}]").format(
                QLocale.languageToString(language),
                QLocale.countryToString(country),
                '-'.join(QLocale(language, country).name().split('_')).lower())
            if languageString not in allLanguages:
                allLanguages.append(languageString)

        return allLanguages
Beispiel #3
0
 def expand(cls, language):
     """
     Class method to expand a language enum to a readable languages
     list.
     
     @param language language number (QLocale.Language)
     @return list of expanded language names (list of strings)
     """
     allLanguages = []
     countries = [l.country() for l in QLocale.matchingLocales(
         language, QLocale.AnyScript, QLocale.AnyCountry)]
     languageString = "{0} [{1}]"\
         .format(QLocale.languageToString(language),
                 QLocale(language).name().split('_')[0])
     allLanguages.append(languageString)
     for country in countries:
         languageString = "{0}/{1} [{2}]"\
             .format(QLocale.languageToString(language),
                     QLocale.countryToString(country),
                     '-'.join(QLocale(language, country).name()
                              .split('_')).lower())
         if languageString not in allLanguages:
             allLanguages.append(languageString)
     
     return allLanguages
Beispiel #4
0
    def __init__(self, configDialog):
        """
        Constructor
        
        @param configDialog reference to the configuration dialog
            (ConfigurationDialog)
        """
        super(HelpWebBrowserPage, self).__init__()
        self.setupUi(self)
        self.setObjectName("HelpWebBrowserPage")

        self.__configDlg = configDialog
        mw = configDialog.parent().parent()
        if hasattr(mw, "helpWindow") and mw.helpWindow is not None:
            self.__helpWindow = mw.helpWindow
        elif hasattr(mw, "currentBrowser"):
            self.__helpWindow = mw
        else:
            self.__helpWindow = None
        self.setCurrentPageButton.setEnabled(self.__helpWindow is not None)

        defaultSchemes = ["file://", "http://", "https://"]
        self.defaultSchemeCombo.addItems(defaultSchemes)

        self.clickToFlashCheckBox.setIcon(
            UI.PixmapCache.getIcon("flashBlock.png"))

        # set initial values
        self.singleHelpWindowCheckBox.setChecked(
            Preferences.getHelp("SingleHelpWindow"))
        self.saveGeometryCheckBox.setChecked(
            Preferences.getHelp("SaveGeometry"))
        self.webSuggestionsCheckBox.setChecked(
            Preferences.getHelp("WebSearchSuggestions"))
        self.showTabPreviews.setChecked(Preferences.getHelp("ShowPreview"))
        self.accessKeysCheckBox.setChecked(
            Preferences.getHelp("AccessKeysEnabled"))

        self.javaCheckBox.setChecked(Preferences.getHelp("JavaEnabled"))
        self.javaScriptCheckBox.setChecked(
            Preferences.getHelp("JavaScriptEnabled"))
        self.jsOpenWindowsCheckBox.setChecked(
            Preferences.getHelp("JavaScriptCanOpenWindows"))
        self.jsClipboardCheckBox.setChecked(
            Preferences.getHelp("JavaScriptCanAccessClipboard"))
        self.pluginsCheckBox.setChecked(Preferences.getHelp("PluginsEnabled"))
        self.clickToFlashCheckBox.setChecked(
            Preferences.getHelp("ClickToFlashEnabled"))
        self.doNotTrackCheckBox.setChecked(Preferences.getHelp("DoNotTrack"))
        self.sendRefererCheckBox.setChecked(Preferences.getHelp("SendReferer"))

        self.diskCacheCheckBox.setChecked(
            Preferences.getHelp("DiskCacheEnabled"))
        self.cacheSizeSpinBox.setValue(Preferences.getHelp("DiskCacheSize"))
        cachePolicy = Preferences.getHelp("CachePolicy")
        if cachePolicy == QNetworkRequest.PreferNetwork:
            self.cacheKeepButton.setChecked(True)
        elif cachePolicy == QNetworkRequest.PreferCache:
            self.cachePreferButton.setChecked(True)
        elif cachePolicy == QNetworkRequest.AlwaysCache:
            self.cacheOfflineButton.setChecked(True)

        self.printBackgroundsCheckBox.setChecked(
            Preferences.getHelp("PrintBackgrounds"))

        self.startupCombo.setCurrentIndex(
            Preferences.getHelp("StartupBehavior"))
        self.homePageEdit.setText(Preferences.getHelp("HomePage"))

        self.defaultSchemeCombo.setCurrentIndex(
            self.defaultSchemeCombo.findText(
                Preferences.getHelp("DefaultScheme")))

        historyLimit = Preferences.getHelp("HistoryLimit")
        idx = 0
        if historyLimit == 1:
            idx = 0
        elif historyLimit == 7:
            idx = 1
        elif historyLimit == 14:
            idx = 2
        elif historyLimit == 30:
            idx = 3
        elif historyLimit == 365:
            idx = 4
        elif historyLimit == -1:
            idx = 5
        elif historyLimit == -2:
            idx = 6
        else:
            idx = 5
        self.expireHistory.setCurrentIndex(idx)

        for language in range(2, QLocale.LastLanguage + 1):
            countries = [
                l.country() for l in QLocale.matchingLocales(
                    language, QLocale.AnyScript, QLocale.AnyCountry)
            ]
            if len(countries) > 0:
                self.languageCombo.addItem(QLocale.languageToString(language),
                                           language)
        self.languageCombo.model().sort(0)
        self.languageCombo.insertSeparator(0)
        self.languageCombo.insertItem(0, QLocale.languageToString(0), 0)
        index = self.languageCombo.findData(
            Preferences.getHelp("SearchLanguage"))
        if index > -1:
            self.languageCombo.setCurrentIndex(index)

        if hasattr(QWebSettings, "SpatialNavigationEnabled"):
            self.spatialCheckBox.setChecked(
                Preferences.getHelp("SpatialNavigationEnabled"))
        else:
            self.spatialCheckBox.setEnabled(False)
        if hasattr(QWebSettings, "LinksIncludedInFocusChain"):
            self.linksInFocusChainCheckBox.setChecked(
                Preferences.getHelp("LinksIncludedInFocusChain"))
        else:
            self.linksInFocusChainCheckBox.setEnabled(False)
        if hasattr(QWebSettings, "XSSAuditingEnabled"):
            self.xssAuditingCheckBox.setChecked(
                Preferences.getHelp("XSSAuditingEnabled"))
        else:
            self.xssAuditingCheckBox.setEnabled(False)
        if hasattr(QWebSettings, "SiteSpecificQuirksEnabled"):
            self.quirksCheckBox.setChecked(
                Preferences.getHelp("SiteSpecificQuirksEnabled"))
        else:
            self.quirksCheckBox.setEnabled(False)
Beispiel #5
0
    def createGeneralOptionsGroupBox(self):
        self.generalOptionsGroupBox = QGroupBox("General Options")

        self.localeCombo = QComboBox()

        curLocaleIndex = -1
        index = 0

        this_language = self.locale().nativeLanguageName()
        this_country = self.locale().nativeCountryName()

        for locale in QLocale.matchingLocales(QLocale.AnyLanguage,
                                              QLocale.AnyScript,
                                              QLocale.AnyCountry):
            language = locale.nativeLanguageName()
            country = locale.nativeCountryName()

            if language == this_language and country == this_country:
                curLocaleIndex = index

            self.localeCombo.addItem('%s/%s' % (language, country), locale)
            index += 1

        if curLocaleIndex != -1:
            self.localeCombo.setCurrentIndex(curLocaleIndex)

        self.localeLabel = QLabel("&Locale")
        self.localeLabel.setBuddy(self.localeCombo)

        self.firstDayCombo = QComboBox()
        self.firstDayCombo.addItem("Sunday", Qt.Sunday)
        self.firstDayCombo.addItem("Monday", Qt.Monday)
        self.firstDayCombo.addItem("Tuesday", Qt.Tuesday)
        self.firstDayCombo.addItem("Wednesday", Qt.Wednesday)
        self.firstDayCombo.addItem("Thursday", Qt.Thursday)
        self.firstDayCombo.addItem("Friday", Qt.Friday)
        self.firstDayCombo.addItem("Saturday", Qt.Saturday)

        self.firstDayLabel = QLabel("Wee&k starts on:")
        self.firstDayLabel.setBuddy(self.firstDayCombo)

        self.selectionModeCombo = QComboBox()
        self.selectionModeCombo.addItem("Single selection",
                                        QCalendarWidget.SingleSelection)
        self.selectionModeCombo.addItem("None", QCalendarWidget.NoSelection)
        self.selectionModeLabel = QLabel("&Selection mode:")
        self.selectionModeLabel.setBuddy(self.selectionModeCombo)

        self.gridCheckBox = QCheckBox("&Grid")
        self.gridCheckBox.setChecked(self.calendar.isGridVisible())

        self.navigationCheckBox = QCheckBox("&Navigation bar")
        self.navigationCheckBox.setChecked(True)

        self.horizontalHeaderCombo = QComboBox()
        self.horizontalHeaderCombo.addItem(
            "Single letter day names", QCalendarWidget.SingleLetterDayNames)
        self.horizontalHeaderCombo.addItem("Short day names",
                                           QCalendarWidget.ShortDayNames)
        self.horizontalHeaderCombo.addItem("Long day names",
                                           QCalendarWidget.LongDayNames)
        self.horizontalHeaderCombo.addItem("None",
                                           QCalendarWidget.NoHorizontalHeader)
        self.horizontalHeaderCombo.setCurrentIndex(1)

        self.horizontalHeaderLabel = QLabel("&Horizontal header:")
        self.horizontalHeaderLabel.setBuddy(self.horizontalHeaderCombo)

        self.verticalHeaderCombo = QComboBox()
        self.verticalHeaderCombo.addItem("ISO week numbers",
                                         QCalendarWidget.ISOWeekNumbers)
        self.verticalHeaderCombo.addItem("None",
                                         QCalendarWidget.NoVerticalHeader)

        self.verticalHeaderLabel = QLabel("&Vertical header:")
        self.verticalHeaderLabel.setBuddy(self.verticalHeaderCombo)

        self.localeCombo.currentIndexChanged.connect(self.localeChanged)
        self.firstDayCombo.currentIndexChanged.connect(self.firstDayChanged)
        self.selectionModeCombo.currentIndexChanged.connect(
            self.selectionModeChanged)
        self.gridCheckBox.toggled.connect(self.calendar.setGridVisible)
        self.navigationCheckBox.toggled.connect(
            self.calendar.setNavigationBarVisible)
        self.horizontalHeaderCombo.currentIndexChanged.connect(
            self.horizontalHeaderChanged)
        self.verticalHeaderCombo.currentIndexChanged.connect(
            self.verticalHeaderChanged)

        checkBoxLayout = QHBoxLayout()
        checkBoxLayout.addWidget(self.gridCheckBox)
        checkBoxLayout.addStretch()
        checkBoxLayout.addWidget(self.navigationCheckBox)

        outerLayout = QGridLayout()
        outerLayout.addWidget(self.localeLabel, 0, 0)
        outerLayout.addWidget(self.localeCombo, 0, 1)
        outerLayout.addWidget(self.firstDayLabel, 1, 0)
        outerLayout.addWidget(self.firstDayCombo, 1, 1)
        outerLayout.addWidget(self.selectionModeLabel, 2, 0)
        outerLayout.addWidget(self.selectionModeCombo, 2, 1)
        outerLayout.addLayout(checkBoxLayout, 3, 0, 1, 2)
        outerLayout.addWidget(self.horizontalHeaderLabel, 4, 0)
        outerLayout.addWidget(self.horizontalHeaderCombo, 4, 1)
        outerLayout.addWidget(self.verticalHeaderLabel, 5, 0)
        outerLayout.addWidget(self.verticalHeaderCombo, 5, 1)
        self.generalOptionsGroupBox.setLayout(outerLayout)

        self.firstDayChanged(self.firstDayCombo.currentIndex())
        self.selectionModeChanged(self.selectionModeCombo.currentIndex())
        self.horizontalHeaderChanged(self.horizontalHeaderCombo.currentIndex())
        self.verticalHeaderChanged(self.verticalHeaderCombo.currentIndex())
Beispiel #6
0
 def __init__(self, configDialog):
     """
     Constructor
     
     @param configDialog reference to the configuration dialog
         (ConfigurationDialog)
     """
     super(WebBrowserPage, self).__init__()
     self.setupUi(self)
     self.setObjectName("WebBrowserPage")
     
     self.__configDlg = configDialog
     mw = configDialog.parent().parent()
     if hasattr(mw, "helpWindow") and mw.helpWindow is not None:
         # IDE
         self.__browserWindow = mw.helpWindow
     elif hasattr(mw, "currentBrowser"):
         # Web Browser
         self.__browserWindow = mw
     else:
         self.__browserWindow = None
     self.setCurrentPageButton.setEnabled(self.__browserWindow is not None)
     self.imageSearchGroup.setEnabled(self.__browserWindow is not None)
     
     defaultSchemes = ["file://", "http://", "https://"]
     self.defaultSchemeCombo.addItems(defaultSchemes)
     
     # set initial values
     self.singleHelpWindowCheckBox.setChecked(
         Preferences.getWebBrowser("SingleWebBrowserWindow"))
     self.saveGeometryCheckBox.setChecked(
         Preferences.getWebBrowser("SaveGeometry"))
     self.webSuggestionsCheckBox.setChecked(
         Preferences.getWebBrowser("WebSearchSuggestions"))
     self.showTabPreviews.setChecked(
         Preferences.getWebBrowser("ShowPreview"))
     self.errorPageCheckBox.setChecked(
         Preferences.getWebBrowser("ErrorPageEnabled"))
     self.scrollingCheckBox.setChecked(
         Preferences.getWebBrowser("ScrollAnimatorEnabled"))
     self.fullscreenCheckBox.setChecked(
         Preferences.getWebBrowser("FullScreenSupportEnabled"))
     try:
         # Qt 5.7+
         self.screenCaptureCheckBox.setChecked(
             Preferences.getWebBrowser("ScreenCaptureEnabled"))
         self.webGLCheckBox.setChecked(
             Preferences.getWebBrowser("WebGLEnabled"))
     except KeyError:
         self.screenCaptureCheckBox.setEnabled(False)
         self.webGLCheckBox.setEnabled(False)
     try:
         # Qt 5.11
         self.autoplayMediaCheckBox.setChecked(
             Preferences.getWebBrowser("PlaybackRequiresUserGesture"))
         self.webRtcPublicOnlyCheckBox.setChecked(
             Preferences.getWebBrowser("WebRTCPublicInterfacesOnly"))
     except KeyError:
         self.autoplayMediaCheckBox.setEnabled(False)
         self.webRtcPublicOnlyCheckBox.setEnabled(False)
     try:
         # Qt 5.12
         self.dnsPrefetchCheckBox.setChecked(
             Preferences.getWebBrowser("DnsPrefetchEnabled"))
     except KeyError:
         self.dnsPrefetchCheckBox.setEnabled(False)
     
     self.javaScriptGroup.setChecked(
         Preferences.getWebBrowser("JavaScriptEnabled"))
     self.jsOpenWindowsCheckBox.setChecked(
         Preferences.getWebBrowser("JavaScriptCanOpenWindows"))
     try:
         # Qt 5.10
         self.jsActivateWindowsCheckBox.setChecked(
             Preferences.getWebBrowser(
                 "AllowWindowActivationFromJavaScript"))
     except KeyError:
         self.jsActivateWindowsCheckBox.setEnabled(False)
     self.jsClipboardCheckBox.setChecked(
         Preferences.getWebBrowser("JavaScriptCanAccessClipboard"))
     try:
         # Qt 5.11
         self.jsPasteCheckBox.setChecked(
             Preferences.getWebBrowser("JavaScriptCanPaste"))
     except KeyError:
         self.jsPasteCheckBox.setEnabled(False)
     self.doNotTrackCheckBox.setChecked(
         Preferences.getWebBrowser("DoNotTrack"))
     self.refererSendComboBox.setCurrentIndex(
         Preferences.getWebBrowser("RefererSendReferer"))
     self.refererDefaultPolicyCcomboBox.setCurrentIndex(
         Preferences.getWebBrowser("RefererDefaultPolicy"))
     self.refererTrimmingPolicyComboBox.setCurrentIndex(
         Preferences.getWebBrowser("RefererTrimmingPolicy"))
     
     self.pluginsGroup.setChecked(
         Preferences.getWebBrowser("PluginsEnabled"))
     try:
         # Qt 5.13
         self.pdfViewerCheckBox.setChecked(
             Preferences.getWebBrowser("PdfViewerEnabled"))
     except KeyError:
         self.pdfViewerCheckBox.setEnabled(False)
     
     self.diskCacheCheckBox.setChecked(
         Preferences.getWebBrowser("DiskCacheEnabled"))
     self.cacheSizeSpinBox.setValue(
         Preferences.getWebBrowser("DiskCacheSize"))
     
     self.startupCombo.setCurrentIndex(
         Preferences.getWebBrowser("StartupBehavior"))
     self.newTabCombo.setCurrentIndex(
         Preferences.getWebBrowser("NewTabBehavior"))
     self.homePageEdit.setText(
         Preferences.getWebBrowser("HomePage"))
     self.loadTabOnActivationCheckBox.setChecked(
         Preferences.getWebBrowser("LoadTabOnActivation"))
     
     self.saveSessionCheckBox.setChecked(
         Preferences.getWebBrowser("SessionAutoSave"))
     self.sessionTimerSpinBox.setValue(
         Preferences.getWebBrowser("SessionAutoSaveInterval"))
     
     self.defaultSchemeCombo.setCurrentIndex(
         self.defaultSchemeCombo.findText(
             Preferences.getWebBrowser("DefaultScheme")))
     
     historyLimit = Preferences.getWebBrowser("HistoryLimit")
     idx = 0
     if historyLimit == 1:
         idx = 0
     elif historyLimit == 7:
         idx = 1
     elif historyLimit == 14:
         idx = 2
     elif historyLimit == 30:
         idx = 3
     elif historyLimit == 365:
         idx = 4
     elif historyLimit == -1:
         idx = 5
     elif historyLimit == -2:
         idx = 6
     else:
         idx = 5
     self.expireHistory.setCurrentIndex(idx)
     
     for language in range(2, QLocale.LastLanguage + 1):
         countries = [l.country() for l in QLocale.matchingLocales(
             language, QLocale.AnyScript, QLocale.AnyCountry)]
         if len(countries) > 0:
             self.languageCombo.addItem(
                 QLocale.languageToString(language), language)
     self.languageCombo.model().sort(0)
     self.languageCombo.insertSeparator(0)
     self.languageCombo.insertItem(0, QLocale.languageToString(0), 0)
     index = self.languageCombo.findData(
         Preferences.getWebBrowser("SearchLanguage"))
     if index > -1:
         self.languageCombo.setCurrentIndex(index)
     
     if self.__browserWindow:
         for engineName in (
             self.__browserWindow.imageSearchEngine().searchEngineNames()
         ):
             self.imageSearchComboBox.addItem(
                 UI.PixmapCache.getIcon(
                     "{0}.png".format(engineName.lower())),
                 engineName)
         index = self.imageSearchComboBox.findText(
             Preferences.getWebBrowser("ImageSearchEngine"))
         if index > -1:
             self.imageSearchComboBox.setCurrentIndex(index)
     
     self.spatialCheckBox.setChecked(
         Preferences.getWebBrowser("SpatialNavigationEnabled"))
     self.linksInFocusChainCheckBox.setChecked(
         Preferences.getWebBrowser("LinksIncludedInFocusChain"))
     try:
         # Qt 5.8
         self.focusOnNavigationCheckBox.setChecked(
             Preferences.getWebBrowser("FocusOnNavigationEnabled"))
     except KeyError:
         self.focusOnNavigationCheckBox.setEnabled(False)
     
     self.xssAuditingCheckBox.setChecked(
         Preferences.getWebBrowser("XSSAuditingEnabled"))
     try:
         # Qt 5.8
         self.insecureContentsCheckBox.setChecked(
             Preferences.getWebBrowser("AllowRunningInsecureContent"))
     except KeyError:
         self.insecureContentsCheckBox.setEnabled(False)
     try:
         # Qt 5.9
         self.insecureGeolocationCheckBox.setChecked(
             Preferences.getWebBrowser("AllowGeolocationOnInsecureOrigins"))
     except KeyError:
         self.insecureGeolocationCheckBox.setEnabled(False)
     
     try:
         # Qt 5.8
         self.printBackgroundCheckBox.setChecked(
             Preferences.getWebBrowser("PrintElementBackgrounds"))
     except KeyError:
         self.printBackgroundCheckBox.setEnabled(False)
     
     self.autoScrollGroupBox.setChecked(
         Preferences.getWebBrowser("AutoScrollEnabled"))
     self.autoScrollDividerSpinBox.setValue(
         Preferences.getWebBrowser("AutoScrollDivider"))
     
     if qVersionTuple() < (5, 11, 0):
         self.webInspectorGroup.setChecked(
             Preferences.getWebBrowser("WebInspectorEnabled"))
         self.webInspectorPortSpinBox.setValue(
             Preferences.getWebBrowser("WebInspectorPort"))
     else:
         self.webInspectorGroup.hide()
     
     if qVersionTuple() >= (5, 11, 0):
         self.protocolHandlerComboBox.setCurrentIndex(
             Preferences.getWebBrowser("AcceptProtocolHandlerRequest"))
         self.requestQuotaComboBox.setCurrentIndex(
             Preferences.getWebBrowser("AcceptQuotaRequest"))
     else:
         self.protocolHandlerComboBox.setEnabled(False)
         self.requestQuotaComboBox.setEnabled(False)
Beispiel #7
0
 def __init__(self, configDialog):
     """
     Constructor
     
     @param configDialog reference to the configuration dialog
         (ConfigurationDialog)
     """
     super(HelpWebBrowserPage, self).__init__()
     self.setupUi(self)
     self.setObjectName("HelpWebBrowserPage")
     
     self.__configDlg = configDialog
     mw = configDialog.parent().parent()
     if hasattr(mw, "helpWindow") and mw.helpWindow is not None:
         self.__helpWindow = mw.helpWindow
     elif hasattr(mw, "currentBrowser"):
         self.__helpWindow = mw
     else:
         self.__helpWindow = None
     self.setCurrentPageButton.setEnabled(self.__helpWindow is not None)
     
     defaultSchemes = ["file://", "http://", "https://"]
     self.defaultSchemeCombo.addItems(defaultSchemes)
     
     self.clickToFlashCheckBox.setIcon(
         UI.PixmapCache.getIcon("flashBlock.png"))
     
     # set initial values
     self.singleHelpWindowCheckBox.setChecked(
         Preferences.getHelp("SingleHelpWindow"))
     self.saveGeometryCheckBox.setChecked(
         Preferences.getHelp("SaveGeometry"))
     self.webSuggestionsCheckBox.setChecked(
         Preferences.getHelp("WebSearchSuggestions"))
     self.showTabPreviews.setChecked(
         Preferences.getHelp("ShowPreview"))
     self.accessKeysCheckBox.setChecked(
         Preferences.getHelp("AccessKeysEnabled"))
     
     self.javaCheckBox.setChecked(
         Preferences.getHelp("JavaEnabled"))
     self.javaScriptCheckBox.setChecked(
         Preferences.getHelp("JavaScriptEnabled"))
     self.jsOpenWindowsCheckBox.setChecked(
         Preferences.getHelp("JavaScriptCanOpenWindows"))
     self.jsClipboardCheckBox.setChecked(
         Preferences.getHelp("JavaScriptCanAccessClipboard"))
     self.pluginsCheckBox.setChecked(
         Preferences.getHelp("PluginsEnabled"))
     self.clickToFlashCheckBox.setChecked(
         Preferences.getHelp("ClickToFlashEnabled"))
     self.doNotTrackCheckBox.setChecked(
         Preferences.getHelp("DoNotTrack"))
     self.sendRefererCheckBox.setChecked(
         Preferences.getHelp("SendReferer"))
     
     self.diskCacheCheckBox.setChecked(
         Preferences.getHelp("DiskCacheEnabled"))
     self.cacheSizeSpinBox.setValue(
         Preferences.getHelp("DiskCacheSize"))
     cachePolicy = Preferences.getHelp("CachePolicy")
     if cachePolicy == QNetworkRequest.PreferNetwork:
         self.cacheKeepButton.setChecked(True)
     elif cachePolicy == QNetworkRequest.PreferCache:
         self.cachePreferButton.setChecked(True)
     elif cachePolicy == QNetworkRequest.AlwaysCache:
         self.cacheOfflineButton.setChecked(True)
     
     self.printBackgroundsCheckBox.setChecked(
         Preferences.getHelp("PrintBackgrounds"))
     
     self.startupCombo.setCurrentIndex(
         Preferences.getHelp("StartupBehavior"))
     self.homePageEdit.setText(
         Preferences.getHelp("HomePage"))
     
     self.defaultSchemeCombo.setCurrentIndex(
         self.defaultSchemeCombo.findText(
             Preferences.getHelp("DefaultScheme")))
     
     historyLimit = Preferences.getHelp("HistoryLimit")
     idx = 0
     if historyLimit == 1:
         idx = 0
     elif historyLimit == 7:
         idx = 1
     elif historyLimit == 14:
         idx = 2
     elif historyLimit == 30:
         idx = 3
     elif historyLimit == 365:
         idx = 4
     elif historyLimit == -1:
         idx = 5
     elif historyLimit == -2:
         idx = 6
     else:
         idx = 5
     self.expireHistory.setCurrentIndex(idx)
     
     for language in range(2, QLocale.LastLanguage + 1):
         countries = [l.country() for l in QLocale.matchingLocales(
             language, QLocale.AnyScript, QLocale.AnyCountry)]
         if len(countries) > 0:
             self.languageCombo.addItem(
                 QLocale.languageToString(language), language)
     self.languageCombo.model().sort(0)
     self.languageCombo.insertSeparator(0)
     self.languageCombo.insertItem(0, QLocale.languageToString(0), 0)
     index = self.languageCombo.findData(
         Preferences.getHelp("SearchLanguage"))
     if index > -1:
         self.languageCombo.setCurrentIndex(index)
     
     if hasattr(QWebSettings, "SpatialNavigationEnabled"):
         self.spatialCheckBox.setChecked(
             Preferences.getHelp("SpatialNavigationEnabled"))
     else:
         self.spatialCheckBox.setEnabled(False)
     if hasattr(QWebSettings, "LinksIncludedInFocusChain"):
         self.linksInFocusChainCheckBox.setChecked(
             Preferences.getHelp("LinksIncludedInFocusChain"))
     else:
         self.linksInFocusChainCheckBox.setEnabled(False)
     if hasattr(QWebSettings, "XSSAuditingEnabled"):
         self.xssAuditingCheckBox.setChecked(
             Preferences.getHelp("XSSAuditingEnabled"))
     else:
         self.xssAuditingCheckBox.setEnabled(False)
     if hasattr(QWebSettings, "SiteSpecificQuirksEnabled"):
         self.quirksCheckBox.setChecked(
             Preferences.getHelp("SiteSpecificQuirksEnabled"))
     else:
         self.quirksCheckBox.setEnabled(False)
Beispiel #8
0
    def createGeneralOptionsGroupBox(self):
        self.generalOptionsGroupBox = QGroupBox("General Options")

        self.localeCombo = QComboBox()

        curLocaleIndex = -1
        index = 0

        this_language = self.locale().nativeLanguageName()
        this_country = self.locale().nativeCountryName()

        for locale in QLocale.matchingLocales(QLocale.AnyLanguage, QLocale.AnyScript, QLocale.AnyCountry):
            language = locale.nativeLanguageName()
            country = locale.nativeCountryName()

            if language == this_language and country == this_country:
                curLocaleIndex = index

            self.localeCombo.addItem('%s/%s' % (language, country), locale)
            index += 1

        if curLocaleIndex != -1:
            self.localeCombo.setCurrentIndex(curLocaleIndex)

        self.localeLabel = QLabel("&Locale")
        self.localeLabel.setBuddy(self.localeCombo)

        self.firstDayCombo = QComboBox()
        self.firstDayCombo.addItem("Sunday", Qt.Sunday)
        self.firstDayCombo.addItem("Monday", Qt.Monday)
        self.firstDayCombo.addItem("Tuesday", Qt.Tuesday)
        self.firstDayCombo.addItem("Wednesday", Qt.Wednesday)
        self.firstDayCombo.addItem("Thursday", Qt.Thursday)
        self.firstDayCombo.addItem("Friday", Qt.Friday)
        self.firstDayCombo.addItem("Saturday", Qt.Saturday)

        self.firstDayLabel = QLabel("Wee&k starts on:")
        self.firstDayLabel.setBuddy(self.firstDayCombo)

        self.selectionModeCombo = QComboBox()
        self.selectionModeCombo.addItem("Single selection",
                QCalendarWidget.SingleSelection)
        self.selectionModeCombo.addItem("None",
                QCalendarWidget.NoSelection)
        self.selectionModeLabel = QLabel("&Selection mode:")
        self.selectionModeLabel.setBuddy(self.selectionModeCombo)

        self.gridCheckBox = QCheckBox("&Grid")
        self.gridCheckBox.setChecked(self.calendar.isGridVisible())

        self.navigationCheckBox = QCheckBox("&Navigation bar")
        self.navigationCheckBox.setChecked(True)

        self.horizontalHeaderCombo = QComboBox()
        self.horizontalHeaderCombo.addItem("Single letter day names",
                QCalendarWidget.SingleLetterDayNames)
        self.horizontalHeaderCombo.addItem("Short day names",
                QCalendarWidget.ShortDayNames)
        self.horizontalHeaderCombo.addItem("Long day names",
                QCalendarWidget.LongDayNames)
        self.horizontalHeaderCombo.addItem("None",
                QCalendarWidget.NoHorizontalHeader)
        self.horizontalHeaderCombo.setCurrentIndex(1)

        self.horizontalHeaderLabel = QLabel("&Horizontal header:")
        self.horizontalHeaderLabel.setBuddy(self.horizontalHeaderCombo)

        self.verticalHeaderCombo = QComboBox()
        self.verticalHeaderCombo.addItem("ISO week numbers",
                QCalendarWidget.ISOWeekNumbers)
        self.verticalHeaderCombo.addItem("None",
                QCalendarWidget.NoVerticalHeader)

        self.verticalHeaderLabel = QLabel("&Vertical header:")
        self.verticalHeaderLabel.setBuddy(self.verticalHeaderCombo)

        self.localeCombo.currentIndexChanged.connect(self.localeChanged)
        self.firstDayCombo.currentIndexChanged.connect(self.firstDayChanged)
        self.selectionModeCombo.currentIndexChanged.connect(
                self.selectionModeChanged)
        self.gridCheckBox.toggled.connect(self.calendar.setGridVisible)
        self.navigationCheckBox.toggled.connect(
                self.calendar.setNavigationBarVisible)
        self.horizontalHeaderCombo.currentIndexChanged.connect(
                self.horizontalHeaderChanged)
        self.verticalHeaderCombo.currentIndexChanged.connect(
                self.verticalHeaderChanged)

        checkBoxLayout = QHBoxLayout()
        checkBoxLayout.addWidget(self.gridCheckBox)
        checkBoxLayout.addStretch()
        checkBoxLayout.addWidget(self.navigationCheckBox)

        outerLayout = QGridLayout()
        outerLayout.addWidget(self.localeLabel, 0, 0)
        outerLayout.addWidget(self.localeCombo, 0, 1)
        outerLayout.addWidget(self.firstDayLabel, 1, 0)
        outerLayout.addWidget(self.firstDayCombo, 1, 1)
        outerLayout.addWidget(self.selectionModeLabel, 2, 0)
        outerLayout.addWidget(self.selectionModeCombo, 2, 1)
        outerLayout.addLayout(checkBoxLayout, 3, 0, 1, 2)
        outerLayout.addWidget(self.horizontalHeaderLabel, 4, 0)
        outerLayout.addWidget(self.horizontalHeaderCombo, 4, 1)
        outerLayout.addWidget(self.verticalHeaderLabel, 5, 0)
        outerLayout.addWidget(self.verticalHeaderCombo, 5, 1)
        self.generalOptionsGroupBox.setLayout(outerLayout)

        self.firstDayChanged(self.firstDayCombo.currentIndex())
        self.selectionModeChanged(self.selectionModeCombo.currentIndex())
        self.horizontalHeaderChanged(self.horizontalHeaderCombo.currentIndex())
        self.verticalHeaderChanged(self.verticalHeaderCombo.currentIndex())