[fractal] Open main menu shortcut



commit fb3bff2bf9d76085c9c89ea693e36abacfab1ce8
Author: João Vieira <jvieira tpt gmail com>
Date:   Sat Jun 13 19:25:39 2020 +0100

    Open main menu shortcut

 fractal-gtk/src/actions/global.rs |  4 ++++
 fractal-gtk/src/appop/mod.rs      | 10 ++++++++++
 2 files changed, 14 insertions(+)
---
diff --git a/fractal-gtk/src/actions/global.rs b/fractal-gtk/src/actions/global.rs
index 0d5b1315..eaba6d8c 100644
--- a/fractal-gtk/src/actions/global.rs
+++ b/fractal-gtk/src/actions/global.rs
@@ -80,6 +80,7 @@ pub fn new(app: &gtk::Application, op: &Arc<Mutex<AppOp>>) {
     let shortcuts = SimpleAction::new("shortcuts", None);
     let about = SimpleAction::new("about", None);
     let quit = SimpleAction::new("quit", None);
+    let main_menu = SimpleAction::new("main_menu", None);
 
     let open_room = SimpleAction::new("open-room", glib::VariantTy::new("s").ok());
     let back = SimpleAction::new("back", None);
@@ -121,6 +122,7 @@ pub fn new(app: &gtk::Application, op: &Arc<Mutex<AppOp>>) {
     app.add_action(&room_settings);
     app.add_action(&media_viewer);
     app.add_action(&account);
+    app.add_action(&main_menu);
 
     app.add_action(&send_file);
     app.add_action(&send_message);
@@ -142,6 +144,7 @@ pub fn new(app: &gtk::Application, op: &Arc<Mutex<AppOp>>) {
     });
 
     about.connect_activate(clone!(op => move |_, _| op.lock().unwrap().about_dialog() ));
+    main_menu.connect_activate(clone!(op => move |_, _| op.lock().unwrap().main_menu() ));
 
     settings.connect_activate(move |_, _| {
         info!("SETTINGS");
@@ -332,6 +335,7 @@ pub fn new(app: &gtk::Application, op: &Arc<Mutex<AppOp>>) {
     app.set_accels_for_action("app.older-messages", &["Page_Up"]);
     app.set_accels_for_action("app.newer-messages", &["Page_Down"]);
     app.set_accels_for_action("app.back", &["Escape"]);
+    app.set_accels_for_action("app.main_menu", &["F10"]);
 
     // connect mouse back button to app.back action
     let app_weak = app.downgrade();
diff --git a/fractal-gtk/src/appop/mod.rs b/fractal-gtk/src/appop/mod.rs
index 63f57c1a..740520f1 100644
--- a/fractal-gtk/src/appop/mod.rs
+++ b/fractal-gtk/src/appop/mod.rs
@@ -191,4 +191,14 @@ impl AppOp {
         self.cache_rooms();
         self.disconnect();
     }
+
+    pub fn main_menu(&self) {
+        let main_menu_button = self
+            .ui
+            .builder
+            .get_object::<gtk::MenuButton>("main_menu_button")
+            .expect("Couldn't find main_menu_button in ui file.");
+
+        main_menu_button.clicked();
+    }
 }


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]