summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Mayberry <mojofunk@gmail.com>2017-06-12 22:52:11 +1000
committerTim Mayberry <mojofunk@gmail.com>2017-06-13 00:07:47 +1000
commit19384be74b6eb0d75d4e30abf9c3cdf7f5f72b71 (patch)
treee68b5b7b4245fe48d3a051c96ed27cdd829dcfa5
parent79ccabdc93aacb7d9299963118f305f9ea26110d (diff)
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.
-rw-r--r--gtk2_ardour/sfdb_ui.cc14
-rw-r--r--gtk2_ardour/sfdb_ui.h1
2 files changed, 14 insertions, 1 deletions
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; }