diff --git a/src/kiwixapp.cpp b/src/kiwixapp.cpp index 8dd965e..ddd41a8 100644 --- a/src/kiwixapp.cpp +++ b/src/kiwixapp.cpp @@ -101,6 +101,11 @@ void KiwixApp::init() this->openZimFile(message); } }); + QString monitorDir = m_settingsManager.getMonitorDir(); + if (monitorDir != "") { + m_library.setMonitorDirZims(m_library.getLibraryZimsFromDir(monitorDir)); + m_library.asyncLoadMonitorDir(monitorDir); + } } KiwixApp::~KiwixApp() diff --git a/src/library.cpp b/src/library.cpp index 793aca5..e0d9f37 100644 --- a/src/library.cpp +++ b/src/library.cpp @@ -130,6 +130,19 @@ void Library::setMonitorDirZims(QStringList zimList) m_monitorDirZims = zimList; } +QStringList Library::getLibraryZimsFromDir(QString dir) const +{ + QStringList zimsInDir; + for (auto str : getBookIds()) { + auto filePath = QString::fromStdString(getBookById(str).getPath()); + QDir absoluteDir = QFileInfo(filePath).absoluteDir(); + if (absoluteDir == dir) { + zimsInDir.push_back(filePath); + } + } + return zimsInDir; +} + void Library::loadMonitorDir(QString monitorDir) { QMutex mutex;