diff --git a/source/ubl-settings-resourcequota.c b/source/ubl-settings-resourcequota.c index 8b52f4a..04ed8ef 100644 --- a/source/ubl-settings-resourcequota.c +++ b/source/ubl-settings-resourcequota.c @@ -643,7 +643,6 @@ void tree_view_add(int index) { main_config.disk = yon_remalloc(main_config.disk, (main_config.size_tree_view + 1) * sizeof(char**)); yon_char_parsed_copy(&main_config.i_o_limit_write[main_config.size_tree_view], add_get_write_device()); philos_array_int_copy(&main_config.i_o_limit_write_size[main_config.size_tree_view], add_get_write_device_size_pow()); - yon_char_parsed_copy(&main_config.disk[main_config.size_tree_view], add_get_select_device()); main_config.type_quota_size = philos_int_append(main_config.type_quota_size, &main_config.size_tree_view, add_get_quota_object_size()); main_config.size_tree_view--; @@ -701,7 +700,7 @@ char* format_io_limit_in_tree_view(config_str* disk, config_str* i_o_limit, int* str = yon_char_unite(str, ", ", disk[index][index_to_n2], " ", i_o_limit[index][index_to_n2], NULL); } else if (strstr(disk[index][index_to_n2], "-")){ - str = yon_char_unite(str, "-", NULL); + str = yon_char_unite(str, ",", NULL); } else { str = yon_char_unite(str, disk[index][index_to_n2], " ", i_o_limit[index][index_to_n2], NULL); diff --git a/source/ubl-settings-resourcequota.h b/source/ubl-settings-resourcequota.h index b492141..dced028 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-38-g8643957"; +string version_application = "1.2-39-g7116610"; static char *local; diff --git a/source/view_add.c b/source/view_add.c index 726d7b0..af9d4ce 100644 --- a/source/view_add.c +++ b/source/view_add.c @@ -54,14 +54,14 @@ add_window *add_setup_window(char* glade_path) { } // flag_check_array = 0 READ // flag_check_array = 1 WRITE -void update_device_to_entry(GtkWidget *combo_box, GtkWidget *check_button, GtkWidget *spin, int flag_check_array) { +void update_device_to_entry(GtkWidget *combo_box, GtkWidget *combo_box_size, GtkWidget *check_button, GtkWidget *spin, int flag_check_array) { int disk_id = gtk_combo_box_get_active(GTK_COMBO_BOX(combo_box)); char* disk = gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(add_widgets->cbtAddDevice)); disk = yon_char_divide_search(disk, " ", -1); if (disk_id != -1) { int index_find = -1; for (int index = 0; index < obj_add_config.size; index++) { - char* disk_cfg = yon_char_new(obj_add_config.disk[index]); + char* disk_cfg = obj_add_config.disk[index]; if (strstr(disk_cfg, disk) != NULL) { index_find = index; break; @@ -72,35 +72,43 @@ void update_device_to_entry(GtkWidget *combo_box, GtkWidget *check_button, GtkWi if (strstr(obj_add_config.i_o_limit_read[index_find],"-")) { gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check_button), 0); gtk_spin_button_set_value(GTK_SPIN_BUTTON(spin), 0); + gtk_combo_box_set_active(GTK_COMBO_BOX(combo_box_size), 0); } else { gtk_spin_button_set_value(GTK_SPIN_BUTTON(spin), atoll(obj_add_config.i_o_limit_read[index_find])); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check_button), 1); + gtk_combo_box_set_active(GTK_COMBO_BOX(combo_box_size), obj_add_config.i_o_limit_read_size[index_find]); + } } else if (flag_check_array==1) { if (strstr(obj_add_config.i_o_limit_write[index_find],"-")) { gtk_spin_button_set_value(GTK_SPIN_BUTTON(spin), 0); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check_button), 0); + gtk_combo_box_set_active(GTK_COMBO_BOX(combo_box_size), 0); } else { gtk_spin_button_set_value(GTK_SPIN_BUTTON(spin), atoll(obj_add_config.i_o_limit_write[index_find])); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check_button), 1); + gtk_combo_box_set_active(GTK_COMBO_BOX(combo_box_size), obj_add_config.i_o_limit_write_size[index_find]); } } else { gtk_spin_button_set_value(GTK_SPIN_BUTTON(spin), 0); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check_button), 0); + gtk_combo_box_set_active(GTK_COMBO_BOX(combo_box_size), 0); } } else { gtk_spin_button_set_value(GTK_SPIN_BUTTON(spin), 0); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check_button), 0); + gtk_combo_box_set_active(GTK_COMBO_BOX(combo_box_size), 0); } } else { gtk_spin_button_set_value(GTK_SPIN_BUTTON(spin), 0); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check_button), 0); + gtk_combo_box_set_active(GTK_COMBO_BOX(combo_box_size), 0); } } @@ -108,8 +116,8 @@ void add_config_init() { if (obj_add_config.size != 0) { philos_free_string_array(&obj_add_config.disk, obj_add_config.size); philos_free_string_array(&obj_add_config.i_o_limit_read, obj_add_config.size); - philos_free_string_array(&obj_add_config.i_o_limit_write, obj_add_config.size); philos_free_int_array(&obj_add_config.i_o_limit_read_size, obj_add_config.size); + philos_free_string_array(&obj_add_config.i_o_limit_write, obj_add_config.size); philos_free_int_array(&obj_add_config.i_o_limit_write_size, obj_add_config.size); } obj_add_config.disk = NULL; @@ -229,7 +237,7 @@ void add_disk_all(){ if (disk_id >= 0 && obj_add_config.size !=0) { int index_find = -1; for (int index = 0; index < obj_add_config.size; index++) { - char* disk_cfg = yon_char_new(obj_add_config.disk[index]); + char* disk_cfg = obj_add_config.disk[index]; if (strstr(disk_cfg, disk) != NULL) { index_find = index; break; @@ -237,7 +245,6 @@ void add_disk_all(){ } if (index_find == -1) { // Добавление - puts("hhhhhhh1"); obj_add_config.disk = yon_char_parsed_append(obj_add_config.disk,&obj_add_config.size, disk); obj_add_config.size--; if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(add_widgets->chbAddRead))) { @@ -270,7 +277,6 @@ void add_disk_all(){ else { // Редактирование //obj_add_config.disk[index_find] = yon_char_new(disk); - puts("hhhhhhh2"); if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(add_widgets->chbAddRead))) { obj_add_config.i_o_limit_read_size[index_find] =(int)gtk_combo_box_get_active(GTK_COMBO_BOX(add_widgets->cbtAddRead)); obj_add_config.i_o_limit_read[index_find] = yon_char_from_int(gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(add_widgets->spinAddRead))); @@ -291,11 +297,8 @@ void add_disk_all(){ } else { if (bool_read == 1 || bool_write == 1) { - if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(add_widgets->chbAddRead)) || - gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(add_widgets->chbAddWrite))) { - obj_add_config.disk = yon_char_parsed_append(obj_add_config.disk,&obj_add_config.size, disk); - obj_add_config.size--; - } + obj_add_config.disk = yon_char_parsed_append(obj_add_config.disk,&obj_add_config.size, disk); + obj_add_config.size--; if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(add_widgets->chbAddRead))) { obj_add_config.i_o_limit_read_size = philos_int_append(obj_add_config.i_o_limit_read_size,&obj_add_config.size,(int)gtk_combo_box_get_active(GTK_COMBO_BOX(add_widgets->cbtAddRead))); obj_add_config.size--; @@ -336,8 +339,8 @@ void event_check_io_device() { } void combo_box_device() { - update_device_to_entry(add_widgets->cbtAddDevice, add_widgets->chbAddRead, add_widgets->spinAddRead, 0); - update_device_to_entry(add_widgets->cbtAddDevice, add_widgets->chbAddWrite, add_widgets->spinAddWrite, 1); + update_device_to_entry(add_widgets->cbtAddDevice,add_widgets->cbtAddRead, add_widgets->chbAddRead, add_widgets->spinAddRead, 0); + update_device_to_entry(add_widgets->cbtAddDevice,add_widgets->cbtAddWrite, add_widgets->chbAddWrite, add_widgets->spinAddWrite, 1); } void add_event(add_window *widgets) { @@ -422,43 +425,28 @@ char* add_get_select_device_to_level_2() { } char*** add_get_read_device() { - int index = 0; - if (!obj_add_config.i_o_limit_read) { - obj_add_config.i_o_limit_read = yon_char_parsed_append(obj_add_config.i_o_limit_read,&index, "-"); - obj_add_config.i_o_limit_read = yon_char_parsed_append(obj_add_config.i_o_limit_read,&index, NULL); - } + obj_add_config.i_o_limit_read = yon_char_parsed_append(obj_add_config.i_o_limit_read,&obj_add_config.size, NULL); + obj_add_config.size--; return &obj_add_config.i_o_limit_read; } int** add_get_read_device_size_pow() { - int index = 0; - if (!obj_add_config.i_o_limit_read_size) { - obj_add_config.i_o_limit_read_size = philos_int_append(obj_add_config.i_o_limit_read_size,&index, -1); - obj_add_config.i_o_limit_read_size = philos_int_append(obj_add_config.i_o_limit_read_size,&index, -2); - } + obj_add_config.i_o_limit_read_size = philos_int_append(obj_add_config.i_o_limit_read_size,&obj_add_config.size, -2); + obj_add_config.size--; return &obj_add_config.i_o_limit_read_size; } char*** add_get_write_device() { - int index = 0; - if (!obj_add_config.i_o_limit_write) { - obj_add_config.i_o_limit_write = yon_char_parsed_append(obj_add_config.i_o_limit_write, &index, "-"); - obj_add_config.i_o_limit_write = yon_char_parsed_append(obj_add_config.i_o_limit_write, &index, NULL); - } + obj_add_config.i_o_limit_write = yon_char_parsed_append(obj_add_config.i_o_limit_write, &obj_add_config.size, NULL); + obj_add_config.size--; return &obj_add_config.i_o_limit_write; } int** add_get_write_device_size_pow() { - int index = 0; - if (!obj_add_config.i_o_limit_write_size) { - obj_add_config.i_o_limit_write_size = philos_int_append(obj_add_config.i_o_limit_write_size,&index, -1); - obj_add_config.i_o_limit_write_size = philos_int_append(obj_add_config.i_o_limit_write_size,&index, -2); - } + obj_add_config.i_o_limit_write_size = philos_int_append(obj_add_config.i_o_limit_write_size,&obj_add_config.size, -2); + obj_add_config.size--; return &obj_add_config.i_o_limit_write_size; } char*** add_get_select_device() { - int index = 0; - if (!obj_add_config.disk) { - obj_add_config.disk = yon_char_parsed_append(obj_add_config.disk,&index, "-"); - obj_add_config.disk = yon_char_parsed_append(obj_add_config.disk,&index, NULL); - } + obj_add_config.disk = yon_char_parsed_append(obj_add_config.disk,&obj_add_config.size, NULL); + obj_add_config.size--; return &obj_add_config.disk; }