From 7684ea96ee99593120cbc6f877e542b82869d116 Mon Sep 17 00:00:00 2001 From: Igor Belitskiy Date: Fri, 19 May 2023 14:08:16 +0600 Subject: [PATCH] =?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=D0=BA=D0=BD=D0=B0=20=D1=81=20=D1=81=D0=BF=D0=B8?= =?UTF-8?q?=D1=81=D0=BA=D0=BE=D0=BC=20=D0=BE=D1=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- source/CMakeLists.txt | 2 +- source/main.cc | 1 + source/menu_os.cc | 6 +- source/menu_os.h | 4 +- source/ubl-settings-bootloader.cc | 12 +- source/ubl-settings-bootloader.h | 3 +- ubl-settings-bootloader.glade | 184 +++++++++++++++++------------- 7 files changed, 125 insertions(+), 87 deletions(-) diff --git a/source/CMakeLists.txt b/source/CMakeLists.txt index 62bfb35..da9e11c 100644 --- a/source/CMakeLists.txt +++ b/source/CMakeLists.txt @@ -30,7 +30,7 @@ configure_file(ubl-settings-bootloader.h.in ubl-settings-bootloader-cm.h) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pedantic -Wall -Wextra -Werror -Wmissing-declarations -fdiagnostics-color=always \ -O2 -pipe -fno-plt -fexceptions \ -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security \ - -fstack-clash-protection -fcf-protection") + -fstack-clash-protection -fcf-protection -g") set(SOURCE_FILES menu_os.h diff --git a/source/main.cc b/source/main.cc index d5802e3..c28e514 100644 --- a/source/main.cc +++ b/source/main.cc @@ -54,6 +54,7 @@ int main(int argc, char** argv) { builder->get_widget_derived("window", wnd); wnd->settings(); wnd->event(); + wnd->set_menu_os_to_button(); auto r = app->run(*wnd); delete wnd; return r; diff --git a/source/menu_os.cc b/source/menu_os.cc index 71910dd..e22e32a 100644 --- a/source/menu_os.cc +++ b/source/menu_os.cc @@ -22,10 +22,13 @@ void Menu_os::set_builder(Glib::RefPtr& builder, string path_glade builder->get_widget("boxALLL3", boxALLL3); builder->get_widget("boxLevel1", boxLevel1); builder->get_widget("btnToLev1", btnToLev1); - revealerL1->set_reveal_child(true); } +void Menu_os::set_btnOpenMenuOS(Gtk::Button *btnOpenMenuOS) { + this->btnOpenMenuOS = btnOpenMenuOS; +} + void Menu_os::set_map(vector>> &vec_list_os) { this->vec_list_os = vec_list_os; } @@ -138,6 +141,7 @@ void Menu_os::to_l1() { revealerL1->set_reveal_child(true); revealerL2->set_reveal_child(false); map_menu_level_1[key_global]->revealer->set_reveal_child(false); + btnOpenMenuOS->signal_clicked().connect([&]() {popoverMenuOS->show_all();}); key_global = ""; } diff --git a/source/menu_os.h b/source/menu_os.h index 0768c7b..231e4e4 100644 --- a/source/menu_os.h +++ b/source/menu_os.h @@ -13,7 +13,7 @@ private: Glib::RefPtr builder; vector>> vec_list_os; - Gtk::Popover *popoverMenuOS; + Gtk::Window *popoverMenuOS; Gtk::Revealer *revealerL1; Gtk::Revealer *revealerL2; Gtk::Button *btnToLev1; @@ -26,6 +26,7 @@ private: string path_glade = ""; Gtk::Box *boxALLL3; Gtk::Box *boxLevel1; + Gtk::Button *btnOpenMenuOS; struct struct_menu_level_3 { Gtk::Button *btnToL3; Gtk::Label *lblToL3; @@ -60,6 +61,7 @@ public: void set_entry(Gtk::Entry *entry); void event_template(Gtk::Label* label, string& name_level, string& key); void event(); + void set_btnOpenMenuOS(Gtk::Button *btnOpenMenuOS); void to_l1(); ~Menu_os(); }; diff --git a/source/ubl-settings-bootloader.cc b/source/ubl-settings-bootloader.cc index 9c8d6a2..e8e50b2 100644 --- a/source/ubl-settings-bootloader.cc +++ b/source/ubl-settings-bootloader.cc @@ -51,6 +51,7 @@ SettingsPlug::SettingsPlug(::Window p_socketID, Glib::RefPtr build wnd->event(); plugBox->get_parent()->remove(*plugBox); add(*plugBox); + wnd->set_menu_os_to_button(); show_all_children(); } @@ -246,7 +247,6 @@ void MainWindow::settings() { overHead->add_overlay(*boxWidget); btnBoxAboutDialog->set_visible(false); ubl_make_plugs(boxSave,boxButton, socket_ext_id_I, socket_trd_id_I); - #ifdef WEBKIT_FOUND one = WEBKIT_WEB_VIEW(webkit_web_view_new()); three = Glib::wrap(GTK_WIDGET(one)); @@ -285,6 +285,10 @@ void MainWindow::settings() { } } +void MainWindow::set_menu_os_to_button() { + obj_menu_os.set_btnOpenMenuOS(btnOpenMenuOS1); +} + void MainWindow::set_plug(Gtk::Widget *plug) { this->plug = plug; } @@ -633,7 +637,7 @@ void MainWindow::get_builder() { builder->get_widget("btnReadHelp", btnReadHelp); builder->get_widget("btnCancelHelp", btnCancelHelp); builder->get_widget("wndShowWeb", wndShowWeb); - builder->get_widget("btnOpenMenuOS", btnOpenMenuOS); + builder->get_widget("btnOpenMenuOS1", btnOpenMenuOS1); builder->get_widget("entrListOS", entrListOS); builder->get_widget("treeViewUser", treeViewUser); builder->get_widget("treeViewMelody", treeViewMelody); @@ -700,7 +704,7 @@ void MainWindow::localization() { btnAddMusic->set_tooltip_text(str_tooltip_add_melody); btnRemoveUser->set_tooltip_text(str_tooltip_del_user); btnAddUser->set_tooltip_text(str_tooltip_add_user); - btnOpenMenuOS->set_tooltip_text(str_tooltip_boot_menu); + btnOpenMenuOS1->set_tooltip_text(str_tooltip_boot_menu); } vector MainWindow::get_setting_entry_all(string key, std::map * map_temp) { @@ -814,7 +818,7 @@ void MainWindow::event() { btnEditMusic->signal_clicked().connect([&]() {wrapper_edit_show_melody();}); btnAddUser->signal_clicked().connect([&]() {wrapper_add_data_user();}); btnAddMusic->signal_clicked().connect([&]() {wrapper_add_data_melody();}); - btnOpenMenuOS->signal_clicked().connect([&]() {obj_menu_os.show();}); + btnOpenMenuOS1->signal_clicked().connect([&]() {obj_menu_os.show();}); 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)); diff --git a/source/ubl-settings-bootloader.h b/source/ubl-settings-bootloader.h index 3254043..70c3090 100644 --- a/source/ubl-settings-bootloader.h +++ b/source/ubl-settings-bootloader.h @@ -324,7 +324,7 @@ public: Gtk::Button *btnReadHelp; Gtk::Button *btnCancelHelp; Gtk::Window *wndShowWeb; - Gtk::Button *btnOpenMenuOS; + Gtk::Button *btnOpenMenuOS1; Gtk::Entry *entrListOS; std::vector vec_Option_kernel; @@ -474,6 +474,7 @@ public: void wrapper_edit_user(bool check, string column1, string column2); void wrapper_set_add_data_melody(bool flag, string &name, string &code); void wrapper_set_add_data_user(bool flag, string &name, string &password); + void set_menu_os_to_button(); }; class SettingsPlug : public Gtk::Plug diff --git a/ubl-settings-bootloader.glade b/ubl-settings-bootloader.glade index 1b94d7f..7147009 100644 --- a/ubl-settings-bootloader.glade +++ b/ubl-settings-bootloader.glade @@ -522,7 +522,7 @@ - + True True True @@ -1599,10 +1599,99 @@ - + False - btnOpenMenuOS - bottom + Внимание! + center + dialog + + + True + False + vertical + + + True + False + 5 + 5 + 5 + 5 + + + True + False + 5 + 5 + 5 + 5 + 5 + 5 + 50 + gtk-dialog-warning + + + True + True + 0 + + + + + 160 + True + False + start + center + 5 + 5 + 5 + 5 + 5 + 5 + Warning! + + + True + True + 1 + + + + + False + True + 1 + + + + + OK + True + True + True + 5 + 5 + 5 + 5 + 3 + 3 + + + False + True + 1 + + + + + + + False + True + True + False + com.ublinux.ubl-settings-datetime True @@ -1701,90 +1790,26 @@ - - - False - Внимание! - center - dialog - - + + True False - vertical - - + True + + True False - 5 - 5 - 5 - 5 - - - True - False - 5 - 5 - 5 - 5 - 5 - 5 - 50 - gtk-dialog-warning - - - True - True - 0 - - - - - 160 - True - False - start - center - 5 - 5 - 5 - 5 - 5 - 5 - Warning! - - - True - True - 1 - - + ubl-settings-bootloader - - False - True - 1 - - - OK + True - True - True - 5 - 5 - 5 - 5 - 3 - 3 + False + 32 + com.ublinux.ubl-settings-bootloader + 5 - - False - True - 1 - @@ -2042,6 +2067,7 @@ True False + True True