diff --git a/source/ubl-settings-datetime.cc b/source/ubl-settings-datetime.cc index b12414e..6b06498 100755 --- a/source/ubl-settings-datetime.cc +++ b/source/ubl-settings-datetime.cc @@ -14,6 +14,11 @@ bool flag_sync_hwclock = false; int socket_ext_id_I = 0; int socket_trd_id_I = 0; string version_application = "1.6"; +MainWindow* obj_main; +void wrapper_synopsis_show() { + obj_main->aboutWindows->hide(); + obj_main->synopsis_show(); +} CmdArgParser::CmdArgParser(const std::string& p_name, const std::string& p_description, const std::string& p_help) : Glib::OptionGroup{p_name, p_description, p_help} { @@ -49,6 +54,7 @@ MainWindow::MainWindow(Glib::RefPtr const& builder) { } void MainWindow::settings() { + obj_main = this; map_error[get_system_ZONE] = string(str_time_zone_flag); map_error[set_hwclock] = string(str_hardware_time_flag); map_error[get_system_NTPSERVERS] = string(str_NTP_flag); @@ -334,6 +340,7 @@ void MainWindow::get_builder() { } void MainWindow::event() { + g_signal_connect(G_OBJECT(aboutWindows->gobj()), "activate-link", G_CALLBACK(wrapper_synopsis_show), this); 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)); @@ -409,7 +416,7 @@ void MainWindow::synopsis_show() { this->open_browser(); } else { - wndShowWeb->show_all(); + wndShowWeb->show_all(); } } @@ -421,6 +428,7 @@ void MainWindow::open_browser() { #else this->template_open_browser(); #endif + wndShowWeb->hide(); } void MainWindow::template_open_browser() { diff --git a/source/ubl-settings-datetime.h b/source/ubl-settings-datetime.h index e0cf99d..83528d7 100644 --- a/source/ubl-settings-datetime.h +++ b/source/ubl-settings-datetime.h @@ -156,14 +156,6 @@ extern bool flag_sync_hwclock; extern int socket_ext_id_I; extern int socket_trd_id_I; extern string version_application; -class CmdArgParser : public Glib::OptionGroup { -public: - CmdArgParser(const std::string& p_name, const std::string& p_description, const std::string& p_help); - ::Window GetSocketID() const; -private: - int m_socketID = 0; - -}; class MainWindow : public Gtk::ApplicationWindow { public: @@ -353,6 +345,15 @@ class MainWindow : public Gtk::ApplicationWindow { }; + +class CmdArgParser : public Glib::OptionGroup { +public: + CmdArgParser(const std::string& p_name, const std::string& p_description, const std::string& p_help); + ::Window GetSocketID() const; +private: + int m_socketID = 0; + +}; class SettingsPlug : public Gtk::Plug{ public: Gtk::Window *window; @@ -362,5 +363,7 @@ private: Gtk::Widget *plugBox; Gtk::Widget *parent; }; + +void wrapper_synopsis_show(); void help(); #endif