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;