diff --git a/Gtkmm3/res/appmenu.xml b/Gtkmm3/res/appmenu.xml index 400562b..09d66ff 100644 --- a/Gtkmm3/res/appmenu.xml +++ b/Gtkmm3/res/appmenu.xml @@ -32,6 +32,11 @@ system win.size + + Log Out + log_out + win.logout + Exit log_out diff --git a/Gtkmm3/src/MyStack.cc b/Gtkmm3/src/MyStack.cc index 913b7ff..1315db7 100644 --- a/Gtkmm3/src/MyStack.cc +++ b/Gtkmm3/src/MyStack.cc @@ -44,3 +44,7 @@ void MyStack::add_stack(Gtk::Box &vbox){ void MyStack::btnlogin_clicked(){ stack->set_visible_child(*main_overlay); } + +void MyStack::logout(){ + stack->set_visible_child(*login_overlay); +} diff --git a/Gtkmm3/src/MyStack.hh b/Gtkmm3/src/MyStack.hh index c91d0e0..17cd58a 100644 --- a/Gtkmm3/src/MyStack.hh +++ b/Gtkmm3/src/MyStack.hh @@ -8,6 +8,7 @@ class MyStack{ public: MyStack(Gtk::Window *parent1); void add_stack(Gtk::Box &vbox); + void logout(); Gtk::Stack *stack; private: //Parent Window diff --git a/Gtkmm3/src/MyWin.cc b/Gtkmm3/src/MyWin.cc index c7f8739..4ab0556 100644 --- a/Gtkmm3/src/MyWin.cc +++ b/Gtkmm3/src/MyWin.cc @@ -30,6 +30,7 @@ height(450) add_action("back",sigc::mem_fun(*this,&MyWin::back_dialog)); add_action("size",sigc::mem_fun(*this,&MyWin::size_dialog)); add_action("about",sigc::mem_fun(*this,&MyWin::about_dialog)); + add_action("logout",sigc::mem_fun(*this,&MyWin::win_logout)); //Set Popover Menu popover.bind_model(gmenu); @@ -148,6 +149,10 @@ void MyWin::about_dialog(){ g_free(version); } +void MyWin::win_logout(){ + main_stack.logout(); +} + void MyWin::win_quit(){ hide(); } diff --git a/Gtkmm3/src/MyWin.hh b/Gtkmm3/src/MyWin.hh index 485f624..fa2ae62 100644 --- a/Gtkmm3/src/MyWin.hh +++ b/Gtkmm3/src/MyWin.hh @@ -36,5 +36,6 @@ private: void size_dialog(); void change_background(int response); void about_dialog(); + void win_logout(); void win_quit(); }; \ No newline at end of file