From 79bae2385bda605d6dd7f6fa5f0eb696af9a4eca Mon Sep 17 00:00:00 2001 From: Igor Belitskiy Date: Thu, 15 Jun 2023 17:59:33 +0600 Subject: [PATCH] =?UTF-8?q?=D0=9D=D0=B0=D1=87=D0=B0=D0=BB=20=D0=B4=D0=BE?= =?UTF-8?q?=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD=D0=B8=D0=B5=20=D1=84=D1=83?= =?UTF-8?q?=D0=BD=D0=BA=D1=86=D0=B8=D0=BE=D0=BD=D0=B0=D0=BB=D0=B0=20=D0=B4?= =?UTF-8?q?=D0=BB=D1=8F=20=D1=83=D1=81=D1=82=D1=80=D0=BE=D0=B9=D1=81=D1=82?= =?UTF-8?q?=D0=B2=20=D0=B2=D0=B2=D0=BE=D0=B4=D0=B0=20=D0=B2=D1=8B=D0=B2?= =?UTF-8?q?=D0=BE=D0=B4=D0=B0=20=D0=BE=D0=BA=D0=BD=D0=B0=20=D1=80=D0=B5?= =?UTF-8?q?=D0=B4=D0=B0=D0=BA=D1=82=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D0=BD?= =?UTF-8?q?=D0=B8=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- source/ubl-settings-resourcequota.c | 1 + source/view_edit.c | 48 ++++++++++++++++++++--------- source/view_edit.h | 16 ++++++++-- 3 files changed, 48 insertions(+), 17 deletions(-) diff --git a/source/ubl-settings-resourcequota.c b/source/ubl-settings-resourcequota.c index f409087..e7b8a0f 100644 --- a/source/ubl-settings-resourcequota.c +++ b/source/ubl-settings-resourcequota.c @@ -1210,6 +1210,7 @@ int main(int argc, char *argv[]){ } } get_add_config()->size = 0; + get_edit_config()->size = 0; add_get_cmd_group(CMD_GET_GROUP); add_get_systemd_cgls(CMD_GET_SLICE_SERVICE); gtk_init(&argc,&argv); diff --git a/source/view_edit.c b/source/view_edit.c index e8a288b..fa38a05 100644 --- a/source/view_edit.c +++ b/source/view_edit.c @@ -1,7 +1,11 @@ #include "view_edit.h" edit_window *edit_widgets = NULL; +edit_config obj_edit_config; +edit_config* get_edit_config() { + return &obj_edit_config; +} edit_window *edit_setup_window(char* glade_path){ if (edit_widgets == NULL) { edit_widgets = malloc(sizeof(edit_window)); @@ -38,10 +42,25 @@ edit_window *edit_setup_window(char* glade_path){ device_fill_disk(edit_widgets->cbtEditDevice); // edit_event(edit_widgets); edit_localization(edit_widgets); + edit_config_init(); } return edit_widgets; } - +void edit_config_init() { + if (obj_edit_config.size != 0) { + philos_free_string_array(&obj_edit_config.disk, obj_edit_config.size); + philos_free_string_array(&obj_edit_config.i_o_limit_read, obj_edit_config.size); + philos_free_string_array(&obj_edit_config.i_o_limit_write, obj_edit_config.size); + philos_free_int_array(&obj_edit_config.i_o_limit_read_size, obj_edit_config.size); + philos_free_int_array(&obj_edit_config.i_o_limit_write_size, obj_edit_config.size); + } + obj_edit_config.disk = NULL; + obj_edit_config.i_o_limit_read = NULL; + obj_edit_config.i_o_limit_write = NULL; + obj_edit_config.i_o_limit_read_size = NULL; + obj_edit_config.i_o_limit_write_size = NULL; + obj_edit_config.size = 0; +} void edit_event(edit_window *widgets) { g_signal_connect(G_OBJECT(widgets->btnEditCancel),"clicked",G_CALLBACK(edit_on_hide_subwindow),NULL); g_signal_connect(G_OBJECT(widgets->Window), "destroy", G_CALLBACK(edit_destroy), NULL); @@ -175,19 +194,20 @@ char* edit_get_limit_swap() { } // ================================================================= -void edit_set_select_device(char* str_value) { - int index = yon_gtk_combo_box_text_find(edit_widgets->cbtEditDevice,str_value); - gtk_combo_box_set_active(GTK_COMBO_BOX(edit_widgets->cbtEditDevice), index); -} -void edit_set_read_device(char* str_value, int pow_mem) { - edit_temp_set(str_value,pow_mem, edit_widgets->chbEditRead, - edit_widgets->spinEditRead, - edit_widgets->cbtEditRead); -} -void edit_set_write_device(char* str_value, int pow_mem) { - edit_temp_set(str_value,pow_mem, edit_widgets->chbEditWrite, - edit_widgets->spinEditWrite, - edit_widgets->cbtEditWrite); +void edit_set_select_device(char** str_value) { + + //int index = yon_gtk_combo_box_text_find(edit_widgets->cbtEditDevice,str_value); + //gtk_combo_box_set_active(GTK_COMBO_BOX(edit_widgets->cbtEditDevice), index); +} +void edit_set_read_device(char** str_value, int* pow_mem) { + //edit_temp_set(str_value,pow_mem, edit_widgets->chbEditRead, + // edit_widgets->spinEditRead, + // edit_widgets->cbtEditRead); +} +void edit_set_write_device(char** str_value, int* pow_mem) { + // edit_temp_set(str_value,pow_mem, edit_widgets->chbEditWrite, + // edit_widgets->spinEditWrite, + // edit_widgets->cbtEditWrite); } void edit_set_soft(char* str_value, int pow_mem) { edit_temp_set(str_value,pow_mem, edit_widgets->chkSoftRestrictionEdit, diff --git a/source/view_edit.h b/source/view_edit.h index c7c7e46..245df04 100644 --- a/source/view_edit.h +++ b/source/view_edit.h @@ -17,6 +17,14 @@ #define CMD_SWAP "grep '^Swap' /proc/meminfo | grep \"SwapTotal\" |grep -oE \"[0-9]{1,}\"" #define CMD_RAW "cat /proc/meminfo | grep \"MemTotal\" |grep -oE \"[0-9]{1,}\"" // Переменные +typedef struct { + config_str disk; + config_str i_o_limit_read; + config_str i_o_limit_write; + int* i_o_limit_read_size; + int* i_o_limit_write_size; + int size; +} edit_config; typedef struct { GtkWidget* Window; GtkWidget* btnSaveEditSave; @@ -69,9 +77,9 @@ char* edit_get_limit_cpu(); char* edit_get_limit_swap(); void edit_generate_cmd(); void wrapper_edit_show(); -void edit_set_select_device(char* str_value); -void edit_set_read_device(char* str_value, int pow_mem); -void edit_set_write_device(char* str_value, int pow_mem); +void edit_set_select_device(char** str_value); +void edit_set_read_device(char** str_value, int* pow_mem); +void edit_set_write_device(char** str_value, int* pow_mem); void edit_set_soft(char* str_value, int pow_mem); void edit_set_hard(char* str_value, int pow_mem); void edit_set_limit_cpu(char* str_value, int pow_mem); @@ -84,6 +92,8 @@ int edit_get_soft_size(); int edit_get_hard_size(); int edit_get_limit_cpu_size(); int edit_get_limit_swap_size(); +void edit_config_init(); +edit_config* get_edit_config(); void edit_set_active_widgets_device_io(GtkWidget *check, GtkWidget *spin, GtkWidget *combo); void edit_set_spin_adjustment(GtkWidget *check, GtkWidget *spin, GtkWidget *combo, size_t value); #endif \ No newline at end of file