summaryrefslogtreecommitdiff
path: root/gtk2_ardour/duplicate_routes_dialog.cc
diff options
context:
space:
mode:
Diffstat (limited to 'gtk2_ardour/duplicate_routes_dialog.cc')
-rw-r--r--gtk2_ardour/duplicate_routes_dialog.cc26
1 files changed, 19 insertions, 7 deletions
diff --git a/gtk2_ardour/duplicate_routes_dialog.cc b/gtk2_ardour/duplicate_routes_dialog.cc
index 17d2acd62f..d6a90cf57c 100644
--- a/gtk2_ardour/duplicate_routes_dialog.cc
+++ b/gtk2_ardour/duplicate_routes_dialog.cc
@@ -32,17 +32,15 @@ DuplicateRouteDialog::DuplicateRouteDialog ()
, count_spinner (count_adjustment)
, count_label (_("Duplicate each track/bus this number of times"))
{
- playlist_button_box.pack_start (copy_playlists_button, false, false);
- playlist_button_box.pack_start (new_playlists_button, false, false);
- playlist_button_box.pack_start (share_playlists_button, false, false);
-
- get_vbox()->pack_start (playlist_button_box, false, false);
-
count_box.pack_start (count_label, false, false);
count_box.pack_start (count_spinner, false, false);
-
get_vbox()->pack_start (count_box, false, false, 20);
+ playlist_button_box.pack_start (copy_playlists_button, false, false);
+ playlist_button_box.pack_start (new_playlists_button, false, false);
+ playlist_button_box.pack_start (share_playlists_button, false, false);
+ playlist_button_box.show_all ();
+
get_vbox()->show_all ();
add_button (Gtk::Stock::CANCEL, Gtk::RESPONSE_CANCEL);
@@ -53,6 +51,20 @@ DuplicateRouteDialog::~DuplicateRouteDialog ()
{
}
+void
+DuplicateRouteDialog::setup (uint32_t ntracks, uint32_t nbusses)
+{
+ /* XXX grrr. Gtk Boxes do not shrink when children are removed,
+ which is what we really want to happen here.
+ */
+
+ if (ntracks == 0) {
+ get_vbox()->remove (playlist_button_box);
+ } else {
+ get_vbox()->pack_end (playlist_button_box, false, false);
+ }
+}
+
uint32_t
DuplicateRouteDialog::count() const
{