File indexing completed on 2025-04-27 04:04:21
0001 /* 0002 * SPDX-FileCopyrightText: (C) 2015 Vishesh Handa <vhanda@kde.org> 0003 * 0004 * SPDX-License-Identifier: LGPL-2.1-or-later 0005 */ 0006 0007 #include "filesystemimagefetcher.h" 0008 0009 #include <QDirIterator> 0010 #include <QMimeDatabase> 0011 #include <QTimer> 0012 0013 FileSystemImageFetcher::FileSystemImageFetcher(const QString &folder, QObject *parent) 0014 : QObject(parent) 0015 , m_folder(folder) 0016 { 0017 } 0018 0019 void FileSystemImageFetcher::fetch() 0020 { 0021 QTimer::singleShot(0, this, &FileSystemImageFetcher::slotProcess); 0022 } 0023 0024 void FileSystemImageFetcher::slotProcess() 0025 { 0026 QMimeDatabase mimeDb; 0027 0028 QDirIterator it(m_folder, QDirIterator::Subdirectories); 0029 while (it.hasNext()) { 0030 QString filePath = it.next(); 0031 0032 QString mimetype = mimeDb.mimeTypeForFile(filePath, QMimeDatabase::MatchExtension).name(); 0033 if (!mimetype.startsWith("image/") && !mimetype.startsWith("video/")) 0034 continue; 0035 0036 Q_EMIT imageResult(filePath); 0037 } 0038 0039 Q_EMIT finished(); 0040 }