Ejemplo n.º 1
0
    def __init__(self, parent=None):
        super().__init__(parent)
        self._ui = uic.loadUi('mc/preferences/AcceptLanguage.ui', self)

        self.setAttribute(Qt.WA_DeleteOnClose)

        self._ui.listWidget.setLayoutDirection(Qt.LeftToRight)

        settings = Settings()
        settings.beginGroup('Language')
        # QStringList
        langs = settings.value('acceptLanguage',
                               self.defaultLanguage(),
                               type=list)
        settings.endGroup()

        for code in langs:
            loc = QLocale(code.replace('-', '_'))
            label = ''

            if loc.language() == QLocale.C:
                label = _('Personal [%s]') % code
            else:
                label = '%s/%s [%s]' % (loc.languageToString(
                    loc.language()), loc.countryToString(loc.country()), code)
            self._ui.listWidget.addItem(label)

        self._ui.add.clicked.connect(self.addLanguage)
        self._ui.remove.clicked.connect(self.removeLanguage)
        self._ui.up.clicked.connect(self.upLanguage)
        self._ui.down.clicked.connect(self.downLanguage)
Ejemplo n.º 2
0
 def _expand(self, language):
     '''
     @param: QLocale::Language
     @return: QStringList
     '''
     allLanguages = []
     countries = QLocale.matchingLocales(language, QLocale.AnyScript,
                                         QLocale.AnyCountry)
     for jdx in range(0, len(countries)):
         languageString = ''
         country = countries[jdx].country()
         if len(countries) == 1:
             languageString = '%s [%s]' % (QLocale.languageToString(
                 language), QLocale(language).name().split('_')[0])
         else:
             languageString = '%s/%s [%s]' % (QLocale.languageToString(
                 language), QLocale.countryToString(country), ('-'.join(
                     QLocale(language, country).name().split('_'))).lower())
         if languageString not in allLanguages:
             allLanguages.append(languageString)
     return allLanguages