summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2015-08-04 14:00:57 -0400
committerPaul Davis <paul@linuxaudiosystems.com>2016-02-22 15:31:23 -0500
commit2c6799f247afa3b77f0e3d878666409fd7f728bc (patch)
tree46b1a57f8b1ae28e7111b7e87dbff83590c07c9f
parent40cdb01832eac730ac711e444a9d3fd38c992061 (diff)
changes to support new key bindings editor design
-rw-r--r--gtk2_ardour/ardour_ui.h10
-rw-r--r--gtk2_ardour/ardour_ui_dialogs.cc12
-rw-r--r--gtk2_ardour/editor.cc4
-rw-r--r--gtk2_ardour/editor.h1
-rw-r--r--gtk2_ardour/editor_actions.cc4
-rw-r--r--gtk2_ardour/keyboard.cc2
-rw-r--r--gtk2_ardour/public_editor.h3
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;