10 #include "modules/LanguageControl.h"
15 INIT_SINGLETON (LanguageControl)
17 LanguageControl::LanguageControl()
19 qDebug() <<
"LanguageControl::LanguageControl()";
22 LanguageControl::~LanguageControl()
24 QMap<LanguageType, ILanguageProfile*>::iterator it;
26 for(it = profiles.begin(); it != profiles.end(); it++)
38 if (!profiles.contains(type))
47 profiles.remove(type);
55 QPluginLoader loader(fileName);
57 QObject *profile = loader.instance();
61 LanguageType type = lProfile->getLanguageType();
62 if (profiles.contains(type))
64 qDebug() <<
"LanguageControl::loadProfiles" <<
65 "Profile for language (" <<
66 Utilities::getExtensionForLanguageType(type) <<
70 profiles[type] = lProfile;
73 }
else qDebug() <<
"Failed to load languageControl (" << fileName <<
")"
74 << loader.errorString();
80 QDir profileDir = QDir(profilesDirPath);
82 if(!profileDir.exists()) {
83 emit
notifyError(tr(
"The Language Profile extension "
84 "directory (%1) does not exist!").arg(profilesDirPath));
88 filter.append(
"*.so");
89 filter.append(
"*.dylib");
90 filter.append(
"*.dll");
91 profileDir.setNameFilters(filter);
93 foreach (QString fileName, profileDir.entryList(QDir::Files
94 | QDir::NoSymLinks)) {
101 if (profiles.contains(type))
102 return profiles[type];
107 QList<ILanguageProfile*> LanguageControl::getLoadedProfiles()
109 QMap<LanguageType, ILanguageProfile*>::iterator it;
110 QList<ILanguageProfile*> list;
112 for (it = profiles.begin(); it != profiles.end(); it++)
114 list.append(it.value());