diff --git a/gtk2_ardour/tracks_control_panel.logic.cc b/gtk2_ardour/tracks_control_panel.logic.cc
index d9efde3b89..ab80adbc63 100644
--- a/gtk2_ardour/tracks_control_panel.logic.cc
+++ b/gtk2_ardour/tracks_control_panel.logic.cc
@@ -90,7 +90,6 @@ TracksControlPanel::init ()
{
_ok_button.signal_clicked.connect (sigc::mem_fun (*this, &TracksControlPanel::on_ok));
_cancel_button.signal_clicked.connect (sigc::mem_fun (*this, &TracksControlPanel::on_cancel));
- _apply_button.signal_clicked.connect (sigc::mem_fun (*this, &TracksControlPanel::on_apply));
_audio_settings_tab_button.signal_clicked.connect (sigc::mem_fun (*this, &TracksControlPanel::on_a_settings_tab_button_clicked));
_midi_settings_tab_button.signal_clicked.connect (sigc::mem_fun (*this, &TracksControlPanel::on_a_settings_tab_button_clicked));
@@ -1622,7 +1621,13 @@ TracksControlPanel::update_configs()
void
TracksControlPanel::on_ok (WavesButton*)
{
- hide();
+ accept ();
+ hide();
+}
+
+void
+TracksControlPanel::accept ()
+{
EngineStateController::instance()->push_current_state_to_backend(true);
response(Gtk::RESPONSE_OK);
@@ -1630,9 +1635,8 @@ TracksControlPanel::on_ok (WavesButton*)
}
void
-TracksControlPanel::on_cancel (WavesButton*)
+TracksControlPanel::reject ()
{
- hide();
response(Gtk::RESPONSE_CANCEL);
// restore previous value in combo-boxes
@@ -1664,13 +1668,29 @@ TracksControlPanel::on_cancel (WavesButton*)
display_general_preferences ();
}
-void
-TracksControlPanel::on_apply (WavesButton*)
+void
+TracksControlPanel::on_cancel (WavesButton*)
{
- EngineStateController::instance()->push_current_state_to_backend(true);
- //response(Gtk::RESPONSE_APPLY);
+ reject ();
+ hide();
+}
+
+bool
+TracksControlPanel::on_key_press_event (GdkEventKey* ev)
+{
+ switch (ev->keyval)
+ {
+ case GDK_Return:
+ accept ();
+ hide ();
+ return true;
+ case GDK_Escape:
+ reject ();
+ hide ();
+ return true;
+ }
- update_configs();
+ return WavesDialog::on_key_press_event (ev);
}
void TracksControlPanel::on_capture_active_changed(DeviceConnectionControl* capture_control, bool active)
diff --git a/gtk2_ardour/tracks_control_panel.logic.h b/gtk2_ardour/tracks_control_panel.logic.h
index 202e08fe2b..e06766dabf 100644
--- a/gtk2_ardour/tracks_control_panel.logic.h
+++ b/gtk2_ardour/tracks_control_panel.logic.h
@@ -55,7 +55,6 @@
void save_pre_record_buffer();
void on_ok(WavesButton*);
void on_cancel(WavesButton*);
- void on_apply(WavesButton*);
void update_configs();
void update_session_config();
void on_capture_active_changed (DeviceConnectionControl* capture_control, bool active);
@@ -119,6 +118,10 @@
void on_mtc_input_changed (const std::string&);
void on_device_error ();
+ bool on_key_press_event (GdkEventKey*);
+ void accept ();
+ void reject ();
+
// Merged ARDOUR's preferences
void display_waveform_shape ();
void display_meter_hold ();
diff --git a/gtk2_ardour/ui/tracks_preferences.xml b/gtk2_ardour/ui/tracks_preferences.xml
index 93faac3564..e9d82152cc 100644
--- a/gtk2_ardour/ui/tracks_preferences.xml
+++ b/gtk2_ardour/ui/tracks_preferences.xml
@@ -138,20 +138,6 @@
y="18"
width="71"
height="24"/>
-