From 19384be74b6eb0d75d4e30abf9c3cdf7f5f72b71 Mon Sep 17 00:00:00 2001 From: Tim Mayberry Date: Mon, 12 Jun 2017 22:52:11 +1000 Subject: [PATCH] Make Import the default action in the Import Dialog Double clicking on a file or pressing the Return key will now import it. This means with autoplay enabled you can navigate a directory of audio files using the up and down arrow keys and import the wanted files (with Return) without having to touch the mouse. Being able to use double click to import a file means you don't have to move the mouse back and forth between the file browser and the import button. You can still manually audition the file with space as before. --- gtk2_ardour/sfdb_ui.cc | 14 +++++++++++++- gtk2_ardour/sfdb_ui.h | 1 + 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/gtk2_ardour/sfdb_ui.cc b/gtk2_ardour/sfdb_ui.cc index bd64df19d7..01fb044e63 100644 --- a/gtk2_ardour/sfdb_ui.cc +++ b/gtk2_ardour/sfdb_ui.cc @@ -819,6 +819,12 @@ SoundFileBrowser::set_action_sensitive (bool yn) import_button.set_sensitive (yn); } +bool +SoundFileBrowser::get_action_sensitive () const +{ + return import_button.get_sensitive (); +} + void SoundFileBrowser::do_something (int action) { @@ -840,6 +846,12 @@ SoundFileBrowser::on_key_press_event (GdkEventKey* ev) do_something (RESPONSE_CLOSE); return true; } + if (ev->keyval == GDK_space && ev->type == GDK_KEY_PRESS) { + if (get_action_sensitive()) { + preview.audition(); + return true; + } + } return ArdourWindow::on_key_press_event (ev); } @@ -853,7 +865,7 @@ SoundFileBrowser::clear_selection () void SoundFileBrowser::chooser_file_activated () { - preview.audition (); + do_something (RESPONSE_OK); } void diff --git a/gtk2_ardour/sfdb_ui.h b/gtk2_ardour/sfdb_ui.h index fed8674e3f..c0d7eb3aa0 100644 --- a/gtk2_ardour/sfdb_ui.h +++ b/gtk2_ardour/sfdb_ui.h @@ -249,6 +249,7 @@ class SoundFileBrowser : public ArdourWindow bool on_audio_and_midi_filter (const Gtk::FileFilter::Info& filter_info); void set_action_sensitive (bool); + bool get_action_sensitive () const; virtual bool reset_options () { return true; }