diff options
Diffstat (limited to 'gtk2_ardour/duplicate_routes_dialog.cc')
-rw-r--r-- | gtk2_ardour/duplicate_routes_dialog.cc | 26 |
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 { |