Make Import the default action in the Import Dialog
authorTim Mayberry <mojofunk@gmail.com>
Mon, 12 Jun 2017 12:52:11 +0000 (22:52 +1000)
committerTim Mayberry <mojofunk@gmail.com>
Mon, 12 Jun 2017 14:07:47 +0000 (00:07 +1000)
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
gtk2_ardour/sfdb_ui.h

index bd64df19d707d1ca768ba425855cca56998a7035..01fb044e63d4a42a5d2991cefcad4501c85f983d 100644 (file)
@@ -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
index fed8674e3f47923a938c6180f9dd8222667ac9ae..c0d7eb3aa0e4d0599f759f0f4d92b3b3cfc02600 100644 (file)
@@ -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; }