diff --git a/source/ubl-settings-resourcequota.c b/source/ubl-settings-resourcequota.c index 3fc1733..fa8cc31 100644 --- a/source/ubl-settings-resourcequota.c +++ b/source/ubl-settings-resourcequota.c @@ -836,12 +836,11 @@ void wrapper_edit_show() { int index = atoi(str_iter); edit_show(NULL, glade_path); edit_set_select_device(&main_config.disk[index]); + edit_set_write_device(main_config.i_o_limit_write[index], main_config.i_o_limit_write_size[index]); edit_set_read_device(main_config.i_o_limit_read[index], main_config.i_o_limit_read_size[index]); edit_set_hard(main_config.hard_raw_limit[index], main_config.hard_raw_limit_size[index]); edit_set_limit_cpu(main_config.cpu_limit[index], main_config.cpu_limit_size[index]); edit_set_soft(main_config.soft_raw_limit[index], main_config.soft_raw_limit_size[index]); - edit_set_write_device(main_config.i_o_limit_write[index], main_config.i_o_limit_write_size[index]); - edit_init_windows(); edit_set_limit_swap(main_config.swap[index], main_config.swap_size[index]); edit_event(get_widget_edit()); g_signal_connect(G_OBJECT(get_widget_edit()->btnSaveTempSave), "clicked", G_CALLBACK(main_edit_btn_save), NULL); @@ -1017,7 +1016,6 @@ char* add_io_str_format_ubconfig(char* cmd_io, char* key, int** i_o_limit, int else if (i==0 && strlen(cmd_io) > 3) { cmd_io = yon_char_unite(cmd_io, ",", key, "=", NULL); } - puts(cmd_io); int read_limit = i_o_limit[index][i]; char* read_disk = disk[index][i]; int read_limit_size = i_o_limit_size[index][i]; @@ -1078,7 +1076,7 @@ char* template_format_str_set_save(dictionary* load_cfg, char* source_set_cmd) { key = yon_char_new(save_format_key(index)); value = yon_char_new(save_format_value(index)); if (key != NULL && value != NULL) { - cmd = yon_char_unite(cmd, " " , key, "=\"" , value, "\"\n", NULL); + cmd = yon_char_unite(cmd, " " , key, "=\"" , value, "\" ", NULL); puts(cmd); flag_save = 1; } @@ -1091,6 +1089,7 @@ char* template_format_str_set_save(dictionary* load_cfg, char* source_set_cmd) { } if (flag_save && check_save(load_cfg)== 0) { + cmd = yon_char_unite(cmd, "\"", NULL); return cmd; } free(cmd); diff --git a/source/ubl-settings-resourcequota.h b/source/ubl-settings-resourcequota.h index fb361b9..0ed5af7 100755 --- a/source/ubl-settings-resourcequota.h +++ b/source/ubl-settings-resourcequota.h @@ -43,7 +43,7 @@ #define CMD_GET_GROUP "cut -d: -f1 /etc/group" typedef char *string; -string version_application = "1.2-45-g1c055b0"; +string version_application = "1.2-46-gfe494e3"; static char *local; diff --git a/source/ubl-utils.c b/source/ubl-utils.c index 8697289..cd5f4a4 100644 --- a/source/ubl-utils.c +++ b/source/ubl-utils.c @@ -1299,7 +1299,7 @@ void philos_temp_generate_cmd(temp_set_window *widgets, temp_config* _config) { } - + puts(str_cmd); gtk_entry_set_text(GTK_ENTRY(widgets->entryTempCmd), str_cmd); free(split_simvol); } @@ -1364,10 +1364,7 @@ void philos_update_device_to_entry(temp_set_window *widgets, temp_config* _confi break; } } - printf("%d\n", index_find); - if (index_find != -1) { - printf("%d\n", _config->i_o_limit_read[index_find]); if (flag_check_array==0) { if (_config->i_o_limit_read[index_find]==-2 || _config->i_o_limit_read[index_find]==-1) { gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widgets->chbTempRead), 0); @@ -1486,6 +1483,7 @@ void philos_temp_add_disk(temp_set_window *widgets, temp_config* _config){ _config->i_o_limit_write_size[index_find] = -1; _config->i_o_limit_write[index_find] = -1; } + } } else { diff --git a/source/view_add.c b/source/view_add.c index 31a8419..398380e 100644 --- a/source/view_add.c +++ b/source/view_add.c @@ -79,8 +79,22 @@ void event_check_io_device() { } void combo_box_device() { + g_signal_handlers_block_by_func(G_OBJECT(add_widgets->cbtTempDevice), G_CALLBACK(combo_box_device), NULL); + g_signal_handlers_block_by_func(G_OBJECT(add_widgets->cbtTempRead), G_CALLBACK(event_check_io_device), NULL); + g_signal_handlers_block_by_func(G_OBJECT(add_widgets->cbtTempWrite), G_CALLBACK(event_check_io_device), NULL); + g_signal_handlers_block_by_func(G_OBJECT(add_widgets->spinTempRead), G_CALLBACK(event_check_io_device), NULL); + g_signal_handlers_block_by_func(G_OBJECT(add_widgets->spinTempWrite), G_CALLBACK(event_check_io_device), NULL); + g_signal_handlers_block_by_func(G_OBJECT(add_widgets->chbTempRead), G_CALLBACK(event_check_io_device), NULL); + g_signal_handlers_block_by_func(G_OBJECT(add_widgets->chbTempWrite), G_CALLBACK(event_check_io_device), NULL); philos_update_device_to_entry(add_widgets, &obj_add_config, 0); philos_update_device_to_entry(add_widgets, &obj_add_config, 1); + g_signal_handlers_unblock_by_func(G_OBJECT(add_widgets->cbtTempDevice), G_CALLBACK(combo_box_device), NULL); + g_signal_handlers_unblock_by_func(G_OBJECT(add_widgets->cbtTempRead), G_CALLBACK(event_check_io_device), NULL); + g_signal_handlers_unblock_by_func(G_OBJECT(add_widgets->cbtTempWrite), G_CALLBACK(event_check_io_device), NULL); + g_signal_handlers_unblock_by_func(G_OBJECT(add_widgets->spinTempRead), G_CALLBACK(event_check_io_device), NULL); + g_signal_handlers_unblock_by_func(G_OBJECT(add_widgets->spinTempWrite), G_CALLBACK(event_check_io_device), NULL); + g_signal_handlers_unblock_by_func(G_OBJECT(add_widgets->chbTempRead), G_CALLBACK(event_check_io_device), NULL); + g_signal_handlers_unblock_by_func(G_OBJECT(add_widgets->chbTempWrite), G_CALLBACK(event_check_io_device), NULL); } void add_event(temp_set_window *widgets) { @@ -155,7 +169,8 @@ void add_show(GtkWidget *self, char* glade_path) { char* add_get_select_device_to_level_2() { char* text = gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(add_widgets->cbxTempQuotaLevel2)); - if (text != NULL) { + int disk_id = gtk_combo_box_get_active(GTK_COMBO_BOX(add_widgets->cbxTempQuotaLevel2)); + if (disk_id != -1) { return text; } else { @@ -187,8 +202,11 @@ int** add_get_write_device_size_pow() { return &obj_add_config.i_o_limit_write_size; } char*** add_get_select_device() { + if (obj_add_config.size == 0) { + obj_add_config.disk = yon_char_parsed_append(obj_add_config.disk,&obj_add_config.size, "-"); + } obj_add_config.disk = yon_char_parsed_append(obj_add_config.disk,&obj_add_config.size, NULL); - obj_add_config.size--; + obj_add_config.size-=2; return &obj_add_config.disk; } diff --git a/source/view_edit.c b/source/view_edit.c index c141e18..c7a54cb 100644 --- a/source/view_edit.c +++ b/source/view_edit.c @@ -119,6 +119,7 @@ void wrapper_edit_init_windows_size_memory(GtkWidget *spin) { } philos_set_active_widgets_device_io(edit_widgets->cbtTempDevice,edit_widgets->chbTempWrite, edit_widgets->spinTempWrite, edit_widgets->cbtTempWrite); philos_set_active_widgets_device_io(edit_widgets->cbtTempDevice,edit_widgets->chbTempRead, edit_widgets->spinTempRead, edit_widgets->cbtTempRead); + philos_temp_add_disk(edit_widgets, &obj_edit_config); philos_temp_del_disk(edit_widgets, &obj_edit_config); edit_init_windows(); @@ -135,8 +136,22 @@ void edit_init_windows() { } void combo_box_device_edit() { + g_signal_handlers_block_by_func(G_OBJECT(edit_widgets->cbtTempDevice), G_CALLBACK(combo_box_device_edit), NULL); + g_signal_handlers_block_by_func(G_OBJECT(edit_widgets->cbtTempRead), G_CALLBACK(wrapper_edit_init_windows_size_memory), NULL); + g_signal_handlers_block_by_func(G_OBJECT(edit_widgets->cbtTempWrite), G_CALLBACK(wrapper_edit_init_windows_size_memory), NULL); + g_signal_handlers_block_by_func(G_OBJECT(edit_widgets->spinTempRead), G_CALLBACK(wrapper_edit_init_windows_size_memory), NULL); + g_signal_handlers_block_by_func(G_OBJECT(edit_widgets->spinTempWrite), G_CALLBACK(wrapper_edit_init_windows_size_memory), NULL); + g_signal_handlers_block_by_func(G_OBJECT(edit_widgets->chbTempRead), G_CALLBACK(wrapper_edit_init_windows_size_memory), NULL); + g_signal_handlers_block_by_func(G_OBJECT(edit_widgets->chbTempWrite), G_CALLBACK(wrapper_edit_init_windows_size_memory), NULL); philos_update_device_to_entry(edit_widgets, &obj_edit_config, 0); philos_update_device_to_entry(edit_widgets, &obj_edit_config, 1); + g_signal_handlers_unblock_by_func(G_OBJECT(edit_widgets->cbtTempDevice), G_CALLBACK(combo_box_device_edit), NULL); + g_signal_handlers_unblock_by_func(G_OBJECT(edit_widgets->cbtTempRead), G_CALLBACK(wrapper_edit_init_windows_size_memory), NULL); + g_signal_handlers_unblock_by_func(G_OBJECT(edit_widgets->cbtTempWrite), G_CALLBACK(wrapper_edit_init_windows_size_memory), NULL); + g_signal_handlers_unblock_by_func(G_OBJECT(edit_widgets->spinTempRead), G_CALLBACK(wrapper_edit_init_windows_size_memory), NULL); + g_signal_handlers_unblock_by_func(G_OBJECT(edit_widgets->spinTempWrite), G_CALLBACK(wrapper_edit_init_windows_size_memory), NULL); + g_signal_handlers_unblock_by_func(G_OBJECT(edit_widgets->chbTempRead), G_CALLBACK(wrapper_edit_init_windows_size_memory), NULL); + g_signal_handlers_unblock_by_func(G_OBJECT(edit_widgets->chbTempWrite), G_CALLBACK(wrapper_edit_init_windows_size_memory), NULL); } int edit_get_soft_size() { @@ -285,10 +300,10 @@ void edit_set_limit_swap(int value, int pow_mem) { edit_widgets->cmbPaddingFLTemp); } void edit_temp_set(int value, int pow_mem, GtkWidget* cheek, GtkWidget* spin, GtkWidget* combo_box_text) { - if (pow_mem!=-3 && pow_mem>=-1 && value>=1) { + if (pow_mem!=-3 && pow_mem>=-1 && value>=0) { gtk_spin_button_set_value(GTK_SPIN_BUTTON(spin), value); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(cheek), 1); - if (combo_box_text != NULL) { + if (combo_box_text) { gtk_combo_box_set_active(GTK_COMBO_BOX(combo_box_text), pow_mem); } } diff --git a/ubl-settings-resourcequota.glade b/ubl-settings-resourcequota.glade index 182e604..68a9cd0 100644 --- a/ubl-settings-resourcequota.glade +++ b/ubl-settings-resourcequota.glade @@ -1936,6 +1936,7 @@ True + True False 5 5