Beispiel #1
0
def _ensureQApplication():
    if not QApplication.instance():
        # Force environment to make sure Qt uses suitable theming and UX.
        os.environ["QT_PLATFORM_PLUGIN"] = "kde"
        # For above settings to apply automatically we need to indicate that we
        # are inside a full KDE session.
        os.environ["KDE_FULL_SESSION"] = "TRUE"
        # We also need to indicate version as otherwise KDElibs3 compatibility
        # might kick in such as in QIconLoader.cpp:QString fallbackTheme.
        os.environ["KDE_SESSION_VERSION"] = "5"
        # Pretty much all of the above but for Qt5
        os.environ["QT_QPA_PLATFORMTHEME"] = "kde"

        app = QApplication(["ubuntu-release-upgrader"])

        # Try to load default Qt translations so we don't have to worry about
        # QStandardButton translations.
        # FIXME: make sure we dep on l10n
        translator = QTranslator(app)
        if type(PYQT_VERSION) == int:
            translator.load(QLocale.system(), 'qt', '_',
                            '/usr/share/qt5/translations')
        else:
            translator.load(QLocale.system(), 'qt', '_',
                            '/usr/share/qt4/translations')
        app.installTranslator(translator)
        return app
    return QApplication.instance()
Beispiel #2
0
def main():
    global app
    # register representation factories
    baseRepresentationFactories.registerAllFactories()
    representationFactories.registerAllFactories()
    # initialize the app
    app = Application(sys.argv)
    app.setOrganizationName("TruFont")
    app.setOrganizationDomain("trufont.github.io")
    app.setApplicationName("TruFont")
    app.setApplicationVersion(__version__)
    app.setWindowIcon(QIcon(":app.png"))
    app.setAttribute(Qt.AA_UseHighDpiPixmaps, True)

    # Install stream redirection
    app.outputWindow = OutputWindow()
    # Exception handling
    sys.excepthook = exceptionCallback

    # Qt's translation for itself. May not be installed.
    qtTranslator = QTranslator()
    qtTranslator.load("qt_" + QLocale.system().name(),
                      QLibraryInfo.location(QLibraryInfo.TranslationsPath))
    app.installTranslator(qtTranslator)

    appTranslator = QTranslator()
    appTranslator.load("trufont_" + QLocale.system().name(),
                       os.path.dirname(os.path.realpath(__file__)) +
                       "/resources")
    app.installTranslator(appTranslator)

    # parse options and open fonts
    parser = QCommandLineParser()
    parser.setApplicationDescription(QApplication.translate(
        "Command-line parser", "The TruFont font editor."))
    parser.addHelpOption()
    parser.addVersionOption()
    parser.addPositionalArgument(QApplication.translate(
        "Command-line parser", "files"), QApplication.translate(
        "Command-line parser", "The UFO files to open."))
    parser.process(app)
    args = parser.positionalArguments()
    if not args:
        fontPath = None
        # maybe load recent file
        settings = QSettings()
        loadRecentFile = settings.value("misc/loadRecentFile", False, bool)
        if loadRecentFile:
            recentFiles = settings.value("core/recentFiles", [], type=str)
            if len(recentFiles) and os.path.exists(recentFiles[0]):
                fontPath = recentFiles[0]
                app.openFile(fontPath)
        # otherwise, create a new file
        if fontPath is None:
            app.newFile()
    else:
        for fontPath in args:
            app.openFile(fontPath)
    sys.exit(app.exec_())
Beispiel #3
0
 def __formatDecimal(self, num):
     if self.settings['showGroupSeparator']:
         decStr = '{:,}'.format(num)
         if self.__groupSeparator() == QLocale.system().groupSeparator():
             return decStr
         return decStr.replace(QLocale.system().groupSeparator(),
                               self.__groupSeparator())
     else:
         return '%d' % num
Beispiel #4
0
def get_lang():
    if "locale" in legendaryConfig.get_config()["Legendary"]:
        logger.info("Found locale in Legendary config: " +
                    legendaryConfig.get_config()["Legendary"]["locale"])
        return legendaryConfig.get_config()["Legendary"]["locale"].split(
            "-")[0]
    else:
        logger.info("Found locale in system config: " +
                    QLocale.system().name())
        return QLocale.system().name()
Beispiel #5
0
def get_lang():
    core = LegendaryCore()
    if "Legendary" in core.lgd.config.sections(
    ) and "locale" in core.lgd.config["Legendary"]:
        logger.info("Found locale in Legendary config: " +
                    core.lgd.config.get("Legendary", "locale"))
        return core.lgd.config.get("Legendary", "locale").split("-")[0]
    else:
        logger.info("Found locale in system config: " +
                    QLocale.system().name().split("_")[0])
        return QLocale.system().name().split("_")[0]
Beispiel #6
0
def main():
    # register representation factories
    representationFactories.registerAllFactories()
    # initialize the app
    app = Application(sys.argv)
    app.setOrganizationName("TruFont")
    app.setOrganizationDomain("trufont.github.io")
    app.setApplicationName("TruFont")
    app.setApplicationVersion(__version__)
    app.setWindowIcon(QIcon(":/resources/app.png"))

    # Qt's translation for itself. May not be installed.
    qtTranslator = QTranslator()
    qtTranslator.load("qt_" + QLocale.system().name(),
                      QLibraryInfo.location(QLibraryInfo.TranslationsPath))
    app.installTranslator(qtTranslator)

    appTranslator = QTranslator()
    appTranslator.load("trufont_" + QLocale.system().name(),
                       os.path.dirname(os.path.realpath(__file__)) +
                       "/resources")
    app.installTranslator(appTranslator)

    app.loadGlyphList()
    # parse options and open fonts
    parser = QCommandLineParser()
    parser.setApplicationDescription(QApplication.translate(
        "Command-line parser", "The TruFont font editor."))
    parser.addHelpOption()
    parser.addVersionOption()
    parser.addPositionalArgument(QApplication.translate(
        "Command-line parser", "files"), QApplication.translate(
        "Command-line parser", "The UFO files to open."))
    parser.process(app)
    args = parser.positionalArguments()
    if not len(args):
        fontPath = None
        # maybe load recent file
        settings = QSettings()
        loadRecentFile = settings.value("misc/loadRecentFile", False, bool)
        if loadRecentFile:
            recentFiles = settings.value("core/recentFiles", [], type=str)
            if len(recentFiles) and os.path.exists(recentFiles[0]):
                fontPath = recentFiles[0]
                app.openFile(fontPath)
        # otherwise, create a new file
        if fontPath is None:
            app.newFile()
    else:
        for fontPath in args:
            app.openFile(fontPath)
    sys.exit(app.exec_())
Beispiel #7
0
def _ensureQApplication():
    if not QApplication.instance():
        app = QApplication(["ubuntu-release-upgrader"])
        # Try to load default Qt translations so we don't have to worry about
        # QStandardButton translations.
        # FIXME: make sure we dep on l10n
        translator = QTranslator(app)
        if type(PYQT_VERSION) == int:
            translator.load(QLocale.system(), 'qt', '_',
                            '/usr/share/qt5/translations')
        else:
            translator.load(QLocale.system(), 'qt', '_',
                            '/usr/share/qt4/translations')
        app.installTranslator(translator)
        return app
    return QApplication.instance()
def _ensureQApplication():
    if not QApplication.instance():
        app = QApplication(["ubuntu-release-upgrader"])
        # Try to load default Qt translations so we don't have to worry about
        # QStandardButton translations.
        # FIXME: make sure we dep on l10n
        translator = QTranslator(app)
        if type(PYQT_VERSION) == int:
            translator.load(QLocale.system(), 'qt', '_',
                            '/usr/share/qt5/translations')
        else:
            translator.load(QLocale.system(), 'qt', '_',
                            '/usr/share/qt4/translations')
        app.installTranslator(translator)
        return app
    return QApplication.instance()
Beispiel #9
0
    def __createPageContextMenu(self, menu):
        """
        Private method to populate the basic context menu.

        @param menu reference to the menu to be populated
        @type QMenu
        """
        ##
        menu.addSeparator()
        menu.addAction(
            self.tr("Open native web"),
            lambda: QDesktopServices.openUrl(self.url())
        )
        ##
        language = QLocale.system().name()
        if not language:
            languages = []
        else:
            languages = MyEngineView.expand(QLocale(language).language())
        if languages:
            menu.addSeparator()
            language = languages[0]
            langCode = language.split("[")[1][:2]
            googleTranslatorUrl = QUrl.fromEncoded(
                b"http://translate.google.com/translate?sl=auto&tl=" +
                langCode.encode() +
                b"&u=" +
                QUrl.toPercentEncoding(bytes(self.url().toEncoded()).decode()))
            menu.addAction(
                self.tr("Google Translate"),
                lambda :self.load(googleTranslatorUrl)
                           )#TODO: maybe has google bug blank.
Beispiel #10
0
    def setLanguage(self, language):
        # file dialog
        if not self.file_dialog_translator.isEmpty():
            QApplication.removeTranslator(self.file_dialog_translator)

        qmfile = "qtbase_" + QLocale.system().name().split('_')[0] + '.qm'
        self.file_dialog_translator.load(
            qmfile, QLibraryInfo.location(QLibraryInfo.TranslationsPath))
        QApplication.installTranslator(self.file_dialog_translator)

        # rest of app
        if language == Language.ENGLISH:
            self.actionEnglish.setChecked(True)

        elif language == Language.GERMAN:
            self.actionGerman.setChecked(True)

        else:
            # Fall back to english
            self.actionEnglish.setChecked(True)
            language = Language.ENGLISH

        self.activeConfig.language = language
        self.activeConfig.saveConfig()
        if not self.translator.isEmpty():
            QApplication.removeTranslator(self.translator)
        self.translator.load(
            f':/l10n/gui_{self.activeConfig.language.value}.qm')
        QApplication.installTranslator(self.translator)
        self.retranslateUi(self)
        self.resetEncText()
        self.resetDecText()
Beispiel #11
0
 def reset(self):
     locale = QLocale.system()
     self.recentDocuments = []
     dateFormat = str(locale.dateFormat(QLocale.ShortFormat))
     dateFormat = clean_format(dateFormat)
     self.dateFormat = dateFormat
     self.tableFontSize = QApplication.font().pointSize()
Beispiel #12
0
def main():
    """Main app function."""
    import sys
    from os.path import dirname, realpath, exists
    app = QApplication(sys.argv)
    filePath = dirname(realpath(__file__))
    locale = QLocale.system().name()
    if locale == 'es_CU':
        locale = 'es_ES'
    # locale = 'es_ES'
    appTranslator = QTranslator()
    if exists(filePath + '/translations/'):
        appTranslator.load(filePath + "/translations/videomorph_" + locale)
    else:
        appTranslator.load(
            "/usr/share/videomorph/translations/videomorph_" + locale)
    app.installTranslator(appTranslator)
    qtTranslator = QTranslator()
    qtTranslator.load("qt_" + locale,
                      QLibraryInfo.location(QLibraryInfo.TranslationsPath))
    app.installTranslator(qtTranslator)
    mainWin = MMWindow()
    if mainWin.check_conversion_lib():
        mainWin.show()
        sys.exit(app.exec_())
Beispiel #13
0
 def reset(self):
     locale = QLocale.system()
     self.recentDocuments = []
     dateFormat = str(locale.dateFormat(QLocale.ShortFormat))
     dateFormat = clean_format(dateFormat)
     self.dateFormat = dateFormat
     self.tableFontSize = QApplication.font().pointSize()
Beispiel #14
0
def create_main_app():
    # create the application
    main_app = QApplication(sys.argv)

    # internationalisation
    # see http://doc.qt.io/qt-5/internationalization.html
    # see http://pyqt.sourceforge.net/Docs/PyQt5/i18n.html
    translator = QTranslator()
    translator.load("arpi/res/i18n/arpi_" + QLocale.system().name())
    main_app.installTranslator(translator)

    # create config
    global_config = GlobalConfig()

    # create speech output class
    global_config.say = Say(global_config)

    # create quick view
    view = QQuickView()
    view.setResizeMode(QQuickView.SizeRootObjectToView)

    # start program
    AppOverview(view, loaded_apps, global_config).activate()
    view.show()

    # clean up
    main_app.exec_()
    sys.exit()
Beispiel #15
0
def main():
    import sys
    app = QApplication(sys.argv)
    translator = QTranslator()
    locale = QLocale.system().name()
    translateFile = os.path.join(BASEDIR, 'i18n\\translations', '{}.qm'.format(locale))
    if translator.load(translateFile):
        app.installTranslator(translator)

    # QApplication.setStyle(QStyleFactory.create('Fusion'))

    if boolean(conf.value('General/LargeFont')):
        font = QFont('Courier New', 14)
        app.setFont(font)

    serverName = 'Tafor'
    socket = QLocalSocket()
    socket.connectToServer(serverName)

    # 如果连接成功,表明server已经存在,当前已有实例在运行
    if socket.waitForConnected(500):
        return(app.quit())

    # 没有实例运行,创建服务器     
    localServer = QLocalServer()
    localServer.listen(serverName)

    try:          
        window = MainWindow()
        window.show()
        sys.exit(app.exec_())
    except Exception as e:
        logger.error(e, exc_info=True)
    finally:  
        localServer.close()
Beispiel #16
0
def main():
    # DBUS MainLoop
    if not dbus.get_default_main_loop():
        from dbus.mainloop.pyqt5 import DBusQtMainLoop
        DBusQtMainLoop(set_as_default=True)

    # Application Stuff
    from libhistorymanager.window import MainManager

    app = QApplication(sys.argv)
    app.setOrganizationName("history-manager")
    app.setApplicationName("history-manager")
    app.setApplicationVersion("0.2.8b")

    locale = QLocale.system().name()
    translator = QTranslator(app)
    translator.load(
        join("/usr/share/history-manager", "languages/{}.qm".format(locale)))
    app.installTranslator(translator)

    # Create Main Widget and make some settings
    mainWindow = MainManager(None, app=app)
    mainWindow.resize(640, 480)
    mainWindow.setWindowIcon(QIcon.fromTheme("view-history"))
    mainWindow.show()

    # Create connection for lastWindowClosed signal to quit app
    app.lastWindowClosed.connect(app.quit)

    # Run the applications
    app.exec_()
Beispiel #17
0
def install_translators(locale=None):
    """
    Install all translation files in the application
    """
    if not locale:
        locale = QLocale.system().name()

    global __translators, __locale
    _remove_translators()

    __locale = locale

    if locale == "en_EN":
        return

    __translators = []

    for root, dirs, _ in os.walk(get_app_dir()):
        if root.endswith("locale"):
            if locale in dirs:
                for file in os.listdir(root + os.sep + locale):
                    if file.endswith(".qm"):
                        path = root + os.sep + locale + os.sep + file
                        __translators.append(QTranslator())
                        __translators[-1].load(path)
                        QApplication.instance().installTranslator(
                            __translators[-1])
Beispiel #18
0
    def __init__(self, opts, args):
        QGuiApplication.__init__(self, args)
        translator = QTranslator()
        translator.load(QLocale.system().name(), "po")
        self.installTranslator(translator)
        qmlRegisterUncreatableType(
            ReleaseDownload, 'LiveUSB', 1, 0, 'Download',
            'Not creatable directly, use the liveUSBData instance instead')
        qmlRegisterUncreatableType(
            ReleaseWriter, 'LiveUSB', 1, 0, 'Writer',
            'Not creatable directly, use the liveUSBData instance instead')
        qmlRegisterUncreatableType(
            ReleaseListModel, 'LiveUSB', 1, 0, 'ReleaseModel',
            'Not creatable directly, use the liveUSBData instance instead')
        qmlRegisterUncreatableType(
            Release, 'LiveUSB', 1, 0, 'Release',
            'Not creatable directly, use the liveUSBData instance instead')
        qmlRegisterUncreatableType(
            USBDrive, 'LiveUSB', 1, 0, 'Drive',
            'Not creatable directly, use the liveUSBData instance instead')
        qmlRegisterUncreatableType(LiveUSBData, 'LiveUSB', 1, 0, 'Data',
                                   'Use the liveUSBData root instance')

        engine = QQmlApplicationEngine()
        self.data = LiveUSBData(opts)
        engine.rootContext().setContextProperty('liveUSBData', self.data)
        if (opts.directqml):
            engine.load(QUrl('liveusb/liveusb.qml'))
        else:
            engine.load(QUrl('qrc:/liveusb.qml'))
        engine.rootObjects()[0].show()

        self.exec_()
Beispiel #19
0
    def __init__(self, filepath=None):
        QObject.__init__(self)
        QTimer.singleShot(0, self.__launchTimerTimedOut)
        self.prefs = Preferences()
        self.prefs.load()
        global APP_PREFS
        APP_PREFS = self.prefs
        locale = QLocale.system()
        dateFormat = self.prefs.dateFormat
        decimalSep = locale.decimalPoint()
        groupingSep = locale.groupSeparator()
        cachePath = QStandardPaths.standardLocations(QStandardPaths.CacheLocation)[0]
        DateEdit.DATE_FORMAT = dateFormat
        self.model = MoneyGuruModel(
            view=self, date_format=dateFormat, decimal_sep=decimalSep,
            grouping_sep=groupingSep, cache_path=cachePath
        )
        self.mainWindow = MainWindow(app=self)
        self.preferencesPanel = PreferencesPanel(self.mainWindow, app=self)
        self.aboutBox = AboutBox(self.mainWindow, self)
        self.initialFilePath = None
        if filepath and op.exists(filepath):
            self.initialFilePath = filepath
        elif self.prefs.recentDocuments:
            self.initialFilePath = self.prefs.recentDocuments[0]

        self.finishedLaunching.connect(self.applicationFinishedLaunching)
        QCoreApplication.instance().aboutToQuit.connect(self.applicationWillTerminate)
Beispiel #20
0
def name():
    """
    Returns system detected locale as a 'cc_LL' formatted string where:
    - cc is a 2-letter country code
    - LL is a 2/3-letter language code.
    """
    return QLocale.system().name()
Beispiel #21
0
def main():
    app = QApplication([i.encode('utf-8') for i in sys.argv])
    app.setOrganizationName(ffmc.__name__)
    app.setOrganizationDomain(ffmc.__url__)
    app.setApplicationName('FF Multi Converter')
    app.setWindowIcon(QIcon(':/ffmulticonverter.png'))

    locale = QLocale.system().name()
    qtTranslator = QTranslator()
    if qtTranslator.load('qt_' + locale, ':/'):
        app.installTranslator(qtTranslator)
    appTranslator = QTranslator()
    if appTranslator.load('ffmulticonverter_' + locale, ':/'):
        app.installTranslator(appTranslator)

    if not os.path.exists(config.log_dir):
        os.makedirs(config.log_dir)

    logging.basicConfig(filename=config.log_file,
                        level=logging.DEBUG,
                        format=config.log_format,
                        datefmt=config.log_dateformat)

    converter = MainWindow()
    converter.show()
    app.exec_()
Beispiel #22
0
def main():
    if settings.get('log:errors'):
        log_filename = settings.get('log:filename')
        if log_filename:
            try:
                log_file = open(log_filename, "w")
                print('Redirecting stderr/stdout... to %s' % log_filename)
                sys.stderr = log_file
                sys.stdout = log_file
            except IOError:
                print("Lector could not open log file '%s'!\n" % log_filename \
                      + " Redirecting will not work.")
        else:
            print("Log file is not set. Please set it in settings.")

    app = QApplication(sys.argv)
    opts = [str(arg) for arg in app.arguments()[1:]]
    if '--no-scanner' in opts:
        scanner = False
    else:
        scanner = True
    qsrand(QTime(0, 0, 0).secsTo(QTime.currentTime()))

    locale = settings.get('ui:lang')
    if not locale:
        locale = QLocale.system().name()
    qtTranslator = QTranslator()
    if qtTranslator.load(":/translations/ts/lector_" + locale, 'ts'):
        app.installTranslator(qtTranslator)

    window = Window(scanner)
    window.show()
    app.exec_()
Beispiel #23
0
	def getExportExtensionsList(self):
		extensions = []
		for extsprefix in datadirs:
			extsdir = QDir(extsprefix+'/export-extensions/')
			if extsdir.exists():
				for fileInfo in extsdir.entryInfoList(['*.desktop', '*.ini'],
				QDir.Files | QDir.Readable):
					extensions.append(self.readExtension(fileInfo.filePath()))
		locale = QLocale.system().name()
		self.extensionActions = []
		for extension in extensions:
			try:
				if ('Name[%s]' % locale) in extension:
					name = extension['Name[%s]' % locale]
				elif ('Name[%s]' % locale.split('_')[0]) in extension:
					name = extension['Name[%s]' % locale.split('_')[0]]
				else:
					name = extension['Name']
				data = {}
				for prop in ('FileFilter', 'DefaultExtension', 'Exec'):
					if 'X-ReText-'+prop in extension:
						data[prop] = extension['X-ReText-'+prop]
					elif prop in extension:
						data[prop] = extension[prop]
					else:
						data[prop] = ''
				action = self.act(name, trig=self.extensionFunction(data))
				if 'Icon' in extension:
					action.setIcon(self.actIcon(extension['Icon']))
				mimetype = extension['MimeType'] if 'MimeType' in extension else None
			except KeyError:
				print('Failed to parse extension: Name is required', file=sys.stderr)
			else:
				self.extensionActions.append((action, mimetype))
Beispiel #24
0
    def setup_ui(self):
        """
        被插件管理器调用

        :return:
        """
        self._trans_editor = QTranslator()
        self._trans_editor.load(os.path.join(os.path.dirname(__file__), 'translations',
                                             'codeeditor_{0}.qm'.format(QLocale.system().name())))
        QApplication.instance().installTranslator(self._trans_editor)
        # 文档模式
        self.setDocumentMode(True)
        # 标签页可关闭
        self.setTabsClosable(True)
        # 标签页可移动
        self.setMovable(True)
        self._init_signals()
        # 创建默认空白页
        self.slot_new_script()

        # 初始化后台检测代码线程
        self._timer_check = QTimer(self)
        self._timer_check.timeout.connect(self.slot_check_code)
        self._thread_check = QThread(self)
        self._worker_check = CodeCheckWorker()
        self._worker_check.moveToThread(self._thread_check)
        self._worker_check.checked.connect(self.slot_checked_code)
        self._thread_check.finished.connect(self._worker_check.deleteLater)
        self._thread_check.finished.connect(self._thread_check.deleteLater)
        self._thread_check.started.connect(self._worker_check.run)
        self._thread_check.start()
        self._timer_check.start(2000)
Beispiel #25
0
    def init_ui(self):
        print(QLocale.system().name())

        path = QDir().homePath() + '/.quickwt'

        # print(path)
        # QDir().mkpath(path)

        setting = QSettings(path + '/quickwt.ini', QSettings.IniFormat)

        title = setting.value('title', 'null')

        self.setWindowTitle(title)

        formlayout = QFormLayout()
        title_line_edit = QLineEdit(title)
        formlayout.addRow('窗口名', title_line_edit)

        hbox = QHBoxLayout()
        hbox.addStretch()
        save_button = QPushButton('保存')
        hbox.addWidget(save_button)

        iplist = setting.value('iplist',
                               ['127.0.0.1', '172.16.0.0', '10.0.0.0'])

        listview = QListView()
        model = QStandardItemModel()
        for ip in iplist:
            print(ip)
            model.appendRow(QStandardItem(ip))

        vbox2 = QVBoxLayout()
        vbox2.addWidget(listview)
        listview.setModel(model)

        def saveconfig():
            setting.setValue('title', title_line_edit.text())

            iplistnew = []

            for i in range(model.rowCount()):
                # 这里不能用 takeRow ,因为放的时候放的是QStandardItem 不是 [QStandardItem,QStandardItem]
                item = model.takeItem(i)

                iplistnew.append(item.data(Qt.DisplayRole))

            setting.setValue('iplist', iplistnew)

        # 还可以存储对象,不过不可以编辑文本来修改啦
        setting.setValue('listtest', ['1', ['1_1', '1_2']])

        save_button.clicked.connect(saveconfig)

        vbox = QVBoxLayout()
        vbox.addLayout(formlayout)
        vbox.addLayout(vbox2)
        vbox.addLayout(hbox)

        self.setLayout(vbox)
Beispiel #26
0
 def __groupSeparator(self):
     if self.settings['decimalPointGroupSeparator'] == 1:
         return '.'
     elif self.settings['decimalPointGroupSeparator'] == 2:
         return ','
     else:
         return QLocale.system().groupSeparator()
Beispiel #27
0
def _main() -> None:
    """
    Execute the main application loop.

    :return: nothing
    :rtype: None
    """

    app = QApplication(sys.argv)
    QLocale.setDefault(QLocale.c())

    # translation
    language = QLocale.system().name()[:2]
    translations_path = QLibraryInfo.location(QLibraryInfo.TranslationsPath)

    base_translator = QTranslator()
    base_translator.load("qtbase_{}".format(language), translations_path)
    app.installTranslator(base_translator)

    custom_translator = QTranslator()
    custom_translator.load("cafog_{}".format(language))
    app.installTranslator(custom_translator)

    # generate main window
    frame = MainWindow()
    frame.show()
    sys.exit(app.exec_())
Beispiel #28
0
	def getExportExtensionsList(self):
		extensions = []
		for extsprefix in datadirs:
			extsdir = QDir(extsprefix+'/export-extensions/')
			if extsdir.exists():
				for fileInfo in extsdir.entryInfoList(['*.desktop', '*.ini'],
				QDir.Files | QDir.Readable):
					extensions.append(self.readExtension(fileInfo.filePath()))
		locale = QLocale.system().name()
		self.extensionActions = []
		for extension in extensions:
			try:
				if ('Name[%s]' % locale) in extension:
					name = extension['Name[%s]' % locale]
				elif ('Name[%s]' % locale.split('_')[0]) in extension:
					name = extension['Name[%s]' % locale.split('_')[0]]
				else:
					name = extension['Name']
				data = {}
				for prop in ('FileFilter', 'DefaultExtension', 'Exec'):
					if 'X-ReText-'+prop in extension:
						data[prop] = extension['X-ReText-'+prop]
					elif prop in extension:
						data[prop] = extension[prop]
					else:
						data[prop] = ''
				action = self.act(name, trig=self.extensionFunction(data))
				if 'Icon' in extension:
					action.setIcon(self.actIcon(extension['Icon']))
				mimetype = extension['MimeType'] if 'MimeType' in extension else None
			except KeyError:
				print('Failed to parse extension: Name is required', file=sys.stderr)
			else:
				self.extensionActions.append((action, mimetype))
def main():
    app = QApplication(sys.argv)
    locale = QLocale.system().name()
    conf = prepare.Config()
    local_dir = os.path.abspath(os.path.join(os.path.dirname(__file__),
                                             'data', 'locale'))
    translator = QTranslator()

    if not os.path.isfile(conf.config_file):
        if locale in prepare.LANGUISH.keys():
            conf.write_config('squares', 'gray', 30, 30,
                              prepare.LANGUISH[locale]['Lang'], __version__)
            translator.load(os.path.join(local_dir, 'pybigpixel_' +
                                         locale + '.qm'))
            app.installTranslator(translator)

        else:
            conf.write_config('squares', 'gray', 30, 30, 'English',
                              __version__)

    else:
        key = [key for key in prepare.LANGUISH.keys() if
               prepare.LANGUISH[key]['Lang'] == conf.get_languish()]

        if key[0] != 'default':
            translator.load(os.path.join(local_dir, 'pybigpixel_' +
                                         key[0] + '.qm'))
            app.installTranslator(translator)

    window = Window(conf)
    window.show()
    sys.exit(app.exec_())
Beispiel #30
0
def main():
    if settings.get('log:errors'):
        log_filename = settings.get('log:filename')
        if log_filename:
            try:
                log_file = open(log_filename,"w")
                print ('Redirecting stderr/stdout... to %s' % log_filename)
                sys.stderr = log_file
                sys.stdout = log_file
            except IOError:
                print("Lector could not open log file '%s'!\n" % log_filename \
                      + " Redirecting will not work.")
        else:
            print("Log file is not set. Please set it in settings.")

    app = QApplication(sys.argv)
    opts = [str(arg) for arg in app.arguments()[1:]]
    if '--no-scanner' in opts:
        scanner = False
    else:
        scanner = True
    qsrand(QTime(0, 0, 0).secsTo(QTime.currentTime()))

    locale = settings.get('ui:lang')
    if not locale:
        locale = QLocale.system().name()
    qtTranslator = QTranslator()
    if qtTranslator.load(":/translations/ts/lector_" + locale, 'ts'):
        app.installTranslator(qtTranslator)

    window = Window(scanner)
    window.show()
    app.exec_()
def main():
    app = QApplication([i.encode('utf-8') for i in sys.argv])
    app.setOrganizationName(ffmc.__name__)
    app.setOrganizationDomain(ffmc.__url__)
    app.setApplicationName('FF Multi Converter')
    app.setWindowIcon(QIcon(':/ffmulticonverter.png'))

    locale = QLocale.system().name()
    qtTranslator = QTranslator()
    if qtTranslator.load('qt_' + locale, ':/'):
        app.installTranslator(qtTranslator)
    appTranslator = QTranslator()
    if appTranslator.load('ffmulticonverter_' + locale, ':/'):
        app.installTranslator(appTranslator)

    if not os.path.exists(config.log_dir):
        os.makedirs(config.log_dir)

    logging.basicConfig(
            filename=config.log_file,
            level=logging.DEBUG,
            format=config.log_format,
            datefmt=config.log_dateformat
            )

    converter = MainWindow()
    converter.show()
    app.exec_()
Beispiel #32
0
def install_gettext_trans_under_qt(base_folder, lang=None):
    # So, we install the gettext locale, great, but we also should try to install qt_*.qm if
    # available so that strings that are inside Qt itself over which I have no control are in the
    # right language.
    from PyQt5.QtCore import QCoreApplication, QTranslator, QLocale, QLibraryInfo
    if not lang:
        lang = str(QLocale.system().name())[:2]
    localename = get_locale_name(lang)
    if localename is not None:
        try:
            locale.setlocale(locale.LC_ALL, localename)
        except locale.Error:
            logging.warning("Couldn't set locale %s", localename)
    qmname = 'qt_%s' % lang
    if ISLINUX:
        # Under linux, a full Qt installation is already available in the system, we didn't bundle
        # up the qm files in our package, so we have to load translations from the system.
        qmpath = op.join(QLibraryInfo.location(QLibraryInfo.TranslationsPath),
                         qmname)
    else:
        qmpath = op.join(base_folder, qmname)
    qtr = QTranslator(QCoreApplication.instance())
    qtr.load(qmpath)
    QCoreApplication.installTranslator(qtr)
    install_gettext_trans(base_folder, lang)
Beispiel #33
0
    def onAddTagButtonClicked(self):
        locale = QLocale.system().name()[:2]
        menu_data = util.get_genres_menu_data(lang=locale)

        menu = QMenu()
        submenu = []
        i = 0
        for item in menu_data:
            submenu.append(QMenu(item['title']))
            idx = len(submenu) - 1
            for i in item['submenu']:
                menuAction = submenu[idx].addAction(i['title'])
                menuAction.setData(i['value'])

            menu.addMenu(submenu[idx])

        action = menu.exec_(
            self.addTagButton.mapToGlobal(QPoint(0,
                                                 self.addTagButton.height())))
        if action:
            genre = action.data()
            genre_string = self.tagsEdit.getUserText(None)
            if genre_string is None:
                genre_string = genre
            else:
                genre_string = util.insert_substring(genre_string, genre)
            self.tagsEdit.setUserText(genre_string)
Beispiel #34
0
    def __init__(self, filepath=None):
        ApplicationBase.__init__(self)
        self.prefs = Preferences()
        self.prefs.load()
        global APP_PREFS
        APP_PREFS = self.prefs
        locale = QLocale.system()
        dateFormat = self.prefs.dateFormat
        decimalSep = locale.decimalPoint()
        groupingSep = locale.groupSeparator()
        cachePath = QStandardPaths.standardLocations(QStandardPaths.CacheLocation)[0]
        appdata = getAppData()
        DateEdit.DATE_FORMAT = dateFormat
        self.model = MoneyGuruModel(
            view=self, date_format=dateFormat, decimal_sep=decimalSep,
            grouping_sep=groupingSep, cache_path=cachePath, appdata_path=appdata,
        )
        # on the Qt side, we're single document based, so it's one doc per app.
        self.doc = Document(app=self)
        self.doc.model.connect()
        self.mainWindow = MainWindow(doc=self.doc)
        self.preferencesPanel = PreferencesPanel(self.mainWindow, app=self)
        self.aboutBox = AboutBox(self.mainWindow, self)
        self.initialFilePath = None
        if filepath and op.exists(filepath):
            self.initialFilePath = filepath
        elif self.prefs.recentDocuments:
            self.initialFilePath = self.prefs.recentDocuments[0]

        self.finishedLaunching.connect(self.applicationFinishedLaunching)
        QCoreApplication.instance().aboutToQuit.connect(self.applicationWillTerminate)
def main():
    # DBUS MainLoop
    if not dbus.get_default_main_loop():
        from dbus.mainloop.pyqt5 import DBusQtMainLoop
        DBusQtMainLoop(set_as_default = True)


    # Application Stuff
    from libhistorymanager.window import MainManager

    app = QApplication(sys.argv)
    app.setOrganizationName("history-manager")
    app.setApplicationName("history-manager")
    app.setApplicationVersion("0.2.8b")

    locale = QLocale.system().name()
    translator = QTranslator(app)
    translator.load(join("/usr/share/history-manager", "languages/{}.qm".format(locale)))
    app.installTranslator(translator)

    # Create Main Widget and make some settings
    mainWindow = MainManager(None, app= app)
    mainWindow.resize(640, 480)
    mainWindow.setWindowIcon(QIcon.fromTheme("view-history"))
    mainWindow.show()

    # Create connection for lastWindowClosed signal to quit app
    app.lastWindowClosed.connect(app.quit)

    # Run the applications
    app.exec_()
Beispiel #36
0
    def loadQtTranslation(self, file, language = "default"):
        #TODO Add support for specifying a language from preferences
        path = None
        if language == "default":
            # If we have a language set in the environment, try and use that.
            lang = os.getenv("LANGUAGE")
            if lang:
                try:
                    path = Resources.getPath(Resources.i18nLocation, lang, "LC_MESSAGES", file + ".qm")
                except FileNotFoundError:
                    path = None

            # If looking up the language from the enviroment fails, try and use Qt's system locale instead.
            if not path:
                locale = QLocale.system()

                # First, try and find a directory for any of the provided languages
                for lang in locale.uiLanguages():
                    try:
                        path = Resources.getPath(Resources.i18nLocation, lang, "LC_MESSAGES", file + ".qm")
                        language = lang
                    except FileNotFoundError:
                        pass
                    else:
                        break

                # If that fails, see if we can extract a language "class" from the
                # preferred language. This will turn "en-GB" into "en" for example.
                if not path:
                    lang = locale.uiLanguages()[0]
                    lang = lang[0:lang.find("-")]
                    try:
                        path = Resources.getPath(Resources.i18nLocation, lang, "LC_MESSAGES", file + ".qm")
                        language = lang
                    except FileNotFoundError:
                        pass
        else:
            path = Resources.getPath(Resources.i18nLocation, language, "LC_MESSAGES", file + ".qm")

        # If all else fails, fall back to english.
        if not path:
            Logger.log("w", "Could not find any translations matching {0} for file {1}, falling back to english".format(language, file))
            try:
                path = Resources.getPath(Resources.i18nLocation, "en", "LC_MESSAGES", file + ".qm")
            except FileNotFoundError:
                Logger.log("w", "Could not find English translations for file {0}. Switching to developer english.".format(file))
                return

        translator = QTranslator()
        if not translator.load(path):
            Logger.log("e", "Unable to load translations %s", file)
            return

        # Store a reference to the translator.
        # This prevents the translator from being destroyed before Qt has a chance to use it.
        self._translators[file] = translator

        # Finally, install the translator so Qt can use it.
        self.installTranslator(translator)
Beispiel #37
0
    def getDefaultLocale(self):
        default_locale = enchant.get_default_language()
        if default_locale is None:
            default_locale = QLocale.system().name()
        if default_locale is None:
            default_locale = enchant.list_dicts()[0][0]

        return default_locale
 def _initLocalLanguage(self):
     if QLocale.system().language() in (QLocale.China, QLocale.Chinese,
                                        QLocale.Taiwan, QLocale.HongKong,
                                        QLocale.Macau):
         translator = QTranslator(self)
         translator.load(
             os.path.abspath(TranslationFile).replace('\\', '/'))
         QApplication.instance().installTranslator(translator)
Beispiel #39
0
    def getDefaultLocale(self):
        default_locale = enchant.get_default_language()
        if default_locale is None:
            default_locale = QLocale.system().name()
        if default_locale is None:
            default_locale = enchant.list_dicts()[0][0]

        return default_locale
Beispiel #40
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)
Beispiel #41
0
 def _initLanguage(self):
     """加载国际化翻译
     """
     if QLocale.system().language() in (QLocale.China, QLocale.Chinese, QLocale.Taiwan, QLocale.HongKong):
         # 加载中文
         translator = QTranslator(self)
         translator.load('Resources/pyqtclient_zh_CN.qm')
         QApplication.instance().installTranslator(translator)
         AppLog.info('install local language')
Beispiel #42
0
    def _getDefaultLanguage(self, file_name):
        # If we have a language override set in the environment, try and use that.
        lang = os.getenv("URANIUM_LANGUAGE")
        if lang:
            try:
                return Resources.getPath(Resources.i18n, lang, "LC_MESSAGES",
                                         file_name + ".qm")
            except FileNotFoundError:
                pass

        # Else, try and get the current language from preferences
        lang = Preferences.getInstance().getValue("general/language")
        if lang:
            try:
                return Resources.getPath(Resources.i18n, lang, "LC_MESSAGES",
                                         file_name + ".qm")
            except FileNotFoundError:
                pass

        # If none of those are set, try to use the environment's LANGUAGE variable.
        lang = os.getenv("LANGUAGE")
        if lang:
            try:
                return Resources.getPath(Resources.i18n, lang, "LC_MESSAGES",
                                         file_name + ".qm")
            except FileNotFoundError:
                pass

        # If looking up the language from the enviroment or preferences fails, try and use Qt's system locale instead.
        locale = QLocale.system()

        # First, try and find a directory for any of the provided languages
        for lang in locale.uiLanguages():
            try:
                return Resources.getPath(Resources.i18n, lang, "LC_MESSAGES",
                                         file_name + ".qm")
            except FileNotFoundError:
                pass

        # If that fails, see if we can extract a language code from the
        # preferred language, regardless of the country code. This will turn
        # "en-GB" into "en" for example.
        lang = locale.uiLanguages()[0]
        lang = lang[0:lang.find("-")]
        for subdirectory in os.path.listdir(Resources.getPath(Resources.i18n)):
            if subdirectory == "en_7S":  #Never automatically go to Pirate.
                continue
            if not os.path.isdir(
                    Resources.getPath(Resources.i18n, subdirectory)):
                continue
            if subdirectory.startswith(
                    lang +
                    "_"):  #Only match the language code, not the country code.
                return Resources.getPath(Resources.i18n, lang, "LC_MESSAGES",
                                         file_name + ".qm")

        return None
Beispiel #43
0
def main(argv=None):
    if not argv:
        argv = sys.argv

    app = QApplication(argv)

    translator = QTranslator()
    translator.load("qt_" + QLocale.system().name(), os.path.join(
        getResourcesPath(), "translations"))
    app.installTranslator(translator)

    myTranslator = QTranslator()
    myTranslator.load("Tiles_" + QLocale.system().name(), os.path.join(
        getResourcesPath(), "translations"))
    app.installTranslator(myTranslator)

    window = MainWindow()
    window.show()
    return app.exec_()
Beispiel #44
0
def install_qt_trans():
    # So, we install the gettext locale, great, but we also should try to install qt_*.qm if
    # available so that strings that are inside Qt itself over which I have no control are in the
    # right language.
    from PyQt5.QtCore import QCoreApplication, QTranslator, QLocale, QLibraryInfo
    lang = str(QLocale.system().name())[:2]
    qmname = 'qt_%s' % lang
    qtr = QTranslator(QCoreApplication.instance())
    qtr.load(qmname, QLibraryInfo.location(QLibraryInfo.TranslationsPath))
    QCoreApplication.installTranslator(qtr)
Beispiel #45
0
def main():
    app = QApplication(sys.argv)

    translator = QTranslator()
    if translator.load('editor_'+ QLocale.system().name()+'.qm',":/translations/"):
        app.installTranslator(translator)

    translator_qt = QTranslator()
    if translator_qt.load('qt_'+ QLocale.system().name()+'.qm',":/translations/"):
    #    print('i found qt')
        app.installTranslator(translator_qt)


    mainwindow = Editor()
    mainwindow.setWindowTitle('simple text editor')
    mainwindow.setWindowIcon(QIcon(':/icons/editor.ico'))
    mainwindow.show()

    sys.exit(app.exec_())
Beispiel #46
0
def gui():
    app = QApplication(sys.argv)

    translator = QTranslator()
    if translator.load('wise_'+ QLocale.system().name()+'.qm',":/translations/"):
        app.installTranslator(translator)

    translator_qt = QTranslator()
    if translator_qt.load('qt_'+ QLocale.system().name()+'.qm',":/translations/"):
        print('i found qt')
        app.installTranslator(translator_qt)


    timer = Timer()
    def beep():
        print('\a')
    timer.timeout.connect(beep)
    timer.show()
    sys.exit(app.exec_())
Beispiel #47
0
 def defaultAcceptLanguages(cls):
     """
     Class method to get the list of default accept languages.
     
     @return list of acceptable languages (list of strings)
     """
     language = QLocale.system().name()
     if not language:
         return []
     else:
         return cls.expand(QLocale(language).language())
Beispiel #48
0
def main():
    logging.basicConfig(level=logging.WARN,
                        format="%(asctime)s %(levelname)s %(message)s")
    app = QApplication(sys.argv)
    translator = QTranslator(app)
    path = os.path.dirname(rect.__file__)
    if QLocale.system().language() == QLocale.Japanese:
        translator.load(path+"/i18n/trainscanner_ja")
    app.installTranslator(translator)
    se = SettingsGUI()
    se.show()
    se.raise_()
    sys.exit(app.exec_())
Beispiel #49
0
def main():
    app = QApplication(sys.argv)
    app.setQuitOnLastWindowClosed(False)
    app.setOrganizationName('meteo-qt')
    app.setOrganizationDomain('meteo-qt')
    app.setApplicationName('meteo-qt')
    app.setWindowIcon(QIcon(':/logo'))
    filePath = os.path.dirname(os.path.realpath(__file__))
    settings = QSettings()
    locale = settings.value('Language')
    if locale is None or locale == '':
        locale = QLocale.system().name()
    appTranslator = QTranslator()
    if os.path.exists(filePath + '/translations/'):
        appTranslator.load(filePath + "/translations/meteo-qt_" + locale)
    else:
        appTranslator.load("/usr/share/meteo_qt/translations/meteo-qt_" +
                           locale)
    app.installTranslator(appTranslator)
    qtTranslator = QTranslator()
    qtTranslator.load("qt_" + locale,
                      QLibraryInfo.location(QLibraryInfo.TranslationsPath))
    app.installTranslator(qtTranslator)

    log_level = settings.value('Logging/Level')
    if log_level == '' or log_level is None:
        log_level = 'INFO'
        settings.setValue('Logging/Level', 'INFO')

    log_filename = os.path.dirname(settings.fileName())
    if not os.path.exists(log_filename):
        os.makedirs(log_filename)
    log_filename = log_filename + '/meteo-qt.log'

    logging.basicConfig(format='%(asctime)s %(levelname)s: %(message)s - %(module)s - %(name)s',
                        datefmt='%m/%d/%Y %H:%M:%S',
                        filename=log_filename, level=log_level)
    logger = logging.getLogger('meteo-qt')
    logger.setLevel(log_level)
    handler = logging.handlers.RotatingFileHandler(
        log_filename, maxBytes=20, backupCount=5)
    logger1 = logging.getLogger()
    handler1 = logging.StreamHandler()
    logger1Formatter = logging.Formatter('%(levelname)s: %(message)s - %(module)s')
    handler1.setFormatter(logger1Formatter)
    logger.addHandler(handler)
    logger1.addHandler(handler1)

    m = SystemTrayIcon()
    app.exec_()
Beispiel #50
0
def main():
    app = QApplication(sys.argv)
    app.setApplicationName("Kaptan")
    app.setOrganizationName("Kaptan")
    app.setApplicationVersion("5.0 Beta3")
    #app.setStyleSheet(open(join(dirPath, "data/libkaptan.qss").read())

    locale = QLocale.system().name()
    translator = QTranslator(app)
    translator.load("/usr/share/kaptan/languages/kaptan_{}.qm".format(locale))
    app.installTranslator(translator)

    kaptan = Kaptan()
    kaptan.show()
    app.exec_()
Beispiel #51
0
def main():

    dirPath = dirname(__file__)

    app = QApplication(sys.argv)
    #app.setStyleSheet(open(join(dirPath, "data/kaptan.qss").read())

    locale = QLocale.system().name()
    translator = QTranslator(app)
    translator.load(join(dirPath, "languages/{}.qm".format(locale)))
    app.installTranslator(translator)

    kaptan = Kaptan()
    kaptan.show()
    app.exec_()
Beispiel #52
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!')
Beispiel #53
0
def run():
    app = QApplication(sys.argv)
    app.setOrganizationName("manuskript")
    app.setOrganizationDomain("www.theologeek.ch")
    app.setApplicationName("manuskript")
    app.setApplicationVersion(_version)

    icon = QIcon()
    for i in [16, 31, 64, 128, 256, 512]:
        icon.addFile(appPath("icons/Manuskript/icon-{}px.png".format(i)))
    qApp.setWindowIcon(icon)

    app.setStyle("Fusion")

    # Load style from QSettings
    settings = QSettings(app.organizationName(), app.applicationName())
    if settings.contains("applicationStyle"):
        style = settings.value("applicationStyle")
        app.setStyle(style)

    # Translation process
    locale = QLocale.system().name()

    appTranslator = QTranslator()
    # By default: locale
    translation = appPath(os.path.join("i18n", "manuskript_{}.qm".format(locale)))

    # Load translation from settings
    if settings.contains("applicationTranslation"):
        translation = appPath(os.path.join("i18n", settings.value("applicationTranslation")))
        print("Found translation in settings:", translation)

    if appTranslator.load(translation):
        app.installTranslator(appTranslator)
        print(app.tr("Loaded translation: {}.").format(translation))

    else:
        print(app.tr("Warning: failed to load translator for locale {}...").format(locale))

    QIcon.setThemeSearchPaths(QIcon.themeSearchPaths() + [appPath("icons")])
    QIcon.setThemeName("NumixMsk")
    # qApp.setWindowIcon(QIcon.fromTheme("im-aim"))

    # Seperating launch to avoid segfault, so it seem.
    # Cf. http://stackoverflow.com/questions/12433491/is-this-pyqt-4-python-bug-or-wrongly-behaving-code
    launch()
 def __init__(self, iface):
    self.iface = iface
    
    if QSettings().value('locale/overrideFlag'):
        locale = QSettings().value('locale/userLocale')
    else:
        locale = QLocale.system().name()

    locale_path = os.path.join(
        os.path.dirname(__file__),
        'i18n',
        'pointSamplingTool_{}.qm'.format(locale[0:2]))

    if os.path.exists(locale_path):
        self.translator = QTranslator()
        self.translator.load(locale_path)
        QCoreApplication.installTranslator(self.translator)
Beispiel #55
0
    def _getDefaultLanguage(self, file):
        # If we have a language override set in the environment, try and use that.
        lang = os.getenv("URANIUM_LANGUAGE")
        if lang:
            try:
                return Resources.getPath(Resources.i18n, lang, "LC_MESSAGES", file + ".qm")
            except FileNotFoundError:
                pass

        # Else, try and get the current language from preferences
        lang = Preferences.getInstance().getValue("general/language")
        if lang:
            try:
                return Resources.getPath(Resources.i18n, lang, "LC_MESSAGES", file + ".qm")
            except FileNotFoundError:
                pass

        # If none of those are set, try to use the environment's LANGUAGE variable.
        lang = os.getenv("LANGUAGE")
        if lang:
            try:
                return Resources.getPath(Resources.i18n, lang, "LC_MESSAGES", file + ".qm")
            except FileNotFoundError:
                pass

        # If looking up the language from the enviroment or preferences fails, try and use Qt's system locale instead.
        locale = QLocale.system()

        # First, try and find a directory for any of the provided languages
        for lang in locale.uiLanguages():
            try:
                return Resources.getPath(Resources.i18n, lang, "LC_MESSAGES", file + ".qm")
            except FileNotFoundError:
                pass

        # If that fails, see if we can extract a language "class" from the
        # preferred language. This will turn "en-GB" into "en" for example.
        lang = locale.uiLanguages()[0]
        lang = lang[0:lang.find("-")]
        try:
            return Resources.getPath(Resources.i18n, lang, "LC_MESSAGES", file + ".qm")
        except FileNotFoundError:
            pass

        return None
Beispiel #56
0
    def __init__(self):
        super().__init__()

        self.config = configparser.ConfigParser()
        filename = 'config.ini'
        self.config.read(filename, encoding='utf-8')

        self.lang = QLocale.system().name()
        self.lang = self.getValue('DEFAULT', 'Language', self.lang)

        self.workTime = int(float(self.getValue('DEFAULT', 'WorkTime', '25')) * 60)
        self.shortTime = int(float(self.getValue('DEFAULT', 'BreakTime', '5')) * 60)
        self.longTime = int(float(self.getValue('DEFAULT', 'LongBreakTime', '15')) * 60)
        self.longBreakPomodoroNumber = int(self.getValue('DEFAULT', 'PomodoroForLongBreak', '4'))

        self.staysOnTop = self.getValue('UI', 'StaysOnTop', 'True').lower() == 'true'

        with open(filename, 'w', encoding='utf-8') as file:
            self.config.write(file)
Beispiel #57
0
def loadTranslators(qtTransDir, app, translationFiles=()):
    """
    Module function to load all required translations.
    
    @param qtTransDir directory of the Qt translations files (string)
    @param app reference to the application object (QApplication)
    @param translationFiles tuple of additional translations to
        be loaded (tuple of strings)
    @return the requested locale (string)
    """
    import Preferences
    
    global loaded_translators
    
    if qVersion() < "5.0.0":
        # set the default encoding for tr()
        QTextCodec.setCodecForTr(QTextCodec.codecForName("utf-8"))
    
    translations = ("qt", "eric6") + translationFiles
    loc = Preferences.getUILanguage()
    if loc is None:
        return

    if loc == "System":
        loc = QLocale.system().name()
    if loc != "C":
        dirs = [getConfig('ericTranslationsDir'), Globals.getConfigDir()]
        if qtTransDir is not None:
            dirs.append(qtTransDir)

        loca = loc
        for tf in ["{0}_{1}".format(tr, loc) for tr in translations]:
            translator, ok = loadTranslatorForLocale(dirs, tf)
            loaded_translators[tf] = translator
            if ok:
                app.installTranslator(translator)
            else:
                if tf.startswith("eric6"):
                    loca = None
        loc = loca
    else:
        loc = None
    return loc
 def UItranslations(self):
     """ Get list of available ui translations
     """
     # iterate over resource file to find available translations
     fltr = QDir.Dirs | QDir.Files | QDir.Hidden
     iterator = QDirIterator(':', fltr, QDirIterator.Subdirectories)
     while iterator.hasNext():
         filePath = iterator.next()
         if '/translations/ts/' in filePath:
             fileName  = os.path.basename(str(filePath[1:]))
             locale = fileName.replace('lector_','').replace('.qm', '')
             if locale:
                 self.ui.cbLang.addItem(locale)
     locale = settings.get('ui:lang')
     if not locale:
         locale = QLocale.system().name()
     currentIndex = self.ui.cbLang.findText(locale)
     if currentIndex <= -1:
         currentIndex = self.ui.cbLang.findText('en_GB')
     self.ui.cbLang.setCurrentIndex(currentIndex)
    def __init__(self, app_dir):

        app_dir = os.path.realpath(app_dir)
        manifest_path = os.path.join(app_dir, "manifest.json")

        try:
            manifest = json.load(codecs.open(manifest_path, 'r', 'utf-8'))
        except:
            manifest = {}

        for key in manifest:
            assets.manifest[key] = manifest[key]

        app = QApplication(sys.argv)
        app.setApplicationName(assets.manifest['name'])
        app.setApplicationVersion(assets.manifest['version'])

        assets.sys = System()
        assets.codec = Codec()
        assets.fs = FileSystem()
        assets.dataJar = DataJar()

        translator = QTranslator()
        translateLocaleName = "qt_" + QLocale.system().name()
        translator.load(translateLocaleName, QLibraryInfo.location(QLibraryInfo.TranslationsPath))
        app.installTranslator(translator)

        if assets.manifest.get("plugins"):
            plugindir = os.path.join(app_dir, assets.manifest["plugins"])
            plugin_manager = PluginsManager(plugindir)
            plugin_manager.load(assets)

        assets.manifest['icon'] = os.path.join(app_dir, assets.manifest["icon"])
        assets.manifest['app_dir'] = app_dir
        if "--debug" in sys.argv:
            assets.manifest['debug'] = True

        index_path = os.path.join(app_dir, assets.manifest['path'] + 'index.html')
        self.window = Window(None, index_path)

        sys.exit(app.exec_())