Добавил открытие дочерних окон для вкладок пользователь и группа

pull/24/head
Igor Belitskiy 2 years ago
parent fa5ff46716
commit d68681b823

@ -13,7 +13,7 @@ CMAKE_BUILD_DIR = $(MAKEFILE_PATH)compile
DEPENDS = /bin/cmake DEPENDS = /bin/cmake
PREFIX ?= /usr PREFIX ?= /usr
PKGNAME = $(MAKEFILE_DIR) PKGNAME = $(MAKEFILE_DIR)
#PKGNAME = ubl-settings-manager #PKGNAME = ubl-settings-diskquota
LATEST_TAG= LATEST_TAG=
default_target: all default_target: all
@ -105,7 +105,7 @@ uninstall:
install: check uninstall install: check uninstall
@echo "Install ..." @echo "Install ..."
#################################################### УДАЛИТЬ ПЕРЕД КОММИТОМ ################################################################################ #################################################### УДАЛИТЬ ПЕРЕД КОММИТОМ ################################################################################
@gcc source/ubl-cmake.h compile/resources.c compile/ubl-cmake.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/view_filters.h source/view_add_u_g.c source/view_add_u_g.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 \ @for FILE_PO in $(wildcard *.po); do \
LANG=$${FILE_PO##*_};LANG=$${LANG%.*}; \ LANG=$${FILE_PO##*_};LANG=$${LANG%.*}; \

@ -73,6 +73,10 @@ set(SOURCE_FILES
controler.h controler.h
controler.c controler.c
ubl-strings.h ubl-strings.h
view_filters.c
view_filters.h
view_add_u_g.c
view_add_u_g.h
model/ubl-utils.h model/ubl-utils.h
model/ubl-utils.c model/ubl-utils.c
model/model.h model/model.h

@ -65,7 +65,46 @@ void fill_tree_view_u_g(custom_window* _config_gui, config_u_g_p* _config, int
} }
} }
void wrapper_all_save() {
/*
int flag_mess_save = 0;
if (main_config.flag_load == 0) {
flag_mess_save = template_format_str_save(CMD_ALL_SAVE, CMD_ALL_REMOVE);
}
else {
flag_mess_save = template_format_str_save(CMD_ALL_SAVE, CMD_ALL_REMOVE);
}
if (flag_mess_save) {
yon_ubl_status_box_render(GLOBAL_LOCAL_SAVE_SUCCESS,BACKGROUND_IMAGE_SUCCESS_TYPE);
main_config.flag_save=0;
}
else {
yon_ubl_status_box_render(MESS_NOTHING_SAVE, BACKGROUND_IMAGE_SUCCESS_TYPE);
}
*/
}
void wrapper_global_save() {
/*
if (template_format_str_save(CMD_SAVE_GLOBAL, CMD_REMOVE_GLOBAL)) {
yon_ubl_status_box_render(GLOBAL_SAVE_SUCCESS,BACKGROUND_IMAGE_SUCCESS_TYPE);
main_config.flag_save-=1;
}
else {
yon_ubl_status_box_render(MESS_NOTHING_SAVE, BACKGROUND_IMAGE_SUCCESS_TYPE);
}*/
}
void wrapper_system_save() {
/*
if (template_format_str_save(CMD_SAVE_SYSTEM, CMD_REMOVE_SYSTEM)) {
yon_ubl_status_box_render(LOCAL_SAVE_SUCCESS,BACKGROUND_IMAGE_SUCCESS_TYPE);
main_config.flag_save-=1;
}
else {
yon_ubl_status_box_render(MESS_NOTHING_SAVE, BACKGROUND_IMAGE_SUCCESS_TYPE);
}
*/
}
void load_system_cfg() { void load_system_cfg() {
cfg_u_g_p.flag_load = 0; cfg_u_g_p.flag_load = 0;
load_template_load_cfg(&cfg_u_g_p, CMD_LOAD_SYSTEM); load_template_load_cfg(&cfg_u_g_p, CMD_LOAD_SYSTEM);
@ -81,11 +120,61 @@ void load_global_cfg() {
void control_event(main_window* _config_main_gui, custom_window* _config_custom_gui) { void control_event(main_window* _config_main_gui, custom_window* _config_custom_gui) {
g_signal_connect(G_OBJECT(_config_main_gui->LoadLocalMenuItem), "activate", G_CALLBACK(load_system_cfg), NULL); g_signal_connect(G_OBJECT(_config_main_gui->LoadLocalMenuItem), "activate", G_CALLBACK(load_system_cfg), NULL);
g_signal_connect(G_OBJECT(_config_main_gui->LoadGlobalMenuItem), "activate", G_CALLBACK(load_global_cfg), NULL); g_signal_connect(G_OBJECT(_config_main_gui->LoadGlobalMenuItem), "activate", G_CALLBACK(load_global_cfg), NULL);
g_signal_connect(G_OBJECT(_config_main_gui->SaveGlobalMenuItem), "activate", G_CALLBACK(wrapper_global_save), NULL);
g_signal_connect(G_OBJECT(_config_main_gui->SaveLocalMenuItem), "activate", G_CALLBACK(wrapper_system_save), NULL);
g_signal_connect(G_OBJECT(_config_main_gui->SaveMenuItem), "activate", G_CALLBACK(wrapper_all_save), NULL);
g_signal_connect(G_OBJECT(_config_custom_gui->btnAddUsers),"clicked",G_CALLBACK(wrapper_add_user_show), glade_path);
g_signal_connect(G_OBJECT(_config_custom_gui->btnEditUsers),"clicked",G_CALLBACK(wrapper_edit_user_show), glade_path);
g_signal_connect(G_OBJECT(_config_custom_gui->btnAddGroups),"clicked",G_CALLBACK(wrapper_add_group_show), glade_path);
g_signal_connect(G_OBJECT(_config_custom_gui->btnEditGroups),"clicked",G_CALLBACK(wrapper_edit_group_show), glade_path);
g_signal_connect(G_OBJECT(_config_custom_gui->btnAddProject),"clicked",G_CALLBACK(wrapper_add_project_show), glade_path);
g_signal_connect(G_OBJECT(_config_custom_gui->btnEditProject),"clicked",G_CALLBACK(wrapper_edit_project_show), glade_path);
g_signal_connect(G_OBJECT(_config_custom_gui->btnFilterUsers),"clicked",G_CALLBACK(wrapper_filters_user_show), glade_path);
g_signal_connect(G_OBJECT(_config_custom_gui->btnFilterGroups),"clicked",G_CALLBACK(wrapper_filters_group_show), glade_path);
g_signal_connect(G_OBJECT(_config_custom_gui->btnFilterProject),"clicked",G_CALLBACK(wrapper_filters_project_show), glade_path);
}
void wrapper_filters_user_show() {
filters_show(NULL, glade_path);
}
void wrapper_filters_group_show() {
filters_show(NULL, glade_path);
}
void wrapper_filters_project_show() {
filters_show(NULL, glade_path);
}
void wrapper_add_user_show() {
add_show(NULL, glade_path);
}
void wrapper_edit_user_show() {
add_show(NULL, glade_path);
}
void wrapper_add_group_show() {
add_show(NULL, glade_path);
}
void wrapper_edit_group_show() {
add_show(NULL, glade_path);
}
void wrapper_add_project_show() {
//add_show(NULL, glade_path);
}
void wrapper_edit_project_show() {
//add_show(NULL, glade_path);
} }
int main(int argc, char *argv[]){ int main(int argc, char *argv[]){
local=setlocale(LC_ALL, ""); local=setlocale(LC_ALL, "");
bindtextdomain(LocaleName, yon_char_unite(LocalePath, "/", NULL));
bind_textdomain_codeset(LocaleName, "UTF-8");
textdomain (LocaleName); textdomain (LocaleName);
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);
config_init(&main_config); config_init(&main_config);
int option_index=0; int option_index=0;
int show_help=0; int show_help=0;
@ -160,7 +249,7 @@ int main(int argc, char *argv[]){
gtk_init(&argc,&argv); gtk_init(&argc,&argv);
main_window *widgets = setup_window(&cfg_main_gui); main_window *widgets = setup_window(&cfg_main_gui,&cfg_custom_gui);
control_event(widgets, &cfg_custom_gui); control_event(widgets, &cfg_custom_gui);
yon_ubl_header_setup_resource(widgets->HeadOverlay,widgets->HeadBox,widgets->HeadImage,banner_path); yon_ubl_header_setup_resource(widgets->HeadOverlay,widgets->HeadBox,widgets->HeadImage,banner_path);

@ -1,8 +1,21 @@
#include "ubl-settings-diskquota.h" #include "ubl-settings-diskquota.h"
#include "view_add_u_g.h"
char *local;
int main(int argc, char *argv[]); int main(int argc, char *argv[]);
void load_global_cfg(); void load_global_cfg();
void load_system_cfg(); void load_system_cfg();
void control_event(main_window* _config_main_gui, custom_window* _config_custom_gui); void control_event(main_window* _config_main_gui, custom_window* _config_custom_gui);
void wrapper_all_save();
void wrapper_global_save();
void wrapper_system_save();
void wrapper_add_user_show();
void wrapper_edit_user_show();
void wrapper_add_group_show();
void wrapper_edit_group_show();
void wrapper_add_project_show();
void wrapper_edit_project_show();
void wrapper_filters_user_show();
void wrapper_filters_group_show();
void wrapper_filters_project_show();

@ -437,123 +437,7 @@ char* philos_pard_array_add_cmd(char* cmd, temp_config* _config, char* key, int*
} }
} }
int philos_check_activ_disk(temp_set_window *widgets, temp_config* _config) {
char* disk = gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(widgets->cbtTempDevice));
disk = yon_char_divide_search(disk," ", -1);
if (disk == NULL) {
return 0;
}
return 1;
}
void philos_temp_generate_cmd(temp_set_window *widgets, temp_config* _config) {
char* str_cmd = "";
char* split_simvol = g_malloc0(sizeof(char)*2);
int size_bite = 0;
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->chkSoftRestrictionTemp))) {
size_bite = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(widgets->spiSevereRestrictionTemp));
str_cmd = yon_char_unite(str_cmd,
"MemoryHigh=",
yon_char_from_int(size_bite),
philos_str_size_pow_byte(widgets->cmSevereRestrictionTemp), NULL);
split_simvol[0] = ',';
split_simvol[1] = '\0';
}
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->chkSevereRestrictionTemp))) {
size_bite = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(widgets->spinSevereRestrictionTemp));
str_cmd = yon_char_unite(str_cmd, split_simvol,
"MemoryMax=",
yon_char_from_int(size_bite),
philos_str_size_pow_byte(widgets->cmbSevereRestrictionTemp), NULL);
split_simvol[0] = ',';
split_simvol[1] = '\0';
}
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->chkPaddingFLTemp))) {
size_bite = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(widgets->spinPaddingFLTemp));
str_cmd = yon_char_unite(str_cmd, split_simvol,
"MemorySwapMax=",
yon_char_from_int(size_bite),
philos_str_size_pow_byte(widgets->cmbPaddingFLTemp), NULL);
split_simvol[0] = ',';
split_simvol[1] = '\0';
}
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->chkCPULimitTemp))) {
size_bite = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(widgets->spinCPULimitTemp));
str_cmd = yon_char_unite(str_cmd, split_simvol,
"CPUQuota=",
yon_char_from_int(size_bite),
"%", NULL);
split_simvol[0] = ',';
split_simvol[1] = '\0';
}
if (gtk_combo_box_get_active(GTK_COMBO_BOX(widgets->cbtTempDevice))!=-1) {
if (_config->size_disk!=0) {
str_cmd = philos_pard_array_add_cmd(str_cmd, _config, "IOReadBandwidthMax=", _config->i_o_limit_read, _config->i_o_limit_read_size, _config->disk_read, _config->size_disk);
}
if (_config->size_disk!=0) {
str_cmd = philos_pard_array_add_cmd(str_cmd, _config, "IOWriteBandwidthMax=", _config->i_o_limit_write, _config->i_o_limit_write_size, _config->disk_write, _config->size_disk);
}
}
gtk_entry_set_text(GTK_ENTRY(widgets->entryTempCmd), str_cmd);
free(split_simvol);
}
// flag_check_array = 0 READ
// flag_check_array = 1 WRITE
void philos_temp_del_disk(temp_set_window *widgets, temp_config* _config, int flag_check_array) {
char* disk = gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(widgets->cbtTempDevice));
disk = yon_char_divide_search(disk, " ", -1);
int bool_read = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->chbTempRead));
int bool_write = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->chbTempWrite));
char** ptr_disk = NULL;
int size = 0;
if (flag_check_array == 0) {
size = _config->size_disk;
if (philos_check_activ_disk(widgets, _config) == 0) {
return;
}
ptr_disk = _config->disk_read;
}
else if (flag_check_array == 1) {
size = _config->size_disk;
if (philos_check_activ_disk(widgets, _config) == 0) {
return;
}
ptr_disk = _config->disk_write;
}
int index_find = -1;
if (ptr_disk) {
for (int index = 0; index < size; index++) {
char* disk_cfg = ptr_disk[index];
if (disk_cfg) {
if (strstr(disk_cfg, disk) != NULL) {
index_find = index;
break;
}
}
}
}
if ((bool_read == 0 && bool_write == 0 && index_find != -1)) {
ptr_disk[index_find] = yon_char_new("-");
_config->i_o_limit_read_size[index_find] = -3;
_config->i_o_limit_write_size[index_find] = -3;
_config->i_o_limit_read[index_find] = -3;
_config->i_o_limit_write[index_find] = -3;
}
if (flag_check_array == 0) {
if (ptr_disk) {
yon_char_parsed_copy(&_config->disk_read, &ptr_disk);
}
}
else if (flag_check_array == 1) {
if (ptr_disk) {
yon_char_parsed_copy(&_config->disk_write, &ptr_disk);
}
}
}
void philos_temp_config_init(temp_config* _config) { void philos_temp_config_init(temp_config* _config) {
if (_config->size_disk != 0) { if (_config->size_disk != 0) {
@ -576,200 +460,7 @@ void philos_temp_config_init(temp_config* _config) {
_config->size_disk = 0; _config->size_disk = 0;
} }
// flag_check_array = 0 READ
// flag_check_array = 1 WRITE
void philos_update_device_to_entry(temp_set_window *widgets, temp_config* _config, int flag_check_array) {
int disk_id = gtk_combo_box_get_active(GTK_COMBO_BOX(widgets->cbtTempDevice));
char* disk = gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(widgets->cbtTempDevice));
disk = yon_char_divide_search(disk, " ", -1);
if (disk_id != -1) {
int index_find = -1;
if (flag_check_array == 0) {
if (_config->disk_read) {
for (int index = 0; index < _config->size_disk; index++) {
char* disk_cfg = _config->disk_read[index];
if (disk_cfg) {
if (strstr(disk_cfg, disk)) {
index_find = index;
break;
}
}
}
}
}
else if (flag_check_array == 1) {
if (_config->disk_write) {
for (int index = 0; index < _config->size_disk; index++) {
char* disk_cfg = _config->disk_write[index];
if (disk_cfg) {
if (strstr(disk_cfg, disk)) {
index_find = index;
break;
}
}
}
}
}
if (index_find != -1) {
if (flag_check_array==0) {
if (_config->i_o_limit_read[index_find]<0 || _config->i_o_limit_read_size[index_find]<0) {
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widgets->chbTempRead), 0);
gtk_spin_button_set_value(GTK_SPIN_BUTTON(widgets->spinTempRead), 0);
gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->cbtTempRead), 0);
}
else {
gtk_spin_button_set_value(GTK_SPIN_BUTTON(widgets->spinTempRead), _config->i_o_limit_read[index_find]);
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widgets->chbTempRead), 1);
gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->cbtTempRead), _config->i_o_limit_read_size[index_find]);
}
}
else if (flag_check_array==1) {
if (_config->i_o_limit_write[index_find]<0 || _config->i_o_limit_write_size[index_find]<0) {
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widgets->chbTempWrite), 0);
gtk_spin_button_set_value(GTK_SPIN_BUTTON(widgets->spinTempWrite), 0);
gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->cbtTempWrite), 0);
}
else {
gtk_spin_button_set_value(GTK_SPIN_BUTTON(widgets->spinTempWrite), _config->i_o_limit_write[index_find]);
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widgets->chbTempWrite), 1);
gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->cbtTempWrite), _config->i_o_limit_write_size[index_find]);
}
}
else {
if (flag_check_array==0) {
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widgets->chbTempRead), 0);
gtk_spin_button_set_value(GTK_SPIN_BUTTON(widgets->spinTempRead), 0);
gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->cbtTempRead), 0);
}
else if (flag_check_array==1) {
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widgets->chbTempWrite), 0);
gtk_spin_button_set_value(GTK_SPIN_BUTTON(widgets->spinTempWrite), 0);
gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->cbtTempWrite), 0);
}
}
}
else {
if (flag_check_array==0) {
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widgets->chbTempRead), 0);
gtk_spin_button_set_value(GTK_SPIN_BUTTON(widgets->spinTempRead), 0);
gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->cbtTempRead), 0);
}
else if (flag_check_array==1) {
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widgets->chbTempWrite), 0);
gtk_spin_button_set_value(GTK_SPIN_BUTTON(widgets->spinTempWrite), 0);
gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->cbtTempWrite), 0);
}
}
}
else {
if (flag_check_array==0) {
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widgets->chbTempRead), 0);
gtk_spin_button_set_value(GTK_SPIN_BUTTON(widgets->spinTempRead), 0);
gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->cbtTempRead), 0);
}
else if (flag_check_array==1) {
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widgets->chbTempWrite), 0);
gtk_spin_button_set_value(GTK_SPIN_BUTTON(widgets->spinTempWrite), 0);
gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->cbtTempWrite), 0);
}
}
}
// flag_check_array = 0 READ
// flag_check_array = 1 WRITE
void philos_temp_add_disk(temp_set_window *widgets, temp_config* _config, int flag_check_array) {
char* disk = gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(widgets->cbtTempDevice));
disk = yon_char_divide_search(disk, " ", -1);
int disk_id = gtk_combo_box_get_active(GTK_COMBO_BOX(widgets->cbtTempDevice));
int bool_read = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->chbTempRead));
int bool_write = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->chbTempWrite));
char** ptr_disk = NULL;
int size = 0;
if (flag_check_array == 0) {
ptr_disk = _config->disk_read;
size = _config->size_disk;
}
else if (flag_check_array == 1) {
ptr_disk = _config->disk_write;
size = _config->size_disk;
}
if (disk_id >= 0 && size !=0) {
int index_find = -1;
if (ptr_disk){
for (int index = 0; index < size; index++) {
char* disk_cfg = ptr_disk[index];
if (disk_cfg) {
if (strstr(disk_cfg, disk) != NULL) {
index_find = index;
break;
}
}
}
}
if (index_find == -1 || index_find>=0) {
if (index_find == -1) {
index_find = find_null_array(_config);
}
// Редактирование
if (flag_check_array == 0) {
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->chbTempRead))) {
ptr_disk[index_find] = yon_char_new(disk);
_config->i_o_limit_read_size[index_find] = (int)gtk_combo_box_get_active(GTK_COMBO_BOX(widgets->cbtTempRead));
_config->i_o_limit_read[index_find] = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(widgets->spinTempRead));
}
else {
ptr_disk[index_find] = yon_char_new("-");
_config->i_o_limit_read_size[index_find] = -3;
_config->i_o_limit_read[index_find] = -3;
}
}
if (flag_check_array == 1) {
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->chbTempWrite))) {
ptr_disk[index_find] = yon_char_new(disk);
_config->i_o_limit_write_size[index_find] = (int)gtk_combo_box_get_active(GTK_COMBO_BOX(widgets->cbtTempWrite));
_config->i_o_limit_write[index_find] = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(widgets->spinTempWrite));
}
else {
_config->i_o_limit_write_size[index_find] = -3;
_config->i_o_limit_write[index_find] = -3;
ptr_disk[index_find] = yon_char_new("-");
}
}
}
}
else {
if (bool_read == 1 || bool_write == 1) {
int index_find = find_null_array(_config);
if (flag_check_array == 0) {
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->chbTempRead))) {
ptr_disk[index_find] = yon_char_new(disk);
_config->i_o_limit_read_size[index_find] = (int)gtk_combo_box_get_active(GTK_COMBO_BOX(widgets->cbtTempRead));
_config->i_o_limit_read[index_find] = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(widgets->spinTempRead));
}
}
if (flag_check_array == 1) {
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->chbTempWrite))) {
ptr_disk[index_find] = yon_char_new(disk);
_config->i_o_limit_write_size[index_find] = (int)gtk_combo_box_get_active(GTK_COMBO_BOX(widgets->cbtTempWrite));
_config->i_o_limit_write[index_find] = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(widgets->spinTempWrite));
}
}
}
}
if (flag_check_array == 0) {
if (ptr_disk) {
yon_char_parsed_copy(&_config->disk_read, &ptr_disk);
}
}
else if (flag_check_array == 1) {
if (ptr_disk) {
yon_char_parsed_copy(&_config->disk_write, &ptr_disk);
}
}
}
int find_null_array(temp_config* _config) { int find_null_array(temp_config* _config) {
int index = 0; int index = 0;
for (index = 0; (_config->disk_read[index]!=NULL && _config->disk_write[index]!=NULL); index++) { for (index = 0; (_config->disk_read[index]!=NULL && _config->disk_write[index]!=NULL); index++) {

@ -35,40 +35,9 @@ typedef struct {
} temp_config; } temp_config;
typedef struct { typedef struct {
GtkWidget* Window; GtkWidget* Window;
GtkWidget* btnSaveTempSave; GtkWidget* btnSaveTempSave;
GtkWidget* btnTempCancel; GtkWidget* btnTempCancel;
GtkWidget* entryTempCmd;
GtkWidget* chbTempRead;
GtkWidget* spinTempRead;
GtkWidget* cbtTempRead;
GtkWidget* chbTempWrite;
GtkWidget* spinTempWrite;
GtkWidget* cbtTempWrite;
GtkWidget* chkSoftRestrictionTemp;
GtkWidget* spiSevereRestrictionTemp;
GtkWidget* cmSevereRestrictionTemp;
GtkWidget* chkSevereRestrictionTemp;
GtkWidget* spinSevereRestrictionTemp;
GtkWidget* cmbSevereRestrictionTemp;
GtkWidget* chkPaddingFLTemp;
GtkWidget* spinPaddingFLTemp;
GtkWidget* cmbPaddingFLTemp;
GtkWidget* chkCPULimitTemp;
GtkWidget* spinCPULimitTemp;
GtkWidget* lblCPULimitTemp;
GtkWidget* cbtTempDevice;
GtkWidget* cbxTempQuotaObj;
GtkWidget* cbxTempQuotaLevel2;
GtkWidget* boxBlockGui;
} temp_set_window; } temp_set_window;
void philos_array_string_remove_char(char*** array, char* str_remove, int size); 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,int index, char** array_size_pow);

@ -129,9 +129,10 @@ void config_init(config_settings_gui* main_config){
_main_config->lock_save_local=0; _main_config->lock_save_local=0;
} }
main_window *setup_window(main_window* widgets){ main_window *setup_window(main_window* widgets, custom_window* custom_widgets){
/* Widgets getting | Получение виджетов */ /* Widgets getting | Получение виджетов */
widgets = malloc(sizeof(main_window)); widgets = malloc(sizeof(main_window));
device_disk_parsed();
GtkBuilder *builder = gtk_builder_new_from_resource(glade_path); GtkBuilder *builder = gtk_builder_new_from_resource(glade_path);
widgets->Window = yon_gtk_builder_get_widget(builder,"MainWindow"); widgets->Window = yon_gtk_builder_get_widget(builder,"MainWindow");
widgets->HatLabel = yon_gtk_builder_get_widget(builder,"headerTopic"); widgets->HatLabel = yon_gtk_builder_get_widget(builder,"headerTopic");
@ -182,8 +183,30 @@ main_window *setup_window(main_window* widgets){
g_signal_connect(G_OBJECT(widgets->DocumentationMenuItem),"activate",G_CALLBACK(on_open_documentation_confirmation),WIKI_LINK); g_signal_connect(G_OBJECT(widgets->DocumentationMenuItem),"activate",G_CALLBACK(on_open_documentation_confirmation),WIKI_LINK);
g_signal_connect(G_OBJECT(widgets->AboutMenuItem),"activate",G_CALLBACK(on_about),NULL); g_signal_connect(G_OBJECT(widgets->AboutMenuItem),"activate",G_CALLBACK(on_about),NULL);
setup_window_custom(custom_widgets, builder);
gtk_widget_show(widgets->Window); gtk_widget_show(widgets->Window);
return widgets; return widgets;
} }
custom_window *setup_window_custom(custom_window* custom_widgets, GtkBuilder *builder) {
custom_widgets->usersDeviceCombo = yon_gtk_builder_get_widget(builder,"usersDeviceCombo");
custom_widgets->groupsDeviceCombo = yon_gtk_builder_get_widget(builder,"groupsDeviceCombo");
custom_widgets->ProjectDeviceCombo = yon_gtk_builder_get_widget(builder,"ProjectDeviceCombo");
device_fill_disk(custom_widgets->usersDeviceCombo);
device_fill_disk(custom_widgets->groupsDeviceCombo);
device_fill_disk(custom_widgets->ProjectDeviceCombo);
custom_widgets->btnAddUsers = yon_gtk_builder_get_widget(builder,"btnAddUsers");
custom_widgets->btnEditUsers = yon_gtk_builder_get_widget(builder,"btnEditUsers");
custom_widgets->btnDelUsers = yon_gtk_builder_get_widget(builder,"btnDelUsers");
custom_widgets->btnFilterUsers = yon_gtk_builder_get_widget(builder,"btnFilterUsers");
custom_widgets->btnAddGroups = yon_gtk_builder_get_widget(builder,"btnAddGroups");
custom_widgets->btnEditGroups = yon_gtk_builder_get_widget(builder,"btnEditGroups");
custom_widgets->btnDelGroups = yon_gtk_builder_get_widget(builder,"btnDelGroups");
custom_widgets->btnFilterGroups = yon_gtk_builder_get_widget(builder,"btnFilterGroups");
custom_widgets->btnAddProject = yon_gtk_builder_get_widget(builder,"btnAddProject");
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");
return custom_widgets;
}

@ -16,11 +16,14 @@
#include "ubl-strings.h" #include "ubl-strings.h"
#ifdef WEBKIT_FOUND #ifdef WEBKIT_FOUND
#include <webkit2/webkit2.h> #include <webkit2/webkit2.h>
#endif #endif
#include "view_filters.h"
#include "ubl-strings.h" #include "ubl-strings.h"
#define WIKI_LINK "https://wiki.ublinux.ru/ru/Программное_обеспечениерограммы_и_утилиты/Все/ubl-settings-diskquota" #define WIKI_LINK "https://wiki.ublinux.ru/ru/Программное_обеспечениерограммы_и_утилиты/Все/ubl-settings-diskquota"
#define LocalePath "/usr/share/locale"
#define LocaleName "ubl-settings-diskquota"
#define VERSION_LABEL yon_char_unite(_("Version:")," ",version_application,"\n",NULL) #define VERSION_LABEL yon_char_unite(_("Version:")," ",version_application,"\n",NULL)
#define glade_path "/com/ublinux/ui/ubl-settings-diskquota.glade" #define glade_path "/com/ublinux/ui/ubl-settings-diskquota.glade"
@ -28,10 +31,9 @@
#define CssPath "/com/ublinux/css/ubl-settings-diskquota.css" #define CssPath "/com/ublinux/css/ubl-settings-diskquota.css"
#define config_path yon_char_unite("/home/",yon_ubl_root_user_get(),"/.config/",LocaleName,"/",LocaleName,".conf",NULL) #define config_path yon_char_unite("/home/",yon_ubl_root_user_get(),"/.config/",LocaleName,"/",LocaleName,".conf",NULL)
#define LocalePath "/usr/share/locale"
#define LocaleName "ubl-settings-diskquota"
static char *local;
typedef struct { typedef struct {
int always_open_documentation; int always_open_documentation;
@ -85,6 +87,24 @@ typedef struct {
typedef struct { typedef struct {
GtkWidget *treeViewMain; GtkWidget *treeViewMain;
GtkListStore *list; GtkListStore *list;
GtkWidget* usersDeviceCombo;
GtkWidget* groupsDeviceCombo;
GtkWidget* ProjectDeviceCombo;
GtkWidget* btnAddUsers;
GtkWidget* btnEditUsers;
GtkWidget* btnDelUsers;
GtkWidget* btnFilterUsers;
GtkWidget* btnAddGroups;
GtkWidget* btnEditGroups;
GtkWidget* btnDelGroups;
GtkWidget* btnFilterGroups;
GtkWidget* btnAddProject;
GtkWidget* btnEditProject;
GtkWidget* btnDelProject;
GtkWidget* btnFilterProject;
} }
custom_window; custom_window;
@ -105,7 +125,7 @@ typedef char* string;
static string version_application=""; static string version_application="";
main_window *setup_window(main_window* widgets); main_window *setup_window(main_window* widgets, custom_window* custom_widgets);
void on_about(); void on_about();
void yon_open_browser(GtkWidget *self, char *link); void yon_open_browser(GtkWidget *self, char *link);
void on_close_subwindow(GtkWidget *self); void on_close_subwindow(GtkWidget *self);
@ -113,7 +133,7 @@ void on_link(GtkWidget *self, char* uri, gpointer user_data);
void on_open_documentation_confirmation(GtkWidget *self, char *link); void on_open_documentation_confirmation(GtkWidget *self, char *link);
void yon_load_proceed(char *command); void yon_load_proceed(char *command);
void event(main_window *widgets); void event(main_window *widgets);
custom_window *setup_window_custom(custom_window* custom_widgets, GtkBuilder *builder);
void on_link(GtkWidget *self, char* uri, gpointer user_data); void on_link(GtkWidget *self, char* uri, gpointer user_data);
void config_init(config_settings_gui* main_config); void config_init(config_settings_gui* main_config);
#endif #endif

@ -0,0 +1,54 @@
#include "view_add_u_g.h"
temp_set_window *add_widgets = NULL;
temp_set_window *get_widget_add() {
return add_widgets;
}
temp_set_window *add_setup_window(char* _glade_path) {
if (add_widgets == NULL) {
add_widgets = malloc(sizeof(temp_set_window));
GtkBuilder *builder = gtk_builder_new_from_resource(_glade_path);
add_widgets->Window = yon_gtk_builder_get_widget(builder,"QuotasEditWindow");
add_widgets->btnSaveTempSave = yon_gtk_builder_get_widget(builder,"quotegroupSaveButton");
add_widgets->btnTempCancel = yon_gtk_builder_get_widget(builder,"quotegroupCancelButton");
add_event(add_widgets);
add_init_windows();
add_localization(add_widgets);
}
return add_widgets;
}
void add_show(GtkWidget *self, char* _glade_path) {
if (add_widgets != NULL) {
gtk_widget_show_all(add_widgets->Window);
add_init_windows();
}
else {
add_setup_window(_glade_path);
gtk_widget_show_all(add_widgets->Window);
}
}
void add_localization(temp_set_window* add_widgets) {
}
void add_init_windows() {
}
void add_event(temp_set_window* add_widgets) {
}
void add_destroy(GtkWidget *self) {
add_widgets = NULL;
}
void add_on_destroy_subwindow(GtkWidget *self) {
gtk_widget_destroy(gtk_widget_get_toplevel(self));
add_widgets = NULL;
}

@ -0,0 +1,20 @@
#include <gtk/gtk.h>
#include <gtk/gtkx.h>
#include "model/ubl-utils.h"
#include <locale.h>
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <libintl.h>
#include <getopt.h>
#include <libintl.h>
#include "ubl-cmake.h"
#include "model/model.h"
#include "model/load.h"
#include "ubl-strings.h"
temp_set_window *add_setup_window(char* _glade_path);
void add_show(GtkWidget *self, char* _glade_path);
void add_init_windows();
void add_event(temp_set_window* add_widgets);
void add_localization(temp_set_window* add_widgets);

@ -1,4 +1,4 @@
#include "filters.h" #include "view_filters.h"
filters_window *filters_widgets = NULL; filters_window *filters_widgets = NULL;
gboolean flag_filters[8]; gboolean flag_filters[8];
@ -20,7 +20,7 @@ filters_window *filters_setup_window(char* glade_path){
filters_widgets->chbFilterHardLimitFile = yon_gtk_builder_get_widget(builder,"chbFilterHardLimitFile"); filters_widgets->chbFilterHardLimitFile = yon_gtk_builder_get_widget(builder,"chbFilterHardLimitFile");
filters_widgets->chbFilterHardLimitFileDelay = yon_gtk_builder_get_widget(builder,"chbFilterHardLimitFileDelay"); filters_widgets->chbFilterHardLimitFileDelay = yon_gtk_builder_get_widget(builder,"chbFilterHardLimitFileDelay");
filters_widgets->chbTemplate = yon_gtk_builder_get_widget(builder,"chbTemplate"); filters_widgets->chbTemplate = yon_gtk_builder_get_widget(builder,"chbTemplate");
if (filters_widgets->name == "Project") { if (strstr(filters_widgets->name,"Project")) {
} }
@ -29,8 +29,8 @@ filters_window *filters_setup_window(char* glade_path){
filters_set_flag(); filters_set_flag();
return filters_widgets; return filters_widgets;
} }
void filters_set_name(string name) { void filters_set_name(char* name) {
if (name == "Project") { if (strstr(name,"Project")) {
filters_widgets->name = name; filters_widgets->name = name;
} }

@ -1,9 +1,8 @@
#ifndef FILTERS_H #ifndef VIEW_FILTERS_H
#define FILTERS_H #define VIEW_FILTERS_H
#include <gtk/gtk.h> #include <gtk/gtk.h>
#include <gtk/gtkx.h> #include <gtk/gtkx.h>
#include "ubl-utils.h" #include "model/ubl-utils.h"
#include "ubl-strings.h"
#include <locale.h> #include <locale.h>
#include <stdio.h> #include <stdio.h>
#include <unistd.h> #include <unistd.h>
@ -11,8 +10,10 @@
#include <libintl.h> #include <libintl.h>
#include <getopt.h> #include <getopt.h>
#include <libintl.h> #include <libintl.h>
#include "philos_utils.h" #include "ubl-cmake.h"
#include <string.h> #include "model/model.h"
#include "model/load.h"
#include "ubl-strings.h"
// Переменные // Переменные
typedef struct { typedef struct {
@ -30,7 +31,7 @@ typedef struct {
GtkWidget* chbFilterHardLimitFile; GtkWidget* chbFilterHardLimitFile;
GtkWidget* chbFilterHardLimitFileDelay; GtkWidget* chbFilterHardLimitFileDelay;
GtkWidget* chbTemplate; GtkWidget* chbTemplate;
string *name; char* name;
} filters_window; } filters_window;
// Функции // Функции
@ -44,5 +45,6 @@ void filters_destroy(GtkWidget *self);
int* filters_get_flag(); int* filters_get_flag();
void filters_init_flag(); void filters_init_flag();
void filters_set_flag(); void filters_set_flag();
void filters_set_name(char *name) void filters_set_name(char *name);
void filters_show(GtkWidget *self, char* glade_path);
#endif #endif

Binary file not shown.

@ -303,7 +303,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
<property name="step-increment">1</property> <property name="step-increment">1</property>
<property name="page-increment">10</property> <property name="page-increment">10</property>
</object> </object>
<object class="GtkWindow" id="QuotasEditWindow2"> <object class="GtkWindow" id="QuotasEditWindow">
<property name="can-focus">False</property> <property name="can-focus">False</property>
<property name="valign">start</property> <property name="valign">start</property>
<property name="resizable">False</property> <property name="resizable">False</property>
@ -964,7 +964,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
<property name="spacing">5</property> <property name="spacing">5</property>
<property name="homogeneous">True</property> <property name="homogeneous">True</property>
<child> <child>
<object class="GtkButton" id="quotegroupCancelButton2"> <object class="GtkButton" id="quotegroupCancelButton">
<property name="label">gtk-cancel</property> <property name="label">gtk-cancel</property>
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">True</property> <property name="can-focus">True</property>
@ -984,7 +984,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
</packing> </packing>
</child> </child>
<child> <child>
<object class="GtkButton" id="quotegroupSaveButton2"> <object class="GtkButton" id="quotegroupSaveButton">
<property name="label">gtk-save</property> <property name="label">gtk-save</property>
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">True</property> <property name="can-focus">True</property>
@ -1023,8 +1023,9 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
<object class="GtkHeaderBar"> <object class="GtkHeaderBar">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can-focus">False</property>
<property name="show-close-button">True</property>
<child type="title"> <child type="title">
<object class="GtkLabel" id="lblHeadQuotasEditWindow2"> <object class="GtkLabel" id="lblHeadQuotasEditWindow">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can-focus">False</property>
<property name="label" translatable="yes">Settings disk quotas - Addition</property> <property name="label" translatable="yes">Settings disk quotas - Addition</property>
@ -1962,6 +1963,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
<object class="GtkHeaderBar"> <object class="GtkHeaderBar">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can-focus">False</property>
<property name="show-close-button">True</property>
<child type="title"> <child type="title">
<object class="GtkLabel" id="lblHeadQuotasAddWindowProject"> <object class="GtkLabel" id="lblHeadQuotasAddWindowProject">
<property name="visible">True</property> <property name="visible">True</property>
@ -2775,6 +2777,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
<object class="GtkHeaderBar"> <object class="GtkHeaderBar">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can-focus">False</property>
<property name="show-close-button">True</property>
<child type="title"> <child type="title">
<object class="GtkLabel" id="Settings disk quotas - Editing"> <object class="GtkLabel" id="Settings disk quotas - Editing">
<property name="visible">True</property> <property name="visible">True</property>
@ -2986,6 +2989,7 @@ translated and supported by community.</property>
<object class="GtkHeaderBar" id="SettingsBar"> <object class="GtkHeaderBar" id="SettingsBar">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can-focus">False</property>
<property name="show-close-button">True</property>
<child type="title"> <child type="title">
<object class="GtkLabel" id="webHeaderNameLabel"> <object class="GtkLabel" id="webHeaderNameLabel">
<property name="visible">True</property> <property name="visible">True</property>
@ -3130,6 +3134,7 @@ translated and supported by community.</property>
<object class="GtkHeaderBar"> <object class="GtkHeaderBar">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can-focus">False</property>
<property name="show-close-button">True</property>
<child type="title"> <child type="title">
<object class="GtkLabel" id="lblHeadQuotasEditWindow1"> <object class="GtkLabel" id="lblHeadQuotasEditWindow1">
<property name="visible">True</property> <property name="visible">True</property>
@ -5332,7 +5337,7 @@ limitation
</packing> </packing>
</child> </child>
<child> <child>
<object class="GtkComboBoxText" id="usersProjectCombo"> <object class="GtkComboBoxText" id="ProjectDeviceCombo">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can-focus">False</property>
</object> </object>
@ -6628,6 +6633,7 @@ limitation
<object class="GtkHeaderBar"> <object class="GtkHeaderBar">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can-focus">False</property>
<property name="show-close-button">True</property>
<child type="title"> <child type="title">
<object class="GtkLabel" id="lblFiltersHead"> <object class="GtkLabel" id="lblFiltersHead">
<property name="visible">True</property> <property name="visible">True</property>

@ -6,7 +6,7 @@
#, fuzzy #, fuzzy
msgid "test" msgid "test"
msgstr "" msgstr ""
"Project-Id-Version: ublexec 1.0\n" "Project-Id-Version: ubl-settings-diskquota 1.0\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-04-10 16:09+0000\n" "POT-Creation-Date: 2023-04-10 16:09+0000\n"
"PO-Revision-Date: 2023-01-01 00:00+0600\n" "PO-Revision-Date: 2023-01-01 00:00+0600\n"
@ -21,118 +21,89 @@ msgstr ""
msgid "Version:" msgid "Version:"
msgstr "Версия:" msgstr "Версия:"
#: source/ubl-strings.h:2 msgid "ubl-settings-diskquota version:"
msgid "ubl-settings-TEMPLATE version:" msgstr "Версия ubl-settings-diskquota: "
msgstr "Версия ubl-settings-TEMPLATE: "
#: source/ubl-strings.h:2 msgid "ubl-settings-diskquota settings"
msgid "TEMPLATE settings" msgstr "Настройки ubl-settings-diskquota"
msgstr "Настройки TEMPLATE"
#: source/ubl-strings.h:2
msgid "Usage:" msgid "Usage:"
msgstr "Использование:" msgstr "Использование:"
#: source/ubl-strings.h:2
msgid "[OPTIONS]" msgid "[OPTIONS]"
msgstr "[АРГУМЕНТЫ]" msgstr "[АРГУМЕНТЫ]"
#: source/ubl-strings.h:2
msgid "Options:" msgid "Options:"
msgstr "Аргументы:" msgstr "Аргументы:"
#: source/ubl-strings.h:2
msgid "Show this help" msgid "Show this help"
msgstr "Показать параметры справки" msgstr "Показать параметры справки"
#: source/ubl-strings.h:2
msgid "Show package version" msgid "Show package version"
msgstr "Показать текущую версию" msgstr "Показать текущую версию"
#: source/ubl-strings.h:2
msgid "Lock this help menu" msgid "Lock this help menu"
msgstr "Блокировка вызова справки" msgstr "Блокировка вызова справки"
#: source/ubl-strings.h:2
#, fuzzy
msgid "Lock configuration saving" msgid "Lock configuration saving"
msgstr "Блокировка сохранения локальной и глобальной конфигурации" msgstr "Блокировка сохранения локальной и глобальной конфигурации"
#: source/ubl-strings.h:2
msgid "Lock local configration saving" msgid "Lock local configration saving"
msgstr "Блокировка сохранения локальной конфигурации" msgstr "Блокировка сохранения локальной конфигурации"
#: source/ubl-strings.h:2
msgid "Lock global configration saving" msgid "Lock global configration saving"
msgstr "Блокировка сохранения глобальной конфигурации" msgstr "Блокировка сохранения глобальной конфигурации"
#: source/ubl-strings.h:2
msgid "Lock global configration loading" msgid "Lock global configration loading"
msgstr "Блокировка загрузки глобальной конфигурации" msgstr "Блокировка загрузки глобальной конфигурации"
#: source/ubl-strings.h:4 msgid "ubl-settings-diskquota Manager"
msgid "TEMPLATE Manager" msgstr "Настройки ubl-settings-diskquota"
msgstr "Настройки TEMPLATE"
#: source/ubl-strings.h:5 msgid "System ubl-settings-diskquota"
msgid "System TEMPLATE settings management" msgstr "Настройки ubl-settings-diskquota"
msgstr "Настройки TEMPLATE"
#: source/ubl-strings.h:7
msgid "Operation succeeded" msgid "Operation succeeded"
msgstr "Операция завершена" msgstr "Операция завершена"
#: source/ubl-strings.h:8
msgid "" msgid ""
"Warning! Application was launched without root - root-dependent actions are " "Warning! Application was launched without root - root-dependent actions are "
"locked" "locked"
msgstr "Внимание! Приложение было запущено без прав суперпользователя - действия, требующие их наличия заблокированы" msgstr "Внимание! Приложение было запущено без прав суперпользователя - действия, требующие их наличия заблокированы"
#: source/ubl-strings.h:11
msgid "Documentation" msgid "Documentation"
msgstr "Справка" msgstr "Справка"
#: source/ubl-strings.h:12
msgid "Save to local configuration" msgid "Save to local configuration"
msgstr "Сохранить в локальную конфигурацию" msgstr "Сохранить в локальную конфигурацию"
#: source/ubl-strings.h:13
msgid "Save to global configuration" msgid "Save to global configuration"
msgstr "Сохранить в глобальную конфигурацию" msgstr "Сохранить в глобальную конфигурацию"
#: source/ubl-strings.h:14
msgid "Save configuration" msgid "Save configuration"
msgstr "Сохранить конфигурацию" msgstr "Сохранить конфигурацию"
#: source/ubl-strings.h:24
msgid "Always redirect to online documentation" msgid "Always redirect to online documentation"
msgstr "Всегда перенаправлять" msgstr "Всегда перенаправлять"
#: source/ubl-strings.h:25
msgid "Open documentation" msgid "Open documentation"
msgstr "Прочитать справку" msgstr "Прочитать справку"
#: source/ubl-strings.h:27
msgid "Nothing were chosen" msgid "Nothing were chosen"
msgstr "Ничего не было выбрано" msgstr "Ничего не было выбрано"
#: source/ubl-strings.h:30
msgid "Global configuration loading succseeded." msgid "Global configuration loading succseeded."
msgstr "Успешно загружена глобальная конфигурация" msgstr "Успешно загружена глобальная конфигурация"
#: source/ubl-strings.h:31
msgid "Local configuration loading succseeded." msgid "Local configuration loading succseeded."
msgstr "Успешно загружена локальная конфигурация" msgstr "Успешно загружена локальная конфигурация"
#: source/ubl-strings.h:33
msgid "Local and global configuration saving succseeded." msgid "Local and global configuration saving succseeded."
msgstr "Успешно записаны локальная и глобальная конфигурация" msgstr "Успешно записаны локальная и глобальная конфигурация"
#: source/ubl-strings.h:34
msgid "Global configuration saving succseeded." msgid "Global configuration saving succseeded."
msgstr "Успешно записана глобальная конфигурация" msgstr "Успешно записана глобальная конфигурация"
#: source/ubl-strings.h:35
msgid "Local configuration saving succseeded." msgid "Local configuration saving succseeded."
msgstr "Успешно записана локальная конфигурация" msgstr "Успешно записана локальная конфигурация"
@ -188,53 +159,30 @@ msgstr "Всегда перенаправлять"
msgid "Read online" msgid "Read online"
msgstr "Прочитать онлайн" msgstr "Прочитать онлайн"
#: source/ubl-settings-quotas.cc:224 source/ubl-settings-quotas.cc:154
#: source/ubl-settings-quotas.cc:144
msgid "About" msgid "About"
msgstr "О программе" msgstr "О программе"
msgid "Projects" msgid "Projects"
msgstr "Проекты" msgstr "Проекты"
#: source/ubl-settings-quotas.cc:183 source/ubl-settings-quotas.cc:113
#: source/ubl-settings-quotas.cc:103 source/ubl-settings-quotas.cc:124
#: source/ubl-settings-quotas.cc:121 source/ubl-settings-quotas.cc:118
msgid "Configuration of disk quotas parameters for system groups and users" msgid "Configuration of disk quotas parameters for system groups and users"
msgstr "Настройка параметров дисковых квот для системных групп и пользователей" msgstr "Настройка параметров дисковых квот для системных групп и пользователей"
msgid "Configuring disk quota settings for system groups and users" msgid "Configuring disk quota settings for system groups and users"
msgstr "Настройка параметров дисковых квот для системных групп и пользователей системы" msgstr "Настройка параметров дисковых квот для системных групп и пользователей системы"
#: source/ubl-settings-quotas.cc:138 source/ubl-settings-quotas.cc:68
#: source/ubl-settings-quotas.cc:60 source/ubl-settings-quotas.cc:81
#: source/ubl-settings-quotas.cc:78 source/ubl-settings-quotas.cc:75
#: source/ubl-settings-quotas.cc:74
msgid "Copyright © UBSoft LLC, 2022 - " msgid "Copyright © UBSoft LLC, 2022 - "
msgstr "" msgstr ""
#: source/ubl-settings-quotas.cc:201 source/ubl-settings-quotas.cc:206
#: source/ubl-settings-quotas.cc:211 source/ubl-settings-quotas.cc:131
#: source/ubl-settings-quotas.cc:136 source/ubl-settings-quotas.cc:141
#: source/ubl-settings-quotas.cc:121 source/ubl-settings-quotas.cc:126
#: source/ubl-settings-quotas.cc:142 source/ubl-settings-quotas.cc:147
#: source/ubl-settings-quotas.cc:152 source/ubl-settings-quotas.cc:139
#: source/ubl-settings-quotas.cc:144 source/ubl-settings-quotas.cc:149
msgid "Currently using:" msgid "Currently using:"
msgstr "В настоящее время используется:" msgstr "В настоящее время используется:"
#: source/ubl-settings-quotas.cc:216 source/ubl-settings-quotas.cc:146
#: source/ubl-settings-quotas.cc:136 source/ubl-settings-quotas.cc:157
#: source/ubl-settings-quotas.cc:154
msgid "Currently using: " msgid "Currently using: "
msgstr "В настоящее время используется: " msgstr "В настоящее время используется: "
#: source/ubl-settings-quotas.cc:62 source/ubl-settings-quotas.cc:83
#: source/ubl-settings-quotas.cc:80 source/ubl-settings-quotas.cc:77
#: source/ubl-settings-quotas.cc:76
msgid "Date and Time" msgid "Date and Time"
msgstr "Дата и время" msgstr "Дата и время"
#: source/ubl-settings-quotas.cc:246 source/ubl-settings-quotas.cc:381
msgid "" msgid ""
"Deferring\n" "Deferring\n"
"a hard\n" "a hard\n"
@ -260,7 +208,6 @@ msgstr ""
"Отсрочка\n" "Отсрочка\n"
"(объём)" "(объём)"
#: source/ubl-settings-quotas.cc:239 source/ubl-settings-quotas.cc:374
msgid "" msgid ""
"Deferring\n" "Deferring\n"
"a hard\n" "a hard\n"
@ -272,28 +219,12 @@ msgstr ""
"ограничения\n" "ограничения\n"
"(объём)" "(объём)"
#: source/ubl-settings-quotas.cc:194
msgid "Deferring a hard limit (files)" msgid "Deferring a hard limit (files)"
msgstr "Отсрочка жесткого ограничения (файлы)" msgstr "Отсрочка жесткого ограничения (файлы)"
#: source/ubl-settings-quotas.cc:189
msgid "Deferring a hard limit (size)" msgid "Deferring a hard limit (size)"
msgstr "Отсрочка жесткого ограничения (объём)" msgstr "Отсрочка жесткого ограничения (объём)"
#: source/ubl-settings-quotas.cc:149 source/ubl-settings-quotas.cc:181
#: source/ubl-settings-quotas.cc:182 source/ubl-settings-quotas.cc:196
#: source/ubl-settings-quotas.cc:208 source/ubl-settings-quotas.cc:79
#: source/ubl-settings-quotas.cc:111 source/ubl-settings-quotas.cc:112
#: source/ubl-settings-quotas.cc:126 source/ubl-settings-quotas.cc:138
#: source/ubl-settings-quotas.cc:69 source/ubl-settings-quotas.cc:101
#: source/ubl-settings-quotas.cc:102 source/ubl-settings-quotas.cc:116
#: source/ubl-settings-quotas.cc:128 source/ubl-settings-quotas.cc:90
#: source/ubl-settings-quotas.cc:122 source/ubl-settings-quotas.cc:123
#: source/ubl-settings-quotas.cc:137 source/ubl-settings-quotas.cc:87
#: source/ubl-settings-quotas.cc:119 source/ubl-settings-quotas.cc:120
#: source/ubl-settings-quotas.cc:134 source/ubl-settings-quotas.cc:146
#: source/ubl-settings-quotas.cc:84 source/ubl-settings-quotas.cc:117
#: source/ubl-settings-quotas.cc:83
msgid "Device:" msgid "Device:"
msgstr "Устройство:" msgstr "Устройство:"
@ -339,87 +270,28 @@ msgstr "Статус"
msgid "Device\nProject" msgid "Device\nProject"
msgstr "Устройство\nПроект" msgstr "Устройство\nПроект"
#: source/ubl-settings-quotas.cc:197 source/ubl-settings-quotas.cc:207
#: source/ubl-settings-quotas.cc:127 source/ubl-settings-quotas.cc:137
#: source/ubl-settings-quotas.cc:117 source/ubl-settings-quotas.cc:138
#: source/ubl-settings-quotas.cc:148 source/ubl-settings-quotas.cc:135
#: source/ubl-settings-quotas.cc:145
msgid "Disk quotas for this device:" msgid "Disk quotas for this device:"
msgstr "Дисковые квоты для этого устройства:" msgstr "Дисковые квоты для этого устройства:"
#: source/ubl-settings-quotas.cc:152 source/ubl-settings-quotas.cc:153
#: source/ubl-settings-quotas.cc:82 source/ubl-settings-quotas.cc:83
#: source/ubl-settings-quotas.cc:72 source/ubl-settings-quotas.cc:73
#: source/ubl-settings-quotas.cc:93 source/ubl-settings-quotas.cc:94
#: source/ubl-settings-quotas.cc:90 source/ubl-settings-quotas.cc:91
#: source/ubl-settings-quotas.cc:87 source/ubl-settings-quotas.cc:88
#: source/ubl-settings-quotas.cc:86
msgid "Enable" msgid "Enable"
msgstr "Включить" msgstr "Включить"
#: source/ubl-settings-quotas.cc:597 source/ubl-settings-quotas.cc:510
#: source/ubl-settings-quotas.cc:444
#, fuzzy #, fuzzy
msgid "Error saved local and global configuration" msgid "Error saved local and global configuration"
msgstr "Сохранить глобальную и локальную конфигурацию" msgstr "Сохранить глобальную и локальную конфигурацию"
#: source/ubl-settings-quotas.cc:156 source/ubl-settings-quotas.cc:158
#: source/ubl-settings-quotas.cc:86 source/ubl-settings-quotas.cc:88
#: source/ubl-settings-quotas.cc:76 source/ubl-settings-quotas.cc:78
#: source/ubl-settings-quotas.cc:97 source/ubl-settings-quotas.cc:99
#: source/ubl-settings-quotas.cc:94 source/ubl-settings-quotas.cc:96
#: source/ubl-settings-quotas.cc:91 source/ubl-settings-quotas.cc:93
#: source/ubl-settings-quotas.cc:90 source/ubl-settings-quotas.cc:92
msgid "Excess files delay period" msgid "Excess files delay period"
msgstr "Превышение периода задержки файлов" msgstr "Превышение периода задержки файлов"
#: source/ubl-settings-quotas.cc:155 source/ubl-settings-quotas.cc:157
#: source/ubl-settings-quotas.cc:85 source/ubl-settings-quotas.cc:87
#: source/ubl-settings-quotas.cc:75 source/ubl-settings-quotas.cc:77
#: source/ubl-settings-quotas.cc:96 source/ubl-settings-quotas.cc:98
#: source/ubl-settings-quotas.cc:93 source/ubl-settings-quotas.cc:95
#: source/ubl-settings-quotas.cc:90 source/ubl-settings-quotas.cc:92
#: source/ubl-settings-quotas.cc:89 source/ubl-settings-quotas.cc:91
msgid "Excess size delay period" msgid "Excess size delay period"
msgstr "Период задержки превышения размера" msgstr "Период задержки превышения размера"
#: source/ubl-settings-quotas.cc:150 source/ubl-settings-quotas.cc:175
#: source/ubl-settings-quotas.cc:176 source/ubl-settings-quotas.cc:214
#: source/ubl-settings-quotas.cc:221 source/ubl-settings-quotas.cc:80
#: source/ubl-settings-quotas.cc:105 source/ubl-settings-quotas.cc:106
#: source/ubl-settings-quotas.cc:144 source/ubl-settings-quotas.cc:151
#: source/ubl-settings-quotas.cc:70 source/ubl-settings-quotas.cc:95
#: source/ubl-settings-quotas.cc:96 source/ubl-settings-quotas.cc:134
#: source/ubl-settings-quotas.cc:141 source/ubl-settings-quotas.cc:91
#: source/ubl-settings-quotas.cc:116 source/ubl-settings-quotas.cc:117
#: source/ubl-settings-quotas.cc:155 source/ubl-settings-quotas.cc:162
#: source/ubl-settings-quotas.cc:88 source/ubl-settings-quotas.cc:113
#: source/ubl-settings-quotas.cc:114 source/ubl-settings-quotas.cc:152
#: source/ubl-settings-quotas.cc:85 source/ubl-settings-quotas.cc:110
#: source/ubl-settings-quotas.cc:111 source/ubl-settings-quotas.cc:84
msgid "File system:" msgid "File system:"
msgstr "Файловая система:" msgstr "Файловая система:"
#: source/ubl-settings-quotas.cc:191 source/ubl-settings-quotas.cc:200
#: source/ubl-settings-quotas.cc:215 source/ubl-settings-quotas.cc:243
#: source/ubl-settings-quotas.cc:121 source/ubl-settings-quotas.cc:130
#: source/ubl-settings-quotas.cc:145 source/ubl-settings-quotas.cc:378
#: source/ubl-settings-quotas.cc:111 source/ubl-settings-quotas.cc:120
#: source/ubl-settings-quotas.cc:135 source/ubl-settings-quotas.cc:321
#: source/ubl-settings-quotas.cc:132 source/ubl-settings-quotas.cc:141
#: source/ubl-settings-quotas.cc:156 source/ubl-settings-quotas.cc:325
#: source/ubl-settings-quotas.cc:129 source/ubl-settings-quotas.cc:138
#: source/ubl-settings-quotas.cc:153 source/ubl-settings-quotas.cc:317
#: source/ubl-settings-quotas.cc:264 source/ubl-settings-quotas.cc:126
msgid "Files" msgid "Files"
msgstr "Файлы" msgstr "Файлы"
#: source/ubl-settings-quotas.cc:177 source/ubl-settings-quotas.cc:178
#: source/ubl-settings-quotas.cc:107 source/ubl-settings-quotas.cc:108
#: source/ubl-settings-quotas.cc:97 source/ubl-settings-quotas.cc:98
#: source/ubl-settings-quotas.cc:118 source/ubl-settings-quotas.cc:119
#: source/ubl-settings-quotas.cc:115 source/ubl-settings-quotas.cc:116
#: source/ubl-settings-quotas.cc:112 source/ubl-settings-quotas.cc:113
msgid "Filters" msgid "Filters"
msgstr "Фильтры" msgstr "Фильтры"
@ -452,64 +324,33 @@ msgstr ""
" --lock-save-global Блокировка сохранения глобальной конфигурации\n" " --lock-save-global Блокировка сохранения глобальной конфигурации\n"
" --lock-load-global Блокировка загрузки глобальной конфигурации\n" " --lock-load-global Блокировка загрузки глобальной конфигурации\n"
#: source/ubl-settings-quotas.cc:144 source/ubl-settings-quotas.cc:74
#: source/ubl-settings-quotas.cc:66 source/ubl-settings-quotas.cc:87
#: source/ubl-settings-quotas.cc:84 source/ubl-settings-quotas.cc:81
#: source/ubl-settings-quotas.cc:80
msgid "General settings" msgid "General settings"
msgstr "Общие настройки" msgstr "Общие настройки"
#: source/ubl-settings-quotas.cc:611 source/ubl-settings-quotas.cc:524
#: source/ubl-settings-quotas.cc:458
msgid "Global configuration downloaded successfully" msgid "Global configuration downloaded successfully"
msgstr "Успешно загружена глобальная конфигурация" msgstr "Успешно загружена глобальная конфигурация"
#: source/ubl-settings-quotas.cc:585 source/ubl-settings-quotas.cc:498
#: source/ubl-settings-quotas.cc:432
#, fuzzy #, fuzzy
msgid "Global configuration read error" msgid "Global configuration read error"
msgstr "Сохранить глобальную конфигурацию" msgstr "Сохранить глобальную конфигурацию"
#: source/ubl-settings-quotas.cc:617 source/ubl-settings-quotas.cc:530
#: source/ubl-settings-quotas.cc:464
msgid "Global configuration successfully written" msgid "Global configuration successfully written"
msgstr "Успешно записана глобальная конфигурация" msgstr "Успешно записана глобальная конфигурация"
#: source/ubl-settings-quotas.cc:593 source/ubl-settings-quotas.cc:506
#: source/ubl-settings-quotas.cc:440
#, fuzzy #, fuzzy
msgid "Global configuration write error" msgid "Global configuration write error"
msgstr "Сохранить глобальную конфигурацию" msgstr "Сохранить глобальную конфигурацию"
#: source/ubl-settings-quotas.cc:198 source/ubl-settings-quotas.cc:128
#: source/ubl-settings-quotas.cc:118 source/ubl-settings-quotas.cc:139
#: source/ubl-settings-quotas.cc:136
msgid "Group quotas for this device:" msgid "Group quotas for this device:"
msgstr "Групповые квоты для этого устройства:" msgstr "Групповые квоты для этого устройства:"
#: source/ubl-settings-quotas.cc:145 source/ubl-settings-quotas.cc:75
#: source/ubl-settings-quotas.cc:67 source/ubl-settings-quotas.cc:88
#: source/ubl-settings-quotas.cc:85 source/ubl-settings-quotas.cc:82
#: source/ubl-settings-quotas.cc:81
msgid "Groups" msgid "Groups"
msgstr "Группы" msgstr "Группы"
#: source/ubl-settings-quotas.cc:203 source/ubl-settings-quotas.cc:204
#: source/ubl-settings-quotas.cc:213 source/ubl-settings-quotas.cc:218
#: source/ubl-settings-quotas.cc:133 source/ubl-settings-quotas.cc:134
#: source/ubl-settings-quotas.cc:143 source/ubl-settings-quotas.cc:148
#: source/ubl-settings-quotas.cc:123 source/ubl-settings-quotas.cc:124
#: source/ubl-settings-quotas.cc:138 source/ubl-settings-quotas.cc:144
#: source/ubl-settings-quotas.cc:145 source/ubl-settings-quotas.cc:154
#: source/ubl-settings-quotas.cc:159 source/ubl-settings-quotas.cc:141
#: source/ubl-settings-quotas.cc:142 source/ubl-settings-quotas.cc:151
#: source/ubl-settings-quotas.cc:156
#, fuzzy #, fuzzy
msgid "Hard limit" msgid "Hard limit"
msgstr "Жесткий предел" msgstr "Жесткий предел"
#: source/ubl-settings-quotas.cc:320 source/ubl-settings-quotas.cc:324
#: source/ubl-settings-quotas.cc:316 source/ubl-settings-quotas.cc:263
#, fuzzy #, fuzzy
msgid "" msgid ""
"Hard limit\n" "Hard limit\n"
@ -519,8 +360,6 @@ msgstr ""
"Жесткий предел\n" "Жесткий предел\n"
"(размер)" "(размер)"
#: source/ubl-settings-quotas.cc:323 source/ubl-settings-quotas.cc:327
#: source/ubl-settings-quotas.cc:319 source/ubl-settings-quotas.cc:266
#, fuzzy #, fuzzy
msgid "" msgid ""
"Hard limit\n" "Hard limit\n"
@ -529,8 +368,6 @@ msgstr ""
"Жесткий лимит\n" "Жесткий лимит\n"
"(файлы)" "(файлы)"
#: source/ubl-settings-quotas.cc:325 source/ubl-settings-quotas.cc:329
#: source/ubl-settings-quotas.cc:321 source/ubl-settings-quotas.cc:268
#, fuzzy #, fuzzy
msgid "" msgid ""
"Hard limit\n" "Hard limit\n"
@ -540,8 +377,6 @@ msgstr ""
"Жесткий предел\n" "Жесткий предел\n"
"(размер)" "(размер)"
#: source/ubl-settings-quotas.cc:324 source/ubl-settings-quotas.cc:328
#: source/ubl-settings-quotas.cc:320 source/ubl-settings-quotas.cc:267
#, fuzzy #, fuzzy
msgid "" msgid ""
"Hard limit\n" "Hard limit\n"
@ -550,8 +385,6 @@ msgstr ""
"Жесткий лимит\n" "Жесткий лимит\n"
"(файлы)" "(файлы)"
#: source/ubl-settings-quotas.cc:318 source/ubl-settings-quotas.cc:322
#: source/ubl-settings-quotas.cc:314 source/ubl-settings-quotas.cc:261
#, fuzzy #, fuzzy
msgid "" msgid ""
"Hard limit\n" "Hard limit\n"
@ -560,8 +393,6 @@ msgstr ""
"Жесткий предел\n" "Жесткий предел\n"
"(размер) задержки" "(размер) задержки"
#: source/ubl-settings-quotas.cc:319 source/ubl-settings-quotas.cc:323
#: source/ubl-settings-quotas.cc:315 source/ubl-settings-quotas.cc:262
#, fuzzy #, fuzzy
msgid "" msgid ""
"Hard limit\n" "Hard limit\n"
@ -570,7 +401,6 @@ msgstr ""
"Жесткий предел\n" "Жесткий предел\n"
"(размер) задержки" "(размер) задержки"
#: source/ubl-settings-quotas.cc:247 source/ubl-settings-quotas.cc:382
#, fuzzy #, fuzzy
msgid "" msgid ""
"Hard limit\n" "Hard limit\n"
@ -581,7 +411,6 @@ msgstr ""
"жесткого лимита\n" "жесткого лимита\n"
"(файла)" "(файла)"
#: source/ubl-settings-quotas.cc:240 source/ubl-settings-quotas.cc:375
msgid "" msgid ""
"Hard limit\n" "Hard limit\n"
"activation\n" "activation\n"
@ -591,155 +420,86 @@ msgstr ""
"жесткого лимита\n" "жесткого лимита\n"
"(объём)" "(объём)"
#: source/ubl-settings-quotas.cc:195 source/ubl-settings-quotas.cc:125
#: source/ubl-settings-quotas.cc:115 source/ubl-settings-quotas.cc:136
#: source/ubl-settings-quotas.cc:133 source/ubl-settings-quotas.cc:130
msgid "Hard limit (file) activation time" msgid "Hard limit (file) activation time"
msgstr "Время активации жесткого лимита (файла)" msgstr "Время активации жесткого лимита (файла)"
#: source/ubl-settings-quotas.cc:123 source/ubl-settings-quotas.cc:113
#: source/ubl-settings-quotas.cc:134 source/ubl-settings-quotas.cc:131
#: source/ubl-settings-quotas.cc:128
msgid "Hard limit (files)" msgid "Hard limit (files)"
msgstr "Жесткий лимит (файлы)" msgstr "Жесткий лимит (файлы)"
#: source/ubl-settings-quotas.cc:124 source/ubl-settings-quotas.cc:114
#: source/ubl-settings-quotas.cc:135 source/ubl-settings-quotas.cc:132
#: source/ubl-settings-quotas.cc:129
msgid "Hard limit (files) delay" msgid "Hard limit (files) delay"
msgstr "Жесткий лимит (файлы)" msgstr "Жесткий лимит (файлы)"
#: source/ubl-settings-quotas.cc:188 source/ubl-settings-quotas.cc:118
#: source/ubl-settings-quotas.cc:108 source/ubl-settings-quotas.cc:129
#: source/ubl-settings-quotas.cc:126 source/ubl-settings-quotas.cc:123
msgid "Hard limit (size)" msgid "Hard limit (size)"
msgstr "Жесткий лимит (объём)" msgstr "Жесткий лимит (объём)"
#: source/ubl-settings-quotas.cc:120 source/ubl-settings-quotas.cc:110
#: source/ubl-settings-quotas.cc:131 source/ubl-settings-quotas.cc:128
#: source/ubl-settings-quotas.cc:125
msgid "Hard limit (size) activation time" msgid "Hard limit (size) activation time"
msgstr "Жесткий предел (размер)" msgstr "Жесткий предел (размер)"
#: source/ubl-settings-quotas.cc:119 source/ubl-settings-quotas.cc:109
#: source/ubl-settings-quotas.cc:130 source/ubl-settings-quotas.cc:127
#: source/ubl-settings-quotas.cc:124
msgid "Hard limit (size) delay" msgid "Hard limit (size) delay"
msgstr "Жесткий предел (размер) задержки" msgstr "Жесткий предел (размер) задержки"
#: source/ubl-settings-quotas.cc:190
msgid "Hard limit activation time (size)" msgid "Hard limit activation time (size)"
msgstr "Время активации жесткого ограничения (объём)" msgstr "Время активации жесткого ограничения (объём)"
#: source/ubl-settings-quotas.cc:225 source/ubl-settings-quotas.cc:155
#: source/ubl-settings-quotas.cc:145
msgid "Help" msgid "Help"
msgstr "Справка" msgstr "Справка"
#: source/ubl-settings-quotas.cc:179 source/ubl-settings-quotas.cc:109
#: source/ubl-settings-quotas.cc:99 source/ubl-settings-quotas.cc:120
#: source/ubl-settings-quotas.cc:117 source/ubl-settings-quotas.cc:114
msgid "Load" msgid "Load"
msgstr "Загрузить" msgstr "Загрузить"
#: source/ubl-settings-quotas.cc:222 source/ubl-settings-quotas.cc:152
#: source/ubl-settings-quotas.cc:142
msgid "Load global configuration" msgid "Load global configuration"
msgstr "Загрузить глобальную конфигурацию" msgstr "Загрузить глобальную конфигурацию"
#: source/ubl-settings-quotas.cc:223 source/ubl-settings-quotas.cc:153
#: source/ubl-settings-quotas.cc:143
msgid "Load local configuration" msgid "Load local configuration"
msgstr "Загрузить локальную конфигурацию" msgstr "Загрузить локальную конфигурацию"
#: source/ubl-settings-quotas.cc:608 source/ubl-settings-quotas.cc:521
#: source/ubl-settings-quotas.cc:455
msgid "Local configuration downloaded successfully" msgid "Local configuration downloaded successfully"
msgstr "Успешно загружена локальная конфигурация" msgstr "Успешно загружена локальная конфигурация"
#: source/ubl-settings-quotas.cc:581 source/ubl-settings-quotas.cc:494
#: source/ubl-settings-quotas.cc:428
#, fuzzy #, fuzzy
msgid "Local configuration reading error" msgid "Local configuration reading error"
msgstr "Загрузить локальную конфигурацию" msgstr "Загрузить локальную конфигурацию"
#: source/ubl-settings-quotas.cc:614 source/ubl-settings-quotas.cc:527
#: source/ubl-settings-quotas.cc:461
msgid "Local configuration successfully written" msgid "Local configuration successfully written"
msgstr "Успешно записана локальная конфигурация" msgstr "Успешно записана локальная конфигурация"
#: source/ubl-settings-quotas.cc:589 source/ubl-settings-quotas.cc:502
#: source/ubl-settings-quotas.cc:436
#, fuzzy #, fuzzy
msgid "Local configuration write error" msgid "Local configuration write error"
msgstr "Загрузить локальную конфигурацию" msgstr "Загрузить локальную конфигурацию"
#: source/ubl-settings-quotas.cc:184 source/ubl-settings-quotas.cc:234
#: source/ubl-settings-quotas.cc:114 source/ubl-settings-quotas.cc:369
#: source/ubl-settings-quotas.cc:104 source/ubl-settings-quotas.cc:314
#: source/ubl-settings-quotas.cc:125 source/ubl-settings-quotas.cc:318
#: source/ubl-settings-quotas.cc:122 source/ubl-settings-quotas.cc:310
#: source/ubl-settings-quotas.cc:119
msgid "Name" msgid "Name"
msgstr "Имя" msgstr "Имя"
#: source/ubl-settings-quotas.cc:623 source/ubl-settings-quotas.cc:536
#: source/ubl-settings-quotas.cc:470
msgid "Nothing to save!" msgid "Nothing to save!"
msgstr "Нечего сохранять!" msgstr "Нечего сохранять!"
#: source/ubl-settings-quotas.cc:143 source/ubl-settings-quotas.cc:73
#: source/ubl-settings-quotas.cc:65 source/ubl-settings-quotas.cc:86
#: source/ubl-settings-quotas.cc:83 source/ubl-settings-quotas.cc:80
#: source/ubl-settings-quotas.cc:79
msgid "Project Home Page" msgid "Project Home Page"
msgstr "Главная страница проекта" msgstr "Главная страница проекта"
#: source/ubl-settings-quotas.cc:185 source/ubl-settings-quotas.cc:235
#: source/ubl-settings-quotas.cc:115 source/ubl-settings-quotas.cc:370
#: source/ubl-settings-quotas.cc:105 source/ubl-settings-quotas.cc:315
#: source/ubl-settings-quotas.cc:126 source/ubl-settings-quotas.cc:319
#: source/ubl-settings-quotas.cc:123 source/ubl-settings-quotas.cc:311
#: source/ubl-settings-quotas.cc:258 source/ubl-settings-quotas.cc:120
msgid "Quotas" msgid "Quotas"
msgstr "Квоты" msgstr "Квоты"
#: source/ubl-settings-quotas.cc:151 source/ubl-settings-quotas.cc:81
#: source/ubl-settings-quotas.cc:71
msgid "Quotas for groups" msgid "Quotas for groups"
msgstr "Квоты для групп" msgstr "Квоты для групп"
#: source/ubl-settings-quotas.cc:154 source/ubl-settings-quotas.cc:84
#: source/ubl-settings-quotas.cc:74
msgid "Quotas for users" msgid "Quotas for users"
msgstr "Квоты для пользователей" msgstr "Квоты для пользователей"
#: source/ubl-settings-quotas.cc:180 source/ubl-settings-quotas.cc:110
#: source/ubl-settings-quotas.cc:100 source/ubl-settings-quotas.cc:121
#: source/ubl-settings-quotas.cc:118 source/ubl-settings-quotas.cc:115
msgid "Save" msgid "Save"
msgstr "Сохранить" msgstr "Сохранить"
#: source/ubl-settings-quotas.cc:226 source/ubl-settings-quotas.cc:156
#: source/ubl-settings-quotas.cc:146
msgid "Save in global and local configuration" msgid "Save in global and local configuration"
msgstr "Сохранить в глобальную и локальную конфигурацию" msgstr "Сохранить в глобальную и локальную конфигурацию"
#: source/ubl-settings-quotas.cc:227 source/ubl-settings-quotas.cc:157
#: source/ubl-settings-quotas.cc:147
msgid "Save in global configuration" msgid "Save in global configuration"
msgstr "Сохранить в глобальную конфигурацию" msgstr "Сохранить в глобальную конфигурацию"
#: source/ubl-settings-quotas.cc:228 source/ubl-settings-quotas.cc:158
#: source/ubl-settings-quotas.cc:148
msgid "Save in local configuration" msgid "Save in local configuration"
msgstr "Сохранить в локальную конфигурацию" msgstr "Сохранить в локальную конфигурацию"
#: source/ubl-settings-quotas.cc:140 source/ubl-settings-quotas.cc:70
msgid "Setting user quotas" msgid "Setting user quotas"
msgstr "Настройка квот пользователей" msgstr "Настройка квот пользователей"
#: source/ubl-settings-quotas.cc:245 source/ubl-settings-quotas.cc:380
msgid "" msgid ""
"Severe\n" "Severe\n"
"limitation\n" "limitation\n"
@ -749,7 +509,6 @@ msgstr ""
"лимит\n" "лимит\n"
"(файлы)" "(файлы)"
#: source/ubl-settings-quotas.cc:238 source/ubl-settings-quotas.cc:373
msgid "" msgid ""
"Severe\n" "Severe\n"
"limitation\n" "limitation\n"
@ -759,25 +518,12 @@ msgstr ""
"лимит\n" "лимит\n"
"(объём)" "(объём)"
#: source/ubl-settings-quotas.cc:193
msgid "Severe limitation (files)" msgid "Severe limitation (files)"
msgstr "Жесткое лимит (файлы)" msgstr "Жесткое лимит (файлы)"
#: source/ubl-settings-quotas.cc:186 source/ubl-settings-quotas.cc:199
#: source/ubl-settings-quotas.cc:210 source/ubl-settings-quotas.cc:236
#: source/ubl-settings-quotas.cc:116 source/ubl-settings-quotas.cc:129
#: source/ubl-settings-quotas.cc:140 source/ubl-settings-quotas.cc:371
#: source/ubl-settings-quotas.cc:106 source/ubl-settings-quotas.cc:119
#: source/ubl-settings-quotas.cc:130 source/ubl-settings-quotas.cc:316
#: source/ubl-settings-quotas.cc:127 source/ubl-settings-quotas.cc:151
#: source/ubl-settings-quotas.cc:320 source/ubl-settings-quotas.cc:124
#: source/ubl-settings-quotas.cc:137 source/ubl-settings-quotas.cc:148
#: source/ubl-settings-quotas.cc:312 source/ubl-settings-quotas.cc:259
#: source/ubl-settings-quotas.cc:121
msgid "Size" msgid "Size"
msgstr "Объём" msgstr "Объём"
#: source/ubl-settings-quotas.cc:244 source/ubl-settings-quotas.cc:379
msgid "" msgid ""
"Soft\n" "Soft\n"
"Restriction\n" "Restriction\n"
@ -787,25 +533,13 @@ msgstr ""
"лимит\n" "лимит\n"
"(файлы)" "(файлы)"
#: source/ubl-settings-quotas.cc:192
msgid "Soft Restriction (files)" msgid "Soft Restriction (files)"
msgstr "Мягкое лимит (файлы)" msgstr "Мягкое лимит (файлы)"
#: source/ubl-settings-quotas.cc:202 source/ubl-settings-quotas.cc:205
#: source/ubl-settings-quotas.cc:212 source/ubl-settings-quotas.cc:217
#: source/ubl-settings-quotas.cc:132 source/ubl-settings-quotas.cc:135
#: source/ubl-settings-quotas.cc:142 source/ubl-settings-quotas.cc:147
#: source/ubl-settings-quotas.cc:122 source/ubl-settings-quotas.cc:125
#: source/ubl-settings-quotas.cc:137 source/ubl-settings-quotas.cc:143
#: source/ubl-settings-quotas.cc:146 source/ubl-settings-quotas.cc:153
#: source/ubl-settings-quotas.cc:158 source/ubl-settings-quotas.cc:140
#: source/ubl-settings-quotas.cc:150 source/ubl-settings-quotas.cc:155
#, fuzzy #, fuzzy
msgid "Soft limit" msgid "Soft limit"
msgstr "Мягкий лимит" msgstr "Мягкий лимит"
#: source/ubl-settings-quotas.cc:322 source/ubl-settings-quotas.cc:326
#: source/ubl-settings-quotas.cc:318 source/ubl-settings-quotas.cc:265
#, fuzzy #, fuzzy
msgid "" msgid ""
"Soft limit\n" "Soft limit\n"
@ -815,9 +549,6 @@ msgstr ""
"лимит\n" "лимит\n"
"(файлы)" "(файлы)"
#: source/ubl-settings-quotas.cc:237 source/ubl-settings-quotas.cc:372
#: source/ubl-settings-quotas.cc:317 source/ubl-settings-quotas.cc:321
#: source/ubl-settings-quotas.cc:313 source/ubl-settings-quotas.cc:260
#, fuzzy #, fuzzy
msgid "" msgid ""
"Soft limit\n" "Soft limit\n"
@ -833,147 +564,60 @@ msgstr ""
"Мягкий лимит\n" "Мягкий лимит\n"
"(файлы)" "(файлы)"
#: source/ubl-settings-quotas.cc:122 source/ubl-settings-quotas.cc:112
#: source/ubl-settings-quotas.cc:133 source/ubl-settings-quotas.cc:130
#: source/ubl-settings-quotas.cc:127
msgid "Soft limit (files)" msgid "Soft limit (files)"
msgstr "" msgstr ""
"Мягкий лимит\n" "Мягкий лимит\n"
"(файлы)" "(файлы)"
#: source/ubl-settings-quotas.cc:187 source/ubl-settings-quotas.cc:117
#: source/ubl-settings-quotas.cc:107 source/ubl-settings-quotas.cc:128
#: source/ubl-settings-quotas.cc:125 source/ubl-settings-quotas.cc:122
msgid "Soft limit (size)" msgid "Soft limit (size)"
msgstr "Мягкий лимит (объём)" msgstr "Мягкий лимит (объём)"
#: source/ubl-settings-quotas.cc:620 source/ubl-settings-quotas.cc:533
#: source/ubl-settings-quotas.cc:467
#, fuzzy #, fuzzy
msgid "Successfully saved local and global configuration" msgid "Successfully saved local and global configuration"
msgstr "Сохранить глобальную и локальную конфигурацию" msgstr "Сохранить глобальную и локальную конфигурацию"
#: source/ubl-settings-quotas.cc:59 source/ubl-settings-quotas.cc:55
#: source/ubl-settings-quotas.cc:47 source/ubl-settings-quotas.cc:68
#: source/ubl-settings-quotas.cc:70 source/ubl-settings-quotas.cc:67
#: source/ubl-settings-quotas.cc:66
msgid "The program must be run as root" msgid "The program must be run as root"
msgstr "Программа должна быть запущена от имени root" msgstr "Программа должна быть запущена от имени root"
#: source/ubl-settings-quotas.cc:209 source/ubl-settings-quotas.cc:139
#: source/ubl-settings-quotas.cc:129 source/ubl-settings-quotas.cc:150
#: source/ubl-settings-quotas.cc:147
msgid "User quotas for this device: " msgid "User quotas for this device: "
msgstr "Квоты пользователей для этого устройства: " msgstr "Квоты пользователей для этого устройства: "
#: source/ubl-settings-quotas.cc:148 source/ubl-settings-quotas.cc:78
#: source/ubl-settings-quotas.cc:68 source/ubl-settings-quotas.cc:89
#: source/ubl-settings-quotas.cc:86 source/ubl-settings-quotas.cc:83
#: source/ubl-settings-quotas.cc:82
msgid "Users" msgid "Users"
msgstr "Пользователи" msgstr "Пользователи"
#: source/ubl-settings-quotas.cc:163 source/ubl-settings-quotas.cc:164
#: source/ubl-settings-quotas.cc:165 source/ubl-settings-quotas.cc:166
#: source/ubl-settings-quotas.cc:93 source/ubl-settings-quotas.cc:94
#: source/ubl-settings-quotas.cc:95 source/ubl-settings-quotas.cc:96
#: source/ubl-settings-quotas.cc:83 source/ubl-settings-quotas.cc:84
#: source/ubl-settings-quotas.cc:85 source/ubl-settings-quotas.cc:86
#: source/ubl-settings-quotas.cc:104 source/ubl-settings-quotas.cc:105
#: source/ubl-settings-quotas.cc:106 source/ubl-settings-quotas.cc:107
#: source/ubl-settings-quotas.cc:101 source/ubl-settings-quotas.cc:102
#: source/ubl-settings-quotas.cc:103 source/ubl-settings-quotas.cc:98
#: source/ubl-settings-quotas.cc:99 source/ubl-settings-quotas.cc:100
#: source/ubl-settings-quotas.cc:97
msgid "days" msgid "days"
msgstr "дни" msgstr "дни"
#: source/ubl-settings-quotas.cc:219 source/ubl-settings-quotas.cc:220
#: source/ubl-settings-quotas.cc:149 source/ubl-settings-quotas.cc:150
#: source/ubl-settings-quotas.cc:139 source/ubl-settings-quotas.cc:140
#: source/ubl-settings-quotas.cc:160 source/ubl-settings-quotas.cc:161
#: source/ubl-settings-quotas.cc:157 source/ubl-settings-quotas.cc:158
#, fuzzy
msgid "files" msgid "files"
msgstr "Файлы" msgstr "Файлы"
#: source/ubl-settings-quotas.cc:167 source/ubl-settings-quotas.cc:168
#: source/ubl-settings-quotas.cc:169 source/ubl-settings-quotas.cc:170
#: source/ubl-settings-quotas.cc:97 source/ubl-settings-quotas.cc:98
#: source/ubl-settings-quotas.cc:99 source/ubl-settings-quotas.cc:100
#: source/ubl-settings-quotas.cc:87 source/ubl-settings-quotas.cc:88
#: source/ubl-settings-quotas.cc:89 source/ubl-settings-quotas.cc:90
#: source/ubl-settings-quotas.cc:108 source/ubl-settings-quotas.cc:109
#: source/ubl-settings-quotas.cc:110 source/ubl-settings-quotas.cc:111
#: source/ubl-settings-quotas.cc:105 source/ubl-settings-quotas.cc:106
#: source/ubl-settings-quotas.cc:107 source/ubl-settings-quotas.cc:102
#: source/ubl-settings-quotas.cc:103 source/ubl-settings-quotas.cc:104
#: source/ubl-settings-quotas.cc:101
msgid "hours" msgid "hours"
msgstr "часы" msgstr "часы"
#: source/ubl-settings-quotas.cc:141 source/ubl-settings-quotas.cc:71
#: source/ubl-settings-quotas.cc:63 source/ubl-settings-quotas.cc:84
#: source/ubl-settings-quotas.cc:81 source/ubl-settings-quotas.cc:78
#: source/ubl-settings-quotas.cc:77
msgid "https://wiki.ublinux.com" msgid "https://wiki.ublinux.com"
msgstr "https://wiki.ublinux.ru" msgstr "https://wiki.ublinux.ru"
#: source/ubl-settings-quotas.cc:548 source/ubl-settings-quotas.cc:461
msgid "" msgid ""
"https://wiki.ublinux.com/ru/Программное_обеспечениерограммы_и_утилиты/Все/" "https://wiki.ublinux.com/ru/Программное_обеспечениерограммы_и_утилиты/Все/"
msgstr "" msgstr ""
#: source/ubl-settings-quotas.cc:171 source/ubl-settings-quotas.cc:172
#: source/ubl-settings-quotas.cc:173 source/ubl-settings-quotas.cc:174
#: source/ubl-settings-quotas.cc:101 source/ubl-settings-quotas.cc:102
#: source/ubl-settings-quotas.cc:103 source/ubl-settings-quotas.cc:104
#: source/ubl-settings-quotas.cc:91 source/ubl-settings-quotas.cc:92
#: source/ubl-settings-quotas.cc:93 source/ubl-settings-quotas.cc:94
#: source/ubl-settings-quotas.cc:112 source/ubl-settings-quotas.cc:113
#: source/ubl-settings-quotas.cc:114 source/ubl-settings-quotas.cc:115
#: source/ubl-settings-quotas.cc:109 source/ubl-settings-quotas.cc:110
#: source/ubl-settings-quotas.cc:111 source/ubl-settings-quotas.cc:106
#: source/ubl-settings-quotas.cc:107 source/ubl-settings-quotas.cc:108
#: source/ubl-settings-quotas.cc:105
msgid "minutes" msgid "minutes"
msgstr "минуты" msgstr "минуты"
#: source/ubl-settings-quotas.cc:257
msgid "name" msgid "name"
msgstr "имя" msgstr "имя"
#: source/ubl-settings-quotas.cc:92 source/ubl-settings-quotas.cc:89
#: source/ubl-settings-quotas.cc:86 source/ubl-settings-quotas.cc:85
#, fuzzy #, fuzzy
msgid "quotas for groups" msgid "quotas for groups"
msgstr "Квоты для групп" msgstr "Квоты для групп"
#: source/ubl-settings-quotas.cc:95 source/ubl-settings-quotas.cc:92
#: source/ubl-settings-quotas.cc:89 source/ubl-settings-quotas.cc:88
#, fuzzy #, fuzzy
msgid "quotas for users" msgid "quotas for users"
msgstr "Квоты для пользователей" msgstr "Квоты для пользователей"
#: source/ubl-settings-quotas.cc:629 source/ubl-settings-quotas.cc:542
#: source/ubl-settings-quotas.cc:476 source/ubl-settings-quotas.cc:350
#: source/ubl-settings-quotas.cc:371 source/ubl-settings-quotas.cc:318
#: source/ubl-settings-quotas.cc:267 source/ubl-settings-quotas.cc:213
msgid "ubl-settings-quotas version: " msgid "ubl-settings-quotas version: "
msgstr "ubl-settings-quotas версия: " msgstr "ubl-settings-quotas версия: "
#: source/ubl-settings-quotas.cc:159 source/ubl-settings-quotas.cc:160
#: source/ubl-settings-quotas.cc:161 source/ubl-settings-quotas.cc:162
#: source/ubl-settings-quotas.cc:89 source/ubl-settings-quotas.cc:90
#: source/ubl-settings-quotas.cc:91 source/ubl-settings-quotas.cc:92
#: source/ubl-settings-quotas.cc:79 source/ubl-settings-quotas.cc:80
#: source/ubl-settings-quotas.cc:81 source/ubl-settings-quotas.cc:82
#: source/ubl-settings-quotas.cc:100 source/ubl-settings-quotas.cc:101
#: source/ubl-settings-quotas.cc:102 source/ubl-settings-quotas.cc:103
#: source/ubl-settings-quotas.cc:97 source/ubl-settings-quotas.cc:98
#: source/ubl-settings-quotas.cc:99 source/ubl-settings-quotas.cc:94
#: source/ubl-settings-quotas.cc:95 source/ubl-settings-quotas.cc:96
#: source/ubl-settings-quotas.cc:93
msgid "weeks" msgid "weeks"
msgstr "недели" msgstr "недели"
@ -989,9 +633,8 @@ msgstr "Квоты"
msgid "General statistics" msgid "General statistics"
msgstr "Общая статистика" msgstr "Общая статистика"
#~ msgid "Severe limitation (size)" msgid "Severe limitation (size)"
#~ msgstr "Жесткое лимит (объём)" msgstr "Жесткое лимит (объём)"
#, fuzzy msgid "Hard limit activation time (files)"
#~ msgid "Hard limit activation time (files)" msgstr "Время активации жесткого граничения (файла)"
#~ msgstr "Время активации жесткого граничения (файла)"

Loading…
Cancel
Save