Beispiel #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
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
    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
    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)
Beispiel #5
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())
Beispiel #6
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())