1#!/usr/local/bin/python3.8 2# -*- coding: utf-8 -*- 3 4# Copyright (c) 2009 - 2021 Detlev Offenbach <detlev@die-offenbachs.de> 5# 6 7""" 8eric Icon Editor. 9 10This is the main Python script that performs the necessary initialization 11of the icon editor and starts the Qt event loop. This is a standalone version 12of the integrated icon editor. 13""" 14 15import sys 16import os 17 18sys.path.insert(1, os.path.dirname(__file__)) 19 20for arg in sys.argv[:]: 21 if arg.startswith("--config="): 22 import Globals 23 configDir = arg.replace("--config=", "") 24 Globals.setConfigDir(configDir) 25 sys.argv.remove(arg) 26 elif arg.startswith("--settings="): 27 from PyQt5.QtCore import QSettings 28 settingsDir = os.path.expanduser(arg.replace("--settings=", "")) 29 if not os.path.isdir(settingsDir): 30 os.makedirs(settingsDir) 31 QSettings.setPath( 32 QSettings.Format.IniFormat, QSettings.Scope.UserScope, settingsDir) 33 sys.argv.remove(arg) 34 35from Globals import AppInfo 36 37from Toolbox import Startup 38 39 40def createMainWidget(argv): 41 """ 42 Function to create the main widget. 43 44 @param argv list of commandline parameters (list of strings) 45 @return reference to the main widget (QWidget) 46 """ 47 from IconEditor.IconEditorWindow import IconEditorWindow 48 49 try: 50 fileName = argv[1] 51 except IndexError: 52 fileName = "" 53 54 editor = IconEditorWindow(fileName, None) 55 return editor 56 57 58def main(): 59 """ 60 Main entry point into the application. 61 """ 62 from PyQt5.QtGui import QGuiApplication 63 QGuiApplication.setDesktopFileName("eric6_iconeditor.desktop") 64 65 options = [ 66 ("--config=configDir", 67 "use the given directory as the one containing the config files"), 68 ("--settings=settingsDir", 69 "use the given directory to store the settings files"), 70 ("", "name of file to edit") 71 ] 72 appinfo = AppInfo.makeAppInfo(sys.argv, 73 "eric Icon Editor", 74 "", 75 "Little tool to edit icon files.", 76 options) 77 res = Startup.simpleAppStartup(sys.argv, 78 appinfo, 79 createMainWidget) 80 sys.exit(res) 81 82if __name__ == '__main__': 83 main() 84