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