17 #include <QMessageBox> 18 #include <QInputDialog> 25 MIDIFileImportDialog::TrackPreference
27 bool haveSomePercussion,
28 QString &singleTrack)
const 30 QStringList available;
32 QString allTracks = tr(
"Merge all tracks");
33 QString allNonPercussion = tr(
"Merge all non-percussion tracks");
37 int nonTrackItems = 1;
39 available << allTracks;
41 if (haveSomePercussion) {
42 available << allNonPercussion;
46 available << displayNames;
49 QString selected = QInputDialog::getItem
50 (0, tr(
"Select track or tracks to import"),
51 tr(
"<b>Select track to import</b><p>You can only import this file as a single annotation layer, but the file contains more than one track, or notes on more than one channel.<p>Please select the track or merged tracks you wish to import:"),
52 available, 0,
false, &ok);
54 if (!ok || selected.isEmpty())
return ImportNothing;
57 if (selected == allTracks) pref = MergeAllTracks;
58 else if (selected == allNonPercussion) pref = MergeAllNonPercussionTracks;
60 singleTrack = selected;
61 pref = ImportSingleTrack;
70 QMessageBox::critical(0, tr(
"Error in MIDI file import"), error);
virtual TrackPreference getTrackImportPreference(QStringList trackNames, bool haveSomePercussion, QString &singleTrack) const
MIDIFileImportDialog(QWidget *parent=0)
virtual void showError(QString error)