Make playlist "New copy" foolproof: bump names until a unique one is
authorSampo Savolainen <v2@iki.fi>
Thu, 30 Nov 2006 20:49:59 +0000 (20:49 +0000)
committerSampo Savolainen <v2@iki.fi>
Thu, 30 Nov 2006 20:49:59 +0000 (20:49 +0000)
found. Also made the "New" button sensitive by default as the default
new name for the playlist will be legal.

git-svn-id: svn://localhost/ardour2/trunk@1175 d708f5d6-7413-0410-9779-e7cbd77b26cf

gtk2_ardour/route_time_axis.cc

index cc51444d43bfea3e08407f620c556b076e6d275a..348e4fb01f5665de920625b83c510def999b8e3d 100644 (file)
@@ -878,7 +878,14 @@ RouteTimeAxisView::use_copy_playlist (bool prompt)
        if (!pl)
                return;
 
-       name = Playlist::bump_name (pl->name(), _session);
+       name = pl->name();
+
+       do {
+               name = Playlist::bump_name (name, _session);
+       } while (_session.playlist_by_name(name));
+
+       // TODO: The prompter "new" button should be de-activated if the user
+       // specifies a playlist name which already exists in the session.
 
        if (prompt) {
 
@@ -887,7 +894,7 @@ RouteTimeAxisView::use_copy_playlist (bool prompt)
                prompter.set_prompt (_("Name for Playlist"));
                prompter.set_initial_text (name);
                prompter.add_button (Gtk::Stock::NEW, Gtk::RESPONSE_ACCEPT);
-               prompter.set_response_sensitive (Gtk::RESPONSE_ACCEPT, false);
+               prompter.set_response_sensitive (Gtk::RESPONSE_ACCEPT, true);
                prompter.show_all ();
                
                switch (prompter.run ()) {