_pluginPath = "/usr/lib/mdictionary/";
if(!_configPath.size())
- _configPath = "~/mdictrc";
+ _configPath = QDir::homePath() + "/.mdictionary";
loadPlugins();
+ loadPreferences();
if(!connect(&_timer, SIGNAL(timeout()), this, SLOT(translation())))
qDebug() << "Timer signal not connected";
CommonDictInterface *plugin = qobject_cast<CommonDictInterface*>(pl);
_plugins.append(plugin);
- addDictionary(plugin->getNew(0)); //TODO change 0 to real settings
+ // addDictionary(plugin->getNew(0)); //TODO change 0 to real settings
//Settings* set = new Settings();
//set->setValue("path", "dict2.xdxf");
//addDictionary(plugin->getNew(set));
}
}
+CommonDictInterface* Backbone::plugin(QString type) {
+ foreach(CommonDictInterface* plugin, _plugins)
+ if(plugin->type() == type)
+ return plugin;
+ return 0;
+}
+
+void Backbone::loadPreferences() {
+ QDir confDir(_configPath);
+ if(!confDir.exists())
+ qDebug() << confDir.mkpath(_configPath);
+ QSettings set(_configPath + "/mdictionary.config", QSettings::IniFormat);
+ _pluginPath = set.value("general/path", _pluginPath).toString();
+ QStringList dicts = set.childGroups();
+ foreach(QString dict, dicts) {
+ if(!dict.contains("dictionary_"))
+ continue;
+ CommonDictInterface* plug = plugin
+ (set.value(dict + "/type", "").toString());
+ if(!plug) {
+ qDebug() << "Config file error: "
+ << set.value(dict + "/type", "").toString()
+ << " dosen't exists";
+ continue;
+ }
+ Settings* plugSet = new Settings();
+ set.beginGroup(dict);
+ QStringList items = set.childKeys();
+ foreach(QString item, items)
+ plugSet->setValue(item, set.value(item, "").toString());
+ set.endGroup();
+ addDictionary(plug->getNew(plugSet));
+ }
+}
+
+//saving dictionaries state
+//saving selection state
#include <QTimer>
#include <QTime>
#include <QDir>
+#include <QSettings>
#include "../../includes/CommonDictInterface.h"
#include "../../includes/settings.h"
#include "../../includes/translation.h"
void init();
QStringList getFilesFromDir(QString dir, QStringList nameFilter);
void loadPlugins(); //< locate and load plugins
+ void loadPreferences();
+ CommonDictInterface* plugin(QString type); //< search for given type plugin
//void writeConfig(QString key, QString value);
};
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
+ QApplication::setOrganizationName("Comarch S.A.");
+ QApplication::setOrganizationDomain("comarch.com");
+ QApplication::setApplicationName("mDictionary");
+
qRegisterMetaType<Translation*>("Translation*");
qRegisterMetaType<QList<Translation*> >("QList<Translation*>");