add insert-at combo selector for duplicate tracks dialog
authorPaul Davis <paul@linuxaudiosystems.com>
Mon, 22 Aug 2016 13:06:13 +0000 (09:06 -0400)
committerPaul Davis <paul@linuxaudiosystems.com>
Mon, 22 Aug 2016 13:41:59 +0000 (09:41 -0400)
gtk2_ardour/duplicate_routes_dialog.cc
gtk2_ardour/duplicate_routes_dialog.h

index 05bb878f2c8306241eb97df28ef276ac9ace46cd..3e34f9e381181d8bbbf484056afb98036723f745 100644 (file)
@@ -49,6 +49,19 @@ DuplicateRouteDialog::DuplicateRouteDialog ()
        playlist_button_box.pack_start (share_playlists_button, false, false);
        playlist_button_box.show_all ();
 
+       insert_at_combo.append_text (_("First"));
+       insert_at_combo.append_text (_("Before Selection"));
+       insert_at_combo.append_text (_("After Selection"));
+       insert_at_combo.append_text (_("Last"));
+       insert_at_combo.set_active (3);
+
+       Gtk::Label* l = manage (new Label (_("Insert duplicates at: ")));
+       Gtk::HBox* b = manage (new HBox);
+       b->pack_start (*l, false, false, 10);
+       b->pack_start (insert_at_combo, true, true);
+
+       get_vbox()->pack_end (*b, false, false, 10);
+
        get_vbox()->show_all ();
 
        add_button (Stock::CANCEL, RESPONSE_CANCEL);
@@ -179,3 +192,20 @@ DuplicateRouteDialog::on_response (int response)
                msg.run ();
        }
 }
+
+RouteDialogs::InsertAt
+DuplicateRouteDialog::insert_at ()
+{
+       using namespace RouteDialogs;
+
+       std::string str = insert_at_combo.get_active_text();
+
+       if (str == _("First")) {
+               return First;
+       } else if (str == _("After Selection")) {
+               return AfterSelection;
+       } else if (str == _("Before Selection")){
+               return BeforeSelection;
+       }
+       return Last;
+}
index 531ce9ce94e2942a01c7c14f7bf2095daacbc9de..0a942cfca8543d4b0e34fbb67ebcf72fd844dcc8 100644 (file)
@@ -22,6 +22,7 @@
 
 #include <gtkmm/entry.h>
 #include <gtkmm/box.h>
+#include <gtkmm/comboboxtext.h>
 #include <gtkmm/radiobutton.h>
 #include <gtkmm/adjustment.h>
 #include <gtkmm/spinbutton.h>
@@ -29,6 +30,7 @@
 #include "ardour/types.h"
 
 #include "ardour_dialog.h"
+#include "route_dialogs.h"
 
 namespace ARDOUR {
 class Session;
@@ -58,7 +60,11 @@ class DuplicateRouteDialog : public ArdourDialog
        void on_response (int);
 
        uint32_t count() const;
+       RouteDialogs::InsertAt insert_at();
        ARDOUR::PlaylistDisposition playlist_disposition() const;
+
+   private:
+       Gtk::ComboBoxText insert_at_combo;
 };
 
 #endif /* __gtk_ardour_duplicate_route_dialog_h__ */