Исправил открытие ссылки на лицензию

pull/116/head
Igor Belitskiy 3 years ago
parent 1941976c19
commit 8a59745b39

@ -15,9 +15,11 @@ int socket_ext_id_I = 0;
int socket_trd_id_I = 0; int socket_trd_id_I = 0;
string version_application = "2.1"; string version_application = "2.1";
MainWindow* obj_main; 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->aboutWindows->hide();
obj_main->help_show(); obj_main->temp_help_show();
} }
CmdArgParser::CmdArgParser(const std::string& p_name, const std::string& p_description, const std::string& p_help) CmdArgParser::CmdArgParser(const std::string& p_name, const std::string& p_description, const std::string& p_help)
@ -344,7 +346,7 @@ void MainWindow::event() {
btnCancelHelp->signal_clicked().connect([&]() {wndShowWeb->hide();}); btnCancelHelp->signal_clicked().connect([&]() {wndShowWeb->hide();});
chkAlwaysOpenHelp->signal_toggled().connect([&]() {flag_open_browser = true;}); chkAlwaysOpenHelp->signal_toggled().connect([&]() {flag_open_browser = true;});
btnReadHelp->signal_clicked().connect(sigc::mem_fun(*this, &MainWindow::open_browser)); 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));
btnHardwareTime->signal_clicked().connect(sigc::mem_fun(*this, &MainWindow::hardware_clock)); btnHardwareTime->signal_clicked().connect(sigc::mem_fun(*this, &MainWindow::hardware_clock));
btnMessClose->signal_clicked().connect(sigc::mem_fun(*this, &MainWindow::gui_mess_close)); btnMessClose->signal_clicked().connect(sigc::mem_fun(*this, &MainWindow::gui_mess_close));
//cldrDate->signal_day_selected().connect(sigc::mem_fun(*this, &MainWindow::get_calendar)); //cldrDate->signal_day_selected().connect(sigc::mem_fun(*this, &MainWindow::get_calendar));
@ -354,7 +356,7 @@ void MainWindow::event() {
cbRegion->signal_changed().connect(sigc::mem_fun(*this, &MainWindow::append_zone)); cbRegion->signal_changed().connect(sigc::mem_fun(*this, &MainWindow::append_zone));
cldrDate->signal_day_selected_double_click().connect(sigc::mem_fun(*this, &MainWindow::get_calendar)); cldrDate->signal_day_selected_double_click().connect(sigc::mem_fun(*this, &MainWindow::get_calendar));
btnAbout->signal_activate().connect([&]() {aboutWindows->show();}); btnAbout->signal_activate().connect([&]() {aboutWindows->show();});
btnhelp->signal_activate().connect(sigc::mem_fun(*this, &MainWindow::help_show)); btnhelp->signal_activate().connect(sigc::mem_fun(*this, &MainWindow::open_help));
btnLoadLocal->signal_activate().connect(sigc::mem_fun(*this, &MainWindow::load_local_cfg)); btnLoadLocal->signal_activate().connect(sigc::mem_fun(*this, &MainWindow::load_local_cfg));
btnLoadGlob->signal_activate().connect(sigc::mem_fun(*this, &MainWindow::load_globl_cfg)); btnLoadGlob->signal_activate().connect(sigc::mem_fun(*this, &MainWindow::load_globl_cfg));
btnSaveLocalGlob->signal_activate().connect([&]() {save_global_local_cfg();}); btnSaveLocalGlob->signal_activate().connect([&]() {save_global_local_cfg();});
@ -411,7 +413,7 @@ void MainWindow::event_zone() {
this->write_config(zone_text, "zone"); this->write_config(zone_text, "zone");
} }
void MainWindow::help_show() { void MainWindow::temp_help_show() {
if (flag_open_browser == true) { if (flag_open_browser == true) {
this->open_browser(); this->open_browser();
} }
@ -421,18 +423,23 @@ void MainWindow::help_show() {
} }
void MainWindow::open_help() {
global_lick_doc = const_link_doc;
temp_help_show();
}
void MainWindow::open_browser() { void MainWindow::open_browser() {
#ifdef WEBKIT_FOUND #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(); wndWeb->show_all();
#else #else
this->template_open_browser(); this->template_open_browser(global_lick_doc);
#endif #endif
wndShowWeb->hide(); wndShowWeb->hide();
} }
void MainWindow::template_open_browser() { void MainWindow::template_open_browser(string link_doc) {
string cmd = cmd_xdg + string(_(link_doc)) + " &"; string cmd = cmd_xdg + string(_(link_doc.c_str())) + " &";
string buf = ""; string buf = "";
if (geteuid() == 0) { if (geteuid() == 0) {
string response_user = getlogin(); string response_user = getlogin();
@ -440,7 +447,7 @@ void MainWindow::template_open_browser() {
auto size = static_cast<size_t>(size_s); auto size = static_cast<size_t>(size_s);
std::unique_ptr<char[]> buf(new char[ size ]); std::unique_ptr<char[]> buf(new char[ size ]);
std::snprintf(buf.get(), size, cmd_execute, response_user.c_str(), cmd.c_str()); std::snprintf(buf.get(), size, cmd_execute, response_user.c_str(), cmd.c_str());
cmd = std::string( buf.get(), buf.get() + size - 1 ); cmd = string(buf.get(), buf.get() + size - 1);
} }
index_error = system(cmd.c_str()); index_error = system(cmd.c_str());
} }

@ -26,7 +26,7 @@
#endif #endif
#define link_doc "https://wiki.ublinux.com/ru/Программное_обеспечениерограммы_и_утилиты/Все/ubl-settings-datetime" #define const_link_doc "https://wiki.ublinux.com/ru/Программное_обеспечениерограммы_и_утилиты/Все/ubl-settings-datetime"
#define cmd_xdg "xdg-open " #define cmd_xdg "xdg-open "
#define cmd_execute "su -l %s -c \" DISPLAY=$DISPLAY %s \"" #define cmd_execute "su -l %s -c \" DISPLAY=$DISPLAY %s \""
#define get_NTPSERVERS_DEFAULT "ubconfig --source default get [] NTPSERVERS_DEFAULT" #define get_NTPSERVERS_DEFAULT "ubconfig --source default get [] NTPSERVERS_DEFAULT"
@ -255,6 +255,7 @@ class MainWindow : public Gtk::ApplicationWindow {
int minute; int minute;
string str_region_buff = ""; string str_region_buff = "";
string str_zone_buff = ""; string str_zone_buff = "";
string global_lick_doc = "";
int count_edit = 0; int count_edit = 0;
bool flag_global = false; bool flag_global = false;
bool flag_local = false; bool flag_local = false;
@ -286,12 +287,14 @@ class MainWindow : public Gtk::ApplicationWindow {
void set_hardware_clock(string &local, string &etc); void set_hardware_clock(string &local, string &etc);
void info_warning_error(int mess); void info_warning_error(int mess);
void help_show(); void help_show();
void temp_help_show();
void open_help();
void get_hardware_clock(string cmd); void get_hardware_clock(string cmd);
void save_global_local_cfg(); void save_global_local_cfg();
void fill_in_reg_zone(string cmd); void fill_in_reg_zone(string cmd);
void load_globl_cfg(); void load_globl_cfg();
void save_local_cfg(); void save_local_cfg();
void template_open_browser(); void template_open_browser(string link_doc);
void event_zone(); void event_zone();
bool focus_ntp(GdkEventFocus* event); bool focus_ntp(GdkEventFocus* event);
bool check_config(string key, int key_save); bool check_config(string key, int key_save);
@ -364,6 +367,6 @@ private:
Gtk::Widget *parent; Gtk::Widget *parent;
}; };
void wrapper_help_show(); void wrapper_help_show(GtkWidget *self, char* link, gpointer user_data);
void help(); void help();
#endif #endif

Loading…
Cancel
Save