diff --git a/source/ubl-settings-resourcequota.c b/source/ubl-settings-resourcequota.c index 22b1dfd..5032915 100644 --- a/source/ubl-settings-resourcequota.c +++ b/source/ubl-settings-resourcequota.c @@ -739,7 +739,7 @@ void tree_view_del_line() { gtk_list_store_clear(main_config.list); char* key_del = save_format_key(main_config.size_tree_view-1); if (key_del != NULL) { - main_config.array_del_line = yon_char_parsed_append(main_config.array_del_line, &main_config.size_array_del_line, key_del); + main_config.array_del_line = yon_char_parsed_append(main_config.array_del_line, &main_config.size_array_del_line, yon_char_new(key_del)); free(key_del); } main_config.type_quota = yon_char_parsed_shrink(main_config.type_quota, &main_config.size_tree_view,index); @@ -779,23 +779,40 @@ void tree_view_del_line() { } } void wrapper_all_save() { + int flag_mess_save = 0; if (main_config.flag_load == 0) { - template_format_str_save(main_config.load_system_cfg, CMD_ALL_SAVE, CMD_ALL_REMOVE); + flag_mess_save = template_format_str_save(main_config.load_system_cfg, CMD_ALL_SAVE, CMD_ALL_REMOVE); } else { - template_format_str_save(main_config.load_global_cfg, CMD_ALL_SAVE, CMD_ALL_REMOVE); + flag_mess_save = template_format_str_save(main_config.load_global_cfg, CMD_ALL_SAVE, CMD_ALL_REMOVE); } - yon_ubl_status_box_render(GLOBAL_LOCAL_SAVE_SUCCESS,BACKGROUND_IMAGE_SUCCESS_TYPE); + if (flag_mess_save) { + yon_ubl_status_box_render(GLOBAL_LOCAL_SAVE_SUCCESS,BACKGROUND_IMAGE_SUCCESS_TYPE); + } + else { + yon_ubl_status_box_render(MESS_NOTHING_SAVE, BACKGROUND_IMAGE_SUCCESS_TYPE); + } + } void wrapper_global_save() { - template_format_str_save(main_config.load_global_cfg, CMD_SAVE_GLOBAL, CMD_REMOVE_GLOBAL); - yon_ubl_status_box_render(GLOBAL_LOAD_SUCCESS,BACKGROUND_IMAGE_SUCCESS_TYPE); + if (template_format_str_save(main_config.load_global_cfg, CMD_SAVE_GLOBAL, CMD_REMOVE_GLOBAL)) { + yon_ubl_status_box_render(GLOBAL_LOAD_SUCCESS,BACKGROUND_IMAGE_SUCCESS_TYPE); + } + else { + yon_ubl_status_box_render(MESS_NOTHING_SAVE, BACKGROUND_IMAGE_SUCCESS_TYPE); + } + } void wrapper_system_save() { - template_format_str_save(main_config.load_system_cfg, CMD_SAVE_SYSTEM, CMD_REMOVE_SYSTEM); - yon_ubl_status_box_render(LOCAL_SAVE_SUCCESS,BACKGROUND_IMAGE_SUCCESS_TYPE); + if (template_format_str_save(main_config.load_system_cfg, CMD_SAVE_SYSTEM, CMD_REMOVE_SYSTEM)) { + yon_ubl_status_box_render(LOCAL_SAVE_SUCCESS,BACKGROUND_IMAGE_SUCCESS_TYPE); + } + else { + yon_ubl_status_box_render(MESS_NOTHING_SAVE, BACKGROUND_IMAGE_SUCCESS_TYPE); + } + } @@ -813,8 +830,6 @@ char* save_format_value(int index) { split_simvol[0] = 0; split_simvol[1] = 0; if (strstr(main_config.soft_raw_limit[index], "-") == NULL) { - puts(main_config.soft_raw_limit[index]); - printf("%d\n", main_config.soft_raw_limit_size[index]); value = yon_char_unite(philos_format_cfg_str_size_memory("MemoryHigh", main_config.soft_raw_limit[index],main_config.soft_raw_limit_size[index]),NULL); split_simvol[0] = ','; split_simvol[1] = '\0'; @@ -862,7 +877,6 @@ int check_save(dictionary* load_cfg) { } for_dictionaries(ptr_dict_gui, main_config.save_cfg_gui) { for_dictionaries(ptr_dict_load, load_cfg) { - key_gui = ptr_dict_gui->key; value_gui = (char*)ptr_dict_gui->data; key_load = ptr_dict_load->key; @@ -892,16 +906,19 @@ int template_format_str_save(dictionary* load_cfg, char* source_set_cmd, char* s } else if (cmd_remove != NULL) { yon_config_save(cmd_remove); - puts(cmd_remove); } else if (cmd_set != NULL) { yon_config_save(cmd_set); - puts(cmd_remove); } else { return 0; } - + if (cmd_remove != NULL) { + free(cmd_remove); + } + if (cmd_set != NULL) { + free(cmd_set); + } return 1; } @@ -909,6 +926,9 @@ char* template_format_str_set_save(dictionary* load_cfg, char* source_set_cmd) { yon_dictionary_free_all(main_config.save_cfg_gui, NULL); char* cmd = yon_char_new(source_set_cmd); main_config.save_cfg_gui = yon_dictionary_create_empty(); + if (check_save(load_cfg)) { + return NULL; + } int flag_save = 0; for (size_t index = 0; index < main_config.size_tree_view; index++) { char* key = NULL; @@ -940,9 +960,13 @@ char* template_format_str_set_save(dictionary* load_cfg, char* source_set_cmd) { char* template_format_str_remove_save(char* source_remove_cmd) { char* cmd = yon_char_new(source_remove_cmd); int flag_save = 0; + if (main_config.size_array_del_line == 0) { + return NULL; + } for (size_t index = 0; index < main_config.size_array_del_line; index++) { char* key = main_config.array_del_line[index]; if (key != NULL) { + puts(key); cmd = yon_char_unite(cmd, " " , key, " ", NULL); flag_save = 1; free(key); diff --git a/source/ubl-strings.h b/source/ubl-strings.h index 6a1079c..872506e 100644 --- a/source/ubl-strings.h +++ b/source/ubl-strings.h @@ -42,4 +42,5 @@ #define STR_DEL_TABLE _("Quota deleted") #define STR_NO_SELECT_TABLE _("Quota deleted") #define STR_QUOTAS_ADD _("Quota deleted") -#define ALL_SAVE_SUCCESS _("Save configuration") \ No newline at end of file +#define ALL_SAVE_SUCCESS _("Save configuration") +#define MESS_NOTHING_SAVE _("Nothing to save!") \ No newline at end of file diff --git a/ubl-settings-resourcequota.glade b/ubl-settings-resourcequota.glade index b50039b..42674c7 100644 --- a/ubl-settings-resourcequota.glade +++ b/ubl-settings-resourcequota.glade @@ -2736,6 +2736,7 @@ translated and supported by community. 640 500 False + center 700 500 com.ublinux.ubl-settings-resourcequota