comparison framework/MainWindowBase.cpp @ 210:143e1b56e81b templating

MainWindowBase::openAudio gets a template argument, loaded from a qt resource if exists
author Dan Stowell <dan.stowell@eecs.qmul.ac.uk>
date Fri, 15 Oct 2010 12:08:34 +0100
parents 944af6246560
children eed79c69be61
comparison
equal deleted inserted replaced
209:70b2681665a7 210:143e1b56e81b
1043 return FileOpenFailed; 1043 return FileOpenFailed;
1044 } 1044 }
1045 } 1045 }
1046 1046
1047 MainWindowBase::FileOpenStatus 1047 MainWindowBase::FileOpenStatus
1048 MainWindowBase::openAudio(FileSource source, AudioFileOpenMode mode) 1048 MainWindowBase::openAudio(FileSource source, AudioFileOpenMode mode, QString templateName)
1049 { 1049 {
1050 // std::cerr << "MainWindowBase::openAudio(" << source.getLocation().toStdString() << ")" << std::endl; 1050 // std::cerr << "MainWindowBase::openAudio(" << source.getLocation().toStdString() << ")" << std::endl;
1051 1051
1052 if (!source.isAvailable()) return FileOpenFailed; 1052 if (!source.isAvailable()) return FileOpenFailed;
1053 source.waitForData(); 1053 source.waitForData();
1127 1127
1128 if (mode == CreateAdditionalModel && !getMainModel()) { 1128 if (mode == CreateAdditionalModel && !getMainModel()) {
1129 mode = ReplaceMainModel; 1129 mode = ReplaceMainModel;
1130 } 1130 }
1131 1131
1132 bool loadedTemplate = false;
1133 if ((mode == ReplaceMainModel) && (templateName.length() != 0)) {
1134 QString tplPath = "file::templates/" + templateName + ".xml";
1135 std::cerr << "SV looking for template " << tplPath.toStdString() << std::endl;
1136 FileOpenStatus tplStatus = openSessionFile(tplPath);
1137 if(tplStatus != FileOpenFailed) {
1138 loadedTemplate = true;
1139 mode = ReplaceMainModel;
1140 }
1141 }
1142
1132 emit activity(tr("Import audio file \"%1\"").arg(source.getLocation())); 1143 emit activity(tr("Import audio file \"%1\"").arg(source.getLocation()));
1133 1144
1134 if (mode == ReplaceMainModel) { 1145 if (mode == ReplaceMainModel) {
1135 1146
1136 Model *prevMain = getMainModel(); 1147 Model *prevMain = getMainModel();
1142 1153
1143 m_document->setMainModel(newModel); 1154 m_document->setMainModel(newModel);
1144 1155
1145 setupMenus(); 1156 setupMenus();
1146 1157
1147 if (m_sessionFile == "") { 1158 if (loadedTemplate || (m_sessionFile == "")) {
1148 //!!! shouldn't be dealing directly with title from here -- call a method 1159 //!!! shouldn't be dealing directly with title from here -- call a method
1149 setWindowTitle(tr("%1: %2") 1160 setWindowTitle(tr("%1: %2")
1150 .arg(QApplication::applicationName()) 1161 .arg(QApplication::applicationName())
1151 .arg(source.getLocation())); 1162 .arg(source.getLocation()));
1152 CommandHistory::getInstance()->clear(); 1163 CommandHistory::getInstance()->clear();