--- a/eric6/Toolbox/Startup.py Sun Apr 12 14:45:14 2020 +0200 +++ b/eric6/Toolbox/Startup.py Sun Apr 12 14:58:36 2020 +0200 @@ -19,6 +19,7 @@ import Globals import UI.PixmapCache +import Preferences from eric6config import getConfig @@ -123,22 +124,7 @@ """ import Preferences - # TODO: make default icon set configurable - # - automatic (w.r.t. lightness) - # - breeze-light - # - breeze-dark - # - oxygen (formerly default) - if application.usesDarkPalette(): - # dark desktop - iconPath = "breeze-dark" - else: - # light desktop - iconPath = "breeze-light" - defaultIconPaths = [ - # add paths for vector graphics - os.path.join(getConfig('ericIconDir'), iconPath), - os.path.join(getConfig('ericIconDir'), iconPath, "languages"), - ] + defaultIconPaths = getDefaultIconPaths(application) iconPaths = Preferences.getIcons("Path") for iconPath in iconPaths: if iconPath: @@ -148,6 +134,30 @@ UI.PixmapCache.addSearchPath(defaultIconPath) +def getDefaultIconPaths(application): + """ + Module function to determine the default icon paths. + + @param application reference to the application object + @type E5Application + @return list of default icon paths + @rtype list of str + """ + defaultIconsPath = Preferences.getIcons("DefaultIconsPath") + if defaultIconsPath == "automatic": + if application.usesDarkPalette(): + # dark desktop + defaultIconsPath = "breeze-dark" + else: + # light desktop + defaultIconsPath = "breeze-light" + + return [ + os.path.join(getConfig('ericIconDir'), defaultIconsPath), + os.path.join(getConfig('ericIconDir'), defaultIconsPath, "languages"), + ] + + def setLibraryPaths(): """ Module function to set the Qt library paths correctly for windows systems.