From cc0d328f8e2a4dc4df5e5da9a67558958eb876fd Mon Sep 17 00:00:00 2001 From: Igor Belitskiy Date: Tue, 20 Jun 2023 10:19:43 +0600 Subject: [PATCH] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D0=B0=20=D0=BE=D1=88=D0=B8=D0=B1=D0=BA=D0=B0=20?= =?UTF-8?q?=D1=81=20checkButton?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- source/ubl-settings-resourcequota.h | 2 +- source/view_add.c | 118 +++++++++++++++++++++------- 2 files changed, 91 insertions(+), 29 deletions(-) diff --git a/source/ubl-settings-resourcequota.h b/source/ubl-settings-resourcequota.h index 7d22657..5fd526a 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-34-g126f61d"; +string version_application = "1.2-35-gb4c4ce6"; static char *local; diff --git a/source/view_add.c b/source/view_add.c index b3ce912..8c1b388 100644 --- a/source/view_add.c +++ b/source/view_add.c @@ -1,4 +1,5 @@ #include "view_add.h" +#include "ubl-utils.h" add_window *add_widgets = NULL; add_config obj_add_config; @@ -129,6 +130,8 @@ void add_del_disk() { char* pard_array_edit_cmd(char* cmd, char* key, char** array_io, int* array_io_pow_size) { char* split_simvol = g_malloc0(sizeof(char)*2); + int flag_format = 0; + char* cmd_old = yon_char_new(cmd); if (obj_add_config.disk && obj_add_config.size && array_io && array_io_pow_size) { int index_find = 0; for (int index = 0; index < obj_add_config.size; index++) { @@ -142,14 +145,24 @@ char* pard_array_edit_cmd(char* cmd, char* key, char** array_io, int* array_io_p } if (array_io_pow_size[index] != -1) { - cmd = yon_char_unite(cmd, split_simvol, obj_add_config.disk[index], philos_format_cfg_str_size_memory(" ", array_io[index], array_io_pow_size[index]), NULL); + cmd = yon_char_unite(cmd, + split_simvol, + obj_add_config.disk[index], + philos_format_cfg_str_size_memory(" ", array_io[index], array_io_pow_size[index]), NULL); split_simvol[0] = ','; split_simvol[1] = '\0'; + flag_format = 1; } } } free(split_simvol); - return cmd; + if (flag_format) { + return cmd; + } + else { + return cmd_old; + } + } void add_disk_all(){ @@ -169,44 +182,90 @@ void add_disk_all(){ } if (index_find == -1) { // Добавление - puts("111"); obj_add_config.disk = yon_char_parsed_append(obj_add_config.disk,&obj_add_config.size, disk); obj_add_config.size--; - 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--; - obj_add_config.i_o_limit_write_size = philos_int_append(obj_add_config.i_o_limit_write_size,&obj_add_config.size,(int)gtk_combo_box_get_active(GTK_COMBO_BOX(add_widgets->cbtAddWrite))); - obj_add_config.size--; - obj_add_config.i_o_limit_read = yon_char_parsed_append(obj_add_config.i_o_limit_read,&obj_add_config.size,yon_char_from_int(gtk_spin_button_get_digits(GTK_SPIN_BUTTON(add_widgets->spinAddRead)))); - obj_add_config.size--; - obj_add_config.i_o_limit_write = yon_char_parsed_append(obj_add_config.i_o_limit_write,&obj_add_config.size,yon_char_from_int(gtk_spin_button_get_digits(GTK_SPIN_BUTTON(add_widgets->spinAddWrite)))); + 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--; + obj_add_config.i_o_limit_read = yon_char_parsed_append(obj_add_config.i_o_limit_read,&obj_add_config.size,yon_char_from_int(gtk_spin_button_get_digits(GTK_SPIN_BUTTON(add_widgets->spinAddRead)))); + obj_add_config.size--; + } + else { + obj_add_config.i_o_limit_write_size = philos_int_append(obj_add_config.i_o_limit_write_size,&obj_add_config.size,-1); + obj_add_config.size--; + obj_add_config.i_o_limit_write = yon_char_parsed_append(obj_add_config.i_o_limit_write,&obj_add_config.size,"-"); + obj_add_config.size--; + } + if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(add_widgets->chbAddWrite))) { + obj_add_config.i_o_limit_write_size = philos_int_append(obj_add_config.i_o_limit_write_size,&obj_add_config.size,(int)gtk_combo_box_get_active(GTK_COMBO_BOX(add_widgets->cbtAddWrite))); + obj_add_config.size--; + obj_add_config.i_o_limit_write = yon_char_parsed_append(obj_add_config.i_o_limit_write,&obj_add_config.size,yon_char_from_int(gtk_spin_button_get_digits(GTK_SPIN_BUTTON(add_widgets->spinAddWrite)))); + obj_add_config.size--; + } + else { + obj_add_config.i_o_limit_write_size = philos_int_append(obj_add_config.i_o_limit_write_size,&obj_add_config.size,-1); + obj_add_config.size--; + obj_add_config.i_o_limit_write = yon_char_parsed_append(obj_add_config.i_o_limit_write,&obj_add_config.size,"-"); + obj_add_config.size--; + } + obj_add_config.size++; + } else { // Редактирование - puts("2222"); - obj_add_config.disk[index_find] = yon_char_new(disk); - 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_write_size[index_find] = (int)gtk_combo_box_get_active(GTK_COMBO_BOX(add_widgets->cbtAddWrite)); - 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))); - obj_add_config.i_o_limit_write[index_find] = yon_char_from_int(gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(add_widgets->spinAddWrite))); - puts(yon_char_from_int(gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(add_widgets->spinAddRead)))); + //obj_add_config.disk[index_find] = yon_char_new(disk); + 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))); + + } + else { + obj_add_config.i_o_limit_read_size[index_find] = -1; + obj_add_config.i_o_limit_read[index_find] = "-"; + } + if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(add_widgets->chbAddWrite))) { + obj_add_config.i_o_limit_write_size[index_find] = (int)gtk_combo_box_get_active(GTK_COMBO_BOX(add_widgets->cbtAddWrite)); + obj_add_config.i_o_limit_write[index_find] = yon_char_from_int(gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(add_widgets->spinAddWrite))); + } + else { + obj_add_config.i_o_limit_write_size[index_find] = -1; + obj_add_config.i_o_limit_write[index_find] = "-"; + } + + + } } else { if (bool_read == 1 || bool_write == 1) { - puts("3333"); obj_add_config.disk = yon_char_parsed_append(obj_add_config.disk,&obj_add_config.size, disk); obj_add_config.size--; - 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--; - obj_add_config.i_o_limit_read = yon_char_parsed_append(obj_add_config.i_o_limit_read,&obj_add_config.size,yon_char_from_int(gtk_spin_button_get_digits(GTK_SPIN_BUTTON(add_widgets->spinAddRead)))); - 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--; - obj_add_config.i_o_limit_write_size = philos_int_append(obj_add_config.i_o_limit_write_size,&obj_add_config.size,(int)gtk_combo_box_get_active(GTK_COMBO_BOX(add_widgets->cbtAddWrite))); - obj_add_config.size--; - obj_add_config.i_o_limit_write = yon_char_parsed_append(obj_add_config.i_o_limit_write,&obj_add_config.size,yon_char_from_int(gtk_spin_button_get_digits(GTK_SPIN_BUTTON(add_widgets->spinAddWrite)))); + 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--; + obj_add_config.i_o_limit_read = yon_char_parsed_append(obj_add_config.i_o_limit_read,&obj_add_config.size,yon_char_from_int(gtk_spin_button_get_digits(GTK_SPIN_BUTTON(add_widgets->spinAddRead)))); + obj_add_config.size--; + } + else { + obj_add_config.i_o_limit_write_size = philos_int_append(obj_add_config.i_o_limit_write_size,&obj_add_config.size,-1); + obj_add_config.size--; + obj_add_config.i_o_limit_write = yon_char_parsed_append(obj_add_config.i_o_limit_write,&obj_add_config.size,"-"); + obj_add_config.size--; + } + if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(add_widgets->chbAddWrite))) { + obj_add_config.i_o_limit_write_size = philos_int_append(obj_add_config.i_o_limit_write_size,&obj_add_config.size,(int)gtk_combo_box_get_active(GTK_COMBO_BOX(add_widgets->cbtAddWrite))); + obj_add_config.size--; + obj_add_config.i_o_limit_write = yon_char_parsed_append(obj_add_config.i_o_limit_write,&obj_add_config.size,yon_char_from_int(gtk_spin_button_get_digits(GTK_SPIN_BUTTON(add_widgets->spinAddWrite)))); + obj_add_config.size--; + } + else { + obj_add_config.i_o_limit_write_size = philos_int_append(obj_add_config.i_o_limit_write_size,&obj_add_config.size,-1); + obj_add_config.size--; + obj_add_config.i_o_limit_write = yon_char_parsed_append(obj_add_config.i_o_limit_write,&obj_add_config.size,"-"); + obj_add_config.size--; + } + obj_add_config.size++; } - puts("44444"); } } @@ -449,8 +508,11 @@ void add_generate_cmd() { } if (gtk_combo_box_get_active(GTK_COMBO_BOX(add_widgets->cbtAddDevice))!=-1) { if (obj_add_config.size!=0) { + puts(str_cmd); str_cmd = pard_array_edit_cmd(str_cmd, "IOReadBandwidthMax=", obj_add_config.i_o_limit_read, obj_add_config.i_o_limit_read_size); + puts(str_cmd); str_cmd = pard_array_edit_cmd(str_cmd, "IOWriteBandwidthMax=", obj_add_config.i_o_limit_write, obj_add_config.i_o_limit_write_size); + puts(str_cmd); } }