1 #include "toonzqt/fxiconmanager.h"
2 
3 #include <QPixmap>
4 
FxIconPixmapManager()5 FxIconPixmapManager::FxIconPixmapManager() {}
6 
instance()7 FxIconPixmapManager *FxIconPixmapManager::instance() {
8   static FxIconPixmapManager _instance;
9   return &_instance;
10 }
11 
getFxIconPm(std::string type)12 const QPixmap &FxIconPixmapManager::getFxIconPm(std::string type) {
13   std::map<std::string, QPixmap>::iterator it;
14   it = m_pms.find(type);
15   if (it != m_pms.end()) return it->second;
16 
17   int i;
18   for (i = 0; fxTypeInfo[i].pixmapFilename; i++)
19     if (strcmp(type.c_str(), fxTypeInfo[i].fxType) == 0) {
20       QString path = QString(":Resources/fxicons/") +
21                      fxTypeInfo[i].pixmapFilename + ".png";
22       it = m_pms.insert(std::make_pair(type, QPixmap(path))).first;
23       return it->second;
24     }
25 
26   static const QPixmap unidentifiedFxPixmap(
27       ":Resources/fxicons/fx_unidentified.png");
28   it = m_pms.insert(std::make_pair(type, unidentifiedFxPixmap)).first;
29   return it->second;
30 }
31