From 505929e69efec03eef83cf9114cf913171a832f8 Mon Sep 17 00:00:00 2001 From: Igor Belitskiy Date: Thu, 22 Jun 2023 15:31:00 +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=D1=8B=20=D0=B8=D0=B7=D0=B1=D1=8B=D1=82=D0=BE=D1=87?= =?UTF-8?q?=D0=BD=D0=BE=D1=81=D1=82=D0=B8=20=D1=81=D1=82=D1=80=D0=BE=D0=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- source/ubl-settings-resourcequota.c | 50 ++++++++++++++++++----------- source/ubl-settings-resourcequota.h | 2 +- source/ubl-utils.c | 3 ++ source/view_add.c | 9 ++---- source/view_edit.c | 11 +++---- 5 files changed, 43 insertions(+), 32 deletions(-) diff --git a/source/ubl-settings-resourcequota.c b/source/ubl-settings-resourcequota.c index 04ed8ef..b367595 100644 --- a/source/ubl-settings-resourcequota.c +++ b/source/ubl-settings-resourcequota.c @@ -523,6 +523,12 @@ void get_param_io_limit(char** arr_values, int index_start, int size, int index_ } void set_size_memory_integer(char* str_find, char*** array_data, int index) { + char* simv_del_array[9] = {"K","M","G","T","k","m","g","t","%"}; + for (size_t i = 0; i < 9; i++) { + if (strstr(str_find, simv_del_array[i])) { + str_find = yon_char_divide_search(str_find, simv_del_array[i], -1); + } + } if (strstr(str_find, " ") != NULL) { char* mem_s = yon_char_new(str_find); yon_char_divide_search(mem_s, " ", -1); @@ -674,12 +680,13 @@ void fill_tree_view(int start, int size, int flag_gui_add) { gtk_list_store_append(main_config.list,&iter); char* str_io_read = format_io_limit_in_tree_view(main_config.disk, main_config.i_o_limit_read, main_config.i_o_limit_read_size, index); char* str_io_write = format_io_limit_in_tree_view(main_config.disk, main_config.i_o_limit_write, main_config.i_o_limit_write_size, index); - gtk_list_store_set(main_config.list,&iter,0,main_config.type_quota[index], + gtk_list_store_set(main_config.list,&iter, + 0,main_config.type_quota[index], 1,main_config.quota_volume[index], - 2,main_config.soft_raw_limit[index], - 3,main_config.hard_raw_limit[index], - 4,main_config.swap[index], - 5,main_config.cpu_limit[index], + 2,philos_format_cfg_str_size_memory("", main_config.soft_raw_limit[index],main_config.soft_raw_limit_size[index]), + 3,philos_format_cfg_str_size_memory("", main_config.hard_raw_limit[index],main_config.hard_raw_limit_size[index]), + 4,philos_format_cfg_str_size_memory("", main_config.swap[index],main_config.swap_size[index]), + 5,philos_format_cfg_str_size_memory("", main_config.cpu_limit[index], -1), 6,str_io_read, 7,str_io_write,-1); free(str_io_read); @@ -697,13 +704,18 @@ char* format_io_limit_in_tree_view(config_str* disk, config_str* i_o_limit, int* if (i_o_limit[index]!= NULL) { if (i_o_limit[index][index_to_n2] != NULL) { if (index_to_n2!=0) { - str = yon_char_unite(str, ", ", disk[index][index_to_n2], " ", i_o_limit[index][index_to_n2], NULL); + str = yon_char_unite(str, ",", + disk[index][index_to_n2], " ", + philos_format_cfg_str_size_memory(" ", i_o_limit[index][index_to_n2], i_o_limit_size[index][index_to_n2]), NULL); } else if (strstr(disk[index][index_to_n2], "-")){ 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); + else { + str = yon_char_unite(str, + disk[index][index_to_n2], " ", + philos_format_cfg_str_size_memory(" ", i_o_limit[index][index_to_n2], i_o_limit_size[index][index_to_n2]), NULL); + } index_to_n2++; } @@ -761,12 +773,13 @@ int tree_view_edit() { char* str_io_read = format_io_limit_in_tree_view(main_config.disk, main_config.i_o_limit_read, main_config.i_o_limit_read_size, index); char* str_io_write = format_io_limit_in_tree_view(main_config.disk, main_config.i_o_limit_write, main_config.i_o_limit_write_size, index); - gtk_list_store_set(main_config.list,&iter,0,main_config.type_quota[index], + gtk_list_store_set(main_config.list,&iter, + 0,main_config.type_quota[index], 1,main_config.quota_volume[index], - 2,main_config.soft_raw_limit[index], - 3,main_config.hard_raw_limit[index], - 4,main_config.swap[index], - 5,main_config.cpu_limit[index], + 2,philos_format_cfg_str_size_memory("",main_config.soft_raw_limit[index],main_config.soft_raw_limit_size[index]), + 3,philos_format_cfg_str_size_memory("",main_config.hard_raw_limit[index],main_config.hard_raw_limit_size[index]), + 4,philos_format_cfg_str_size_memory("",main_config.swap[index],main_config.swap_size[index]), + 5,philos_format_cfg_str_size_memory("",main_config.cpu_limit[index], -1), 6,str_io_read, 7,str_io_write,-1); return 1; @@ -1129,12 +1142,13 @@ void main_fill_tree_view_after_remove() { gtk_list_store_append(main_config.list,&iter); char* str_io_read = format_io_limit_in_tree_view(main_config.disk, main_config.i_o_limit_read, main_config.i_o_limit_read_size, index); char* str_io_write = format_io_limit_in_tree_view(main_config.disk, main_config.i_o_limit_write, main_config.i_o_limit_write_size, index); - gtk_list_store_set(main_config.list,&iter,0,main_config.type_quota[index], + gtk_list_store_set(main_config.list,&iter, + 0,main_config.type_quota[index], 1,main_config.quota_volume[index], - 2,main_config.soft_raw_limit[index], - 3,main_config.hard_raw_limit[index], - 4,main_config.swap[index], - 5,main_config.cpu_limit[index], + 2,philos_format_cfg_str_size_memory("",main_config.soft_raw_limit[index],main_config.soft_raw_limit_size[index]), + 3,philos_format_cfg_str_size_memory("",main_config.hard_raw_limit[index],main_config.hard_raw_limit_size[index]), + 4,philos_format_cfg_str_size_memory("",main_config.swap[index],main_config.swap_size[index]), + 5,philos_format_cfg_str_size_memory("",main_config.cpu_limit[index], -1), 6,str_io_read, 7,str_io_write,-1); } diff --git a/source/ubl-settings-resourcequota.h b/source/ubl-settings-resourcequota.h index 0216428..1a2e410 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-40-g9853ebc"; +string version_application = "1.2-41-gb204172"; static char *local; diff --git a/source/ubl-utils.c b/source/ubl-utils.c index 3eca738..05ec421 100644 --- a/source/ubl-utils.c +++ b/source/ubl-utils.c @@ -672,6 +672,9 @@ void philos_split_size_memory(char* str_value, int* size, char* pow_memory) { char* philos_format_cfg_str_size_memory(char* str_key, char* str_source_value, int pow_size_memory) { char* str_value = yon_char_new(str_source_value); + if (strstr(str_value, "-")) { + return "-"; + } str_value = yon_char_divide_search(str_value, " ", -1); if (pow_size_memory==0) { return yon_char_unite(str_key, str_value, "K" ,NULL); diff --git a/source/view_add.c b/source/view_add.c index af9d4ce..3784bbe 100644 --- a/source/view_add.c +++ b/source/view_add.c @@ -467,12 +467,10 @@ int add_get_quota_object_size() { } char* add_get_soft() { - return philos_get_size_bite(add_widgets->chkSoftRestrictionAdd, add_widgets->spiSevereRestrictionAdd, - add_widgets->cmSevereRestrictionAdd); + return yon_char_from_int(gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(add_widgets->spiSevereRestrictionAdd))); } char* add_get_hard() { - return philos_get_size_bite(add_widgets->chkSevereRestrictionAdd, add_widgets->spinSevereRestrictionAdd, - add_widgets->cmbSevereRestrictionAdd); + return yon_char_from_int(gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(add_widgets->spinSevereRestrictionAdd))); } char* add_get_limit_cpu() { if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(add_widgets->chkCPULimitAdd))) { @@ -487,8 +485,7 @@ char* add_get_limit_cpu() { } } char* add_get_limit_swap() { - return philos_get_size_bite(add_widgets->chkPaddingFLAdd, add_widgets->spinPaddingFLAdd, - add_widgets->cmbPaddingFLAdd); + return yon_char_from_int(gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(add_widgets->spinPaddingFLAdd))); } char* add_get_quota_object() { return gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(add_widgets->cbxAddQuotaObj)); diff --git a/source/view_edit.c b/source/view_edit.c index 958912b..55662c3 100644 --- a/source/view_edit.c +++ b/source/view_edit.c @@ -183,17 +183,15 @@ char*** edit_get_select_device() { return &obj_edit_config.disk; } char* edit_get_soft() { - return philos_get_size_bite(edit_widgets->chkSoftRestrictionEdit, edit_widgets->spiSevereRestrictionEdit, - edit_widgets->cmSevereRestrictionEdit); + return yon_char_from_int(gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(edit_widgets->spiSevereRestrictionEdit))); } char* edit_get_hard() { - return philos_get_size_bite(edit_widgets->chkSevereRestrictionEdit, edit_widgets->spinSevereRestrictionEdit, - edit_widgets->cmbSevereRestrictionEdit); + return yon_char_from_int(gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(edit_widgets->spinSevereRestrictionEdit))); } char* edit_get_limit_cpu() { if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(edit_widgets->chkCPULimitEdit))) { int size_bite = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(edit_widgets->spinCPULimitEdit)); - return yon_char_unite(yon_char_from_int(size_bite), "%" ,NULL); + return yon_char_from_int(size_bite); } else { char* str = (char*)malloc(sizeof(char*)*2); @@ -203,8 +201,7 @@ char* edit_get_limit_cpu() { } } char* edit_get_limit_swap() { - return philos_get_size_bite(edit_widgets->chkPaddingFLEdit, edit_widgets->spinPaddingFLEdit, - edit_widgets->cmbPaddingFLEdit); + return yon_char_from_int(gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(edit_widgets->spinPaddingFLEdit))); } // =================================================================