From e316e23369a5894cd180311c2fc5ff2bf7915a2c Mon Sep 17 00:00:00 2001 From: Igor Belitskiy Date: Fri, 5 May 2023 09:52:19 +0600 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D1=8B=20=D0=B1=D0=BB=D0=BE=D0=BA=D0=B8=D1=80=D0=BE=D0=B2?= =?UTF-8?q?=D0=BA=D0=B8,=20=D0=B8=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=20Help=20=D0=B1=D0=BB=D0=BE=D0=BA=D0=B8=D1=80?= =?UTF-8?q?=D0=BE=D0=B2=D0=BE=D0=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- source/main.cc | 22 +++++++++++++++++++-- source/ubl-settings-diskquota.cc | 30 ++++++++++++++++++++++++++++- source/ubl-settings-diskquota.h | 20 +++++++++++++++++-- ubl-settings-diskquota.glade | 7 +++++++ ubl-settings-diskquota_ru.po | 33 ++++++++++++++++++++++++-------- 5 files changed, 99 insertions(+), 13 deletions(-) diff --git a/source/main.cc b/source/main.cc index 319c259..85d79f4 100644 --- a/source/main.cc +++ b/source/main.cc @@ -61,15 +61,33 @@ void pars_flag(int index_start, int argc, char* argv[]) { exit(1); } else if (str_argv == "--version" || str_argv == "-v"){ - string version = string(_("ubl-settings-diskquota version: ")) + version_application + "\n"; + string version = string(str_version) + version_application + "\n"; cout << version.c_str(); exit(1); } + else if (str_argv == "--lock-help") { + flag_lock_help = true; + } + else if (str_argv == "--lock-save") { + flag_save = true; + flag_save_local = true; + flag_save_global = true; + } + else if (str_argv == "--lock-save-local"){ + flag_save_local = true; + } + else if (str_argv == "--lock-save-global"){ + flag_save_global = true; + } + else if (str_argv == "--lock-load-global"){ + flag_load_global = true; + } else{ if (index_start == 1){ - cout << (_("Argument not recognized\n")) << endl; + g_print(no_recognized); } } + } } \ No newline at end of file diff --git a/source/ubl-settings-diskquota.cc b/source/ubl-settings-diskquota.cc index 247e3e3..5611faf 100755 --- a/source/ubl-settings-diskquota.cc +++ b/source/ubl-settings-diskquota.cc @@ -3,7 +3,11 @@ using namespace std; int socket_ext_id_I = 0; int socket_trd_id_I = 0; - +bool flag_save = false; +bool flag_save_local = false; +bool flag_save_global = false; +bool flag_load_global = false; +bool flag_lock_help = false; string version_application = "1.0"; MainWindow::MainWindow(BaseObjectType* obj, Glib::RefPtr const& builder) @@ -21,6 +25,7 @@ void MainWindow::settings() { this->get_builder(); this->lacalization(); this->add_CSS(); + this->flag_block_gui(); btnBoxAboutDialog->set_visible(false); map_device = obj_device.get_parted(); this->filling_device_combo_box_template(groupsDeviceCombo, map_device); @@ -271,6 +276,29 @@ void MainWindow::filling_device_combo_box_template(Gtk::ComboBoxText *combo_box, } } +void MainWindow::flag_block_gui() { + if (flag_load_global == true) { + btnLoadGlob->set_sensitive(false); + } + if (flag_save_local == true && flag_save_global == true) { + btnSave->set_sensitive(false); + } + if (flag_save == true) { + btnSave->set_sensitive(false); + } + if (flag_save_local == true) { + btnSaveLocal->set_sensitive(false); + btnSaveLocalGlob->set_sensitive(false); + } + if (flag_save_global == true) { + btnSaveGlob->set_sensitive(false); + btnSaveLocalGlob->set_sensitive(false); + } + if (flag_lock_help == true) { + btnSynopsis->set_sensitive(false); + } +} + void MainWindow::entry_combo_box_temp(Gtk::ComboBoxText *combo_box, Gtk::Label *label) { string text = combo_box->get_active_text(); if (map_device.find(text) != map_device.end()){ diff --git a/source/ubl-settings-diskquota.h b/source/ubl-settings-diskquota.h index cdf0af6..56075e0 100644 --- a/source/ubl-settings-diskquota.h +++ b/source/ubl-settings-diskquota.h @@ -81,7 +81,17 @@ #define str_filters _("Filters") #define str_projects _("Projects") #define str_quotas _("Quotas") -#define str_help_h _("GTK settings quotas. for UBLinux\n\n""Usage: ubl-settings-diskquota [OPTIONS...]\n""Options:\n"" -h, --help Show this help\n"" -V, --version Show package version\n") +#define str_help_h _("GTK settings diskquota for UBLinux\n" \ + "\n" \ + "Usage: ubl-settings-diskquota [OPTIONS...]\n" \ + "Options:\n" \ + " -h, --help\t Show this help\n" \ + " -V, --version\t Show package version\n" \ + " --lock-help Lock utility help\n" \ + " --lock-save Lock saving local and global configuration\n" \ + " --lock-save-local Lock save global configuration\n" \ + " --lock-save-global Lock load global configuration\n" \ + " --lock-load-global Lock load global configuration\n") #define str_version _("ubl-settings-diskquota version: ") #define str_user _("User") #define str_group _("Group") @@ -125,11 +135,16 @@ #define app_name "ubl-settings-diskquota" #define path_resources "/usr/share/ubl-settings-diskquota" #define path_img_head_background "/usr/share/ubl-settings-diskquota/images/logo-background.png" +#define no_recognized _("Argument not recognized\n") using namespace std; extern string version_application; - +extern bool flag_save; +extern bool flag_save_local; +extern bool flag_save_global; +extern bool flag_load_global; +extern bool flag_lock_help; extern int socket_ext_id_I; extern int socket_trd_id_I; class MainWindow : public Gtk::ApplicationWindow { @@ -355,6 +370,7 @@ class MainWindow : public Gtk::ApplicationWindow { MainWindow(Glib::RefPtr const& builder); ~MainWindow(); void settings(); + void flag_block_gui(); void lacalization(); void add_CSS(); void get_builder(); diff --git a/ubl-settings-diskquota.glade b/ubl-settings-diskquota.glade index ebd182e..c5aa5b7 100644 --- a/ubl-settings-diskquota.glade +++ b/ubl-settings-diskquota.glade @@ -549,6 +549,13 @@ + + + True + False + True + + True diff --git a/ubl-settings-diskquota_ru.po b/ubl-settings-diskquota_ru.po index 1c974ee..4c97fb2 100644 --- a/ubl-settings-diskquota_ru.po +++ b/ubl-settings-diskquota_ru.po @@ -228,19 +228,30 @@ msgid "Filters" msgstr "Фильтры" msgid "" -"GTK settings quotas. for UBLinux\n" -"\n" -"Usage: ubl-settings-quotas [OPTIONS...]\n" -"Options:\n" -" -h, --help\t Show this help\n" -" -V, --version\t Show package version\n" +"GTK settings diskquota for UBLinux\n" +"\n" +"Usage: ubl-settings-diskquota [OPTIONS...]\n" +"Options:\n" +" -h, --help\t Show this help\n" +" -V, --version\t Show package version\n" +" --lock-help Lock utility help\n" +" --lock-save Lock saving local and global configuration\n" +" --lock-save-local Lock save global configuration\n" +" --lock-save-global Lock load global configuration\n" +" --lock-load-global Lock load global configuration\n" msgstr "" -"GTK-утилита настройки квот для UBLinux\n" +"GTK утилита настройки дисковых для UBLinux\n" "\n" -"Использование: ubl-settings-quotas [Параметры приложения...]\n" +"Использование: ubl-settings-diskquota [Параметры приложения...]\n" "Параметры приложения:\n" " -h, --help\t Показать параметры справки\n" " -V, --version\t Показать версию пакета\n" +" --lock-help Блокировка вызова справки\n" +" --lock-save Блокировка сохранения локальной и глобальной " +"конфигурации\n" +" --lock-save-local Блокировка сохранения локальной конфигурации\n" +" --lock-save-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 @@ -762,6 +773,12 @@ msgstr "ubl-settings-quotas версия: " msgid "weeks" msgstr "недели" +msgid "Argument not recognized\n" +msgstr "Аргумент не распознан\n" + +msgid "ubl-settings-diskquota version: " +msgstr "ubl-settings-diskquota версия: " + msgid "ubl-settings-quotas" msgstr "Квоты"