diff --git a/Furious/Frozenlib/Enum.py b/Furious/Frozenlib/Enum.py index 590b7aa..b59dbd0 100644 --- a/Furious/Frozenlib/Enum.py +++ b/Furious/Frozenlib/Enum.py @@ -29,6 +29,7 @@ __all__ = [ class AppBuiltinCommand(Enum): Empty = 'empty' RunAs = 'runas' + Clear = 'clear' class AppBuiltinRouting(Enum): diff --git a/Furious/__main__.py b/Furious/__main__.py index 0e7d0b8..4b82e7e 100644 --- a/Furious/__main__.py +++ b/Furious/__main__.py @@ -38,6 +38,22 @@ __all__ = ['main'] logger = logging.getLogger(__name__) +def runClearSettings(): + app = QtCore.QCoreApplication(sys.argv) + app.setApplicationName(APPLICATION_NAME) + app.setApplicationVersion(APPLICATION_VERSION) + app.setOrganizationName(ORGANIZATION_NAME) + app.setOrganizationDomain(ORGANIZATION_DOMAIN) + + settings = QtCore.QSettings() + settings.clear() + settings.sync() + + logger.info('application settings have been cleared') + + sys.exit(0) + + def runAppMain(): process = AppMainProcess(functools.partial(Application, sys.argv)) @@ -142,7 +158,10 @@ def runAppMain(): def main(): try: - runAppMain() + if len(sys.argv) > 1 and sys.argv[1] == AppBuiltinCommand.Clear.value: + runClearSettings() + else: + runAppMain() except Exception: # Any non-exit exceptions