From 100658ed6698cd692bb8429433637c60e828ec5c Mon Sep 17 00:00:00 2001 From: Igor Belitskiy Date: Fri, 12 May 2023 14:21:14 +0600 Subject: [PATCH 1/9] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=B8?= =?UTF-8?q?=D0=BB=20=D1=81=D1=81=D1=8B=D0=BB=D0=BA=D1=83=20=D0=B2=20=D0=BE?= =?UTF-8?q?=D0=BA=D0=BD=D0=B5=20"=D0=9E=20=D0=BF=D1=80=D0=BE=D0=B3=D1=80?= =?UTF-8?q?=D0=B0=D0=BC=D0=BC=D0=B5"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- source/ubl-settings-bootloader.cc | 9 +++++++++ source/ubl-settings-bootloader.h | 1 + 2 files changed, 10 insertions(+) diff --git a/source/ubl-settings-bootloader.cc b/source/ubl-settings-bootloader.cc index a486a47..3d0109d 100755 --- a/source/ubl-settings-bootloader.cc +++ b/source/ubl-settings-bootloader.cc @@ -11,6 +11,12 @@ bool flag_load_global = false; bool flag_lock_help = false; string version_application = "1.0"; +MainWindow* obj_main; +void wrapper_synopsis_show() { + obj_main->aboutWindows->hide(); + obj_main->synopsis_show(); +} + CmdArgParser::CmdArgParser(const string& p_name, const string& p_description, const string& p_help) : Glib::OptionGroup{p_name, p_description, p_help} { Glib::OptionEntry socketIDArg; @@ -62,6 +68,7 @@ MainWindow::MainWindow(Glib::RefPtr const& builder) { } void MainWindow::settings() { + obj_main = this; map_cmd_error[""] = ""; vec_param_names.push_back("GRUB_TIMEOUT"); vec_param_names.push_back("GRUB_CMDLINE_LINUX"); @@ -592,6 +599,7 @@ void MainWindow::cmd_entry_all(Gtk::Entry &entry, string cmd_settings, string cm } void MainWindow::event() { + g_signal_connect(G_OBJECT(aboutWindows->gobj()), "activate-link", G_CALLBACK(wrapper_synopsis_show), this); btnRemoveUser->signal_clicked().connect([&]() {remove_user();}); btnRemoveMusic->signal_clicked().connect([&]() {remove_melody();}); btnAddUser->signal_clicked().connect([&]() {string name = "", passwd = ""; @@ -1155,6 +1163,7 @@ void MainWindow::open_browser() { #else this->template_open_browser(); #endif + wndShowWeb->hide(); } void MainWindow::template_open_browser() { diff --git a/source/ubl-settings-bootloader.h b/source/ubl-settings-bootloader.h index 36ece7a..f18bf07 100644 --- a/source/ubl-settings-bootloader.h +++ b/source/ubl-settings-bootloader.h @@ -409,3 +409,4 @@ private: }; void help(); +void wrapper_synopsis_show(); From d22d30b2d238f24df094b0db7af440ebfb4e0be9 Mon Sep 17 00:00:00 2001 From: Igor Belitskiy Date: Fri, 12 May 2023 14:34:30 +0600 Subject: [PATCH 2/9] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D0=B0=20=D0=BA=D0=BE=D0=BD=D1=84=D0=B8=D0=B3=D1=83?= =?UTF-8?q?=D1=80=D0=B0=D1=86=D0=B8=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- source/ubl-settings-bootloader.h | 2 +- ubl-settings-bootloader.pot | 2 +- ubl-settings-bootloader_ru.po | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/source/ubl-settings-bootloader.h b/source/ubl-settings-bootloader.h index f18bf07..e0d85b3 100644 --- a/source/ubl-settings-bootloader.h +++ b/source/ubl-settings-bootloader.h @@ -104,7 +104,7 @@ void me_thread(string cmd); #define str_title_Boot_Menu_Users _("Boot Menu Users") #define str_title_Ringtone_Startup _("Ringtone at startup") #define str_null_melody_name _("Enter the name and code of the tune in the \"Ringtone at startup\" field") -#define str_null_username _("Enter name and password code in the \"Boot Menu Users\" field") +#define str_null_username _("Enter name and password in the \"Boot Menu Users\" field") #define str_help_h _("GTK settings bootloader for UBLinux\n" \ "\n" \ "Usage: ubl-settings-bootloader [OPTIONS...]\n" \ diff --git a/ubl-settings-bootloader.pot b/ubl-settings-bootloader.pot index 72699a2..8b7d4d4 100644 --- a/ubl-settings-bootloader.pot +++ b/ubl-settings-bootloader.pot @@ -21,7 +21,7 @@ msgstr "" msgid "Enter the name and code of the tune in the \"Ringtone at startup\" field" msgstr "" -msgid "Enter name and password code in the \"Boot Menu Users\" field" +msgid "Enter name and password in the \"Boot Menu Users\" field" msgstr "" msgid "Boot Menu Users" diff --git a/ubl-settings-bootloader_ru.po b/ubl-settings-bootloader_ru.po index 5028f71..8431291 100644 --- a/ubl-settings-bootloader_ru.po +++ b/ubl-settings-bootloader_ru.po @@ -361,8 +361,8 @@ msgstr "Пользователь" msgid "Enter the name and code of the tune in the \"Ringtone at startup\" field" msgstr "Введите название и код мелодии в поле \"Мелодия при загрузке\"" -msgid "Enter name and password code in the \"Boot Menu Users\" field" -msgstr "Введите имя и код пароль в поле \"Пользователи меню загрузчика\"" +msgid "Enter name and password in the \"Boot Menu Users\" field" +msgstr "Введите имя и пароль в поле \"Пользователи меню загрузчика\"" msgid "Password" msgstr "Пароль" From 880b2fc2f397ed1c162d016a18232288f92d7a51 Mon Sep 17 00:00:00 2001 From: Igor Belitskiy Date: Fri, 12 May 2023 14:52:27 +0600 Subject: [PATCH 3/9] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=B8?= =?UTF-8?q?=D0=BB=20=D1=82=D0=B5=D0=BD=D1=8C=20=D0=B2=20=D0=B7=D0=B0=D0=B3?= =?UTF-8?q?=D0=BE=D0=BB=D0=BE=D0=B2=D0=BA=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- source/ubl-settings-bootloader.cc | 2 -- ubl-settings-bootloader.css | 3 --- ubl-settings-bootloader.glade | 7 +++++-- 3 files changed, 5 insertions(+), 7 deletions(-) diff --git a/source/ubl-settings-bootloader.cc b/source/ubl-settings-bootloader.cc index 3d0109d..82952d1 100755 --- a/source/ubl-settings-bootloader.cc +++ b/source/ubl-settings-bootloader.cc @@ -1249,7 +1249,6 @@ void MainWindow::add_CSS() { Glib::RefPtr styleContext = Gtk::StyleContext::create(); Glib::RefPtr screen = Gdk::Screen::get_default();//get default screen styleContext->add_provider_for_screen(screen, cssProvider, GTK_STYLE_PROVIDER_PRIORITY_APPLICATION);//add provider for screen in all application - Glib::RefPtr lblInfoHead_css = lblInfoHead->get_style_context(); Glib::RefPtr boxButton_css = boxButton->get_style_context(); Glib::RefPtr boxSave_css = boxSave->get_style_context(); boxInfo = boxInfoError->get_style_context(); @@ -1258,7 +1257,6 @@ void MainWindow::add_CSS() { boxButton_css->add_class("bkim_no_plug"); boxSave_css->add_class("bkim_no_plug"); } - lblInfoHead_css->add_class("textHead"); } void help() { diff --git a/ubl-settings-bootloader.css b/ubl-settings-bootloader.css index ee3ba98..34c1572 100644 --- a/ubl-settings-bootloader.css +++ b/ubl-settings-bootloader.css @@ -11,9 +11,6 @@ .bannerbackground { background-color: #404040; } -.textHead{ - text-shadow: 1px 1px #ffffff; -} .view_app { background-color: @theme_bg_color; } diff --git a/ubl-settings-bootloader.glade b/ubl-settings-bootloader.glade index c981f5d..0ee2ca6 100644 --- a/ubl-settings-bootloader.glade +++ b/ubl-settings-bootloader.glade @@ -2,6 +2,7 @@ + both True @@ -113,10 +114,12 @@ Running applications as a user with a specified priority - - + + True From 6c798d1eb655becfe71c1730b465e57357b16b8c Mon Sep 17 00:00:00 2001 From: Igor Belitskiy Date: Fri, 12 May 2023 15:01:33 +0600 Subject: [PATCH 4/9] =?UTF-8?q?=D0=9F=D0=BE=D0=BC=D0=B5=D0=BD=D1=8F=D0=BB?= =?UTF-8?q?=20=D0=BD=D0=B0=D0=B7=D0=B2=D0=B0=D0=BD=D0=B8=D0=B5=20=D1=84?= =?UTF-8?q?=D1=83=D0=BD=D0=BA=D1=86=D0=B8=D0=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- source/ubl-settings-bootloader.cc | 8 ++++---- source/ubl-settings-bootloader.h | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/source/ubl-settings-bootloader.cc b/source/ubl-settings-bootloader.cc index 82952d1..9a911d3 100755 --- a/source/ubl-settings-bootloader.cc +++ b/source/ubl-settings-bootloader.cc @@ -704,7 +704,7 @@ void MainWindow::set_init_data_user(std::map &map_temp) { } } Glib::RefPtr treeViewUserModel = treeViewUser->get_model(); - treeViewUserModel->signal_row_changed().connect(sigc::mem_fun(*this, &MainWindow::remove_line_user)); + treeViewUserModel->signal_row_changed().connect(sigc::mem_fun(*this, &MainWindow::select_line_user)); this->view_add_colums_user(*treeViewUser); } @@ -784,7 +784,7 @@ void MainWindow::set_init_data_melody(std::map &map_temp) { this->set_add_data_melody(row_melody, flag, name, code); } Glib::RefPtr treeViewMelodyModel = treeViewMelody->get_model(); - treeViewMelodyModel->signal_row_changed().connect(sigc::mem_fun(*this, &MainWindow::remove_line_melody)); + treeViewMelodyModel->signal_row_changed().connect(sigc::mem_fun(*this, &MainWindow::select_line_melody)); this->view_add_colums_melody(*treeViewMelody); } @@ -823,7 +823,7 @@ void MainWindow::remove_melody() { flag_validate_del_melody = false; } -void MainWindow::remove_line_user(const Gtk::TreeModel::Path&, const Gtk::TreeModel::iterator& iter) { +void MainWindow::select_line_user(const Gtk::TreeModel::Path&, const Gtk::TreeModel::iterator& iter) { treeViewKernel->get_selection()->unselect_all(); treeViewOTT->get_selection()->unselect_all(); treeViewIPT->get_selection()->unselect_all(); @@ -856,7 +856,7 @@ void MainWindow::remove_line_user(const Gtk::TreeModel::Path&, const Gtk::TreeMo } } -void MainWindow::remove_line_melody(const Gtk::TreeModel::Path&, const Gtk::TreeModel::iterator& iter) { +void MainWindow::select_line_melody(const Gtk::TreeModel::Path&, const Gtk::TreeModel::iterator& iter) { treeViewKernel->get_selection()->unselect_all(); treeViewOTT->get_selection()->unselect_all(); treeViewIPT->get_selection()->unselect_all(); diff --git a/source/ubl-settings-bootloader.h b/source/ubl-settings-bootloader.h index e0d85b3..92fa7d8 100644 --- a/source/ubl-settings-bootloader.h +++ b/source/ubl-settings-bootloader.h @@ -324,7 +324,7 @@ public: MainWindow(Glib::RefPtr const &builder); ~MainWindow(); void open_browser(); - void remove_line_user(const Gtk::TreeModel::Path&, const Gtk::TreeModel::iterator& iter); + void select_line_user(const Gtk::TreeModel::Path&, const Gtk::TreeModel::iterator& iter); void set_entry_to_tree_view(Glib::RefPtr &list_store, Gtk::Entry &entry, std::vector &vec_Option, int size, string key); void get_menu_boot(std::map &map_temp); void set_row_all(std::map &map_cmd, Glib::RefPtr &list_store, vector &list_params, size_t size, string key); @@ -340,7 +340,7 @@ public: void remove_melody(); void settings(); void validate_melody(); - void remove_line_melody(const Gtk::TreeModel::Path&, const Gtk::TreeModel::iterator& iter); + void select_line_melody(const Gtk::TreeModel::Path&, const Gtk::TreeModel::iterator& iter); void view_add_colums_user(Gtk::TreeView &treeView); void view_add_colums_melody(Gtk::TreeView &treeView); void set_bat_save(Gtk::Button *btnSave); From 2ede5e0e5f6edb228c9054950df807025dbdbbfd Mon Sep 17 00:00:00 2001 From: Igor Belitskiy Date: Fri, 12 May 2023 16:17:14 +0600 Subject: [PATCH 5/9] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=B8?= =?UTF-8?q?=D0=BB=20=D0=B1=D0=B0=D0=B3=20=D1=81=20treeView?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- source/ubl-settings-bootloader.cc | 59 +++++++++++++++---------------- 1 file changed, 28 insertions(+), 31 deletions(-) diff --git a/source/ubl-settings-bootloader.cc b/source/ubl-settings-bootloader.cc index 9a911d3..b7b8ee4 100755 --- a/source/ubl-settings-bootloader.cc +++ b/source/ubl-settings-bootloader.cc @@ -230,10 +230,8 @@ void MainWindow::item_selected_kernel(const Gtk::TreeModel::Path&, const Gtk::Tr treeViewMelody->get_selection()->unselect_all(); if (flag_blocked_tree_view == false) { string str_flags = template_item_selected(size_kernel, list_store_kernel, "GRUB_CMDLINE_LINUX"); - Utils::str_replace_all(str_flags, " \"", "\""); - Utils::str_replace_all(str_flags, "\"", ""); map_cmd_selection["GRUB_CMDLINE_LINUX"] = str_flags; - Utils::str_replace_all(str_flags, " ", ", "); + // Utils::str_replace_all(str_flags, " ", ", "); entryKernel->set_text(str_flags); } } @@ -245,10 +243,8 @@ void MainWindow::item_selected_OTT(const Gtk::TreeModel::Path&, const Gtk::TreeM treeViewMelody->get_selection()->unselect_all(); if (flag_blocked_tree_view == false) { string str_flags = template_item_selected(size_OTT, list_store_OTT, "GRUB_TERMINAL_OUTPUT"); - Utils::str_replace_all(str_flags, " \"", "\""); - Utils::str_replace_all(str_flags, "\"", ""); map_cmd_selection["GRUB_TERMINAL_OUTPUT"] = str_flags; - Utils::str_replace_all(str_flags, " ", ", "); + // Utils::str_replace_all(str_flags, " ", ", "); entryOTT->set_text(str_flags); } } @@ -260,10 +256,8 @@ void MainWindow::item_selected_IPT(const Gtk::TreeModel::Path&, const Gtk::TreeM treeViewMelody->get_selection()->unselect_all(); if (flag_blocked_tree_view == false) { string str_flags = template_item_selected(size_IPT, list_store_IPT, "GRUB_TERMINAL_INPUT"); - Utils::str_replace_all(str_flags, " \"", "\""); - Utils::str_replace_all(str_flags, "\"", ""); map_cmd_selection["GRUB_TERMINAL_INPUT"] = str_flags; - Utils::str_replace_all(str_flags, " ", ", "); + // Utils::str_replace_all(str_flags, " ", ", "); entryIPT->set_text(str_flags); } } @@ -322,27 +316,33 @@ void MainWindow::set_download_mode() { } string MainWindow::template_item_selected(int size, Glib::RefPtr &list_store, string key) { - string cmds = map_cmd_selection[key]; - Utils::str_replace_all(cmds, "\"", ""); + string cmds_old = map_cmd_selection[key]; + string cmds = ""; + string param = ""; + vector vec_param = Utils::split(cmds_old, ' '); for (int index = 0; index < size; index++) { Gtk::TreeModel::Row row = list_store->children()[index]; if(row) { - string param = row[m_columns.name] + ""; - if (row[m_columns.check_button] == true && cmds.find(param) == string::npos) { - cmds += " " + param + " "; + param = row[m_columns.name] + ""; + if (row[m_columns.check_button] == true) { + cmds += param + " "; } - if (row[m_columns.check_button] == false && cmds.find(param) != string::npos) { - Utils::str_remove(cmds, param); + for (size_t i = 0; i < vec_param.size(); i++) { + // cout << (param == vec_param[i]) << " " << param << " " << vec_param[i] << endl; + if (param == vec_param[i]) { + vec_param.erase(vec_param.begin() + i); + } } } } - Utils::str_replace_all(cmds, " ", " "); - if (cmds.length() > 0) { - if (cmds[0] == ' ') { - cmds = cmds.substr(1, cmds.length() - 1); + for (size_t i = 0; i < vec_param.size(); i++) { + cmds += vec_param[i] + " "; + } + if (cmds.length() > 1) { + if (cmds[cmds.length()-1] == ' ') { + cmds = cmds.substr(0, cmds.length() - 1); } } - cmds = "\"" + cmds + "\""; return cmds; } @@ -540,23 +540,20 @@ void MainWindow::set_entry_to_tree_view(Glib::RefPtr &list_store flag_blocked_tree_view = true; vector vec_params; std::string text = entry.get_text(); - Utils::str_replace_all(text, " ", ""); - vec_params = Utils::split(text, ','); + // Utils::str_replace_all(text, " ", ""); + vec_params = Utils::split(text, ' '); for (auto &name: vec_Option) { this->set_row(list_store, size, name, false); } for (auto &name: vec_params) { this->set_row(list_store, size, name, true); } - Utils::str_replace_all(text, ",", " "); + // Utils::str_replace_all(text, ",", " "); if (text.length() > 0) { if (text[0] == ' ') { text = text.substr(1, text.length() - 1); } } - if (text.find("\"") == string::npos && text.length() != 0) { - text = "\"" + text + "\""; - } map_cmd_selection[key] = text; } @@ -1011,15 +1008,15 @@ void MainWindow::wrapper_save_local_cfg() { void MainWindow::set_data_cfg() { string str_flags = entryKernel->get_text(); - Utils::str_remove(str_flags, ","); + // Utils::str_remove(str_flags, ","); Utils::str_replace_all(str_flags, " \"", "\""); map_cmd_selection["GRUB_CMDLINE_LINUX"] = str_flags; str_flags = entryIPT->get_text(); - Utils::str_remove(str_flags, ","); + // Utils::str_remove(str_flags, ","); Utils::str_replace_all(str_flags, " \"", "\""); map_cmd_selection["GRUB_TERMINAL_INPUT"] = str_flags; str_flags = entryOTT->get_text(); - Utils::str_remove(str_flags, ","); + // Utils::str_remove(str_flags, ","); Utils::str_replace_all(str_flags, " \"", "\""); map_cmd_selection["GRUB_TERMINAL_OUTPUT"] = str_flags; if (chbLoadVariantSelectionTimer->get_active()) { @@ -1095,7 +1092,7 @@ void MainWindow::set_entry(Gtk::Entry* entry, std::map &map_temp if (map_temp.find(key) != map_temp.end()) { string value = map_temp[key]; Utils::str_replace_all(value, "\"", ""); - Utils::str_replace_all(value, " ", ", "); + // Utils::str_replace_all(value, " ", ", "); entry->set_text(value); } else { From 471a92d7e9615e1da6f535cdf45be997e2555677 Mon Sep 17 00:00:00 2001 From: Igor Belitskiy Date: Fri, 12 May 2023 16:24:21 +0600 Subject: [PATCH 6/9] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=B8?= =?UTF-8?q?=D0=BB=20=D0=B2=20=D0=BC=D0=B5=D0=BB=D0=BE=D0=B4=D0=B8=D1=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- grub-play.csv | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/grub-play.csv b/grub-play.csv index 1c42eb8..63cb15d 100644 --- a/grub-play.csv +++ b/grub-play.csv @@ -1,2 +1,2 @@ Option;Tone code -ubbeep;1 22 333 4444 5555 \ No newline at end of file +ubbeep;480 900 2 1000 2 800 2 400 2 600 3 \ No newline at end of file From 974114be0fa313500aacee89f1efbc14c7812497 Mon Sep 17 00:00:00 2001 From: Igor Belitskiy Date: Fri, 12 May 2023 16:28:42 +0600 Subject: [PATCH 7/9] =?UTF-8?q?=D0=97=D0=B0=D0=BC=D0=B5=D0=BD=D0=B8=D0=BB?= =?UTF-8?q?=20=D0=BD=D0=B0=D0=B7=D0=B2=D0=B0=D0=BD=D0=B8=D0=B5=20=D1=84?= =?UTF-8?q?=D1=83=D0=BD=D0=BA=D1=86=D0=B8=D0=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- source/ubl-settings-bootloader.cc | 17 ++++++++--------- source/ubl-settings-bootloader.h | 6 +++--- ubl-settings-bootloader.glade | 2 +- 3 files changed, 12 insertions(+), 13 deletions(-) diff --git a/source/ubl-settings-bootloader.cc b/source/ubl-settings-bootloader.cc index b7b8ee4..05d66ee 100755 --- a/source/ubl-settings-bootloader.cc +++ b/source/ubl-settings-bootloader.cc @@ -12,9 +12,9 @@ bool flag_lock_help = false; string version_application = "1.0"; MainWindow* obj_main; -void wrapper_synopsis_show() { +void wrapper_help_show() { obj_main->aboutWindows->hide(); - obj_main->synopsis_show(); + obj_main->help_show(); } CmdArgParser::CmdArgParser(const string& p_name, const string& p_description, const string& p_help) @@ -189,7 +189,7 @@ void MainWindow::flag_block_gui() { btnSaveLocalGlob->set_sensitive(false); } if (flag_lock_help == true) { - btnSynopsis->set_sensitive(false); + btnHelp->set_sensitive(false); } } @@ -328,7 +328,6 @@ string MainWindow::template_item_selected(int size, Glib::RefPtr cmds += param + " "; } for (size_t i = 0; i < vec_param.size(); i++) { - // cout << (param == vec_param[i]) << " " << param << " " << vec_param[i] << endl; if (param == vec_param[i]) { vec_param.erase(vec_param.begin() + i); } @@ -393,7 +392,7 @@ void MainWindow::get_builder() { builder->get_widget("boxColor", boxColor); builder->get_widget("boxWidgetAll", boxWidgetAll); builder->get_widget("aboutWindows", aboutWindows); - builder->get_widget("btnSynopsis", btnSynopsis); + builder->get_widget("btnHelp", btnHelp); builder->get_widget("btnAbout", btnAbout); builder->get_widget("btnLoadLocal", btnLoadLocal); builder->get_widget("btnLoadGlob", btnLoadGlob); @@ -466,7 +465,7 @@ void MainWindow::localization() { lblInfoInputTerminal->set_text(terminal_for_input); lblInfoOutputTerminal->set_text(terminal_for_output); chbLoadVariantSelectionTimer->set_label(boot_selection_menu_timer); - btnSynopsis->set_label(str_help); + btnHelp->set_label(str_help); btnAbout->set_label(str_about_1); lblHeadeWndWeb->set_text(name_app); btnSaveLocalGlob->set_label(save_all); @@ -596,7 +595,7 @@ void MainWindow::cmd_entry_all(Gtk::Entry &entry, string cmd_settings, string cm } void MainWindow::event() { - g_signal_connect(G_OBJECT(aboutWindows->gobj()), "activate-link", G_CALLBACK(wrapper_synopsis_show), this); + g_signal_connect(G_OBJECT(aboutWindows->gobj()), "activate-link", G_CALLBACK(wrapper_help_show), this); btnRemoveUser->signal_clicked().connect([&]() {remove_user();}); btnRemoveMusic->signal_clicked().connect([&]() {remove_melody();}); btnAddUser->signal_clicked().connect([&]() {string name = "", passwd = ""; @@ -607,7 +606,7 @@ void MainWindow::event() { btnCancelHelp->signal_clicked().connect([&]() {wndShowWeb->hide();}); chkAlwaysOpenHelp->signal_toggled().connect([&]() {flag_open_browser = true;}); btnReadHelp->signal_clicked().connect(sigc::mem_fun(*this, &MainWindow::open_browser)); - btnSynopsis->signal_activate().connect(sigc::mem_fun(*this, &MainWindow::synopsis_show)); + btnHelp->signal_activate().connect(sigc::mem_fun(*this, &MainWindow::help_show)); btnAbout->signal_activate().connect([&]() {aboutWindows->show();}); btnLoadLocal->signal_activate().connect(sigc::mem_fun(*this, &MainWindow::download_local_cfg)); btnLoadGlob->signal_activate().connect(sigc::mem_fun(*this, &MainWindow::download_globl_cfg)); @@ -1143,7 +1142,7 @@ void MainWindow::set_row(Glib::RefPtr &list_store, int size, str } } -void MainWindow::synopsis_show() { +void MainWindow::help_show() { if (flag_open_browser == true) { this->open_browser(); } diff --git a/source/ubl-settings-bootloader.h b/source/ubl-settings-bootloader.h index 92fa7d8..0664385 100644 --- a/source/ubl-settings-bootloader.h +++ b/source/ubl-settings-bootloader.h @@ -229,7 +229,7 @@ public: Gtk::Box *boxColor; Gtk::AboutDialog *aboutWindows; Gtk::MenuItem *btnAbout; - Gtk::MenuItem *btnSynopsis; + Gtk::MenuItem *btnHelp; Gtk::MenuItem *btnSaveLocalGlob; Gtk::MenuItem *btnSaveLocal; Gtk::MenuItem *btnSaveGlob; @@ -348,7 +348,7 @@ public: vector pars_os(vector &os_control_list); void fn_event_intelMax1(); void fn_event_intelMax4(); - void synopsis_show(); + void help_show(); void set_data_cfg(); void set_data_csv_melody(); vector>> format_os_list(vector &os_control_list); @@ -409,4 +409,4 @@ private: }; void help(); -void wrapper_synopsis_show(); +void wrapper_help_show(); diff --git a/ubl-settings-bootloader.glade b/ubl-settings-bootloader.glade index 0ee2ca6..fd90be3 100644 --- a/ubl-settings-bootloader.glade +++ b/ubl-settings-bootloader.glade @@ -225,7 +225,7 @@ specified priority False 4 - + True False Help From e4087dc9c1d34eea6509bf414f8eefb7dc711f6e Mon Sep 17 00:00:00 2001 From: Igor Belitskiy Date: Fri, 12 May 2023 17:03:35 +0600 Subject: [PATCH 8/9] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=B8?= =?UTF-8?q?=D0=BB=20=D1=81=D0=BE=D0=BE=D0=B1=D1=89=D0=B5=D0=BD=D0=B8=D1=8F?= =?UTF-8?q?=20=D0=B2=20=D1=81=D1=82=D0=B0=D1=82=D1=83=D1=81=D0=BD=D0=BE?= =?UTF-8?q?=D0=BC=20=D0=BE=D0=BA=D0=BD=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- source/ubl-settings-bootloader.cc | 36 ++++++++++++++++++++----------- source/ubl-settings-bootloader.h | 6 ++++++ ubl-settings-bootloader.pot | 11 ++++++++++ ubl-settings-bootloader_ru.po | 12 +++++++++++ 4 files changed, 52 insertions(+), 13 deletions(-) diff --git a/source/ubl-settings-bootloader.cc b/source/ubl-settings-bootloader.cc index 05d66ee..8db25ac 100755 --- a/source/ubl-settings-bootloader.cc +++ b/source/ubl-settings-bootloader.cc @@ -761,7 +761,8 @@ void MainWindow::set_add_data_user(Gtk::TreeModel::Row &row, bool flag, string & row = *(list_store_user->append()); row[m_columns_user.check_button] = flag; row[m_columns_user.name] = name; - row[m_columns_user.password] = password; + row[m_columns_user.password] = password; + len_old_user += 1; } void MainWindow::set_init_data_melody(std::map &map_temp) { @@ -788,7 +789,8 @@ void MainWindow::set_add_data_melody(Gtk::TreeModel::Row &row, bool flag, string row = *(list_store_melody->append()); row[m_columns_melody.check_button] = flag; row[m_columns_melody.title] = name; - row[m_columns_melody.melody_code] = code; + row[m_columns_melody.melody_code] = code; + len_old_melody += 1; } void MainWindow::remove_user() { @@ -803,7 +805,7 @@ void MainWindow::remove_user() { flag_validate_del_user = false; info_status_app(info_box_ok_css); imgInfo->set_from_icon_name(icon_checked, Gtk::ICON_SIZE_MENU); - lblWarning->set_text(""); + lblWarning->set_text(str_del_user); } flag_validate_del_user = false; } @@ -814,7 +816,7 @@ void MainWindow::remove_melody() { flag_validate_del_melody = false; info_status_app(info_box_ok_css); imgInfo->set_from_icon_name(icon_checked, Gtk::ICON_SIZE_MENU); - lblWarning->set_text(""); + lblWarning->set_text(str_del_melody); } flag_validate_del_melody = false; } @@ -829,15 +831,17 @@ void MainWindow::select_line_user(const Gtk::TreeModel::Path&, const Gtk::TreeMo bool flag_error = false; string name = ""; string password = ""; + size_t len_new_user = 0; Glib::RefPtr treeViewUser_model = treeViewUser->get_model(); Gtk::TreeModel::Children children = treeViewUser_model->children(); for(Gtk::TreeModel::iterator iter = children.begin(); iter != children.end(); ++iter) { Gtk::TreeModel::Row row = *iter; name = row[m_columns_user.name] + ""; password = row[m_columns_user.password] + ""; + len_new_user += 1; if (name.length() == 0 || password.length() == 0) { flag_error = true; - break; + } } if (flag_error == true) { @@ -846,10 +850,13 @@ void MainWindow::select_line_user(const Gtk::TreeModel::Path&, const Gtk::TreeMo lblWarning->set_text(str_null_username); } else { - info_status_app(info_box_ok_css); - imgInfo->set_from_icon_name(icon_checked, Gtk::ICON_SIZE_MENU); - lblWarning->set_text(""); + if ((len_old_user-1) != len_new_user) { + info_status_app(info_box_ok_css); + imgInfo->set_from_icon_name(icon_checked, Gtk::ICON_SIZE_MENU); + lblWarning->set_text(str_add_user); + } } + len_old_user = len_new_user; } void MainWindow::select_line_melody(const Gtk::TreeModel::Path&, const Gtk::TreeModel::iterator& iter) { @@ -861,6 +868,7 @@ void MainWindow::select_line_melody(const Gtk::TreeModel::Path&, const Gtk::Tree flag_validate_del_melody = true; string code_melodyes = ""; string melody_title = ""; + size_t len_new_melody = 0; bool flag_error = false; Glib::RefPtr treeViewMelody_model = treeViewMelody->get_model(); Gtk::TreeModel::Children children = treeViewMelody_model->children(); @@ -868,9 +876,9 @@ void MainWindow::select_line_melody(const Gtk::TreeModel::Path&, const Gtk::Tree Gtk::TreeModel::Row row = *iter; code_melodyes = row[m_columns_melody.melody_code] + ""; melody_title = row[m_columns_melody.title] + ""; + len_new_melody += 1; if (code_melodyes.length() == 0 || melody_title.length() == 0) { flag_error = true; - break; } } if (flag_error == true) { @@ -879,12 +887,14 @@ void MainWindow::select_line_melody(const Gtk::TreeModel::Path&, const Gtk::Tree lblWarning->set_text(str_null_melody_name); } else { - info_status_app(info_box_ok_css); - imgInfo->set_from_icon_name(icon_checked, Gtk::ICON_SIZE_MENU); - lblWarning->set_text(""); + if ((len_old_melody-1) != len_new_melody) { + info_status_app(info_box_ok_css); + imgInfo->set_from_icon_name(icon_checked, Gtk::ICON_SIZE_MENU); + lblWarning->set_text(str_add_melody); + } } this->validate_melody(); - + len_old_melody = len_new_melody; } void MainWindow::validate_melody() { diff --git a/source/ubl-settings-bootloader.h b/source/ubl-settings-bootloader.h index 0664385..a981f6d 100644 --- a/source/ubl-settings-bootloader.h +++ b/source/ubl-settings-bootloader.h @@ -145,6 +145,10 @@ void me_thread(string cmd); #define cmd_last_launched_os "/usr/lib/ublinux/scripts/grub-functions exec_get_last_menuentry" #define info_box_ok_css "boxInfoMessOK" #define info_box_error_css "boxInfoMessError" +#define str_add_user _("User added") +#define str_add_melody _("Melody added") +#define str_del_user _("User deleted") +#define str_del_melody _("Melody deleted") class CmdArgParser : public Glib::OptionGroup { @@ -311,6 +315,8 @@ public: size_t size_kernel = 0; size_t size_IPT = 0; size_t size_OTT = 0; + size_t len_old_melody = 0; + size_t len_old_user = 0; Glib::RefPtr boxInfo; string str_cmd_error = ""; template diff --git a/ubl-settings-bootloader.pot b/ubl-settings-bootloader.pot index 8b7d4d4..51cc8f7 100644 --- a/ubl-settings-bootloader.pot +++ b/ubl-settings-bootloader.pot @@ -17,6 +17,17 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +msgid "Melody added" +msgstr "" + +msgid "User added" +msgstr "" + +msgid "Melody deleted" +msgstr "" + +msgid "User deleted" +msgstr "" msgid "Enter the name and code of the tune in the \"Ringtone at startup\" field" msgstr "" diff --git a/ubl-settings-bootloader_ru.po b/ubl-settings-bootloader_ru.po index 8431291..ba664af 100644 --- a/ubl-settings-bootloader_ru.po +++ b/ubl-settings-bootloader_ru.po @@ -367,6 +367,18 @@ msgstr "Введите имя и пароль в поле \"Пользовате msgid "Password" msgstr "Пароль" +msgid "Melody added" +msgstr "Мелодия добавлена" + +msgid "User added" +msgstr "Пользователь добавлен" + +msgid "Melody deleted" +msgstr "Мелодия удалена" + +msgid "User deleted" +msgstr "Пользователь удалён" + msgid "Administrator" msgstr "Администратор" From c9adad8c2b9c192b86e5e3d8529df090e1eb90ac Mon Sep 17 00:00:00 2001 From: Igor Belitskiy Date: Fri, 12 May 2023 17:53:46 +0600 Subject: [PATCH 9/9] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=B8?= =?UTF-8?q?=D0=BB=20=D0=BE=D1=82=D0=BA=D1=80=D1=8B=D1=82=D0=B8=D0=B5=20?= =?UTF-8?q?=D1=81=D1=81=D1=8B=D0=BB=D0=BA=D0=B8=20=D0=BD=D0=B0=20=D0=B4?= =?UTF-8?q?=D0=BE=D0=BA=D1=83=D0=BC=D0=B5=D0=BD=D1=82=D0=B0=D1=86=D0=B8?= =?UTF-8?q?=D1=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- source/ubl-settings-bootloader.cc | 25 ++++++++++++++++--------- source/ubl-settings-bootloader.h | 13 ++++++++----- ubl-settings-bootloader.glade | 2 +- 3 files changed, 25 insertions(+), 15 deletions(-) diff --git a/source/ubl-settings-bootloader.cc b/source/ubl-settings-bootloader.cc index 8db25ac..b1aa3b6 100755 --- a/source/ubl-settings-bootloader.cc +++ b/source/ubl-settings-bootloader.cc @@ -12,9 +12,11 @@ bool flag_lock_help = false; string version_application = "1.0"; MainWindow* obj_main; -void wrapper_help_show() { +void wrapper_help_show(GtkWidget *self, char* link, gpointer user_data) { + if (self && user_data) {} + obj_main->global_lick_doc = link; obj_main->aboutWindows->hide(); - obj_main->help_show(); + obj_main->temp_help_show(); } CmdArgParser::CmdArgParser(const string& p_name, const string& p_description, const string& p_help) @@ -595,7 +597,7 @@ void MainWindow::cmd_entry_all(Gtk::Entry &entry, string cmd_settings, string cm } void MainWindow::event() { - g_signal_connect(G_OBJECT(aboutWindows->gobj()), "activate-link", G_CALLBACK(wrapper_help_show), this); + g_signal_connect(G_OBJECT(aboutWindows->gobj()), "activate-link", G_CALLBACK(wrapper_help_show), NULL); btnRemoveUser->signal_clicked().connect([&]() {remove_user();}); btnRemoveMusic->signal_clicked().connect([&]() {remove_melody();}); btnAddUser->signal_clicked().connect([&]() {string name = "", passwd = ""; @@ -606,7 +608,7 @@ void MainWindow::event() { btnCancelHelp->signal_clicked().connect([&]() {wndShowWeb->hide();}); chkAlwaysOpenHelp->signal_toggled().connect([&]() {flag_open_browser = true;}); btnReadHelp->signal_clicked().connect(sigc::mem_fun(*this, &MainWindow::open_browser)); - btnHelp->signal_activate().connect(sigc::mem_fun(*this, &MainWindow::help_show)); + btnHelp->signal_activate().connect(sigc::mem_fun(*this, &MainWindow::open_help)); btnAbout->signal_activate().connect([&]() {aboutWindows->show();}); btnLoadLocal->signal_activate().connect(sigc::mem_fun(*this, &MainWindow::download_local_cfg)); btnLoadGlob->signal_activate().connect(sigc::mem_fun(*this, &MainWindow::download_globl_cfg)); @@ -1152,7 +1154,7 @@ void MainWindow::set_row(Glib::RefPtr &list_store, int size, str } } -void MainWindow::help_show() { +void MainWindow::temp_help_show() { if (flag_open_browser == true) { this->open_browser(); } @@ -1162,18 +1164,23 @@ void MainWindow::help_show() { } +void MainWindow::open_help() { + global_lick_doc = const_link_doc; + temp_help_show(); +} + void MainWindow::open_browser() { #ifdef WEBKIT_FOUND - webkit_web_view_load_uri(one, link_doc); + webkit_web_view_load_uri(one, _(global_lick_doc.c_str())); wndWeb->show_all(); #else - this->template_open_browser(); + this->template_open_browser(global_lick_doc); #endif wndShowWeb->hide(); } -void MainWindow::template_open_browser() { - string cmd = cmd_xdg + string(_(link_doc)) + " &"; +void MainWindow::template_open_browser(string link_doc) { + string cmd = cmd_xdg + string(_(link_doc.c_str())) + " &"; string buf = ""; if (geteuid() == 0) { string response_user = getlogin(); diff --git a/source/ubl-settings-bootloader.h b/source/ubl-settings-bootloader.h index a981f6d..effb636 100644 --- a/source/ubl-settings-bootloader.h +++ b/source/ubl-settings-bootloader.h @@ -126,7 +126,7 @@ void me_thread(string cmd); #define system_save "ubconfig --target system set boot " #define global_remove "ubconfig --target global --noexecute remove boot " #define system_remove "ubconfig --target system remove boot " -#define link_doc "https://wiki.ublinux.com/ru/Программное_обеспечение/Программы_и_утилиты/Все/ubl-settings-bootloader" +#define const_link_doc "https://wiki.ublinux.com/ru/Программное_обеспечение/Программы_и_утилиты/Все/ubl-settings-bootloader" #define cmd_xdg "xdg-open " #define cmd_execute "su -l %s -c \" DISPLAY=$DISPLAY %s \"" #define icon_checked "com.ublinux.ubl-settings-bootloader.checked" @@ -317,6 +317,7 @@ public: size_t size_OTT = 0; size_t len_old_melody = 0; size_t len_old_user = 0; + Glib::RefPtr boxInfo; string str_cmd_error = ""; template @@ -324,8 +325,9 @@ public: Type response; int error; }; +public: std::map map_cmd_error; - + string global_lick_doc = ""; MainWindow(BaseObjectType *obj, Glib::RefPtr const &builder); MainWindow(Glib::RefPtr const &builder); ~MainWindow(); @@ -345,6 +347,7 @@ public: void remove_user(); void remove_melody(); void settings(); + void open_help(); void validate_melody(); void select_line_melody(const Gtk::TreeModel::Path&, const Gtk::TreeModel::iterator& iter); void view_add_colums_user(Gtk::TreeView &treeView); @@ -354,7 +357,7 @@ public: vector pars_os(vector &os_control_list); void fn_event_intelMax1(); void fn_event_intelMax4(); - void help_show(); + void temp_help_show(); void set_data_cfg(); void set_data_csv_melody(); vector>> format_os_list(vector &os_control_list); @@ -372,7 +375,7 @@ public: vector read_file_and_view(string file_name, Gtk::TreeModel::Row &row, Glib::RefPtr list_store_m); void download_local_cfg(); void set_tree_view_user(); - void template_open_browser(); + void template_open_browser(string link_doc); void download_globl_cfg(); void flag_block_gui(); void info_status_app(string stule); @@ -415,4 +418,4 @@ private: }; void help(); -void wrapper_help_show(); +void wrapper_help_show(GtkWidget *self, char* link, gpointer user_data); diff --git a/ubl-settings-bootloader.glade b/ubl-settings-bootloader.glade index fd90be3..8b01366 100644 --- a/ubl-settings-bootloader.glade +++ b/ubl-settings-bootloader.glade @@ -22,7 +22,7 @@ 1.0 Copyright © 2022 - 2023, UBSoft LLC ubl-settings-bootloader - https://ublinux.ru/ + https://wiki.ublinux.com/ru/Программное_обеспечение/Программы_и_утилиты/Все/ Project Home Page Это приложение распространяется без каких-либо гарантий. Подробнее в <a href="https://www.gnu.org/licenses/old-licenses/gpl-2.0.html">GNU General Public License, версии 2 или позднее</a>.