src/eric7/eric7_configure.py

Wed, 11 Oct 2023 16:05:44 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Wed, 11 Oct 2023 16:05:44 +0200
branch
eric7
changeset 10238
9ea4634a697e
parent 10069
435cc5875135
child 10303
ee1aadab1215
permissions
-rw-r--r--

Corrected the filename for 'QGuiApplication.setDesktopFileName()' to not include the '.desktop' extension anymore (as directed by Qt).

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

# Copyright (c) 2006 - 2023 Detlev Offenbach <detlev@die-offenbachs.de>
#

"""
eric Configure.

This is the main Python script to configure the eric IDE from the outside.
"""

import os
import sys

from PyQt6.QtGui import QGuiApplication

for arg in sys.argv[:]:
    if arg.startswith("--config="):
        from eric7 import Globals

        configDir = arg.replace("--config=", "")
        Globals.setConfigDir(configDir)
        sys.argv.remove(arg)
    elif arg.startswith("--settings="):
        from PyQt6.QtCore import QSettings

        settingsDir = os.path.expanduser(arg.replace("--settings=", ""))
        if not os.path.isdir(settingsDir):
            os.makedirs(settingsDir)
        QSettings.setPath(
            QSettings.Format.IniFormat, QSettings.Scope.UserScope, settingsDir
        )
        sys.argv.remove(arg)

from eric7.Globals import AppInfo
from eric7.Toolbox import Startup


def createMainWidget(argv):  # noqa: U100
    """
    Function to create the main widget.

    @param argv list of commandline parameters (list of strings)
    @return reference to the main widget (QWidget)
    """
    from eric7.Preferences.ConfigurationDialog import ConfigurationWindow

    w = ConfigurationWindow()
    w.show()
    w.showConfigurationPageByName("empty")
    return w


def main():
    """
    Main entry point into the application.
    """
    QGuiApplication.setDesktopFileName("eric7_configure")

    options = [
        (
            "--config=configDir",
            "use the given directory as the one containing the config files",
        ),
        (
            "--settings=settingsDir",
            "use the given directory to store the settings files",
        ),
    ]
    appinfo = AppInfo.makeAppInfo(
        sys.argv, "eric Configure", "", "Configuration editor for eric", options
    )
    res = Startup.simpleAppStartup(sys.argv, appinfo, createMainWidget)
    sys.exit(res)


if __name__ == "__main__":
    main()

eric ide

mercurial