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"/> -