Example #1
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
 def __init__(self, parent=None):
     super(QComboBox, self).__init__(parent)
     for i in range(1, 357):
         locale = QLocale(i)
         if locale and QLocale.languageToString(locale.language()) != "C":
             codeName = locale.name().split("_")[0]
             if codeName not in self.codesList:
                 self.codesList.append(codeName)
         self.codesList.sort()
         
     for lang in self.codesList:
         locale = QLocale(lang)
         if locale:
             languageName = QLocale.languageToString(locale.language())
             self.languageList.append(languageName.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,lang)
             painter.end()
             self.addItem(QIcon(QPixmap.fromImage(codeIcon)), languageName.title())
Example #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
Example #4
0
def get_available_translations():
    # Returns a list of tuples: (lanugage_name, language_code) for each available translation
    translations_list = [str(p.stem) for p in Path(TRANSLATIONS_DIR).glob('*.qm')]
    translations_list.append("en_US")

    result = {}
    for lang_code in translations_list:
        loc = QLocale(lang_code)
        lang_name = loc.languageToString(loc.language())
        result[lang_name] = lang_code
    return result
Example #5
0
 def setup_translation(self):
     self.tr("Test translator")
     sys_locale = QLocale.system()
     lang_code = QLocale.languageToString(sys_locale.language())
     logger.info('System language: {0}, {1}'.format(lang_code, sys_locale.bcp47Name()))
     translator = QTranslator(self)
     # bool load(locale, filename, prefix = '', directory = '', suffix = '')
     res = translator.load(sys_locale, 'xnovacmd', '_', './translations')
     # Loads filename + prefix + ui language name + suffix (".qm" if the suffix is not specified),
     # which may be an absolute file name or relative to directory.
     # Returns true if the translation is successfully loaded; otherwise returns false.
     if res:
         logger.info('Loaded translation OK')
         self.installTranslator(translator)
     else:
         logger.warn('Failed to load translator!')
    def __createLanguageString(self, language):
        """
        Private method to create a language string given a language identifier.
        
        @param language language identifier
        @type str
        @return language string
        @rtype str
        """
        loc = QLocale(language)

        if loc.language() == QLocale.C:
            return language

        country = QLocale.countryToString(loc.country())
        lang = QLocale.languageToString(loc.language())
        languageString = "{0}/{1} [{2}]".format(lang, country, language)
        return languageString
Example #7
0
def get_language() -> str:
    """
    Returns the language to be used.
    Reads from the settings, if it's None, try to use the locale one and defaults to English
    :return: 2 chars long string representing the language to be used
    """
    # get lang from settings
    lang = Settings().value('lang')
    if not lang:
        # if None, try to use the locale one
        from ..swiss_locator_filter import AVAILABLE_LANGUAGES
        locale_lang = QLocale.languageToString(
            QLocale(QSettings().value('locale/userLocale')).language())
        if locale_lang in AVAILABLE_LANGUAGES:
            lang = AVAILABLE_LANGUAGES[locale_lang]
        else:
            # defaults to English
            lang = 'en'

    return lang
Example #8
0
    def __init__(self, parent=None):
        """
        Constructor

        @param parent reference to the parent widget
        @type QWidget
        """

        super(MainWindow, self).__init__(parent)
        self.setupUi(self)

        # 快捷键
        # 查找文件
        QShortcut(QKeySequence("Ctrl+F"), self,
                  self.on_pushButtonFindFile_clicked)
        # 自动翻译
        QShortcut(QKeySequence("Ctrl+T"), self,
                  self.on_pushButtonTranslate_clicked)
        # 保存翻译后的字幕文件
        QShortcut(QKeySequence("Ctrl+S"), self,
                  self.on_pushButtonSaveFile_clicked)
        # 保存双语字幕
        QShortcut(QKeySequence("Ctrl+Shift+S"), self,
                  self.on_pushButtonSaveFile2_clicked)
        # 打开帮助页面
        QShortcut(QKeySequence("F1"), self, self.showHelp)
        QShortcut(QKeySequence("Ctrl+H"), self, self.showHelp)

        self.sf = ServiceFile()

        # 目标语种初始化
        if QLocale.languageToString(QLocale.system().language()) == "Chinese":
            self.targetLanguage = "zh-CN"
        else:
            self.targetLanguage = "zh-CN"

        self.canBeSave = False
        self.helpURL = "http://coolwp.com/subtitle-translator.html"
Example #9
0
    def __init__(self, parent = None):
        super().__init__(parent)
        self.mUi = Ui_PreferencesDialog()
        self.mLanguages = LanguageManager.instance().availableLanguages()

        self.mUi.setupUi(self)
        self.setWindowFlags(self.windowFlags() & ~Qt.WindowContextHelpButtonHint)
        self.mUi.openGL.setEnabled(QGLFormat.hasOpenGL())
        for name in self.mLanguages:
            locale = QLocale(name)
            string = "%s (%s)"%(QLocale.languageToString(locale.language()), QLocale.countryToString(locale.country()))
            self.mUi.languageCombo.addItem(string, name)

        self.mUi.languageCombo.model().sort(0)
        self.mUi.languageCombo.insertItem(0, self.tr("System default"))
        self.mObjectTypesModel = ObjectTypesModel(self)
        self.mUi.objectTypesTable.setModel(self.mObjectTypesModel)
        self.mUi.objectTypesTable.setItemDelegateForColumn(1, ColorDelegate(self))
        horizontalHeader = self.mUi.objectTypesTable.horizontalHeader()
        horizontalHeader.setSectionResizeMode(QHeaderView.Stretch)
        Utils.setThemeIcon(self.mUi.addObjectTypeButton, "add")
        Utils.setThemeIcon(self.mUi.removeObjectTypeButton, "remove")
        self.fromPreferences()
        self.mUi.languageCombo.currentIndexChanged.connect(self.languageSelected)
        self.mUi.openGL.toggled.connect(self.useOpenGLToggled)
        self.mUi.gridColor.colorChanged.connect(preferences.Preferences.instance().setGridColor)
        self.mUi.gridFine.valueChanged.connect(preferences.Preferences.instance().setGridFine)
        self.mUi.objectLineWidth.valueChanged.connect(self.objectLineWidthChanged)
        self.mUi.objectTypesTable.selectionModel().selectionChanged.connect(self.selectedObjectTypesChanged)
        self.mUi.objectTypesTable.doubleClicked.connect(self.objectTypeIndexClicked)
        self.mUi.addObjectTypeButton.clicked.connect(self.addObjectType)
        self.mUi.removeObjectTypeButton.clicked.connect(self.removeSelectedObjectTypes)
        self.mUi.importObjectTypesButton.clicked.connect(self.importObjectTypes)
        self.mUi.exportObjectTypesButton.clicked.connect(self.exportObjectTypes)
        self.mObjectTypesModel.dataChanged.connect(self.applyObjectTypes)
        self.mObjectTypesModel.rowsRemoved.connect(self.applyObjectTypes)
        self.mUi.autoMapWhileDrawing.toggled.connect(self.useAutomappingDrawingToggled)
        self.mUi.openLastFiles.toggled.connect(self.openLastFilesToggled)
Example #10
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)
Example #11
0
def writeJson(configDictionary={}):
    basedata = {}
    metadata = {}
    authorList = []
    taglist = []
    listOfRoles = [
        "Writer", "Inker", "Creator", "Editor", "Cartoonist", "Colorist",
        "Letterer", "Penciller", "Painter", "Cover", "Artist"
    ]

    if "authorList" in configDictionary.keys():
        for authorE in range(len(configDictionary["authorList"])):
            author = {}

            authorDict = configDictionary["authorList"][authorE]
            stringName = []
            if "last-name" in authorDict.keys():
                stringName.append(authorDict["last-name"])
            if "first-name" in authorDict.keys():
                stringName.append(authorDict["first-name"])
            if "nickname" in authorDict.keys():
                stringName.append("(" + authorDict["nickname"] + ")")
            author["person"] = ",".join(stringName)
            if "role" in authorDict.keys():
                role = str(authorDict["role"]).title()
                if "editor" in role.lower():
                    role = "Editor"
                if "cover" in role.lower():
                    role = "Cover"
                if role in listOfRoles:
                    author["role"] = role
            authorList.append(author)

    if "characters" in configDictionary.keys():
        for character in configDictionary["characters"]:
            taglist.append(character)
    if "format" in configDictionary.keys():
        for item in configDictionary["format"]:
            taglist.append(item)
    if "otherKeywords" in configDictionary.keys():
        for item in configDictionary["otherKeywords"]:
            taglist.append(item)

    if "seriesName" in configDictionary.keys():
        metadata["series"] = configDictionary["seriesName"]
    if "title" in configDictionary.keys():
        metadata["title"] = configDictionary["title"]
    else:
        metadata["title"] = "Unnamed comic"
    if "publisherName" in configDictionary.keys():
        metadata["publisher"] = configDictionary["publisherName"]
    if "publishingDate" in configDictionary.keys():
        date = QDate.fromString(configDictionary["publishingDate"], Qt.ISODate)
        metadata["publicationMonth"] = date.month()
        metadata["publicationYear"] = date.year()
    if "seriesNumber" in configDictionary.keys():
        metadata["issue"] = configDictionary["seriesNumber"]
    if "seriesVolume" in configDictionary.keys():
        metadata["volume"] = configDictionary["seriesVolume"]
    if "genre" in configDictionary.keys():
        if isinstance(configDictionary["genre"], dict):
            listKeys = []
            for key in configDictionary["genre"].keys():
                listKeys.append(key)
            metadata["genre"] = listKeys
        else:
            metadata["genre"] = configDictionary["genre"]
    if "language" in configDictionary.keys():
        metadata["language"] = QLocale.languageToString(
            QLocale(configDictionary["language"]).language())

    metadata["credits"] = authorList

    metadata["tags"] = taglist
    if "summary" in configDictionary.keys():
        metadata["comments"] = configDictionary["summary"]
    else:
        metadata["comments"] = "File generated without summary"

    #

    basedata["appID"] = "Krita"
    basedata["lastModified"] = QDateTime.currentDateTimeUtc().toString(
        Qt.ISODate)
    basedata["ComicBookInfo/1.0"] = metadata

    return json.dumps(basedata)
Example #12
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)
Example #13
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)
Example #14
0
    def createGeneralOptionsGroupBox(self):
        self.generalOptionsGroupBox = QGroupBox("General Options")

        self.localeCombo = QComboBox()

        curLocaleIndex = -1
        index = 0

        for lid in range(QLocale.C, QLocale.LastLanguage + 1):
            lang = QLocale.Language(lid)
            countries = QLocale.countriesForLanguage(lang)
            for country in countries:
                label = "%s/%s" % (QLocale.languageToString(lang),
                                   QLocale.countryToString(country))
                locale = QLocale(lang, country)
                if self.locale().language() == lang and self.locale().country() == country:
                    curLocaleIndex = index

                self.localeCombo.addItem(label, 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())
Example #15
0
    def createGeneralOptionsGroupBox(self):
        self.generalOptionsGroupBox = QGroupBox("General Options")

        self.localeCombo = QComboBox()

        curLocaleIndex = -1
        index = 0

        for lid in range(QLocale.C, QLocale.LastLanguage + 1):
            lang = QLocale.Language(lid)
            countries = QLocale.countriesForLanguage(lang)
            for country in countries:
                label = "%s/%s" % (QLocale.languageToString(lang),
                                   QLocale.countryToString(country))
                locale = QLocale(lang, country)
                if self.locale().language() == lang and self.locale().country(
                ) == country:
                    curLocaleIndex = index

                self.localeCombo.addItem(label, 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())