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 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)
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())
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())