diff options
author | YPozdnyakov <YPozdnyakov@wavesglobal.com> | 2015-02-08 17:18:39 +0200 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2015-06-29 14:16:43 -0400 |
commit | 4465fb62f3afc1162cda4e9dd0c66b77bf45ba21 (patch) | |
tree | fa5c592ebee823551e064f3fb53f1a70bed29209 | |
parent | 57dd0ef2f67e127f2ef53d29c1e250d99669f90b (diff) |
[Summary]: add keybindings Cmd-h (hide application) for mac
Conflicts:
gtk2_ardour/ardour_ui.cc
gtk2_ardour/ardour_ui.h
gtk2_ardour/ardour_ui_ed.cc
-rw-r--r-- | gtk2_ardour/ardour_ui.cc | 6 | ||||
-rw-r--r-- | gtk2_ardour/ardour_ui.h | 1 | ||||
-rw-r--r-- | gtk2_ardour/ardour_ui_ed.cc | 1 | ||||
-rw-r--r-- | gtk2_ardour/mnemonic-us.bindings.in | 1 | ||||
-rw-r--r-- | libs/gtkmm2ext/application.cc | 6 | ||||
-rw-r--r-- | libs/gtkmm2ext/gtkapplication_quartz.mm | 8 | ||||
-rw-r--r-- | libs/gtkmm2ext/gtkapplication_win32.c | 5 | ||||
-rw-r--r-- | libs/gtkmm2ext/gtkapplication_x11.c | 5 | ||||
-rw-r--r-- | libs/gtkmm2ext/gtkmm2ext/application.h | 1 | ||||
-rw-r--r-- | libs/gtkmm2ext/gtkmm2ext/gtkapplication.h | 1 |
10 files changed, 34 insertions, 1 deletions
diff --git a/gtk2_ardour/ardour_ui.cc b/gtk2_ardour/ardour_ui.cc index 45265a76f8..0d646c8add 100644 --- a/gtk2_ardour/ardour_ui.cc +++ b/gtk2_ardour/ardour_ui.cc @@ -4865,3 +4865,9 @@ ARDOUR_UI::audioengine_became_silent () break; } } + +void +ARDOUR_UI::hide_application () +{ + Application::instance ()-> hide (); +} diff --git a/gtk2_ardour/ardour_ui.h b/gtk2_ardour/ardour_ui.h index 9a3e7e945b..b6ec8a8799 100644 --- a/gtk2_ardour/ardour_ui.h +++ b/gtk2_ardour/ardour_ui.h @@ -308,6 +308,7 @@ class ARDOUR_UI : public Gtkmm2ext::UI, public ARDOUR::SessionHandlePtr int disconnect_from_engine (); int reconnect_to_engine (); + void hide_application (); protected: friend class PublicEditor; diff --git a/gtk2_ardour/ardour_ui_ed.cc b/gtk2_ardour/ardour_ui_ed.cc index 90fac66052..c82c41c000 100644 --- a/gtk2_ardour/ardour_ui_ed.cc +++ b/gtk2_ardour/ardour_ui_ed.cc @@ -190,6 +190,7 @@ ARDOUR_UI::install_actions () common_actions = ActionGroup::create (X_("Common")); ActionManager::register_action (common_actions, X_("Quit"), _("Quit"), (hide_return (sigc::mem_fun(*this, &ARDOUR_UI::finish)))); + ActionManager::register_action (common_actions, X_("Hide"), _("Hide"), sigc::mem_fun (*this, &ARDOUR_UI::hide_application)); /* windows visibility actions */ diff --git a/gtk2_ardour/mnemonic-us.bindings.in b/gtk2_ardour/mnemonic-us.bindings.in index 174f26dcf8..6819ef92f8 100644 --- a/gtk2_ardour/mnemonic-us.bindings.in +++ b/gtk2_ardour/mnemonic-us.bindings.in @@ -139,6 +139,7 @@ This mode provides many different operations on both regions and control points, ;; TOP ROW @sess|Common/Quit|<@PRIMARY@>q|quit +@sess|Common/Hide|<@PRIMARY@>h|hide @movp|Editor/jump-forward-to-mark|w|to next mark @movp|Editor/jump-backward-to-mark|q|to previous mark diff --git a/libs/gtkmm2ext/application.cc b/libs/gtkmm2ext/application.cc index 54efb4773f..eb1cea1b5f 100644 --- a/libs/gtkmm2ext/application.cc +++ b/libs/gtkmm2ext/application.cc @@ -59,6 +59,12 @@ Application::ready () } void +Application::hide () +{ + gtk_application_hide (); +} + +void Application::cleanup () { gtk_application_cleanup (); diff --git a/libs/gtkmm2ext/gtkapplication_quartz.mm b/libs/gtkmm2ext/gtkapplication_quartz.mm index 0a6171eb16..faefd6b6ac 100644 --- a/libs/gtkmm2ext/gtkapplication_quartz.mm +++ b/libs/gtkmm2ext/gtkapplication_quartz.mm @@ -1221,7 +1221,7 @@ create_apple_menu () [menuitem release]; [_app_menu addItem: [NSMenuItem separatorItem]]; menuitem = [[NSMenuItem alloc] initWithTitle:@"Hide" - action:@selector(hide:) keyEquivalent:@""]; + action:@selector(hide:) keyEquivalent:@"h"]; [menuitem setTarget: NSApp]; [_app_menu addItem: menuitem]; [menuitem release]; @@ -1477,6 +1477,12 @@ gtk_application_ready () } extern "C" void +gtk_application_hide () +{ + [NSApp performSelector:@selector(hide:)]; +} + +extern "C" void gtk_application_cleanup() { _exiting = 1; diff --git a/libs/gtkmm2ext/gtkapplication_win32.c b/libs/gtkmm2ext/gtkapplication_win32.c index 78d538b334..7dd9db4a8d 100644 --- a/libs/gtkmm2ext/gtkapplication_win32.c +++ b/libs/gtkmm2ext/gtkapplication_win32.c @@ -47,3 +47,8 @@ void gtk_application_ready (void) { } + +void +gtk_application_hide (void) +{ +} diff --git a/libs/gtkmm2ext/gtkapplication_x11.c b/libs/gtkmm2ext/gtkapplication_x11.c index 2b85677073..6cf1055c5c 100644 --- a/libs/gtkmm2ext/gtkapplication_x11.c +++ b/libs/gtkmm2ext/gtkapplication_x11.c @@ -50,3 +50,8 @@ void gtk_application_ready (void) { } + +void +gtk_application_hide (void) +{ +} diff --git a/libs/gtkmm2ext/gtkmm2ext/application.h b/libs/gtkmm2ext/gtkmm2ext/application.h index f0d029d3e7..e66b6ea2ff 100644 --- a/libs/gtkmm2ext/gtkmm2ext/application.h +++ b/libs/gtkmm2ext/gtkmm2ext/application.h @@ -45,6 +45,7 @@ public: ~Application (); void ready (); + void hide (); void cleanup (); void set_menu_bar (Gtk::MenuShell&); GtkApplicationMenuGroup* add_app_menu_group (); diff --git a/libs/gtkmm2ext/gtkmm2ext/gtkapplication.h b/libs/gtkmm2ext/gtkmm2ext/gtkapplication.h index 83594fefbe..4e977de8a9 100644 --- a/libs/gtkmm2ext/gtkmm2ext/gtkapplication.h +++ b/libs/gtkmm2ext/gtkmm2ext/gtkapplication.h @@ -34,6 +34,7 @@ typedef struct _GtkApplicationMenuGroup GtkApplicationMenuGroup; LIBGTKMM2EXT_API int gtk_application_init (void); LIBGTKMM2EXT_API void gtk_application_ready (void); +LIBGTKMM2EXT_API void gtk_application_hide (void); LIBGTKMM2EXT_API void gtk_application_cleanup (void); LIBGTKMM2EXT_API void gtk_application_set_menu_bar (GtkMenuShell *menu_shell); |