From fb36e889ad1d6a2eab5f100bf160adab16d94fe2 Mon Sep 17 00:00:00 2001 From: Igor Belitskiy Date: Wed, 12 Jul 2023 17:58:46 +0600 Subject: [PATCH] =?UTF-8?q?=D0=A7=D0=B0=D1=81=D1=82=D0=B8=D1=87=D0=BD?= =?UTF-8?q?=D0=BE=20=D1=80=D0=B0=D0=B1=D0=BE=D1=82=D0=B0=D0=B5=D1=82=20?= =?UTF-8?q?=D0=B7=D0=B0=D0=BF=D0=BE=D0=BB=D0=BD=D0=B5=D0=BD=D0=B8=D0=B5=20?= =?UTF-8?q?=D1=82=D0=B0=D0=B1=D0=BB=D0=B8=D1=86=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Makefile | 2 +- source/CMakeLists.txt | 15 ++- source/controler.c | 115 +++++++++--------- source/controler.h | 1 + source/model/load.c | 200 +++++++++++++++++++------------- source/model/load.h | 7 +- source/model/model.c | 115 +++++------------- source/model/model.h | 75 ++++++------ source/model/philos_utils.c | 118 +++++++++---------- source/model/philos_utils.h | 14 ++- source/model/save.c | 121 +++++++++++-------- source/model/save.h | 10 +- source/model/ubl-utils.c | 16 ++- source/model/vector.c | 34 ------ source/model/vector.h | 5 +- source/ubl-settings-diskquota.c | 4 + source/ubl-settings-diskquota.h | 6 +- source/ubl-strings.h | 8 +- source/view_filters.h | 1 - source/view_temp_u_g_p.h | 1 - ubl-settings-diskquota | Bin 583640 -> 595608 bytes ubl-settings-diskquota.glade | 182 +++++++++++++++++++++++++++-- ubl-settings-diskquota_ru.po | 12 ++ 23 files changed, 620 insertions(+), 442 deletions(-) diff --git a/Makefile b/Makefile index f84ef11..d4f86bb 100644 --- a/Makefile +++ b/Makefile @@ -105,7 +105,7 @@ uninstall: install: check uninstall @echo "Install ..." #################################################### УДАЛИТЬ ПЕРЕД КОММИТОМ ################################################################################ - @gcc source/ubl-cmake.h compile/resources.c compile/ubl-cmake.h source/view_filters.c source/view_filters.h source/view_temp_u_g_p.c source/view_temp_u_g_p.h source/controler.h source/controler.c source/model/philos_utils.h source/model/philos_utils.c source/model/my_device.h source/model/save.h source/model/save.c source/model/my_device.c source/model/model.h source/model/load.h source/model/load.c source/model/model.c source/ubl-settings-diskquota.c source/ubl-settings-diskquota.h source/ubl-strings.h source/model/ubl-utils.c source/model/ubl-utils.h -o ubl-settings-diskquota `pkg-config --cflags --libs gtk+-3.0 vte-2.91 webkit2gtk-4.0 webkit2gtk-web-extension-4.0` -g + @gcc source/ubl-cmake.h compile/resources.c compile/ubl-cmake.h source/view_filters.c source/model/vector.c source/model/vector.h source/view_filters.h source/view_temp_u_g_p.c source/view_temp_u_g_p.h source/controler.h source/controler.c source/model/philos_utils.h source/model/philos_utils.c source/model/my_device.h source/model/save.h source/model/save.c source/model/my_device.c source/model/model.h source/model/load.h source/model/load.c source/model/model.c source/ubl-settings-diskquota.c source/ubl-settings-diskquota.h source/ubl-strings.h source/model/ubl-utils.c source/model/ubl-utils.h -o ubl-settings-diskquota `pkg-config --cflags --libs gtk+-3.0 vte-2.91 webkit2gtk-4.0 webkit2gtk-web-extension-4.0` -g #################################################### УДАЛИТЬ ПЕРЕД КОММИТОМ ################################################################################ @for FILE_PO in $(wildcard *.po); do \ LANG=$${FILE_PO##*_};LANG=$${LANG%.*}; \ diff --git a/source/CMakeLists.txt b/source/CMakeLists.txt index 22b8308..ec3cfa1 100644 --- a/source/CMakeLists.txt +++ b/source/CMakeLists.txt @@ -72,6 +72,14 @@ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pedantic -Wall -Wextra -Werror -Wmissin set(SOURCE_FILES controler.h controler.c + model/model.h + model/model.c + model/save.h + model/save.c + model/load.h + model/load.c + model/vector.c + model/vector.h ubl-strings.h view_filters.c view_filters.h @@ -79,16 +87,11 @@ set(SOURCE_FILES view_temp_u_g_p.h model/ubl-utils.h model/ubl-utils.c - model/model.h - model/model.c - model/load.h - model/load.c model/my_device.h model/my_device.c model/philos_utils.h model/philos_utils.c - model/save.h - model/save.c + ubl-settings-diskquota.c ubl-settings-diskquota.h ${CMAKE_CURRENT_BINARY_DIR}/ubl-cmake.h diff --git a/source/controler.c b/source/controler.c index 590121f..5ae8e30 100644 --- a/source/controler.c +++ b/source/controler.c @@ -1,65 +1,60 @@ #include "controler.h" -config_u_g_p cfg_u_g_p; -config_general cfg_general; main_window cfg_main_gui; custom_window cfg_custom_gui; config_settings_gui main_config; +config_all* all_config; -void fill_tree_view_u_g_p(custom_window* _config_gui, config_u_g_p* _config, int start, int flag_gui_add) { - GtkTreeModel *model = GTK_TREE_MODEL(_config_gui->list); - if (flag_gui_add == 0) { - g_object_ref(_config_gui->list); - gtk_list_store_clear(_config_gui->list); - } - for (int index = start; index < _config->size; index++) { - GtkTreeIter iter; - gtk_list_store_append(_config_gui->list,&iter); - if (strcmp(_config->type_arr[index], "project") != 0) { - gtk_list_store_set(_config_gui->list,&iter, - 0,_config->name[index], - 1,_config->quota[index], - 2,_config->files[index], - 3,philos_format_cfg_str_size_memory("", _config->soft_restriction_size[index],_config->soft_restriction_size_pow[index]), - 4,philos_format_cfg_str_size_memory("", _config->soft_restriction_file[index],_config->soft_restriction_file_pow[index]), - 5,philos_format_cfg_str_size_memory("", _config->severe_limitation_size[index],_config->severe_limitation_size_pow[index]), - 6,philos_format_cfg_str_size_memory("", _config->severe_limitation_file[index], _config->severe_limitation_file_pow[index]), - 7,philos_format_cfg_str_size_memory("", _config->deferring_size[index], _config->deferring_size_pow[index]), - 8,philos_format_cfg_str_size_memory("", _config->deferring_file[index], _config->deferring_file_pow[index]), - -1); - } - else { - gtk_list_store_set(_config_gui->list,&iter, - 0,_config->id[index], - 1,_config->name[index], - 2,_config->quota[index], - 3,_config->files[index], - 4,philos_format_cfg_str_size_memory("", _config->soft_restriction_size[index],_config->soft_restriction_size_pow[index]), - 5,philos_format_cfg_str_size_memory("", _config->soft_restriction_file[index],_config->soft_restriction_file_pow[index]), - 6,philos_format_cfg_str_size_memory("", _config->severe_limitation_size[index],_config->severe_limitation_size_pow[index]), - 7,philos_format_cfg_str_size_memory("", _config->severe_limitation_file[index], _config->severe_limitation_file_pow[index]), - 8,philos_format_cfg_str_size_memory("", _config->deferring_size[index], _config->deferring_size_pow[index]), - 9,philos_format_cfg_str_size_memory("", _config->deferring_file[index], _config->deferring_file_pow[index]), - -1); - } - } - if (flag_gui_add != 0) { - gtk_tree_view_set_model(GTK_TREE_VIEW(_config_gui->treeViewMain), model); - } -} -void fill_tree_view_u_g(custom_window* _config_gui, config_u_g_p* _config, int start,int flag_gui_add) { - GtkTreeModel *model = GTK_TREE_MODEL(_config_gui->list); + +void fill_tree_view_u_g_p(custom_window* _config_gui,char* str_fill ,GtkListStore* list, config_all* all_config, int flag_gui_add) { + GtkTreeModel *model = GTK_TREE_MODEL(list); if (flag_gui_add == 0) { - g_object_ref(_config_gui->list); - gtk_list_store_clear(_config_gui->list); + g_object_ref(list); + gtk_list_store_clear(list); } - for (int index = start; index < _config->size; index++) { + for (int i = 0; i < all_config->v_u_g_p.pfVectorTotal(&all_config->v_u_g_p); i++) { GtkTreeIter iter; - gtk_list_store_append(_config_gui->list,&iter); - if (strcmp(_config->type_arr[index], "project") != 0) { // Баг - gtk_list_store_set(_config_gui->list,&iter, -1); + config_u_g_p* _config = (config_u_g_p*)all_config->v_u_g_p.pfVectorGet(&all_config->v_u_g_p, i); + + if (strcmp(_config->type_arr, str_fill) == 0) { + if (strcmp(_config->type_arr, "prjquota") != 0) { + gtk_list_store_append(list,&iter); + char* deferring_size = wrapper_str_time(_config->deferring_size); + char* deferring_file = wrapper_str_time(_config->deferring_file); + gtk_list_store_set(list,&iter, + 0,_config->actors, + 1,_config->quota, + 2,_config->size_memory, + 3,philos_format_cfg_str_size_memory("", _config->soft_restriction_size,_config->soft_restriction_size_pow), + 4,philos_format_cfg_str_size_memory("", _config->soft_restriction_file,_config->soft_restriction_file_pow), + 5,philos_format_cfg_str_size_memory("", _config->severe_limitation_size,_config->severe_limitation_size_pow), + 6,_config->files, + 7,philos_format_cfg_str_size_memory("", _config->severe_limitation_file, _config->severe_limitation_file_pow), + 8,deferring_size, + 9,deferring_file, + -1); + } + else { + gtk_list_store_append(list,&iter); + char* deferring_size = wrapper_str_time(_config->deferring_size); + char* deferring_file = wrapper_str_time(_config->deferring_file); + gtk_list_store_set(list,&iter, + 0,yon_char_from_int(_config->id), + 1,_config->actors, + 2,_config->quota, + 3,_config->size_memory, + 4,philos_format_cfg_str_size_memory("", _config->soft_restriction_size,_config->soft_restriction_size_pow), + 5,philos_format_cfg_str_size_memory("", _config->soft_restriction_file,_config->soft_restriction_file_pow), + 6,philos_format_cfg_str_size_memory("", _config->severe_limitation_size,_config->severe_limitation_size_pow), + 7,_config->files, + 8,philos_format_cfg_str_size_memory("", _config->severe_limitation_file, _config->severe_limitation_file_pow), + 9,deferring_size, + 10,deferring_file, + -1); + } + } } - } + if (flag_gui_add != 0) { gtk_tree_view_set_model(GTK_TREE_VIEW(_config_gui->treeViewMain), model); } @@ -106,14 +101,20 @@ void wrapper_system_save() { */ } void load_system_cfg() { - cfg_u_g_p.flag_load = 0; - load_template_load_cfg(&cfg_u_g_p, CMD_LOAD_SYSTEM); + all_config->flag_load = 0; + load_template_load_cfg(all_config, CMD_LOAD_SYSTEM); + fill_tree_view_u_g_p(&cfg_custom_gui,"usrquota", cfg_custom_gui.liststoreUser, all_config, 0); + fill_tree_view_u_g_p(&cfg_custom_gui,"grpquota", cfg_custom_gui.liststoreGroups, all_config, 0); + fill_tree_view_u_g_p(&cfg_custom_gui,"prjquota", cfg_custom_gui.liststoreProject, all_config, 0); yon_ubl_status_box_render(LOCAL_LOAD_SUCCESS_LABEL, BACKGROUND_IMAGE_SUCCESS_TYPE); } void load_global_cfg() { - cfg_u_g_p.flag_load = 1; - load_template_load_cfg(&cfg_u_g_p, CMD_LOAD_GLOBAL); + all_config->flag_load = 1; + fill_tree_view_u_g_p(&cfg_custom_gui,"usrquota", cfg_custom_gui.liststoreUser, all_config, 0); + fill_tree_view_u_g_p(&cfg_custom_gui,"grpquota", cfg_custom_gui.liststoreGroups, all_config, 0); + fill_tree_view_u_g_p(&cfg_custom_gui,"prjquota", cfg_custom_gui.liststoreProject, all_config, 0); + load_template_load_cfg(all_config, CMD_LOAD_GLOBAL); yon_ubl_status_box_render(LOCAL_LOAD_SUCCESS_LABEL,BACKGROUND_IMAGE_SUCCESS_TYPE); } @@ -154,6 +155,8 @@ void main_visible_columns(GtkWidget *self) { int main(int argc, char *argv[]){ + all_config = malloc(sizeof(config_all)); + all_config->flag_not_data = 0; local=setlocale(LC_ALL, ""); bindtextdomain(LocaleName, yon_char_unite(LocalePath, "/", NULL)); //bind_textdomain_codeset(LocaleName, "UTF-8"); diff --git a/source/controler.h b/source/controler.h index afb680b..530fa80 100644 --- a/source/controler.h +++ b/source/controler.h @@ -4,6 +4,7 @@ char *local; int main(int argc, char *argv[]); +void fill_tree_view_u_g_p(custom_window* _config_gui,char* str_fill ,GtkListStore* list, config_all* all_config, int flag_gui_add); void load_global_cfg(); void load_system_cfg(); void control_event(main_window* _config_main_gui, custom_window* _config_custom_gui); diff --git a/source/model/load.c b/source/model/load.c index 7ce6316..8ae3c1d 100644 --- a/source/model/load.c +++ b/source/model/load.c @@ -1,33 +1,45 @@ #include "load.h" -void load_template_load_cfg(config_u_g_p* _config, char* cmd) { - model_clear_cfg(_config); +void load_template_load_cfg(config_all* _all_config, char* cmd) { int size = 0; char** cfg = yon_config_load(cmd, &size); philos_array_string_remove_char(&cfg, "\n", size); int size_loaded_keys = 0; + load_free_vector(_all_config); + vector_init(&_all_config->v_u_g_p); + vector_init(&_all_config->v_disk_status); for (int index = 0; index < size; index++) { char* str_key_value = yon_char_new(cfg[index]); char* str_key = yon_char_divide_search(str_key_value, "=",-1); - _config->loaded_keys = yon_char_parsed_append(_config->loaded_keys, &size_loaded_keys, str_key); + yon_char_divide_search(str_key, "[",-1); + str_key = yon_char_divide_search(str_key, "]",-1); char* str_value = str_key_value; - load_pars_keys(_config, yon_char_new(str_key), index); - load_pars_values(_config, yon_char_new(str_value), index); - + if (strstr(str_value, "enable") || strstr(str_value, "disable")) { + disk_status* disk_cfg = malloc(sizeof(disk_status)); + load_pars_values_status(disk_cfg, str_key, str_value); + _all_config->v_disk_status.pfVectorAdd(&_all_config->v_disk_status, disk_cfg); + } + else { + config_u_g_p* _config = malloc(sizeof(config_u_g_p)); + model_null_str_writing(_config); + _config->loaded_keys = yon_char_new(str_key); + load_pars_keys(_config, yon_char_new(str_key), index); + load_pars_values(_config, yon_char_new(str_value), index); + _all_config->v_u_g_p.pfVectorAdd(&_all_config->v_u_g_p,_config); + } + } - _config->flag_set_data = 0; + _all_config->flag_set_data = 0; + _all_config->flag_not_data = 1; + } void load_pars_keys(config_u_g_p* _config, char* str_key, int index) { - yon_char_divide_search(str_key, "[",-1); - str_key = yon_char_divide_search(str_key, "]",-1); - load_pars_keys_u_g(_config, str_key, index); - load_pars_keys_p(_config, str_key, index); + load_pars_keys_u_g(_config, yon_char_new(str_key), index); + load_pars_keys_p(_config, yon_char_new(str_key), index); } - - void load_pars_keys_u_g(config_u_g_p* _config, char* str_key, int index) { if (strstr(str_key, "prjquota")) { return; @@ -35,22 +47,21 @@ void load_pars_keys_u_g(config_u_g_p* _config, char* str_key, int index) { if (yon_char_find_count(str_key, ":") || yon_char_find_count(str_key, ",")) { int size_point = 0; char** arr_keys = philos_str_split(str_key, &size_point, ":"); - char** type_quota = philos_char_parsed_append(_config->type_arr, &index, arr_keys[0]); + _config->type_arr = yon_char_new(arr_keys[0]); int size_users = 0; if (yon_char_find_count(str_key, ":") == 2) { - _config->UNIX_file = philos_char_parsed_append(_config->UNIX_file,&index, arr_keys[1]); - } - if (yon_char_find_count(str_key, ",")) { - int size_comma = 0; - char** arr_user = philos_str_split(arr_keys[size_point-1], &size_comma, ","); - - for (int i = 0; i < size_comma; i++) { - _config->actors = yon_char_parsed_append(_config->actors, &size_users, arr_user[i]); + if (yon_char_find_count(str_key, ",")) { + int size_comma = 0; + char** arr_user = philos_str_split(arr_keys[1], &size_comma, ","); + _config->UNIX_file = yon_char_new(arr_keys[0]); + + for (int i = 1; i < size_comma; i++) { + _config->actors = yon_char_new(arr_user[i]); + } + } + else { + _config->UNIX_file = yon_char_new(arr_keys[1]); } - _config->actors = yon_char_parsed_append(_config->actors, &size_users, NULL); - } - else { - _config->actors = yon_char_parsed_append(_config->actors, &size_users, NULL); } } else { @@ -59,81 +70,104 @@ void load_pars_keys_u_g(config_u_g_p* _config, char* str_key, int index) { } void load_pars_keys_p(config_u_g_p* _config, char* str_key, int index) { - if (strstr(str_key, "usrquota") || strstr(str_key, "grpquota")) { - return; - } - if (yon_char_find_count(str_key, ":") || yon_char_find_count(str_key, ",")) { - int size_point = 0; - char** arr_keys = philos_str_split(str_key, &size_point, ":"); - char** type_quota = philos_char_parsed_append(_config->type_arr,&index, arr_keys[0]); - int size_users = 0; - if (yon_char_find_count(str_key, ":") == 2) { - _config->UNIX_file = philos_char_parsed_append(_config->UNIX_file,&index, arr_keys[1]); - int size_comma = 0; - if (yon_char_find_count(str_key, ",")) { - char** arr_user = philos_str_split(arr_keys[size_point-1], &size_comma, ","); - if (strstr(str_key, "AUTO")) { - _config->number = philos_int_append(_config->number,&index, -1); - } - else { - _config->number = philos_int_append(_config->number,&index, atoi(arr_user[0])); - } - } - else { - if (strstr(str_key, "AUTO")) { - _config->number = philos_int_append(_config->number,&index, -1); + if (strstr(str_key, "prjquota")) { + if (yon_char_find_count(str_key, ":") || yon_char_find_count(str_key, ",")) { + int size_point = 0; + char** arr_keys = philos_str_split(str_key, &size_point, ":"); + _config->type_arr = yon_char_new(arr_keys[0]); + int size_users = 0; + if (yon_char_find_count(str_key, ":") == 2) { + _config->UNIX_file = yon_char_new(arr_keys[1]); + int size_comma = 0; + if (yon_char_find_count(str_key, ",")) { + char** arr_user = philos_str_split(arr_keys[size_point], &size_comma, ","); + if (strstr(str_key, "AUTO")) { + _config->id = -1; + } + else { + _config->id = atoi(arr_user[0]); + } } else { - _config->number = philos_int_append(_config->number, &size_comma, atoi(arr_keys[size_point-1])); + if (strstr(str_key, "AUTO")) { + _config->id = -1; + } + else { + _config->id = atoi(arr_keys[size_point-1]); + } } - } - } + } + } + } + else { } } -void load_pars_values_status(config_u_g_p* _config, int index, char*key, char* value) { - for (int i = 0; i < _config->size; i++) { - if (strstr(key, _config->loaded_keys[i])) { - if (strstr(key,"enable")) { - _config->status[index] = 1; - return; - } - else if (strstr(key,"disable")) { - _config->status[index] = 0; - return; - } - } - +void load_pars_values_status(disk_status* _config, char* key, char* value) { + _config->device = yon_char_new(value); + if (strstr(key,"enable")) { + _config->status = 1; + return; + } + else if (strstr(key,"disable")) { + _config->status = 0; + return; } } void load_pars_values(config_u_g_p* _config, char* str_value, int index) { + int size_array_size_pow = 0; + char** array_size_pow = NULL; + array_size_pow = yon_char_parsed_append(array_size_pow,&size_array_size_pow, STR_KB); + array_size_pow = yon_char_parsed_append(array_size_pow,&size_array_size_pow, STR_MB); + array_size_pow = yon_char_parsed_append(array_size_pow,&size_array_size_pow, STR_GB); + array_size_pow = yon_char_parsed_append(array_size_pow,&size_array_size_pow, STR_TB); int size = 0; char* new_value = yon_char_new(str_value); char** arr_values = philos_str_split(new_value, &size, ":"); - if (yon_char_find_count(str_value, ":") == 3 || yon_char_find_count(str_value, ":") == 5) { - philos_set_pow_size_memory(yon_char_new(arr_values[0]), &_config->soft_restriction_size, index, array_size_pow); - philos_set_size_memory_integer(yon_char_new(arr_values[0]), &_config->soft_restriction_size_pow, index); - philos_set_pow_size_memory(yon_char_new(arr_values[1]), &_config->soft_restriction_file, index, array_size_pow); - philos_set_size_memory_integer(yon_char_new(arr_values[1]), &_config->soft_restriction_file, index); - philos_set_pow_size_memory(yon_char_new(arr_values[2]), &_config->severe_limitation_size, index, array_size_pow); - philos_set_size_memory_integer(yon_char_new(arr_values[2]), &_config->severe_limitation_size_pow, index); - philos_set_pow_size_memory(yon_char_new(arr_values[3]), &_config->severe_limitation_file, index, array_size_pow); - philos_set_size_memory_integer(yon_char_new(arr_values[3]), &_config->severe_limitation_file_pow, index); - if (yon_char_find_count(str_value, ":") == 5) { - philos_set_pow_size_memory(yon_char_new(arr_values[3]), &_config->deferring_size, index, array_size_pow); - philos_set_size_memory_integer(yon_char_new(arr_values[3]), &_config->deferring_size_pow, index); - philos_set_pow_size_memory(yon_char_new(arr_values[3]), &_config->deferring_file, index, array_size_pow); - philos_set_size_memory_integer(yon_char_new(arr_values[3]), &_config->deferring_file_pow, index); + int index_split = yon_char_find_count(str_value, ":"); + if (index_split == 3 || index_split == 5) { + philos_set_pow_size_memory(yon_char_new(arr_values[0]), &_config->soft_restriction_size_pow, array_size_pow); + philos_set_size_memory_integer(yon_char_new(arr_values[0]), &_config->soft_restriction_size); + philos_set_pow_size_memory(yon_char_new(arr_values[1]), &_config->soft_restriction_file_pow, array_size_pow); + philos_set_size_memory_integer(yon_char_new(arr_values[1]), &_config->soft_restriction_file); + philos_set_pow_size_memory(yon_char_new(arr_values[2]), &_config->severe_limitation_size_pow, array_size_pow); + philos_set_size_memory_integer(yon_char_new(arr_values[2]), &_config->severe_limitation_size); + philos_set_pow_size_memory(yon_char_new(arr_values[3]), &_config->severe_limitation_file_pow, array_size_pow); + philos_set_size_memory_integer(yon_char_new(arr_values[3]), &_config->severe_limitation_file); + if (index_split == 5) { + _config->deferring_size = atoll(arr_values[4]); + _config->deferring_file = atoll(arr_values[5]); } else { - philos_set_pow_size_memory("-", &_config->deferring_size, index, array_size_pow); - philos_set_size_memory_integer("-", &_config->deferring_size_pow, index); - philos_set_pow_size_memory("-", &_config->deferring_file, index, array_size_pow); - philos_set_size_memory_integer("-", &_config->deferring_file_pow, index); + philos_set_size_memory_integer("-", &_config->deferring_size); + philos_set_size_memory_integer("-", &_config->deferring_file); } } else { } +} + +void load_free_vector(config_all* _all_config) { + if (_all_config->flag_not_data == 1) { + _all_config->v_u_g_p.pfVectorFree(&_all_config->v_u_g_p); + } + +} + +char* wrapper_str_time(size_t seconds) { + me_time t; + if (seconds!=-1) { + t = str_time(seconds); + t.str_time = yon_char_unite(yon_char_from_int(t.weeks),WEEKS, + yon_char_from_int(t.days), DAYS, + yon_char_from_int(t.hours), HOURS, + yon_char_from_int(t.minutes), MINUTES, NULL); + } + else { + t.str_time = yon_char_new("-"); + } + + return t.str_time; } \ No newline at end of file diff --git a/source/model/load.h b/source/model/load.h index f8653a3..3124754 100644 --- a/source/model/load.h +++ b/source/model/load.h @@ -1,13 +1,16 @@ #ifndef LOAD_H #define LOAD_H #include "ubl-utils.h" -#include "../ubl-strings.h" #include "model.h" +#include "philos_utils.h" -void load_template_load_cfg(config_u_g_p* _config, char* cmd); +void load_template_load_cfg(config_all* _all_config, char* cmd); void load_pars_keys(config_u_g_p* _config, char* str_key, int index); void load_pars_keys_u_g(config_u_g_p* _config, char* str_key, int index); void load_pars_keys_p(config_u_g_p* _config, char* str_key, int index); void load_pars_values(config_u_g_p* _config, char* str_value, int index); +void load_free_vector(config_all* _all_config); +void load_pars_values_status(disk_status* _config, char* key, char* value); +char* wrapper_str_time(size_t seconds); #endif \ No newline at end of file diff --git a/source/model/model.c b/source/model/model.c index aff66d4..fdd7663 100644 --- a/source/model/model.c +++ b/source/model/model.c @@ -2,97 +2,42 @@ void model_clear_cfg(config_u_g_p* _config) { - philos_free_int_array(&_config->id, _config->size); - philos_free_string_array(&_config->name, _config->size); - philos_free_string_array(&_config->quota, _config->size); - philos_free_string_array(&_config->quota, _config->size); - philos_free_string_array(&_config->size_memory, _config->size); - philos_free_int_array(&_config->soft_restriction_size, _config->size); - philos_free_int_array(&_config->soft_restriction_file, _config->size); - philos_free_int_array(&_config->severe_limitation_size, _config->size); - philos_free_int_array(&_config->severe_limitation_file, _config->size); - philos_free_int_array(&_config->deferring_size, _config->size); - philos_free_int_array(&_config->deferring_file, _config->size); - philos_free_int_array(&_config->size_memory_pow, _config->size); - philos_free_int_array(&_config->soft_restriction_size_pow, _config->size); - philos_free_int_array(&_config->soft_restriction_file_pow, _config->size); - philos_free_int_array(&_config->severe_limitation_size_pow, _config->size); - philos_free_int_array(&_config->severe_limitation_file_pow, _config->size); - philos_free_int_array(&_config->deferring_size_pow, _config->size); - philos_free_int_array(&_config->deferring_file_pow, _config->size); - philos_free_string_array(&_config->device, _config->size); - - _config->size = 0; -} - -void model_null_cfg(config_u_g_p* _config) { - if (_config->size == 0) { - _config->id = NULL; - _config->name = NULL; - _config->quota = NULL; - _config->size_memory = NULL; - _config->files = NULL; - _config->soft_restriction_size = NULL; - _config->soft_restriction_file = NULL; - _config->severe_limitation_size = NULL; - _config->severe_limitation_file = NULL; - _config->deferring_size = NULL; - _config->deferring_file = NULL; - _config->size_memory_pow = NULL; - _config->soft_restriction_size_pow = NULL; - _config->soft_restriction_file_pow = NULL; - _config->severe_limitation_size_pow = NULL; - _config->severe_limitation_file_pow = NULL; - _config->deferring_size_pow = NULL; - _config->deferring_file_pow = NULL; - _config->device = NULL; - } + free(_config->quota); + free(_config->size_memory); + free(_config->device); + free(_config->UNIX_file); + free(_config->files); + free(_config->actors); + free(_config->loaded_keys); } -void model_clear_general(config_general* _config) { - philos_free_int_array(&_config->flag_status, _config->size); - - _config->size = 0; -} - -void model_null_general(config_general* _config) { - if (_config->size == 0) { - _config->flag_status = NULL; - } -} void model_tree_view_add(config_u_g_p* _config) { - model_null_str_writing(_config, _config->size); + model_null_str_writing(_config); } -void model_null_str_writing(config_u_g_p* _config, int index) { - philos_set_size_memory_integer_char("-", &_config->name, index); - philos_set_size_memory_integer_char("-", &_config->quota, index); - philos_set_size_memory_integer_char("-", &_config->size_memory, index); - philos_set_size_memory_integer_char("-", &_config->files, index); - philos_set_size_memory_integer_char("-", &_config->device, index); - philos_set_pow_size_memory("-", &_config->soft_restriction_size, index, array_size_pow); - philos_set_pow_size_memory("-", &_config->soft_restriction_file, index, array_size_pow); - philos_set_pow_size_memory("-", &_config->severe_limitation_size, index, array_size_pow); - philos_set_pow_size_memory("-", &_config->severe_limitation_file, index, array_size_pow); - philos_set_pow_size_memory("-", &_config->deferring_size, index, array_size_pow); - philos_set_pow_size_memory("-", &_config->deferring_file, index, array_size_pow); - philos_set_pow_size_memory("-", &_config->size_memory_pow, index, array_size_pow); - philos_set_pow_size_memory("-", &_config->soft_restriction_size_pow, index, array_size_pow); - philos_set_pow_size_memory("-", &_config->soft_restriction_file_pow, index, array_size_pow); - philos_set_pow_size_memory("-", &_config->severe_limitation_size_pow, index, array_size_pow); - philos_set_pow_size_memory("-", &_config->severe_limitation_file_pow, index, array_size_pow); - philos_set_pow_size_memory("-", &_config->deferring_size_pow, index, array_size_pow); - philos_set_pow_size_memory("-", &_config->deferring_file_pow, index, array_size_pow); - +void model_null_str_writing(config_u_g_p* _config) { + _config->quota = yon_char_new(empty_str); + _config->size_memory = yon_char_new(empty_str); + _config->device = yon_char_new(empty_str); + _config->UNIX_file = yon_char_new(empty_str); + _config->files = yon_char_new(empty_str); + _config->actors = yon_char_new(empty_str); + _config->loaded_keys = yon_char_new(empty_str); + _config->type_arr = yon_char_new(empty_str); + _config->id = -3; + _config->status_set = -3; + _config->soft_restriction_size = -3; + _config->soft_restriction_file = -3; + _config->severe_limitation_size = -3; + _config->severe_limitation_file = -3; + _config->deferring_size = -3; + _config->deferring_file = -3; + _config->size_memory_pow = -3; + _config->soft_restriction_size_pow = -3; + _config->soft_restriction_file_pow = -3; + _config->severe_limitation_size_pow = -3; + _config->severe_limitation_file_pow = -3; } -void model_array_size_memory() { - int size_array_size_pow = 0; - array_size_pow = yon_char_parsed_append(array_size_pow,&size_array_size_pow, STR_KB); - array_size_pow = yon_char_parsed_append(array_size_pow,&size_array_size_pow, STR_MB); - array_size_pow = yon_char_parsed_append(array_size_pow,&size_array_size_pow, STR_GB); - array_size_pow = yon_char_parsed_append(array_size_pow,&size_array_size_pow, STR_TB); -} - diff --git a/source/model/model.h b/source/model/model.h index 710a59b..f2e7f90 100644 --- a/source/model/model.h +++ b/source/model/model.h @@ -1,55 +1,59 @@ #ifndef MODEL_H #define MODEL_H #include "ubl-utils.h" -#include "../ubl-strings.h" #include "philos_utils.h" - -static char** array_size_pow = NULL; - +#include "vector.h" +#include "../ubl-strings.h" typedef struct{ - int* status; - char** type_arr; - int* id; - char** name; - char** quota; - char** size_memory; - char** UNIX_file; - char** files; - char** actors; - int* number; - int* status_set; - char** loaded_keys; + char* type_arr; + int id; + char* quota; + char* size_memory; + char* UNIX_file; + char* files; + char* actors; + char* loaded_keys; + int status_set; /* 0 = not set 1 = del; 2 = update */ - char** delete_key; - int* soft_restriction_size; - int* soft_restriction_file; - int* severe_limitation_size; - int* severe_limitation_file; - int* deferring_size; - int* deferring_file; + size_t soft_restriction_size; + size_t soft_restriction_file; + size_t severe_limitation_size; + size_t severe_limitation_file; + size_t deferring_size; + size_t deferring_file; - int* size_memory_pow; - int* soft_restriction_size_pow; - int* soft_restriction_file_pow; - int* severe_limitation_size_pow; - int* severe_limitation_file_pow; - int* deferring_size_pow; - int* deferring_file_pow; - char** device; + int size_memory_pow; + int soft_restriction_size_pow; + int soft_restriction_file_pow; + int severe_limitation_size_pow; + int severe_limitation_file_pow; + char* device; size_t size; + +} config_u_g_p; + +typedef struct { + vector v_general; + vector v_u_g_p; + vector v_disk_status; int flag_set_data; int flag_save; int flag_load; -} config_u_g_p; - + int count_remove; + int flag_not_data; +} config_all; +typedef struct{ + char* device; + int status; +} disk_status; typedef struct{ - int *flag_status; + int flag_status; int size; } config_general; @@ -57,7 +61,8 @@ typedef struct{ int flag_load; } config_gui; -void model_null_str_writing(config_u_g_p* _config, int index); +void model_null_str_writing(config_u_g_p* _config); void model_clear_cfg(config_u_g_p* _config); +void model_array_size_memory(); #endif \ No newline at end of file diff --git a/source/model/philos_utils.c b/source/model/philos_utils.c index f9d2ea9..8a66b2f 100644 --- a/source/model/philos_utils.c +++ b/source/model/philos_utils.c @@ -7,94 +7,46 @@ void philos_array_string_remove_char(char*** array, char* str_remove, int size) } -void philos_set_pow_size_memory(char* str_find, int** array_size,int index, char** array_size_pow) { +void philos_set_pow_size_memory(char* str_find, int* array_size, char** array_size_pow) { char* STR_KB = array_size_pow[0]; char* STR_MB = array_size_pow[1]; char* STR_GB = array_size_pow[2]; char* STR_TB = array_size_pow[3]; size_t length = strlen(str_find); if (strstr(str_find,"K") != NULL) { - *array_size = philos_int_append(*array_size, &index, 0); + (*array_size) = 0; str_find = yon_char_divide(str_find, length-1); str_find = yon_char_unite(str_find, " ", STR_KB, NULL); - index--; } else if (strstr(str_find,"M") != NULL) { - *array_size = philos_int_append(*array_size, &index, 1); + (*array_size) = 1; str_find = yon_char_divide(str_find, length-1); str_find = yon_char_unite(str_find," ", STR_MB, NULL); - index--; } else if (strstr(str_find,"G") != NULL) { - *array_size = philos_int_append(*array_size, &index, 2); + (*array_size) = 2; str_find = yon_char_divide(str_find, length-1); str_find = yon_char_unite(str_find," ", STR_GB, NULL); - index--; } else if (strstr(str_find,"T") != NULL) { - *array_size = philos_int_append(*array_size, &index, 3); + (*array_size) = 3; str_find = yon_char_divide(str_find, length-1); str_find = yon_char_unite(str_find," ", STR_TB, NULL); - index--; } else if (strstr(str_find,"%%") != NULL) { - *array_size = philos_int_append(*array_size, &index, -1); + (*array_size) = -1; str_find = yon_char_divide(str_find, length-1); - index--; } else if (strstr(str_find,"-") != NULL) { - *array_size = philos_int_append(*array_size, &index, -1); - index--; + (*array_size) = -1; } else { - *array_size = philos_int_append(*array_size, &index, 0); - index--; - } - -} -void philos_set_pow_size_memory_device(char* str_find, int** array_size,int index, char** array_size_pow) { - char* STR_KB = array_size_pow[0]; - char* STR_MB = array_size_pow[1]; - char* STR_GB = array_size_pow[2]; - char* STR_TB = array_size_pow[3]; - size_t length = strlen(str_find); - if (strstr(str_find,"K") != NULL) { - (*array_size)[index] = 0; - str_find = yon_char_divide(str_find, length-1); - str_find = yon_char_unite(str_find, " ", STR_KB, NULL); - index--; - } - else if (strstr(str_find,"M") != NULL) { - (*array_size)[index] = 1; - str_find = yon_char_divide(str_find, length-1); - str_find = yon_char_unite(str_find," ", STR_MB, NULL); - index--; - } - else if (strstr(str_find,"G") != NULL) { - (*array_size)[index] = 2; - str_find = yon_char_divide(str_find, length-1); - str_find = yon_char_unite(str_find," ", STR_GB, NULL); - index--; - } - else if (strstr(str_find,"T") != NULL) { - (*array_size)[index] = 3; - str_find = yon_char_divide(str_find, length-1); - - str_find = yon_char_unite(str_find," ", STR_TB, NULL); - index--; - } - else if (strstr(str_find,"%%") != NULL) { - (*array_size)[index] = -1; - str_find = yon_char_divide(str_find, length-1); - index--; - } - else if (strstr(str_find,"-") != NULL) { - (*array_size)[index] = -1; - index--; + (*array_size) = 0; } } + void philos_set_size_memory_integer_char(char* str_find, char*** array_data, int index) { char* simv_del_array[10] = {"K","M","G","T","k","m","g","t"," ","%"}; for (size_t i = 0; i < 10; i++) { @@ -841,7 +793,7 @@ char** philos_char_parsed_append(char** parsed, int *size, char *string) { return parsed; } -void philos_set_size_memory_integer(char* str_find, int** array_data, int index) { +void philos_set_size_memory_integer(char* str_find, size_t* array_data) { if (strstr(str_find, " ")) { yon_char_divide_search(str_find, " ", -1); } @@ -852,9 +804,55 @@ void philos_set_size_memory_integer(char* str_find, int** array_data, int index) } } if (strstr(str_find, "-")==NULL) { - *array_data = philos_int_append(*array_data, &index, atoi(str_find)); + (*array_data) = atoll(str_find); + } + else { + (*array_data) = -1; + } +} + +me_time str_time(size_t seconds) { + me_time t; + printf("%d\n", seconds); + if (seconds != -1) { + double weeks = seconds / (7*24*60*60); + double days = seconds / (24*60*60) - 7*weeks; + double hours = seconds / (60*60) - 7*24*weeks - 24*days; + double minutes = seconds / 60 - 7*24*60*weeks - 24*60*days - 60*hours; + if (weeks>0) { + t.weeks = (int)weeks; + } + else { + t.weeks = 0; + } + if (days>0) { + t.days = (int)days; + } + else { + t.days = 0; + } + if (hours>0) { + t.hours = (int)hours; + } + else { + t.hours = 0; + } + if (minutes>0) { + t.minutes = (int)minutes; + } + else { + t.minutes = 0; + } + t.str_time = NULL; } else { - *array_data = philos_int_append(*array_data, &index, -1); + t.weeks = 0; + t.days = 0; + t.hours = 0; + t.hours = 0; + t.str_time = NULL; } + + + return t; } \ No newline at end of file diff --git a/source/model/philos_utils.h b/source/model/philos_utils.h index 9592309..5aaf77a 100644 --- a/source/model/philos_utils.h +++ b/source/model/philos_utils.h @@ -62,8 +62,16 @@ typedef struct { } temp_set_window; +typedef struct { + int weeks; + int days; + int hours; + int minutes; + char* str_time; +} me_time; + void philos_array_string_remove_char(char*** array, char* str_remove, int size); -void philos_set_pow_size_memory(char* str_find, int** array_size,int index, char** array_size_pow); +void philos_set_pow_size_memory(char* str_find, int* array_size, char** array_size_pow); void philos_set_size_memory_integer_char(char* str_find, char*** array_data, int index); void philos_free_string_array(char ***array, int size); void philos_free_string_array_n3(char ****array, int size); @@ -78,7 +86,6 @@ void philos_split_size_memory(char* str_value, int* size, char* pow_memory); char* philos_format_cfg_str_size_memory(char* str_key, int value, int pow_size_memory); char** philos_str_split(char *parameters, int *size, char *divider); void philos_array_str_copy(char*** source, char*** copy); -void philos_set_pow_size_memory_device(char* str_find, int** array_size,int index, char** array_size_pow); void philos_array_int_copy(int** source, int** copy); char** philos_pars_terminal_systemd_cgls(char* CMD_GET_SLICE_SERVICE, char* str_find, int* size_array_data); char* philos_pard_array_add_cmd(char* cmd, temp_config* _config, char* key, int* array_io, int* array_io_pow_size, char** disk, int size); @@ -115,5 +122,6 @@ void philos_array_char_pars_to(char*** array, char* to); int find_null_array(temp_config* _config); void init_device_disk(temp_config* _config); char** philos_char_parsed_append(char** parsed, int *size, char *string); -void philos_set_size_memory_integer(char* str_find, int** array_data, int index); +void philos_set_size_memory_integer(char* str_find, size_t* array_data); +me_time str_time(size_t seconds); #endif \ No newline at end of file diff --git a/source/model/save.c b/source/model/save.c index 14c1b1a..e7fea9c 100644 --- a/source/model/save.c +++ b/source/model/save.c @@ -3,89 +3,92 @@ #include "save.h" -char* template_format_save(config_u_g_p* config, char* source_set_cmd) { +char* template_format_save(config_all* _all_config, char* source_set_cmd) { char* cmd = yon_char_new(""); - for (int i = 0; i < config->size; i++) { - char* key = save_format_key(config, i); - char* value = save_format_str_value(config, i); - char* value_status = save_format_status_cmd(config, i); + for (int i = 0; i < _all_config->v_u_g_p.pfVectorTotal(&_all_config->v_u_g_p); i++) { + config_u_g_p* _config = (config_u_g_p*)_all_config->v_u_g_p.pfVectorGet(&_all_config->v_u_g_p, i); + char* key = save_format_key(_config, i); + char* value = save_format_str_value(_config, i); + //char* value_status = save_format_status_cmd(_config, i); if (key!= NULL) { // key = yon_char_unite(cmd, " " , key, "=\"" , value, "\" ", NULL); cmd = yon_char_unite(cmd, key, "=" , value, " ", NULL); - cmd = yon_char_unite(cmd, key, "=" , value_status, " ", NULL); + //cmd = yon_char_unite(cmd, key, "=" , value_status, " ", NULL); free(key); free(value); - free(value_status); + //free(value_status); } } - if (strlen(cmd) > 8 && check_save()== 0) { + if (strlen(cmd) > 8 && save_check_save(_all_config)== 0) { cmd = yon_char_unite(source_set_cmd, " " ,cmd, NULL); return cmd; } free(cmd); return NULL; } -char* template_format_remove_save(config_u_g_p* config, char* source_remove_cmd) { +char* template_format_remove_save(config_all* _all_config, char* source_remove_cmd) { char* cmd = yon_char_new(source_remove_cmd); - if (main_config.size_array_del_line == 0) { + if (_all_config->count_remove == 0) { return NULL; } - - - - - if (strlen(cmd) > strlen(source_remove_cmd) && check_save()== 0) { + for (int i = 0; i < _all_config->v_u_g_p.pfVectorTotal(&_all_config->v_u_g_p); i++) { + config_u_g_p* _config = (config_u_g_p*)_all_config->v_u_g_p.pfVectorGet(&_all_config->v_u_g_p, i); + if (_config->status_set >= 0) { + cmd = yon_char_unite(cmd, " " , _config->loaded_keys, " ", NULL); + } + } + if (strlen(cmd) > strlen(source_remove_cmd) && save_check_save(_all_config)== 0) { return cmd; } return cmd; } -char* wrapper_template_save(config_u_g_p* config, char* source_set_cmd, char* source_remove_cmd) { - char str_cmd_remove = template_format_remove_save(config,source_remove_cmd); - char str_cmd_set = template_format_save(config,source_set_cmd); - if (cmd_set != NULL && cmd_remove != NULL) { - philos_config_save(yon_char_unite(cmd_set, "; " , cmd_remove, NULL)); +int wrapper_template_save(config_all* _all_config, char* source_set_cmd, char* source_remove_cmd) { + char* str_cmd_remove = template_format_remove_save(_all_config,source_remove_cmd); + char* str_cmd_set = template_format_save(_all_config,source_set_cmd); + if (str_cmd_set != NULL && str_cmd_remove != NULL) { + philos_config_save(yon_char_unite(str_cmd_remove, "; " , str_cmd_set, NULL)); } - else if (cmd_remove != NULL) { - philos_config_save(cmd_remove); + else if (str_cmd_remove != NULL) { + philos_config_save(str_cmd_remove); } - else if (cmd_set != NULL) { - philos_config_save(cmd_set); + else if (str_cmd_set != NULL) { + philos_config_save(str_cmd_set); } else { return 0; } - if (cmd_remove != NULL) { - free(cmd_remove); + if (str_cmd_remove != NULL) { + free(str_cmd_remove); } - if (cmd_set != NULL) { - free(cmd_set); + if (str_cmd_set != NULL) { + free(str_cmd_set); } - main_config.flag_set_data = 0; + _all_config->flag_set_data = 0; return 1; } char* save_format_key(config_u_g_p* config, int index) { - if (config->status_set[index] == 1) { + if (config->status_set == 1) { return NULL; } char* cmd = yon_char_new(""); char* value = yon_char_new(""); char* key = yon_char_new(""); - int number = config->number[index]; + int number = config->id; - key = yon_char_unite("CGROUP_QUOTA[", config->type_arr[index], ":", NULL); - if (strstr(config->type_arr[index], "prjquota")) { + key = yon_char_unite("CGROUP_QUOTA[", config->type_arr, ":", NULL); + if (strstr(config->type_arr, "prjquota")) { if (number!=-1) { - key = yon_char_unite(config->UNIX_file[index],":",yon_char_from_int(number), NULL); + key = yon_char_unite(config->UNIX_file,":",yon_char_from_int(number), NULL); } else { - key = yon_char_unite(config->UNIX_file[index],":AUTO", NULL); + key = yon_char_unite(config->UNIX_file,":AUTO", NULL); } } else { - key = yon_char_unite(config->UNIX_file[index], NULL); + key = yon_char_unite(config->UNIX_file, NULL); } @@ -96,21 +99,21 @@ char* save_format_key(config_u_g_p* config, int index) { } char* save_format_str_value(config_u_g_p* config, int index) { - if (config->status_set[index] == 1) { + if (config->status_set == 1) { return NULL; } char* value = yon_char_new(""); - value = philos_format_cfg_str_size_memory(value, config->soft_restriction_size[index],config->soft_restriction_size_pow[index]); + value = philos_format_cfg_str_size_memory(value, config->soft_restriction_size,config->soft_restriction_size_pow); value = yon_char_unite(value, ","); - philos_format_cfg_str_size_memory(value, config->soft_restriction_file[index],config->soft_restriction_file_pow[index]); + philos_format_cfg_str_size_memory(value, config->soft_restriction_file,config->soft_restriction_file_pow); value = yon_char_unite(value, ","); - philos_format_cfg_str_size_memory(value, config->severe_limitation_size[index],config->severe_limitation_size_pow[index]); + philos_format_cfg_str_size_memory(value, config->severe_limitation_size,config->severe_limitation_size_pow); value = yon_char_unite(value, ","); - philos_format_cfg_str_size_memory(value, config->severe_limitation_file[index], config->severe_limitation_file_pow[index]); + philos_format_cfg_str_size_memory(value, config->severe_limitation_file, config->severe_limitation_file_pow); value = yon_char_unite(value, ","); - philos_format_cfg_str_size_memory(value, config->deferring_size[index], config->deferring_size_pow[index]); + //philos_format_cfg_str_size_memory(value, config->deferring_size, config->deferring_size_pow); value = yon_char_unite(value, ","); - value = philos_format_cfg_str_size_memory(value, config->deferring_file[index], config->deferring_file_pow[index]); + //value = philos_format_cfg_str_size_memory(value, config->deferring_file, config->deferring_file_pow); return value; } @@ -119,7 +122,7 @@ char* save_str_users(config_u_g_p* config, int index) { char split_simvol[2] = {0}; split_simvol[0] = 0; split_simvol[1] = 0; - if (strstr(config->type_arr[index], "prjquota")) { + if (strstr(config->type_arr, "prjquota")) { for (int i=0; config->actors[i]; i++) { cmd = yon_char_unite(":", split_simvol, config->actors[i], NULL); split_simvol[0] = ','; @@ -130,12 +133,12 @@ char* save_str_users(config_u_g_p* config, int index) { } } - +/* char* save_format_status_cmd(config_u_g_p* config, int index) { - if (config->status_set[index] == 1) { + if (config->status_set == 1) { return NULL; } - if (config->status[index]) { + if (config->status) { return yon_char_new("enable"); } else { @@ -143,4 +146,28 @@ char* save_format_status_cmd(config_u_g_p* config, int index) { } return yon_char_new("disable"); } +*/ +int save_check_save(config_all* _all_config) { + if (_all_config->flag_set_data == 1 || _all_config->flag_save>0) { + return 0; + } + else if (_all_config->flag_set_data == 0 || _all_config->flag_save<=0) { + return 1; + } + return 0; +} + +void save_remove_array(config_all* _all_config) { + for (int i = 0; i < _all_config->v_u_g_p.pfVectorTotal(&_all_config->v_u_g_p); i++) { + config_u_g_p* _config = (config_u_g_p*)_all_config->v_u_g_p.pfVectorGet(&_all_config->v_u_g_p, i); + if (_config->status_set == 1) { + _all_config->v_u_g_p.pfVectorDelete(&_all_config->v_u_g_p, i); + } + if (_config->status_set == 2) { + _config->status_set = 0; + + } + } +} + #endif \ No newline at end of file diff --git a/source/model/save.h b/source/model/save.h index 81923fa..5ab3488 100644 --- a/source/model/save.h +++ b/source/model/save.h @@ -1,13 +1,15 @@ #ifndef SAVE #define SAVE #include "ubl-utils.h" -#include "../ubl-strings.h" #include "model.h" -char* template_format_save(config_u_g_p* _config, char* source_set_cmd); +char* template_format_save(config_all* _all_config, char* source_set_cmd); char* save_format_key(config_u_g_p* _config, int index); char* save_str_users(config_u_g_p* _config, int index); char* save_format_str_value(config_u_g_p* config, int index); char* save_format_status_cmd(config_u_g_p* config, int index); -char* template_format_remove_save(config_u_g_p* config, char* source_remove_cmd); -char* wrapper_template_save(config_u_g_p* config, char* source_set_cmd, char* source_remove_cmd); +char* template_format_remove_save(config_all* _all_config, char* source_remove_cmd); +char* template_format_remove_save(config_all* _all_config, char* source_remove_cmd); +void save_remove_array(config_all* _all_config); +int save_check_save(config_all* _all_config); +int wrapper_template_save(config_all* _all_config, char* source_set_cmd, char* source_remove_cmd); #endif \ No newline at end of file diff --git a/source/model/ubl-utils.c b/source/model/ubl-utils.c index 0688bf4..4c80139 100644 --- a/source/model/ubl-utils.c +++ b/source/model/ubl-utils.c @@ -529,17 +529,15 @@ char *yon_char_divide(char *source, int dividepos) * Считает количество символов [find] в строке [source] */ int yon_char_find_count(char *source, char *find){ - char *working_string=yon_char_new(source); - int i=0; + char *working_string=source; int size=0; - int pos=0; - config_str rtn = yon_char_parse(working_string,&size,"\n"); - for (int j=0;jvectorList.total = 0; v->vectorList.items = malloc(sizeof(void *) * v->vectorList.capacity); } - -/* -int main(int argc, char *argv[]) -{ - int i =0; - //init vector - VECTOR_INIT(v); - //Add data in vector - v.pfVectorAdd(&v,"aticleworld.com\n"); - v.pfVectorAdd(&v,"amlendra\n"); - v.pfVectorAdd(&v,"Pooja\n"); - v.pfVectorAdd(&v,"aticleworld.com\n"); - v.pfVectorAdd(&v,"amlendra\n"); - v.pfVectorAdd(&v,"Pooja\n"); - v.pfVectorAdd(&v,"aticleworld.com\n"); - v.pfVectorAdd(&v,"amlendra\n"); - v.pfVectorAdd(&v,"Pooja\n"); - //print the data and type cast it - for (i = 0; i < v.pfVectorTotal(&v); i++) - { - printf("%s", (char*)v.pfVectorGet(&v, i)); - } - //Set the data at index 0 - v.pfVectorSet(&v,0,"Apoorv\n"); - printf("\n\n\nVector list after changes\n\n\n"); - //print the data and type cast it - for (i = 0; i < v.pfVectorTotal(&v); i++) - { - printf("%s", (char*)v.pfVectorGet(&v, i)); - } - vectorFree(&v); - return 0; -} -*/ \ No newline at end of file diff --git a/source/model/vector.h b/source/model/vector.h index 896d1e7..148d6a8 100644 --- a/source/model/vector.h +++ b/source/model/vector.h @@ -6,8 +6,6 @@ #define VECTOR_INIT_CAPACITY 6 #define UNDEFINE -1 #define SUCCESS 0 -#define VECTOR_INIT(vec) vector vec;\ - vector_init(&vec) //Store and track the stored data typedef struct sVectorList { @@ -28,4 +26,5 @@ struct sVector void *(*pfVectorGet)(vector *, int); int (*pfVectorDelete)(vector *, int); int (*pfVectorFree)(vector *); -}; \ No newline at end of file +}; +void vector_init(vector *v); \ No newline at end of file diff --git a/source/ubl-settings-diskquota.c b/source/ubl-settings-diskquota.c index 1da0819..49f4977 100644 --- a/source/ubl-settings-diskquota.c +++ b/source/ubl-settings-diskquota.c @@ -207,6 +207,10 @@ custom_window *setup_window_custom(custom_window* custom_widgets, GtkBuilder *bu custom_widgets->btnEditProject = yon_gtk_builder_get_widget(builder,"btnEditProject"); custom_widgets->btnDelProject = yon_gtk_builder_get_widget(builder,"btnDelProject"); custom_widgets->btnFilterProject = yon_gtk_builder_get_widget(builder,"btnFilterProject"); + custom_widgets->liststoreUser = GTK_LIST_STORE(gtk_builder_get_object(builder, "liststoreUser")); + custom_widgets->liststoreGroups = GTK_LIST_STORE(gtk_builder_get_object(builder, "liststoreGroups")); + custom_widgets->liststoreProject = GTK_LIST_STORE(gtk_builder_get_object(builder, "liststoreProject")); + custom_widgets->liststoreGeneral = GTK_LIST_STORE(gtk_builder_get_object(builder, "liststoreGeneral")); return custom_widgets; } void wrapper_filters_user_show() { diff --git a/source/ubl-settings-diskquota.h b/source/ubl-settings-diskquota.h index e8b221e..a612196 100755 --- a/source/ubl-settings-diskquota.h +++ b/source/ubl-settings-diskquota.h @@ -18,7 +18,6 @@ #include #endif #include "view_filters.h" -#include "ubl-strings.h" #include "view_temp_u_g_p.h" #define WIKI_LINK "https://wiki.ublinux.ru/ru/Программное_обеспечение/Программы_и_утилиты/Все/ubl-settings-diskquota" @@ -87,7 +86,10 @@ typedef struct { typedef struct { GtkWidget *treeViewMain; - GtkListStore *list; + GtkListStore *liststoreUser; + GtkListStore *liststoreGroups; + GtkListStore *liststoreProject; + GtkListStore *liststoreGeneral; GtkWidget* usersDeviceCombo; GtkWidget* groupsDeviceCombo; GtkWidget* ProjectDeviceCombo; diff --git a/source/ubl-strings.h b/source/ubl-strings.h index 9bedb83..0c9bf4d 100644 --- a/source/ubl-strings.h +++ b/source/ubl-strings.h @@ -59,4 +59,10 @@ #define CMD_ALL_SAVE "ubconfig set security " #define CMD_ALL_REMOVE "ubconfig remove security " #define CMD_REMOVE_GLOBAL "ubconfig --target global --noexecute remove security " -#define CMD_REMOVE_SYSTEM "ubconfig --target system remove security " \ No newline at end of file +#define CMD_REMOVE_SYSTEM "ubconfig --target system remove security " + +#define empty_str "-" +#define WEEKS _("w ") +#define DAYS _("d ") +#define HOURS _("h ") +#define MINUTES _("m ") diff --git a/source/view_filters.h b/source/view_filters.h index e0e6543..a3eb6be 100644 --- a/source/view_filters.h +++ b/source/view_filters.h @@ -13,7 +13,6 @@ #include "ubl-cmake.h" #include "model/model.h" #include "model/load.h" -#include "ubl-strings.h" // Переменные typedef struct { diff --git a/source/view_temp_u_g_p.h b/source/view_temp_u_g_p.h index 58a5be1..8c50eec 100644 --- a/source/view_temp_u_g_p.h +++ b/source/view_temp_u_g_p.h @@ -11,7 +11,6 @@ #include "ubl-cmake.h" #include "model/model.h" #include "model/load.h" -#include "ubl-strings.h" diff --git a/ubl-settings-diskquota b/ubl-settings-diskquota index a28902a63339b6c3984edfd2d4022eda0c8633ff..751d0254bc9f6f70ea7e9e158f20bc04a09a02d6 100755 GIT binary patch delta 119645 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 delta 111818 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%0AR2JG$a*7f-YhBL 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%0D#v-|p|<5-M--kN|7n8*Mi1A~|jWqjk; zV_B4OGF6YA5naeCgCHd?>CS;cV&sn$k#!jv(+a%I&thEYS@j}>NU$bQ86>u`-L)D- zi4#%012`o|XM@KFa2AH->L#8E#+DeQnz$*5Mj?m^Fp$m#^7LGao`mSS$(W)ihs6Sk zGdm~+>(UA8%?{QCBse8tY68hqVqG1qBHiUpchm&HQ~^^9HI-9iPlWCrmZri&N$F0? zVO8QXC@38hh6BW=TRQSq1ZgtjShmniCKRAwqSh?qd9U7ubvLez&=W)1ewO76c**l7qXWaPbTZ}#>8%VtP$N+_ZWYU)vrmu%uYOJVM|M5 z5ys!U=_$r_aeCJ@GxwsDsr3C}%?leeHpc0FV!%@9C`=V6OpV1$RY^+-C7R5_78XLyTo>zUgo4W&ClL8E2hu_#FD)WjLO#l9n`IStn4NquIo}RvhW?Pl`_3|$BQE>N9mdXV{cbkFNWW6Q z%D6j6@57Qh{+gp-Wi$E~=vQWQ^l+X>Z9jxR8%woCbvbWCe?#2fCfEUDBcpqBLF_HX z%~N5x3iWQbk8bYBFVrJ#?jP{UhhqUt52LzR9~zKYpBYxoAXgGbsI@8J!0cOjpr0;`zbpioPI>Map?y_MT(_sL=jmtFp3#`QdX zn#ne(Pd93N>cQCHNX{S9*J5|Sae zw+T*EK&n9Y1%Nr08Ebp#1466Gkf|1VsRDVa0(sjAwwZ3XQg8#^9;e_wx=}4+hw&Ei zPuv()C3b>>@8V6?lTQ$Ien~Js7M0_chh^o68~Y&dwUEcQB9_mV1&!D<)^ne|zK%!!Pl^rGSe=){T+9Ql61eX?Sxek_o}iE9UGW!z zzrd5WUI8A78|)=VRBSk*1X-<9WwjQe9X!JBThG}@-nW=Xo#x4FxQ=OkmuG<2kSJ(ltD=hv(S3#i`d!TUISp z*LmZqaK&wc@yalLL>9RaH#rWs@EO8W2%kY^?cwPt>*#lkKEw6z-F2{o%dDk{7>ZkG zYY~PbOoms2gL$Gt+&RuqbN5~zvk+!d$T?PUfe|;88jdb@*a~}_57no04n;=k58?T?J|5nDJRebI zEE|E3xskSR0g|JR*N^Aj*6=iaJ&(Lu0Q_rt--SFC-aKC4$0J*L1Ep0Y+7COR=_2X% zypW!&h0JWkEj&fv!Bepy91pjB7OI&&DUA=;Cm^e63v{GJb%CwtS@dAW>JfTIXEEAL zG5l*6@@S9`T+1_%T%5ia)wYgjkLOw7o&6fmvgO3^xWk>HO(fT+c@oBM!2cu#gAOqdZ>~87(8iI?;+S!nfH<@Y`E}5BQk7*MO!H^_iXn zrkMcfOaLI9q#yu1+^eEQBHMT+Fp)%Z1?r37aR~tVjnH2~H)L_0EjNI&#U1T)w?tc4 zxVmqQ&?tSR_X;vsaqDcZ)MwOr0W3A@Q`rp0@#4Ll@8D(B81CS`FL?}yu#uN7P#J#+$xaYvT z=Hf5?^l9D=WOx+dFAIOc)6_{St>Anw9O)>|p5Q$t7c?XzIeU_qRPY{qLnIzM&nrQA z8Z|`xBi(g3|3j7k<3E&}8_UzEB+=19AAoG~e?8ek(c=6To`!r#0{S?Nv7e27qxFi* z$0XTfshq^kGMu<7WEn}!1f^#&-Naz!R(ca77BRY@&XE{XM385T5F-hLc#EL}IXclB ziX;n&?1G>NChxYHyMNjv7%7mUY)c1oejaZfUtg&owFTGmOj~XY&q4*IXUB$IKo(-{q#>>5H=2X*QABEp8~b^u7{>$th@LeRB|ZYPnP&GnGc?`pKN`%vAJdK64Ii}|zOO0x zAG$^2Gq8`u;YoOl?uwhAP95-%pxdLiYUJ+*y!xioZ5;?>7U9iBtpyL^jnlY|(^!sE z_tZr#2&Yo2JM1E^H z50Doc!8sa!>dKef;omxLsMGIBXg)Oz+lZa_gMxrlxBaG`B3!7Seri^P(A3ny;8Ud-7Z({U$x&#aTb~)0*crw=~Y` zD7{G^%8XUZ^&y>@E|{@QFg0FUuJH<~M-HQSl^#rid_$UMv<_>TyKvqD zZPwf=GwT;LE^4mFTjQ+u6J?3UBdhdRjHRpfOgBlouzp(oJmZPg`s()7suW|)8a*yz z%EAS$b7$8to-wCsuFXeaQ5Wp7UQpLbiI>v)t3_XE)A54vLL;?$H;yTAD?u z(Y76 z_460bZEb{>8k_3pHMT4uH7+2PXpJo`BB0Hl3k}y#nbi#0p)X@XyPg#iB`8W?Q-wKW zPHQJNLYf6C?wp0QzyJq8Nmk(8xU^nGo83HnZp%^yZ*6IAu3t2xd2xMXQ&Z=tn1Nrv zxMfBw>`{T!q&UjRI@2nU@k_ftqy6lVpz-7eeUfK*b7NC;%edwxt%iG}-Vgz8&OmVp zi!$o%?qp-*PkL0xy&LuJUc<)S2^}AA(MLze)(>l)Sp%|h)0<~E*S5@9)Y#hGQM^k( z;OdBaPJh_ZYfD0VqGMy?CTx4PzsqeYjyqEBOwk-i`+qUe@y)^s9;+nvoj##+e3pn->(RTjgG_KyS7nGc7kgW7(xLI6p34$ao zjmw1aJFK`)<4z2}GIs6P6PUwzb-!MmqolzPHR2iyUQA2Y=2_s^7^@HHskvJ$V3T~C z1wKuXSI<)iJ6X9evA}8J1k;kVlj@`alm0g{)m0X9Gu2xy@J*83JdNDsVv^ryA%8%U zo2T$v$&XpcACu(fA)Quo^MFnhzSEe0P*2OTFfnB@kGwLecMIm#=AkGi*d#YkJ2By= z!px%?O!!g3W^#Bx3RS8TVOmtG<~9*I3jV$-ZF3I?lg+QD6{uYtOgJqlB|b~MM&664 zWF;aTtM&cFX-s?(4&_Qe*;ur;iUjX;RSH7a%2rfxQ zvrhU_rH82m;yOs!lG7?~%pnQ=MPXmU_jBUe?ROF|MXBvq!7~xv48mHMjup3$iAiW2 z0xYF?pQR#=QL(IR$mS}z^>_3&3VsVd4$}p_h|8c3bxVQ+MyPuKlA5*C;p;+v8x(6RnG}hBB z_6VAPiu;#>k~+-9&AQ+!vOPU6A()1OAnfZe%S2jLTD=I%YUtiRJtnbn3hGic^tDQP zAVsFNsQ6XSOUPM;xI@9W!avc4*{bN%9*7Z+cMz%w<_yDHeNL za6YVPtZQxFC2Z(bRo|>9Z~R-uvaaoja7#&iugMfAD@k$`e3z;-LlwNQ30JGkRx0?_ z5}s#Sp^4QYDuVgVfyP>NEpHzal~A%?VXdqDpHlE=m6hKvBWVXI7JG~CK{{%Tlz8-r zM6Od6#oONIO$ZKGrf1zfp_}1uk=y2<%%*5^GQQv`F`Yiff(Z z92+U+dE}VP&n)@S@(p$ro#!g?2wtP8mL8Vq0!1}lQZ1K{jgokWBDOAcJs{8}bJ3cn zp%1KCx;$^FXgA#@na8U%PKs!uAAlBJ6{YALh31%MK?=3bK}=L|^EcyzXkzFpQ1Iig z$*?&caFBx2u|#y`$%i&cz%?V`U%J0$o+7gDuyCh>|3T_v733Q1wT8e6&%bfzaAOEyk>Ale15LXZ5C~{ab zLPfJKVw@?WC2LzOozfK|8oNh6w#moK;t_mD@!GG9r$YJ5&jq^XfMJA#}w< zI5M6`pOWD{Dq5j}KmE3ZpOp`--1z2A41C8abk`0EU#6lhlIVLC+PZ9ZyFjxSNQ6cv2|I=Nd?bSwq!b-a|&+$B4eI$?KbAaq=Ma1c9bLY=RLEBJ3ydIMl1AORfJ|G zyI#SqYo-@VuC%Q^amBhUk>h-o;ms1gU!koB&L0uzlrMp%s=LbKBYy%stsTchVDezw z+j@f0@V4$SHoT3Qq=N;3T_+wT)760EBh}@ED-hQb1#eTOUZ~*r8tKQNizgJ?x|HF7 z;9B#lLVs`R2E3!-NjFJ$PpBr~D+RaCjlf~M>DQFh6?+Tkfo*rFw*!D9o<4)Fn@8qC}^X!{(qEV`i4#y zoe)RmoAtU3E422jWJjxP2yNZ}Ax*)DKPjWB@sZX~!ObZN3nW?_Z)|-B)~a`72LW<$B#00ym9bdBvk?fC&{g=L$4KRz6@w-fwxKeKP&p5 z@0231Qj)(e&^4zO`m+7N5@a&gn0By0jK(Ht;d^1GBtlv(X7WZzN+9o_DlZnsANtkI6oi(H!Ap# zf?bRk9WBb#&yPv?ber++3B7BuT*0ktR<1EVL}uAk`B)_%o5Z7Jmx}Yl!;;q^PNo*o zMWU^{nRHWd>*hrL6x_Ov*>q#qhseq;;t{-0QFZx~6vnj6T>>5YheBJoAvmSrv)_=> zPO7SOPQk5vm?zDKb-c9g%znE0vT9xMnOqrTar;6p?kWokj&;ulgHi3w;yd zQzdJCnP*i%T@*Urb6si5%#JMkhvGZVPpO&^gTaN z=zn}5>F-lUcUHlzE0P^X<41`0VL^^#0g10NQEmdafHI=C`3Ld54e||**#wmC|1^?Sh2|!yZt`Q2Jri#d{_>%-2BdgQ8 zKe!kHl3lZWiND$KpGI@iu6S5i1wSm%HBT$F^`O<472LYL0Uf|d_4wj;Q&QA#1v_>@ zCYqEcWm;lsf3uCFBvUoe#KiTgjI34yYjpx$GFPED-XYOh@}aFz@Mz`lOk25AL}S|} z^8<>?x+e9QM1QT&cYh|iW~$2lAISu(z&?S58R=3&b4~d?NsPfgp-ajYdjI7_N?9CFw^kD_kbk)P9^i4V23fL5ax`cvhHs6qk>zP z4n`aPGw_k6;^7(DP3F{5)N$__{6g9B>u37A%=q~K^xYkgeWAD7JBrTg-?R3G)w#yB zbNW2v!*lpuIr6-|CgFel%G+`Gc}&7L2Cc-nr1CqxN1*c$%jVCv3%}FvjQ{VyUO)S9 zeI;w3KNw5=zSp;Nqv-;U|HQA#=2Qb?J$}ax|NegDc0IY{l?(blX8iV79dipd=v~_P z4Ij9%z&$!frYwGzRtaxh>OLBSxel}HFa8RRU%`#qHF|u|dhXiTRvoJQw8-v7JW0Xm^qO$Wlp-k!7^Ik1;*k9c_Eyu(2l^oXy|jRt+`IMZ1UE z&O{si{qDjT^LJzOiJ1z^0QZ|em6^|R#&doMKKwAguHrJE-v*7J0Qab0?sk6RG)iM2 zxC$RYctNM|5rqFt;a?@2BVRj>^9VqAlm2`>+a);q2oJoHGN_%i$&s#K9F8^Qx{_o!tRJ) zWO%XhBayG|k5A^f23~3Oj{|!DtulO@u{6%z$31+#432L<7zh}L5ToF+t hZ&qROcz3?Lc#ovM*60@x-s|3z!F!m|KhoXx{{bTwk!Jt^ diff --git a/ubl-settings-diskquota.glade b/ubl-settings-diskquota.glade index b81e965..bfc0f7e 100644 --- a/ubl-settings-diskquota.glade +++ b/ubl-settings-diskquota.glade @@ -1588,7 +1588,7 @@ translated and supported by community. - + False start @@ -1617,7 +1617,7 @@ translated and supported by community. True True - liststore1 + liststoreGeneral @@ -1743,9 +1743,80 @@ translated and supported by community. - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + True False @@ -1964,7 +2035,7 @@ translated and supported by community. True True - liststore2 + liststoreUser 0 @@ -2701,7 +2772,7 @@ limitation True True - liststore2 + liststoreUser 0 @@ -2712,6 +2783,9 @@ limitation True + + 0 + @@ -2721,6 +2795,9 @@ limitation True + + 1 + @@ -2730,6 +2807,9 @@ limitation True + + 2 + @@ -2741,6 +2821,9 @@ Restriction True + + 3 + @@ -2752,6 +2835,9 @@ limitation True + + 4 + @@ -2763,6 +2849,9 @@ Restriction True + + 5 + @@ -2771,6 +2860,9 @@ Restriction Files + + 6 + @@ -2782,6 +2874,9 @@ limitation True + + 7 + @@ -2792,6 +2887,9 @@ limitation True + + 8 + @@ -2802,6 +2900,9 @@ limitation True + + 9 + @@ -3590,7 +3691,7 @@ limitation True True - liststore3 + liststoreGroups 0 @@ -3601,6 +3702,9 @@ limitation True + + 0 + @@ -3610,6 +3714,9 @@ limitation True + + 1 + @@ -3619,6 +3726,9 @@ limitation True + + 2 + @@ -3630,6 +3740,9 @@ Restriction True + + 3 + @@ -3641,6 +3754,9 @@ limitation True + + 4 + @@ -3652,6 +3768,9 @@ Restriction True + + 5 + @@ -3660,6 +3779,9 @@ Restriction Files + + 6 + @@ -3671,6 +3793,9 @@ limitation True + + 7 + @@ -3681,6 +3806,9 @@ limitation True + + 8 + @@ -3691,6 +3819,9 @@ limitation True + + 9 + @@ -4479,7 +4610,7 @@ limitation True True - liststore4 + liststoreProject 0 @@ -4490,6 +4621,9 @@ limitation True + + 0 + @@ -4499,6 +4633,9 @@ limitation True + + 1 + @@ -4508,6 +4645,9 @@ limitation True + + 2 + @@ -4517,6 +4657,9 @@ limitation True + + 3 + @@ -4528,6 +4671,9 @@ Restriction True + + 4 + @@ -4539,6 +4685,9 @@ limitation True + + 5 + @@ -4550,6 +4699,9 @@ Restriction True + + 6 + @@ -4558,6 +4710,9 @@ Restriction Files + + 7 + @@ -4569,6 +4724,9 @@ limitation True + + 8 + @@ -4579,6 +4737,9 @@ limitation True + + 9 + @@ -4589,6 +4750,9 @@ limitation True + + 10 + diff --git a/ubl-settings-diskquota_ru.po b/ubl-settings-diskquota_ru.po index 27763de..80df1a4 100644 --- a/ubl-settings-diskquota_ru.po +++ b/ubl-settings-diskquota_ru.po @@ -18,6 +18,18 @@ msgstr "" "Content-Transfer-Encoding: 8bit" #: source/ubl-strings.h:1 +msgid "w " +msgstr "н " + +msgid "d " +msgstr "д " + +msgid "h " +msgstr "ч " + +msgid "m " +msgstr "м " + msgid "Version:" msgstr "Версия:"