From 506d8448cc006a0c1c51947999a50addbfedcb15 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Fri, 17 Aug 2018 16:34:51 +1000 Subject: WM: app-template command line override Without this, there was no simple way to have launchers for different app-templates. Also allows force-disabling the app-template stored in the preferences. --- source/creator/creator_args.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'source/creator/creator_args.c') diff --git a/source/creator/creator_args.c b/source/creator/creator_args.c index 22301bd62f5..7ad44916047 100644 --- a/source/creator/creator_args.c +++ b/source/creator/creator_args.c @@ -580,6 +580,7 @@ static int arg_handle_print_help(int UNUSED(argc), const char **UNUSED(argv), vo printf("\n"); printf("Misc Options:\n"); + BLI_argsPrintArgDoc(ba, "--app-template"); BLI_argsPrintArgDoc(ba, "--factory-startup"); printf("\n"); BLI_argsPrintArgDoc(ba, "--env-system-datafiles"); @@ -993,6 +994,22 @@ static int arg_handle_debug_fpe_set(int UNUSED(argc), const char **UNUSED(argv), return 0; } +static const char arg_handle_app_template_doc[] = +"\n\tSet the application template, use 'default' for none." +; +static int arg_handle_app_template(int argc, const char **argv, void *UNUSED(data)) +{ + if (argc > 1) { + const char *app_template = STREQ(argv[1], "default") ? "" : argv[1]; + WM_init_state_app_template_set(app_template); + return 1; + } + else { + printf("\nError: App template must follow '--app-template'.\n"); + return 0; + } +} + static const char arg_handle_factory_startup_set_doc[] = "\n\tSkip reading the " STRINGIFY(BLENDER_STARTUP_FILE) " in the users home directory." ; @@ -2043,6 +2060,7 @@ void main_args_setup(bContext *C, bArgs *ba, SYS_SystemHandle *syshandle) BLI_argsAdd(ba, 1, NULL, "--verbose", CB(arg_handle_verbosity_set), NULL); + BLI_argsAdd(ba, 1, NULL, "--app-template", CB(arg_handle_app_template), NULL); BLI_argsAdd(ba, 1, NULL, "--factory-startup", CB(arg_handle_factory_startup_set), NULL); /* TODO, add user env vars? */ -- cgit v1.2.3