diff options
author | Carl Hetherington <carl@carlh.net> | 2009-08-02 00:32:26 +0000 |
---|---|---|
committer | Carl Hetherington <carl@carlh.net> | 2009-08-02 00:32:26 +0000 |
commit | e481963920911afa653e3cce3cdb2cd3a4c4c046 (patch) | |
tree | df970c73ea91a9fb3af81f5aa2aefee0d775c0f5 /gtk2_ardour/editor_audio_import.cc | |
parent | 7ed2058e3ef4fffaed961b43f2e75e1bdad82af5 (diff) |
Fix import dialog so that file number progress gets updated correctly. Stop a new progress dialog being popped up for each file.
git-svn-id: svn://localhost/ardour2/branches/3.0@5451 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/editor_audio_import.cc')
-rw-r--r-- | gtk2_ardour/editor_audio_import.cc | 69 |
1 files changed, 23 insertions, 46 deletions
diff --git a/gtk2_ardour/editor_audio_import.cc b/gtk2_ardour/editor_audio_import.cc index 884e890fbc..5b007f0fc5 100644 --- a/gtk2_ardour/editor_audio_import.cc +++ b/gtk2_ardour/editor_audio_import.cc @@ -352,61 +352,38 @@ Editor::do_import (vector<ustring> paths, ImportDisposition chns, ImportMode mod } else { - bool replace = false; - bool ok = true; - vector<ustring>::size_type total = paths.size(); - - for (vector<ustring>::iterator a = paths.begin(); a != paths.end() && ok; ++a) { + for (vector<ustring>::iterator a = paths.begin(); a != paths.end(); ++a) { - int check = check_whether_and_how_to_import(*a, true); + int const check = check_whether_and_how_to_import (*a, true); - if (check == 2 ) { - // user said skip - continue; + if (check != 2) { + to_import.push_back (*a); } + } + + bool ok = true; - if (check == 0) { - fatal << "Updating existing sources should be disabled!" << endl; - replace = true; - } else if (check == 1) { - replace = false; - } + switch (chns) { + case Editing::ImportDistinctFiles: - - - switch (chns) { - case Editing::ImportDistinctFiles: - - to_import.clear (); - to_import.push_back (*a); - - if (mode == Editing::ImportToTrack) { - track = get_nth_selected_audio_track (nth++); - } - - ok = (import_sndfiles (to_import, mode, quality, pos, 1, -1, track, replace, total) == 0); - break; - - case Editing::ImportDistinctChannels: - - to_import.clear (); - to_import.push_back (*a); + if (mode == Editing::ImportToTrack) { + track = get_nth_selected_audio_track (nth++); + } - ok = (import_sndfiles (to_import, mode, quality, pos, -1, -1, track, replace, total) == 0); - break; + ok = (import_sndfiles (to_import, mode, quality, pos, 1, -1, track, false, to_import.size()) == 0); + break; - case Editing::ImportSerializeFiles: + case Editing::ImportDistinctChannels: + ok = (import_sndfiles (to_import, mode, quality, pos, -1, -1, track, false, to_import.size()) == 0); + break; - to_import.clear (); - to_import.push_back (*a); - - ok = (import_sndfiles (to_import, mode, quality, pos, 1, 1, track, replace, total) == 0); - break; + case Editing::ImportSerializeFiles: + ok = (import_sndfiles (to_import, mode, quality, pos, 1, 1, track, false, to_import.size()) == 0); + break; - case Editing::ImportMergeFiles: - // Not entered, handled in earlier if() branch - break; - } + case Editing::ImportMergeFiles: + // Not entered, handled in earlier if() branch + break; } } |