Mercurial > hg > sonic-visualiser
comparison main/MainWindow.cpp @ 288:5228aaccfb1b
* Use enum for transform type instead of trying to do dumb things like
compare translated strings
author | Chris Cannam |
---|---|
date | Fri, 21 Nov 2008 13:37:35 +0000 |
parents | 0842fc8a0db0 |
children | ee96e37a3cbb |
comparison
equal
deleted
inserted
replaced
287:0842fc8a0db0 | 288:5228aaccfb1b |
---|---|
1223 m_transformsMenu = menuBar()->addMenu(tr("&Transform")); | 1223 m_transformsMenu = menuBar()->addMenu(tr("&Transform")); |
1224 m_transformsMenu->setTearOffEnabled(true); | 1224 m_transformsMenu->setTearOffEnabled(true); |
1225 m_transformsMenu->setSeparatorsCollapsible(true); | 1225 m_transformsMenu->setSeparatorsCollapsible(true); |
1226 } | 1226 } |
1227 | 1227 |
1228 TransformList transforms = | 1228 TransformFactory *factory = TransformFactory::getInstance(); |
1229 TransformFactory::getInstance()->getAllTransformDescriptions(); | 1229 |
1230 | 1230 TransformList transforms = factory->getAllTransformDescriptions(); |
1231 vector<QString> types = | 1231 vector<TransformDescription::Type> types = factory->getAllTransformTypes(); |
1232 TransformFactory::getInstance()->getAllTransformTypes(); | 1232 |
1233 | 1233 map<TransformDescription::Type, map<QString, SubdividingMenu *> > categoryMenus; |
1234 map<QString, map<QString, SubdividingMenu *> > categoryMenus; | 1234 map<TransformDescription::Type, map<QString, SubdividingMenu *> > makerMenus; |
1235 map<QString, map<QString, SubdividingMenu *> > makerMenus; | 1235 |
1236 | 1236 map<TransformDescription::Type, SubdividingMenu *> byPluginNameMenus; |
1237 map<QString, SubdividingMenu *> byPluginNameMenus; | 1237 map<TransformDescription::Type, map<QString, QMenu *> > pluginNameMenus; |
1238 map<QString, map<QString, QMenu *> > pluginNameMenus; | |
1239 | 1238 |
1240 set<SubdividingMenu *> pendingMenus; | 1239 set<SubdividingMenu *> pendingMenus; |
1241 | 1240 |
1242 m_recentTransformsMenu = m_transformsMenu->addMenu(tr("&Recent Transforms")); | 1241 m_recentTransformsMenu = m_transformsMenu->addMenu(tr("&Recent Transforms")); |
1243 m_recentTransformsMenu->setTearOffEnabled(true); | 1242 m_recentTransformsMenu->setTearOffEnabled(true); |
1246 this, SLOT(setupRecentTransformsMenu())); | 1245 this, SLOT(setupRecentTransformsMenu())); |
1247 | 1246 |
1248 m_transformsMenu->addSeparator(); | 1247 m_transformsMenu->addSeparator(); |
1249 m_rightButtonTransformsMenu->addSeparator(); | 1248 m_rightButtonTransformsMenu->addSeparator(); |
1250 | 1249 |
1251 for (vector<QString>::iterator i = types.begin(); i != types.end(); ++i) { | 1250 for (vector<TransformDescription::Type>::iterator i = types.begin(); |
1251 i != types.end(); ++i) { | |
1252 | 1252 |
1253 if (i != types.begin()) { | 1253 if (i != types.begin()) { |
1254 m_transformsMenu->addSeparator(); | 1254 m_transformsMenu->addSeparator(); |
1255 m_rightButtonTransformsMenu->addSeparator(); | 1255 m_rightButtonTransformsMenu->addSeparator(); |
1256 } | 1256 } |
1257 | 1257 |
1258 QString byCategoryLabel = tr("%1 by Category").arg(*i); | 1258 QString byCategoryLabel = tr("%1 by Category") |
1259 .arg(factory->getTransformTypeName(*i)); | |
1259 SubdividingMenu *byCategoryMenu = new SubdividingMenu(byCategoryLabel, | 1260 SubdividingMenu *byCategoryMenu = new SubdividingMenu(byCategoryLabel, |
1260 20, 40); | 1261 20, 40); |
1261 byCategoryMenu->setTearOffEnabled(true); | 1262 byCategoryMenu->setTearOffEnabled(true); |
1262 m_transformsMenu->addMenu(byCategoryMenu); | 1263 m_transformsMenu->addMenu(byCategoryMenu); |
1263 m_rightButtonTransformsMenu->addMenu(byCategoryMenu); | 1264 m_rightButtonTransformsMenu->addMenu(byCategoryMenu); |
1264 pendingMenus.insert(byCategoryMenu); | 1265 pendingMenus.insert(byCategoryMenu); |
1265 | 1266 |
1266 vector<QString> categories = | 1267 vector<QString> categories = factory->getTransformCategories(*i); |
1267 TransformFactory::getInstance()->getTransformCategories(*i); | |
1268 | 1268 |
1269 for (vector<QString>::iterator j = categories.begin(); | 1269 for (vector<QString>::iterator j = categories.begin(); |
1270 j != categories.end(); ++j) { | 1270 j != categories.end(); ++j) { |
1271 | 1271 |
1272 QString category = *j; | 1272 QString category = *j; |
1299 } | 1299 } |
1300 } | 1300 } |
1301 } | 1301 } |
1302 } | 1302 } |
1303 | 1303 |
1304 QString byPluginNameLabel = tr("%1 by Plugin Name").arg(*i); | 1304 QString byPluginNameLabel = tr("%1 by Plugin Name") |
1305 .arg(factory->getTransformTypeName(*i)); | |
1305 byPluginNameMenus[*i] = new SubdividingMenu(byPluginNameLabel); | 1306 byPluginNameMenus[*i] = new SubdividingMenu(byPluginNameLabel); |
1306 byPluginNameMenus[*i]->setTearOffEnabled(true); | 1307 byPluginNameMenus[*i]->setTearOffEnabled(true); |
1307 m_transformsMenu->addMenu(byPluginNameMenus[*i]); | 1308 m_transformsMenu->addMenu(byPluginNameMenus[*i]); |
1308 m_rightButtonTransformsMenu->addMenu(byPluginNameMenus[*i]); | 1309 m_rightButtonTransformsMenu->addMenu(byPluginNameMenus[*i]); |
1309 pendingMenus.insert(byPluginNameMenus[*i]); | 1310 pendingMenus.insert(byPluginNameMenus[*i]); |
1310 | 1311 |
1311 QString byMakerLabel = tr("%1 by Maker").arg(*i); | 1312 QString byMakerLabel = tr("%1 by Maker") |
1313 .arg(factory->getTransformTypeName(*i)); | |
1312 SubdividingMenu *byMakerMenu = new SubdividingMenu(byMakerLabel, 20, 40); | 1314 SubdividingMenu *byMakerMenu = new SubdividingMenu(byMakerLabel, 20, 40); |
1313 byMakerMenu->setTearOffEnabled(true); | 1315 byMakerMenu->setTearOffEnabled(true); |
1314 m_transformsMenu->addMenu(byMakerMenu); | 1316 m_transformsMenu->addMenu(byMakerMenu); |
1315 m_rightButtonTransformsMenu->addMenu(byMakerMenu); | 1317 m_rightButtonTransformsMenu->addMenu(byMakerMenu); |
1316 pendingMenus.insert(byMakerMenu); | 1318 pendingMenus.insert(byMakerMenu); |
1317 | 1319 |
1318 vector<QString> makers = | 1320 vector<QString> makers = factory->getTransformMakers(*i); |
1319 TransformFactory::getInstance()->getTransformMakers(*i); | |
1320 | 1321 |
1321 for (vector<QString>::iterator j = makers.begin(); | 1322 for (vector<QString>::iterator j = makers.begin(); |
1322 j != makers.end(); ++j) { | 1323 j != makers.end(); ++j) { |
1323 | 1324 |
1324 QString maker = *j; | 1325 QString maker = *j; |
1351 QString name = transforms[i].name; | 1352 QString name = transforms[i].name; |
1352 if (name == "") name = transforms[i].identifier; | 1353 if (name == "") name = transforms[i].identifier; |
1353 | 1354 |
1354 // std::cerr << "Plugin Name: " << name.toStdString() << std::endl; | 1355 // std::cerr << "Plugin Name: " << name.toStdString() << std::endl; |
1355 | 1356 |
1356 QString type = transforms[i].type; | 1357 TransformDescription::Type type = transforms[i].type; |
1358 QString typeStr = factory->getTransformTypeName(type); | |
1357 | 1359 |
1358 QString category = transforms[i].category; | 1360 QString category = transforms[i].category; |
1359 if (category == "") category = tr("Unclassified"); | 1361 if (category == "") category = tr("Unclassified"); |
1360 | 1362 |
1361 QString maker = transforms[i].maker; | 1363 QString maker = transforms[i].maker; |