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>.