diff --git a/source/libublsettingsui-gtk3-app-chooser.c b/source/libublsettingsui-gtk3-app-chooser.c index 389acc1..62d89bd 100644 --- a/source/libublsettingsui-gtk3-app-chooser.c +++ b/source/libublsettingsui-gtk3-app-chooser.c @@ -32,7 +32,7 @@ config_str yon_apps_get_from_file(char *file,int *final_size){ return final; } -int yon_apps_get(yon_app_chooser_window *window){ +int yon_app_chooser_apps_get(yon_app_chooser_window *window){ window->apps = NULL; window->apps_size=0; int merged_size; @@ -204,7 +204,7 @@ yon_app_chooser_window *yon_app_chooser_window_new(int multiple_choise){ } - if (!yon_apps_get(window)) return NULL; + if (!yon_app_chooser_apps_get(window)) return NULL; if (!yon_app_chooser_convert_apps(window)) return NULL; yon_tree_store_setup_apps(window); diff --git a/source/libublsettingsui-gtk3.c b/source/libublsettingsui-gtk3.c index 47bd817..8da5f51 100644 --- a/source/libublsettingsui-gtk3.c +++ b/source/libublsettingsui-gtk3.c @@ -407,24 +407,25 @@ int yon_ubl_setup_arguments(int argc, char *argv[],config_str *unfound_arguments int debug_mode=0; { struct option long_options[] = { - {"help", 0, 0, 'h'}, - {"version", 0, 0, 'V'}, - {"lock-help", 0,0, 1}, - {"lock-save", 0,0, 2}, - {"lock-save-local", 0,0, 3}, - {"lock-save-global", 0,0, 4}, - {"lock-load-global", 0,0, 5}, - {"lock-load-local", 0,0, 6}, - {"socket-id", 1, 0, 's'}, - {"socket-ext-id", 1,0, 'e'}, - {"socket-trd-id", 1,0, 't'}, - {"clear-config", 0,0, 'c'}, - {"debug", 0,0, 'd'}, - { NULL, 0, NULL, 0 } + {"help", 0, 0, 'h'}, + {"version", 0, 0, 'V'}, + {"lock-help", 0,0, 1}, + {"lock-save", 0,0, 2}, + {"lock-save-local", 0,0, 3}, + {"lock-save-global", 0,0, 4}, + {"lock-load-global", 0,0, 5}, + {"lock-load-local", 0,0, 6}, + {"socket-id", 1, 0, 's'}, + {"socket-ext-id", 1,0, 'e'}, + {"socket-trd-id", 1,0, 't'}, + {"clear-config", 0,0, 'c'}, + {"debug", 0,0, 'd'}, + {"file", 1, 0, 'f'}, + { NULL, 0, NULL, 0 } }; config_str unregistered_arguments=NULL; for (int i=1;ilock_load_system=1; break; + case 'f': + template_config->force_ini = yon_char_new(optarg); + template_config->config_load_path = template_config->force_ini; + template_config->config_save_path = template_config->force_ini; + break; default: - char *unfound = optarg; + char *unfound = optarg; yon_char_parsed_add_or_create_if_exists(unregistered_arguments,arguments_size,yon_char_unite(argv[i],!yon_char_is_empty(unfound)?"=":"",!yon_char_is_empty(unfound)?unfound:"",NULL)); } } + if (arguments_size)yon_char_parsed_add_or_create_if_exists(unregistered_arguments,arguments_size,NULL); (*unfound_arguments)=unregistered_arguments; if (show_help&&!template_config->lock_help){ printf("%s\n",HELP_LABEL(additional_options_output)); diff --git a/source/libublsettingsui-gtk3.h b/source/libublsettingsui-gtk3.h index ae64072..1e0ec4a 100644 --- a/source/libublsettingsui-gtk3.h +++ b/source/libublsettingsui-gtk3.h @@ -137,7 +137,10 @@ extern template_app_info template_app_information; \ int always_open_documentation;\ int debug_mode;\ - char *custom_load_path; + char *custom_load_path;\ + char *force_ini;\ + char *config_load_path;\ + char *config_save_path; typedef struct { template_config_fields