Merged with master
[mdictionary] / trunk / src / base / backbone / backbone.cpp
index 5487791..d57f179 100644 (file)
@@ -29,22 +29,20 @@ void Backbone::init() {
    _interval = 250; //msec
    if(!_pluginPath.size())
        _pluginPath = "/usr/lib/mdictionary/";
+
+   if(!_configPath.size())
+       _configPath = "~/mdictrc";
    loadPlugins();
 
    if(!connect(&_timer, SIGNAL(timeout()), this, SLOT(translation())))
        qDebug() << "Timer signal not connected";
 }
 
-Backbone::Backbone(QObject *parent)
-    : QObject(parent)
-{
-    init();
-}
-
-Backbone::Backbone(QString pluginPath, QObject *parent)
+Backbone::Backbone(QString pluginPath, QString configPath, QObject *parent)
     : QObject(parent)
 {
     _pluginPath = pluginPath;
+    _configPath = configPath;
     init();
 }
 
@@ -197,24 +195,28 @@ void Backbone::translation() {
     }
 }
 
+QStringList Backbone::getFilesFromDir(QString dir, QStringList nameFilter) {
+    QDir plug(QDir::toNativeSeparators(dir));
+    if(!plug.exists()) {
+        qDebug() << plug.absolutePath() << " folder dosen't exists";
+        return QStringList();
+    }
+    plug.setFilter(QDir::Files);
+    QStringList list = plug.entryList(nameFilter);
 
+    for(int i = 0; i < list.size(); i++)
+        list[i] = plug.absoluteFilePath(list.at(i));
+    return list;
+}
 
 
 void Backbone::loadPlugins() {
-    QDir plug(QDir::toNativeSeparators(_pluginPath));
-    if(!plug.exists()) {
-        qDebug() << plug.absolutePath() << " folder dosen't exists";
-        return;
-    }
     QStringList nameFilter;
     nameFilter << "*.so";
-    plug.setFilter(QDir::Files);
-    QStringList files = plug.entryList(nameFilter);
-    qDebug() << files;
-
+    QStringList files = getFilesFromDir(_pluginPath, nameFilter);
 
     foreach(QString file, files) {
-        QPluginLoader loader(plug.absoluteFilePath(file));
+        QPluginLoader loader(file);
         if(!loader.load()) {
             qDebug()<< file << " " << loader.errorString();
             continue;
@@ -228,4 +230,7 @@ void Backbone::loadPlugins() {
 }
 
 
+void Backbone::loadDict() {
+
+}