diff --git a/source/libublsettingsui-gtk3-standard-callbacks.c b/source/libublsettingsui-gtk3-standard-callbacks.c index d0ab683..5e24cbf 100644 --- a/source/libublsettingsui-gtk3-standard-callbacks.c +++ b/source/libublsettingsui-gtk3-standard-callbacks.c @@ -106,17 +106,21 @@ void yon_ubl_settings_set_interface_update_function(void*target_func, gpointer f void yon_ubl_settings_window_set_standard_callbacks(template_main_window *widgets, char *get_global_command, char *get_local_command,char *get_custom_command, char *get_default_command, char *get_global_only_command, char *get_local_only_command){ if (!yon_char_is_empty(get_global_command)){ g_signal_connect(G_OBJECT(widgets->LoadGlobalMenuItem),"activate",G_CALLBACK(__on_config_global_load),NULL); - g_signal_connect(G_OBJECT(widgets->SaveGlobalMenuItem),"activate",G_CALLBACK(__on_config_global_load),NULL); + g_signal_connect(G_OBJECT(widgets->SaveGlobalMenuItem),"activate",G_CALLBACK(__on_config_global_save),NULL); config_get_global_command = yon_char_new(get_global_command); config_set_global_command = yon_char_replace_single(get_global_command,"get","set"); } - if (!yon_char_is_empty(get_global_command)){ + if (!yon_char_is_empty(get_local_command)){ g_signal_connect(G_OBJECT(widgets->LoadLocalMenuItem),"activate",G_CALLBACK(__on_config_local_load),NULL); g_signal_connect(G_OBJECT(widgets->SaveLocalMenuItem),"activate",G_CALLBACK(__on_config_local_save),NULL); config_get_local_command = yon_char_new(get_local_command); config_set_local_command = yon_char_replace_single(get_local_command,"get","set"); } - if (!yon_char_is_empty(get_global_command)){ + if (!yon_char_is_empty(get_local_command)&&!yon_char_is_empty(get_global_command)){ + g_signal_connect(G_OBJECT(widgets->SaveMenuItem),"activate",G_CALLBACK(__on_config_global_local_save),NULL); + config_set_global_local_command = yon_config_parameter_prepare_command(get_global_command,NULL,NULL,NULL); + } + if (!yon_char_is_empty(get_custom_command)){ g_signal_connect(G_OBJECT(widgets->LoadCustomMenuItem),"activate",G_CALLBACK(__on_config_custom_load),NULL); g_signal_connect(G_OBJECT(widgets->SaveCustomMenuItem),"activate",G_CALLBACK(__on_config_custom_save),NULL); config_get_custom_command = yon_char_new(get_custom_command);