video-export dialog: allow keyboard navigation
authorRobin Gareus <robin@gareus.org>
Fri, 27 Feb 2015 19:45:44 +0000 (20:45 +0100)
committerRobin Gareus <robin@gareus.org>
Sat, 28 Feb 2015 01:36:58 +0000 (02:36 +0100)
gtk2_ardour/export_video_dialog.cc
gtk2_ardour/export_video_dialog.h

index df05eed8073f1d192a0ad91c279060f550b91a3c..bec34e9521db6d1cf7a82afe121a0d16639bdd35 100644 (file)
@@ -33,6 +33,7 @@
 
 #include "pbd/error.h"
 #include "pbd/convert.h"
+#include "gtkmm2ext/keyboard.h"
 #include "gtkmm2ext/utils.h"
 #include "ardour/session_directory.h"
 #include "ardour/profile.h"
@@ -359,6 +360,22 @@ ExportVideoDialog::on_show ()
        Dialog::on_show ();
 }
 
+bool
+ExportVideoDialog::on_focus_in_event (GdkEventFocus *ev)
+{
+       Dialog::on_focus_in_event (ev);
+       Gtkmm2ext::Keyboard::magic_widget_grab_focus ();
+       return true;
+}
+
+bool
+ExportVideoDialog::on_focus_out_event (GdkEventFocus *ev)
+{
+       Dialog::on_focus_out_event (ev);
+       Gtkmm2ext::Keyboard::magic_widget_drop_focus ();
+       return true;
+}
+
 void
 ExportVideoDialog::abort_clicked ()
 {
index 5ebcf3258d1b48e16ce43d6e0c3d7715568ec62a..117446c6a6314595e591372518859c1c4df62363 100644 (file)
@@ -55,6 +55,9 @@ class ExportVideoDialog : public ArdourDialog , public PBD::ScopedConnectionList
        void encode_pass (int);
        void change_file_extension (std::string);
 
+       bool on_focus_in_event (GdkEventFocus*);
+       bool on_focus_out_event (GdkEventFocus*);
+
        void open_outfn_dialog ();
        void open_invid_dialog ();
        void scale_checkbox_toggled ();