diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2015-08-04 14:00:57 -0400 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2016-02-22 15:31:23 -0500 |
commit | 2c6799f247afa3b77f0e3d878666409fd7f728bc (patch) | |
tree | 46b1a57f8b1ae28e7111b7e87dbff83590c07c9f | |
parent | 40cdb01832eac730ac711e444a9d3fd38c992061 (diff) |
changes to support new key bindings editor design
-rw-r--r-- | gtk2_ardour/ardour_ui.h | 10 | ||||
-rw-r--r-- | gtk2_ardour/ardour_ui_dialogs.cc | 12 | ||||
-rw-r--r-- | gtk2_ardour/editor.cc | 4 | ||||
-rw-r--r-- | gtk2_ardour/editor.h | 1 | ||||
-rw-r--r-- | gtk2_ardour/editor_actions.cc | 4 | ||||
-rw-r--r-- | gtk2_ardour/keyboard.cc | 2 | ||||
-rw-r--r-- | gtk2_ardour/public_editor.h | 3 |
7 files changed, 26 insertions, 10 deletions
diff --git a/gtk2_ardour/ardour_ui.h b/gtk2_ardour/ardour_ui.h index e6ec7bcb50..b202a0dff5 100644 --- a/gtk2_ardour/ardour_ui.h +++ b/gtk2_ardour/ardour_ui.h @@ -333,6 +333,9 @@ class ARDOUR_UI : public Gtkmm2ext::UI, public ARDOUR::SessionHandlePtr bool tabbed_window_state_event_handler (GdkEventWindowState*, void* object); bool key_event_handler (GdkEventKey*, Gtk::Window* window); + Gtkmm2ext::ActionMap global_actions; + Gtkmm2ext::Bindings global_bindings; + protected: friend class PublicEditor; @@ -648,7 +651,6 @@ class ARDOUR_UI : public Gtkmm2ext::UI, public ARDOUR::SessionHandlePtr Gtk::HBox rc_option_editor_placeholder; WM::Proxy<SpeakerDialog> speaker_config_window; - WM::Proxy<KeyEditor> key_editor; WM::Proxy<AddRouteDialog> add_route_dialog; WM::Proxy<About> about; WM::Proxy<LocationUIWindow> location_ui; @@ -664,6 +666,7 @@ class ARDOUR_UI : public Gtkmm2ext::UI, public ARDOUR::SessionHandlePtr WM::ProxyWithConstructor<BigClockWindow> big_clock_window; WM::ProxyWithConstructor<GlobalPortMatrixWindow> audio_port_matrix; WM::ProxyWithConstructor<GlobalPortMatrixWindow> midi_port_matrix; + WM::ProxyWithConstructor<KeyEditor> key_editor; /* creator methods */ @@ -672,7 +675,8 @@ class ARDOUR_UI : public Gtkmm2ext::UI, public ARDOUR::SessionHandlePtr AddVideoDialog* create_add_video_dialog (); BigClockWindow* create_big_clock_window(); GlobalPortMatrixWindow* create_global_port_matrix (ARDOUR::DataType); - + KeyEditor* create_key_editor (); + ARDOUR::SystemExec *video_server_process; void handle_locations_change (ARDOUR::Location*); @@ -828,8 +832,6 @@ class ARDOUR_UI : public Gtkmm2ext::UI, public ARDOUR::SessionHandlePtr bool main_window_delete_event (GdkEventAny*); bool idle_ask_about_quit (); - Gtkmm2ext::ActionMap global_actions; - Gtkmm2ext::Bindings global_bindings; void load_bindings (); }; diff --git a/gtk2_ardour/ardour_ui_dialogs.cc b/gtk2_ardour/ardour_ui_dialogs.cc index ca284698d1..5997c9045b 100644 --- a/gtk2_ardour/ardour_ui_dialogs.cc +++ b/gtk2_ardour/ardour_ui_dialogs.cc @@ -473,6 +473,18 @@ ARDOUR_UI::new_midi_tracer_window () } } +KeyEditor* +ARDOUR_UI::create_key_editor () +{ + KeyEditor* kedit = new KeyEditor; + + kedit->add_tab (_("Global"), global_bindings); + kedit->add_tab (_("Editing"), editor->bindings); + kedit->add_tab (_("Mixing"), mixer->bindings); + + return kedit; +} + BundleManager* ARDOUR_UI::create_bundle_manager () { diff --git a/gtk2_ardour/editor.cc b/gtk2_ardour/editor.cc index ee239bef08..44cde59794 100644 --- a/gtk2_ardour/editor.cc +++ b/gtk2_ardour/editor.cc @@ -471,7 +471,7 @@ Editor::Editor () last_event_time.tv_sec = 0; last_event_time.tv_usec = 0; - global_hpacker.set_data ("ardour-bindings", &key_bindings); + global_hpacker.set_data ("ardour-bindings", &bindings); selection_op_history.clear(); before.clear(); @@ -5862,7 +5862,7 @@ Editor::use_own_window (bool and_fill_it) // win->signal_realize().connect (*this, &Editor::on_realize); win->signal_event().connect (sigc::mem_fun (*this, &Editor::generic_event_handler)); - win->set_data ("ardour-bindings", &key_bindings); + win->set_data ("ardour-bindings", &bindings); update_title (); } diff --git a/gtk2_ardour/editor.h b/gtk2_ardour/editor.h index 6240663e3b..8c86203a68 100644 --- a/gtk2_ardour/editor.h +++ b/gtk2_ardour/editor.h @@ -551,7 +551,6 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD bool constructed; Gtkmm2ext::ActionMap myactions; - Gtkmm2ext::Bindings key_bindings; // to keep track of the playhead position for control_scroll boost::optional<framepos_t> _control_scroll_target; diff --git a/gtk2_ardour/editor_actions.cc b/gtk2_ardour/editor_actions.cc index 35fea0eb36..dcc81dd557 100644 --- a/gtk2_ardour/editor_actions.cc +++ b/gtk2_ardour/editor_actions.cc @@ -754,8 +754,8 @@ Editor::register_actions () void Editor::load_bindings () { - key_bindings.set_action_map (myactions); - key_bindings.load ("editor"); + bindings.set_action_map (myactions); + bindings.load ("editor"); } void diff --git a/gtk2_ardour/keyboard.cc b/gtk2_ardour/keyboard.cc index 76f743d64e..3612e5facb 100644 --- a/gtk2_ardour/keyboard.cc +++ b/gtk2_ardour/keyboard.cc @@ -35,7 +35,7 @@ using namespace Gtk; using namespace PBD; using namespace ARDOUR; using Gtkmm2ext::Keyboard; - + static void accel_map_changed (GtkAccelMap* /*map*/, gchar* /*path*/, diff --git a/gtk2_ardour/public_editor.h b/gtk2_ardour/public_editor.h index e2e0e4fbc1..0274c40474 100644 --- a/gtk2_ardour/public_editor.h +++ b/gtk2_ardour/public_editor.h @@ -43,6 +43,7 @@ #include "canvas/fwd.h" #include "gtkmm2ext/actions.h" +#include "gtkmm2ext/bindings.h" #include "gtkmm2ext/tabbable.h" #include "gtkmm2ext/visibility_tracker.h" @@ -421,6 +422,8 @@ class PublicEditor : public Gtkmm2ext::Tabbable { PBD::Signal0<void> SnapChanged; PBD::Signal0<void> MouseModeChanged; + Gtkmm2ext::Bindings bindings; + protected: friend class DisplaySuspender; virtual void suspend_route_redisplay () = 0; |