mirror of
https://github.com/kiwix/kiwix-desktop.git
synced 2025-09-09 20:32:40 -04:00
Even simpler Library::updateFromDir()
This commit is contained in:
parent
8b2e6d23dd
commit
ce40f5eff6
@ -218,19 +218,13 @@ void Library::updateFromDir(QString monitorDir)
|
|||||||
{
|
{
|
||||||
QMutexLocker locker(&m_updateFromDirMutex);
|
QMutexLocker locker(&m_updateFromDirMutex);
|
||||||
const QDir dir(monitorDir);
|
const QDir dir(monitorDir);
|
||||||
QStringList newDirEntries = dir.entryList({"*.zim"});
|
|
||||||
const QStringSet oldDirEntries = m_knownZimsInDir[monitorDir];
|
const QStringSet oldDirEntries = m_knownZimsInDir[monitorDir];
|
||||||
for (auto &str : newDirEntries) {
|
QStringSet newDirEntries;
|
||||||
str = QDir::toNativeSeparators(monitorDir + "/" + str);
|
for (const auto &file : dir.entryList({"*.zim"})) {
|
||||||
|
newDirEntries.insert(QDir::toNativeSeparators(monitorDir + "/" + file));
|
||||||
}
|
}
|
||||||
QSet<QString> newDir;
|
QStringList addedZims = (newDirEntries - oldDirEntries).values();
|
||||||
#if QT_VERSION < QT_VERSION_CHECK(5, 15, 0)
|
QStringList removedZims = (oldDirEntries - newDirEntries).values();
|
||||||
newDir = QSet<QString>::fromList(newDirEntries);
|
|
||||||
#else
|
|
||||||
newDir = QSet<QString>(newDirEntries.begin(), newDirEntries.end());
|
|
||||||
#endif
|
|
||||||
QStringList addedZims = (newDir - oldDirEntries).values();
|
|
||||||
QStringList removedZims = (oldDirEntries - newDir).values();
|
|
||||||
auto manager = kiwix::Manager(LibraryManipulator(this));
|
auto manager = kiwix::Manager(LibraryManipulator(this));
|
||||||
bool needsRefresh = !removedZims.empty();
|
bool needsRefresh = !removedZims.empty();
|
||||||
for (auto bookPath : addedZims) {
|
for (auto bookPath : addedZims) {
|
||||||
@ -249,7 +243,7 @@ void Library::updateFromDir(QString monitorDir)
|
|||||||
}
|
}
|
||||||
if (needsRefresh) {
|
if (needsRefresh) {
|
||||||
emit(booksChanged());
|
emit(booksChanged());
|
||||||
setMonitorDirZims(monitorDir, newDir);
|
setMonitorDirZims(monitorDir, newDirEntries);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user