Ejemplo n.º 1
0
def _init_translation(qt_app):
    """Sets up translation data for the application.
  qt_app -- The QApplication that is being set up.
  """
    # Set up translation for Qt's built-in strings.
    qt_translator = QTranslator(qt_app)
    if not qt_translator.load(
            'qt_' + QLocale.system().name(),
            QLibraryInfo.location(QLibraryInfo.TranslationsPath)):
        # TODO: Log the failure to load translation information.
        pass
    elif not qt_app.installTranslator(qt_translator):
        # TODO: Log the failure to install translation information.
        pass

    # Set up translation for app-specific strings.
    app_translator = QTranslator(qt_app)
    app_translations_path = QDir.toNativeSeparators('./qt_qm/translations')
    if not app_translator.load('scriptaseq_' + QLocale.system().name(),
                               app_translations_path):
        # TODO: Log the failure to load translation information.
        pass
    elif not qt_app.installTranslator(app_translator):
        # TODO: Log the failure to load translation information.
        pass
Ejemplo n.º 2
0
 def on_bridge_ready(self):
     f = QApplication.instance().font()
     fi = QFontInfo(f)
     family = f.family()
     if family in ('.AppleSystemUIFont', 'MS Shell Dlg 2'):
         family = 'system-ui'
     ui_data = {
         'all_font_families':
         QFontDatabase().families(),
         'ui_font_family':
         family,
         'ui_font_sz':
         '{}px'.format(fi.pixelSize()),
         'show_home_page_on_ready':
         self.show_home_page_on_ready,
         'system_colors':
         system_colors(),
         'QT_VERSION':
         QT_VERSION,
         'short_time_fmt':
         QLocale.system().timeFormat(QLocale.FormatType.ShortFormat),
     }
     self.bridge.create_view(vprefs['session_data'],
                             vprefs['local_storage'],
                             field_metadata.all_metadata(), ui_data)
     for func, args in iteritems(self.pending_bridge_ready_actions):
         getattr(self.bridge, func)(*args)
Ejemplo n.º 3
0
 def _onLanguagesReceived(self, languages):
     loc = QLocale.system()
     sysLang = QLocale.languageToString(loc.language())
     preferredLanguages = self._getPreferredLanguages()
     self._langList.clear()
     firstCheckedItem = None
     for lang in sorted(languages, key=lambda x: x['name']):
         langName = lang['name']
         langCode = lang['code']
         nativeLang = self._getNativeLanguageName(langName)
         text = langName
         isSystemLang = langName == sysLang
         if nativeLang and not isSystemLang:
             text += " (" + nativeLang + ")"
         item = QListWidgetItem(text)
         item.setFlags(item.flags() | Qt.ItemIsUserCheckable)
         item.setData(Qt.UserRole, langCode)
         if (preferredLanguages and langCode in preferredLanguages) \
                 or isSystemLang:
             item.setCheckState(Qt.Checked)
             firstCheckedItem = item
         else:
             item.setCheckState(Qt.Unchecked)
         self._langList.addItem(item)
     self._langList.setMinimumWidth(self._langList.sizeHintForColumn(0))
     if firstCheckedItem:
         self._langList.scrollToItem(firstCheckedItem)
Ejemplo n.º 4
0
class Runner():

    _window = None
    _application = None

    def __init__(self):

        self._application = QApplication(sys.argv)
        self._window = None

        # Main Window Initialized..
        try:
            self._window = yali.gui.YaliWindow.Widget()
        except yali.Error, msg:
            ctx.logger.debug(msg)
            sys.exit(1)

        self._translator = QTranslator()
        self._translator.load(
            "qt_" + QLocale.system().name(),
            QLibraryInfo.location(QLibraryInfo.TranslationsPath))

        ctx.mainScreen = self._window

        screens = self._get_screens(ctx.flags.install_type)
        self._set_steps(screens)

        # These shorcuts for developers :)
        prevScreenShortCut = QShortcut(QKeySequence(Qt.SHIFT + Qt.Key_F1),
                                       self._window)
        nextScreenShortCut = QShortcut(QKeySequence(Qt.SHIFT + Qt.Key_F2),
                                       self._window)
        prevScreenShortCut.activated.connect(self._window.slotBack)
        nextScreenShortCut.activated.connect(self._window.slotNext)

        # VBox utils
        ctx.logger.debug("Starting VirtualBox tools..")
        #FIXME:sh /etc/X11/Xsession.d/98-vboxclient.sh
        yali.util.run_batch("VBoxClient", ["--autoresize"])
        yali.util.run_batch("VBoxClient", ["--clipboard"])

        # Cp Reboot, ShutDown
        yali.util.run_batch("cp", ["/sbin/reboot", "/tmp/reboot"])
        yali.util.run_batch("cp", ["/sbin/shutdown", "/tmp/shutdown"])

        # base connections
        self._application.lastWindowClosed.connect(self._application.quit)
        self._window.signalProcessEvents.connect(
            self._application.processEvents)  #hata olabilir
        self._application.desktop().resized[int].connect(
            self._reinit_screen)  #hata olabilir

        # Font Resize
        fontMinusShortCut = QShortcut(QKeySequence(Qt.CTRL + Qt.Key_Minus),
                                      self._window)
        fontPlusShortCut = QShortcut(QKeySequence(Qt.CTRL + Qt.Key_Plus),
                                     self._window)
        fontMinusShortCut.activated.connect(self._window.setFontMinus)
        fontPlusShortCut.activated.connect(self._window.setFontPlus)
Ejemplo n.º 5
0
 def test_get_current_language(self):
     install_translators("ru_RU")
     self.assertEqual(get_current_language(), "ru_RU")
     install_translators("en_EN")
     self.assertEqual(get_current_language(), "en_EN")
     install_translators()
     if QLocale.system().name() == "ru_RU":
         self.assertEqual(get_current_language(), "ru_RU")
Ejemplo n.º 6
0
    def __init__(self, parent: QWidget, config, **params):
        super(TextEditor, self).__init__(None)

        self._parent = parent

        # add keys for local vars
        for p in ["PlainText", "Font", "FontSize", "ShowLineNumbers",
                  "WordWrap", "HighlightCurrentLine", "ShowToolBar",
                  "ShowStatusBar", "AutoSave"]:
            params["TextEditor/" + p] = ""
        textmode = "format" in params and params["format"].upper() != "HTML"

        self._load = params["load"] if "load" in params else lambda:  ""
        self._save = params["save"] if "save" in params else lambda x: True
        self._cfg = ConfigHelper(config, **params)
        self._init_params_in_cfg()
        self._set_vars(textmode)
        self._doc = Doc(self._cfg)
        margins = params["margins"] if "margins" in params else None
        self._view = View(self, self._cfg, margins)

        self._spell = params["spell"] if "spell" in params else None
        if not self._spell:
            self._spell = SpellChecker()
        self._spell.change_enabled.connect(self._rehighlight)

        auto_key_switch = "auto_key_switch" in params
        cond1 = auto_key_switch and not params["auto_key_switch"]
        cond2 = not auto_key_switch and QLocale.system().name() == "en_EN"
        if cond1 or cond2:
            self._keyswitcher = None  # pragma: no cover
        else:
            self._keyswitcher = KeySwitcher(self._view.text, self._spell)

        self._highlighter = ""
        self._highlighter_cls = None
        self._set_highlighter(self._highlighter)

        self._view.text.setAcceptRichText(
            not self._cfg.get("TextEditor/PlainText", 0))

        self._actions: Dict[str, QAction] = {}
        self._make_actions()
        self._bind_controls()

        # code for copying text format
        self._current_format = self._view.text.currentCharFormat()
        self._copy_format_mode = TextEditor.NORMAL_MODE

        self._cursor_to_change_word = None

        if "layout" in params:
            params["layout"].addWidget(self)  # pragma: no cover
        if "auto_load" in params and params["auto_load"]:
            self.load()
Ejemplo n.º 7
0
 def test_install_translators(self):
     install_translators("ru_RU")
     txt = QCoreApplication.translate("@default", "Question")
     self.assertEqual(txt, "Вопрос")  # i18n
     install_translators("en_EN")
     txt = QCoreApplication.translate("@default", "Question")
     self.assertEqual(txt, "Question")
     install_translators()
     if QLocale.system().name() == "ru_RU":
         txt = QCoreApplication.translate("@default", "Question")
         self.assertEqual(txt, "Вопрос")  # i18n
Ejemplo n.º 8
0
    def defaultLanguage(cls):
        '''
        @return: QStringList
        '''
        longCode = QLocale.system().name().replace('_', '-')

        if len(longCode) == 5:
            ret = [longCode, longCode[:2]]
            return ret

        return [longCode]
Ejemplo n.º 9
0
 def value(self, key, localized=False):
     if not self._settings:
         return None
     if localized:
         locale = QLocale.system()
         localeKey = '%s[%s]' % (key, locale.name())
         if self._settings.contains(localeKey):
             return self._settings.value(localeKey)
         localeKey = '%s[%s]' % (key, locale.bcp47Name())
         if self._settings.contains(localeKey):
             return self._settings.value(localeKey)
         idx = locale.name().index('_')
         if idx > 0:
             localeKey = '%s[%s]' % (key, locale.name()[:idx])
             if self._settings.contains(localeKey):
                 return self._settings.value(localeKey)
     return self._settings.value(key)