Исправил окна с списком ос

pull/34/head
Igor Belitskiy 3 years ago
parent 8c3cec9d57
commit 7684ea96ee

@ -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 \ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pedantic -Wall -Wextra -Werror -Wmissing-declarations -fdiagnostics-color=always \
-O2 -pipe -fno-plt -fexceptions \ -O2 -pipe -fno-plt -fexceptions \
-Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security \ -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security \
-fstack-clash-protection -fcf-protection") -fstack-clash-protection -fcf-protection -g")
set(SOURCE_FILES set(SOURCE_FILES
menu_os.h menu_os.h

@ -54,6 +54,7 @@ int main(int argc, char** argv) {
builder->get_widget_derived("window", wnd); builder->get_widget_derived("window", wnd);
wnd->settings(); wnd->settings();
wnd->event(); wnd->event();
wnd->set_menu_os_to_button();
auto r = app->run(*wnd); auto r = app->run(*wnd);
delete wnd; delete wnd;
return r; return r;

@ -22,10 +22,13 @@ void Menu_os::set_builder(Glib::RefPtr<Gtk::Builder>& builder, string path_glade
builder->get_widget("boxALLL3", boxALLL3); builder->get_widget("boxALLL3", boxALLL3);
builder->get_widget("boxLevel1", boxLevel1); builder->get_widget("boxLevel1", boxLevel1);
builder->get_widget("btnToLev1", btnToLev1); builder->get_widget("btnToLev1", btnToLev1);
revealerL1->set_reveal_child(true); revealerL1->set_reveal_child(true);
} }
void Menu_os::set_btnOpenMenuOS(Gtk::Button *btnOpenMenuOS) {
this->btnOpenMenuOS = btnOpenMenuOS;
}
void Menu_os::set_map(vector<tuple<string, vector<string>>> &vec_list_os) { void Menu_os::set_map(vector<tuple<string, vector<string>>> &vec_list_os) {
this->vec_list_os = vec_list_os; this->vec_list_os = vec_list_os;
} }
@ -138,6 +141,7 @@ void Menu_os::to_l1() {
revealerL1->set_reveal_child(true); revealerL1->set_reveal_child(true);
revealerL2->set_reveal_child(false); revealerL2->set_reveal_child(false);
map_menu_level_1[key_global]->revealer->set_reveal_child(false); map_menu_level_1[key_global]->revealer->set_reveal_child(false);
btnOpenMenuOS->signal_clicked().connect([&]() {popoverMenuOS->show_all();});
key_global = ""; key_global = "";
} }

@ -13,7 +13,7 @@ private:
Glib::RefPtr<Gtk::Builder> builder; Glib::RefPtr<Gtk::Builder> builder;
vector<tuple<string, vector<string>>> vec_list_os; vector<tuple<string, vector<string>>> vec_list_os;
Gtk::Popover *popoverMenuOS; Gtk::Window *popoverMenuOS;
Gtk::Revealer *revealerL1; Gtk::Revealer *revealerL1;
Gtk::Revealer *revealerL2; Gtk::Revealer *revealerL2;
Gtk::Button *btnToLev1; Gtk::Button *btnToLev1;
@ -26,6 +26,7 @@ private:
string path_glade = ""; string path_glade = "";
Gtk::Box *boxALLL3; Gtk::Box *boxALLL3;
Gtk::Box *boxLevel1; Gtk::Box *boxLevel1;
Gtk::Button *btnOpenMenuOS;
struct struct_menu_level_3 { struct struct_menu_level_3 {
Gtk::Button *btnToL3; Gtk::Button *btnToL3;
Gtk::Label *lblToL3; Gtk::Label *lblToL3;
@ -60,6 +61,7 @@ public:
void set_entry(Gtk::Entry *entry); void set_entry(Gtk::Entry *entry);
void event_template(Gtk::Label* label, string& name_level, string& key); void event_template(Gtk::Label* label, string& name_level, string& key);
void event(); void event();
void set_btnOpenMenuOS(Gtk::Button *btnOpenMenuOS);
void to_l1(); void to_l1();
~Menu_os(); ~Menu_os();
}; };

@ -51,6 +51,7 @@ SettingsPlug::SettingsPlug(::Window p_socketID, Glib::RefPtr<Gtk::Builder> build
wnd->event(); wnd->event();
plugBox->get_parent()->remove(*plugBox); plugBox->get_parent()->remove(*plugBox);
add(*plugBox); add(*plugBox);
wnd->set_menu_os_to_button();
show_all_children(); show_all_children();
} }
@ -246,7 +247,6 @@ void MainWindow::settings() {
overHead->add_overlay(*boxWidget); overHead->add_overlay(*boxWidget);
btnBoxAboutDialog->set_visible(false); btnBoxAboutDialog->set_visible(false);
ubl_make_plugs(boxSave,boxButton, socket_ext_id_I, socket_trd_id_I); ubl_make_plugs(boxSave,boxButton, socket_ext_id_I, socket_trd_id_I);
#ifdef WEBKIT_FOUND #ifdef WEBKIT_FOUND
one = WEBKIT_WEB_VIEW(webkit_web_view_new()); one = WEBKIT_WEB_VIEW(webkit_web_view_new());
three = Glib::wrap(GTK_WIDGET(one)); 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) { void MainWindow::set_plug(Gtk::Widget *plug) {
this->plug = plug; this->plug = plug;
} }
@ -633,7 +637,7 @@ void MainWindow::get_builder() {
builder->get_widget("btnReadHelp", btnReadHelp); builder->get_widget("btnReadHelp", btnReadHelp);
builder->get_widget("btnCancelHelp", btnCancelHelp); builder->get_widget("btnCancelHelp", btnCancelHelp);
builder->get_widget("wndShowWeb", wndShowWeb); builder->get_widget("wndShowWeb", wndShowWeb);
builder->get_widget("btnOpenMenuOS", btnOpenMenuOS); builder->get_widget("btnOpenMenuOS1", btnOpenMenuOS1);
builder->get_widget("entrListOS", entrListOS); builder->get_widget("entrListOS", entrListOS);
builder->get_widget("treeViewUser", treeViewUser); builder->get_widget("treeViewUser", treeViewUser);
builder->get_widget("treeViewMelody", treeViewMelody); builder->get_widget("treeViewMelody", treeViewMelody);
@ -700,7 +704,7 @@ void MainWindow::localization() {
btnAddMusic->set_tooltip_text(str_tooltip_add_melody); btnAddMusic->set_tooltip_text(str_tooltip_add_melody);
btnRemoveUser->set_tooltip_text(str_tooltip_del_user); btnRemoveUser->set_tooltip_text(str_tooltip_del_user);
btnAddUser->set_tooltip_text(str_tooltip_add_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<string> MainWindow::get_setting_entry_all(string key, std::map <string, string>* map_temp) { vector<string> MainWindow::get_setting_entry_all(string key, std::map <string, string>* map_temp) {
@ -814,7 +818,7 @@ void MainWindow::event() {
btnEditMusic->signal_clicked().connect([&]() {wrapper_edit_show_melody();}); btnEditMusic->signal_clicked().connect([&]() {wrapper_edit_show_melody();});
btnAddUser->signal_clicked().connect([&]() {wrapper_add_data_user();}); btnAddUser->signal_clicked().connect([&]() {wrapper_add_data_user();});
btnAddMusic->signal_clicked().connect([&]() {wrapper_add_data_melody();}); 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();}); 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));

@ -324,7 +324,7 @@ public:
Gtk::Button *btnReadHelp; Gtk::Button *btnReadHelp;
Gtk::Button *btnCancelHelp; Gtk::Button *btnCancelHelp;
Gtk::Window *wndShowWeb; Gtk::Window *wndShowWeb;
Gtk::Button *btnOpenMenuOS; Gtk::Button *btnOpenMenuOS1;
Gtk::Entry *entrListOS; Gtk::Entry *entrListOS;
std::vector<std::string> vec_Option_kernel; std::vector<std::string> vec_Option_kernel;
@ -474,6 +474,7 @@ public:
void wrapper_edit_user(bool check, string column1, string column2); 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_melody(bool flag, string &name, string &code);
void wrapper_set_add_data_user(bool flag, string &name, string &password); void wrapper_set_add_data_user(bool flag, string &name, string &password);
void set_menu_os_to_button();
}; };
class SettingsPlug : public Gtk::Plug class SettingsPlug : public Gtk::Plug

@ -522,7 +522,7 @@
</packing> </packing>
</child> </child>
<child> <child>
<object class="GtkButton" id="btnOpenMenuOS"> <object class="GtkButton" id="btnOpenMenuOS1">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">True</property> <property name="can-focus">True</property>
<property name="receives-default">True</property> <property name="receives-default">True</property>
@ -1599,10 +1599,99 @@
<widget name="treeViewOTT"/> <widget name="treeViewOTT"/>
</widgets> </widgets>
</object> </object>
<object class="GtkPopover" id="popoverMenuOS"> <object class="GtkWindow" id="mess_sudo">
<property name="can-focus">False</property> <property name="can-focus">False</property>
<property name="relative-to">btnOpenMenuOS</property> <property name="title" translatable="yes">Внимание!</property>
<property name="position">bottom</property> <property name="window-position">center</property>
<property name="type-hint">dialog</property>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="margin-left">5</property>
<property name="margin-right">5</property>
<property name="margin-start">5</property>
<property name="margin-end">5</property>
<child>
<object class="GtkImage">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="margin-left">5</property>
<property name="margin-right">5</property>
<property name="margin-start">5</property>
<property name="margin-end">5</property>
<property name="margin-top">5</property>
<property name="margin-bottom">5</property>
<property name="pixel-size">50</property>
<property name="icon-name">gtk-dialog-warning</property>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="lblMessageSudo">
<property name="width-request">160</property>
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="halign">start</property>
<property name="valign">center</property>
<property name="margin-left">5</property>
<property name="margin-right">5</property>
<property name="margin-start">5</property>
<property name="margin-end">5</property>
<property name="margin-top">5</property>
<property name="margin-bottom">5</property>
<property name="label" translatable="yes">Warning!</property>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkButton" id="btnMessCloseSudo">
<property name="label" translatable="yes">OK</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="margin-left">5</property>
<property name="margin-right">5</property>
<property name="margin-start">5</property>
<property name="margin-end">5</property>
<property name="margin-top">3</property>
<property name="margin-bottom">3</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
</child>
</object>
<object class="GtkWindow" id="popoverMenuOS">
<property name="can-focus">False</property>
<property name="hexpand">True</property>
<property name="vexpand">True</property>
<property name="resizable">False</property>
<property name="icon-name">com.ublinux.ubl-settings-datetime</property>
<child> <child>
<object class="GtkBox"> <object class="GtkBox">
<property name="visible">True</property> <property name="visible">True</property>
@ -1701,90 +1790,26 @@
</child> </child>
</object> </object>
</child> </child>
</object> <child type="titlebar">
<object class="GtkWindow" id="mess_sudo"> <object class="GtkHeaderBar">
<property name="can-focus">False</property>
<property name="title" translatable="yes">Внимание!</property>
<property name="window-position">center</property>
<property name="type-hint">dialog</property>
<child>
<object class="GtkBox">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can-focus">False</property>
<property name="orientation">vertical</property> <property name="show-close-button">True</property>
<child> <child type="title">
<object class="GtkBox"> <object class="GtkLabel" id="lblHeadeWndWeb1">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can-focus">False</property>
<property name="margin-left">5</property> <property name="label" translatable="yes">ubl-settings-bootloader</property>
<property name="margin-right">5</property>
<property name="margin-start">5</property>
<property name="margin-end">5</property>
<child>
<object class="GtkImage">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="margin-left">5</property>
<property name="margin-right">5</property>
<property name="margin-start">5</property>
<property name="margin-end">5</property>
<property name="margin-top">5</property>
<property name="margin-bottom">5</property>
<property name="pixel-size">50</property>
<property name="icon-name">gtk-dialog-warning</property>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="lblMessageSudo">
<property name="width-request">160</property>
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="halign">start</property>
<property name="valign">center</property>
<property name="margin-left">5</property>
<property name="margin-right">5</property>
<property name="margin-start">5</property>
<property name="margin-end">5</property>
<property name="margin-top">5</property>
<property name="margin-bottom">5</property>
<property name="label" translatable="yes">Warning!</property>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object> </object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child> </child>
<child> <child>
<object class="GtkButton" id="btnMessCloseSudo"> <object class="GtkImage">
<property name="label" translatable="yes">OK</property>
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">True</property> <property name="can-focus">False</property>
<property name="receives-default">True</property> <property name="pixel-size">32</property>
<property name="margin-left">5</property> <property name="icon-name">com.ublinux.ubl-settings-bootloader</property>
<property name="margin-right">5</property> <property name="icon_size">5</property>
<property name="margin-start">5</property>
<property name="margin-end">5</property>
<property name="margin-top">3</property>
<property name="margin-bottom">3</property>
</object> </object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child> </child>
</object> </object>
</child> </child>
@ -2042,6 +2067,7 @@
<object class="GtkHeaderBar"> <object class="GtkHeaderBar">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can-focus">False</property>
<property name="show-close-button">True</property>
<child type="title"> <child type="title">
<object class="GtkLabel" id="lblEditAddHead"> <object class="GtkLabel" id="lblEditAddHead">
<property name="visible">True</property> <property name="visible">True</property>

Loading…
Cancel
Save