Exemplo n.º 1
0
Arquivo: ui.py Projeto: eepp/yobr
def _parse_args(app):
    parser = qtcore.QCommandLineParser()
    parser.setApplicationDescription(yobr.__description__)
    parser.addHelpOption()
    log_lvl_opt = qtcore.QCommandLineOption('log-level', 'Log level', 'LVL',
                                            'INFO')
    parser.addOption(log_lvl_opt)
    parser.addVersionOption()
    parser.addPositionalArgument('BR-ROOT-DIR', 'Buildroot root directory')
    parser.addPositionalArgument(
        'BR-BUILD-DIR',
        'Buildroot build directory (default: `BR-ROOT-DIR/output/build`)')
    parser.process(app)
    pos_args = parser.positionalArguments()

    if len(pos_args) not in (1, 2):
        raise RuntimeError('Expecting one or two positional arguments.')

    if len(pos_args) == 2:
        # specific build directory
        br_build_dir = pos_args[1]
    else:
        # default to `BR-ROOT-DIR/output/build`
        br_build_dir = os.path.join(pos_args[0], 'output', 'build')

    return _Args(pos_args[0], br_build_dir, parser.value(log_lvl_opt))
Exemplo n.º 2
0
def get_tcp_port(app):
    parser = QtCore.QCommandLineParser()
    parser.addHelpOption()
    default_port = 1234
    port_opt = QtCore.QCommandLineOption([ "p" , "port" ] , "Set TCP port fo remote488." , "TCP port" , str(default_port))
    parser.addOption(port_opt)
    parser.process(app)
    try:
        port = int(parser.value(port_opt))
    except ValueError:
        print("Invalid port, using default")
        port = default_port
    if 1 <= port <= 65535:
        return port
    else:
        print("Invalid port ({}), using default".format(port))
        return default_port
Exemplo n.º 3
0
    def open_books_at_startup(self):
        # Last open books and command line books aren't being opened together
        # so that command line books are processed last and therefore retain focus

        # Open last... open books.
        # Then set the value to None for the next run
        if self.settings['last_open_books']:
            files_to_open = {i: None for i in self.settings['last_open_books']}
            self.open_files(files_to_open)
        else:
            self.settings['last_open_tab'] = None

        # Open input files if specified
        cl_parser = QtCore.QCommandLineParser()
        cl_parser.process(QtWidgets.qApp)
        my_args = cl_parser.positionalArguments()
        if my_args:
            file_list = [QtCore.QFileInfo(i).absoluteFilePath() for i in my_args]
            self.process_post_hoc_files(file_list, True)
Exemplo n.º 4
0
def main():
    QtWidgets.QApplication.setAttribute(QtCore.Qt.AA_UseHighDpiPixmaps)
    QtWidgets.QApplication.setAttribute(QtCore.Qt.AA_EnableHighDpiScaling)

    app = QtWidgets.QApplication(sys.argv)
    app.setApplicationVersion(version.version)

    cmdline_parser = QtCore.QCommandLineParser()
    cmdline_parser.addHelpOption()
    cmdline_parser.addVersionOption()
    cmdline_parser.addPositionalArgument('pptable_file', "Powerplay table file")
    cmdline_parser.process(app)

    win = MainWindow()

    if cmdline_parser.positionalArguments():
        win.load(cmdline_parser.positionalArguments()[0])

    win.show()
    sys.exit(app.exec())
Exemplo n.º 5
0
    def open_books_at_startup(self):
        # Last open books and command line books aren't being opened together
        # so that command line books are processed last and therefore retain focus

        # Open last... open books.
        # Then set the value to None for the next run
        if self.settings['last_open_books']:
            files_to_open = {i: None for i in self.settings['last_open_books']}
            self.open_files(files_to_open)
        else:
            self.settings['last_open_tab'] = None

        # Open input files if specified
        cl_parser = QtCore.QCommandLineParser()
        cl_parser.process(QtWidgets.qApp)
        my_args = cl_parser.positionalArguments()
        if my_args:
            file_list = [
                QtCore.QFileInfo(i).absoluteFilePath() for i in my_args
            ]
            books = sorter.BookSorter(file_list, ('addition', 'manual'),
                                      self.database_path,
                                      self.settings['auto_tags'],
                                      self.temp_dir.path())

            parsed_books = books.initiate_threads()
            if not parsed_books:
                return

            database.DatabaseFunctions(
                self.database_path).add_to_database(parsed_books)
            self.lib_ref.generate_model('addition', parsed_books, True)

            file_dict = {
                QtCore.QFileInfo(i).absoluteFilePath(): None
                for i in my_args
            }
            self.open_files(file_dict)

            self.move_on()
Exemplo n.º 6
0
def main():
    "Main entry point of application"
    app = QtWidgets.QApplication(sys.argv)
    app.setOrganizationName("Accounting")
    app.setOrganizationDomain("accounting.com")
    app.setApplicationName("Accounting")
    app.setApplicationVersion("1.0")

    parser = QtCore.QCommandLineParser()
    parser.setApplicationDescription("Double accounting application")
    parser.addHelpOption()
    parser.addVersionOption()

    loadDbOption = QtCore.QCommandLineOption(
        "db", "Load selected database on startup", "PATH")
    loadDbOption.setDefaultValue("")
    parser.addOption(loadDbOption)

    parser.process(app)

    wnd = MainWindow(dbPath=parser.value(loadDbOption))

    return app.exec_()
Exemplo n.º 7
0
def main():
    if "--no-gui" in sys.argv:
        application = QCoreApplication(sys.argv)
        gui_mode = False
    else:
        application = QApplication(sys.argv)
        application.setQuitOnLastWindowClosed(False)
        gui_mode = True

    application.setApplicationName(APP_NAME)
    application.setApplicationVersion(APP_VERSION)

    translator = QtCore.QTranslator(application)
    translator.load(QtCore.QLocale().name(), directory=TRANSLATIONS_DIR)
    application.installTranslator(translator)

    parser = QtCore.QCommandLineParser()
    parser.setApplicationDescription(APP_DESCRIPTION)
    parser.addHelpOption()
    parser.addVersionOption()

    config_dir = os.path.join(os.path.expanduser("~"), ".config",
                              "keyboard-mapper")

    config_dir_option = QtCore.QCommandLineOption(
        ["c", "config-dir"],
        "Path to the config dir (default: {})".format(config_dir),
        defaultValue=config_dir)
    parser.addOption(config_dir_option)

    hidden_option = QtCore.QCommandLineOption(["H", "hidden"], "Start hidden")
    parser.addOption(hidden_option)

    parser.addOption(QtCore.QCommandLineOption(["no-gui"],
                                               "Start without GUI"))

    parser.process(application)

    config_dir = parser.value(config_dir_option)

    if not os.path.isdir(config_dir):
        os.mkdir(config_dir)

    Config.filename = os.path.join(config_dir, "config.ini")
    Config.load()

    if gui_mode:
        application.setWindowIcon(
            QtGui.QIcon(
                os.path.join(ICONS_DIR,
                             "appicon-{}.png".format(Config.icons))))

    if Config.single_instance:
        user_run_dir = os.path.join("var", "run", "user", str(os.getuid()))
        if os.path.exists(user_run_dir):
            lock_file = os.path.join(user_run_dir, "keyboard-mapper.lock")
        else:
            lock_file = os.path.join(config_dir, "app.lock")

        lock = FileLock(lock_file, timeout=1)

        try:
            lock.acquire()
        except Timeout:
            message = translate("main", "Keyboard Mapper is already running!")
            if gui_mode:
                QtWidgets.QMessageBox.critical(None, APP_NAME, message)
            else:
                print(message)
            sys.exit(1)

    shortcuts_file = os.path.join(config_dir, "shortcuts.yaml")
    legacy_shortcuts_file = os.path.join(config_dir, "shortcuts.ini")

    shortcuts = Shortcuts(shortcuts_file)

    if os.path.exists(
            legacy_shortcuts_file) and not os.path.exists(shortcuts_file):
        if len(Config.input_devices):
            shortcuts.load_legacy(legacy_shortcuts_file,
                                  Config.input_devices[0])

    try:
        shortcuts.load()
    except Exception as exception:
        message = translate("main",
                            "Unable to load shortcuts from config file!"
                            ) + "\n\n" + str(exception)
        if gui_mode:
            if QtWidgets.QMessageBox.critical(None, APP_NAME, message,
                                              QtWidgets.QMessageBox.Close,
                                              QtWidgets.QMessageBox.Ignore
                                              ) == QtWidgets.QMessageBox.Close:
                sys.exit(1)
        else:
            print(message)
            sys.exit(1)

    key_listener_manager = KeyListenerManager(DEVICES_BASE_DIR, shortcuts)
    key_listener_manager.set_device_files(Config.input_devices)

    if gui_mode:
        main_window = MainWindow(shortcuts, key_listener_manager)

        if not parser.isSet(hidden_option):
            main_window.show()

        try:
            exit_code = application.exec_()
        finally:
            shortcuts.save()

        sys.exit(exit_code)
    else:
        print("Listening for keyboard events")

        try:
            while True:
                time.sleep(1)
        except KeyboardInterrupt:
            pass

        key_listener_manager.stop_threads()
        shortcuts.save()
Exemplo n.º 8
0
            return (result if result.isValid() else
                    QtCore.QUrl.fromUserInput("about:blank"))
        else:
            return QtCore.QUrl.fromUserInput("about:blank")


import qml_rc

if __name__ == "__main__":
    import sys

    app = QtGui.QGuiApplication(sys.argv)
    QtGui.QGuiApplication.setApplicationDisplayName(
        QtCore.QCoreApplication.translate("main", "QtWebView Example"))

    parser = QtCore.QCommandLineParser()
    QtCore.QCoreApplication.setApplicationVersion(QtCore.QT_VERSION_STR)
    parser.setApplicationDescription(
        QtGui.QGuiApplication.applicationDisplayName())
    parser.addHelpOption()
    parser.addVersionOption()
    parser.addPositionalArgument("url", "The initial URL to open.")
    arguments = app.arguments()
    parser.process(arguments)
    initialUrl = (parser.positionalArguments()[0]
                  if parser.positionalArguments() else "https://www.qt.io")

    engine = QtQml.QQmlApplicationEngine()
    context = engine.rootContext()
    context.setContextProperty("utils", Utils(engine))
    context.setContextProperty("initialUrl", Utils.fromUserInput(initialUrl))