diff options
Diffstat (limited to 'src/plugins/General/library/library.h')
| -rw-r--r-- | src/plugins/General/library/library.h | 14 |
1 files changed, 5 insertions, 9 deletions
diff --git a/src/plugins/General/library/library.h b/src/plugins/General/library/library.h index 053571a5c..766488908 100644 --- a/src/plugins/General/library/library.h +++ b/src/plugins/General/library/library.h @@ -24,9 +24,9 @@ #include <QObject> #include <QElapsedTimer> #include <QPointer> -#include <QFuture> -#include <QFutureWatcher> #include <QStringList> +#include <QThread> +#include <atomic> #include <qmmp/trackinfo.h> #include <qmmp/qmmp.h> @@ -36,15 +36,13 @@ class SoundCore; class PlayListTrack; class LibraryWidget; -class Library : public QObject +class Library : public QThread { Q_OBJECT public: explicit Library(QPointer<LibraryWidget> *libraryWidget, QObject *parent = nullptr); ~Library(); - bool isRunning() const; - QAction *showAction() const; private slots: @@ -54,6 +52,7 @@ private slots: void startDirectoryScanning(); private: + void run() override; bool createTables(); void addTrack(TrackInfo *track, const QString &filePath); QByteArray serializeAudioInfo(const QMap<Qmmp::TrackProperty, QString> &properties); @@ -63,13 +62,10 @@ private: bool checkFile(const QFileInfo &info); void removeIgnoredTracks(QList<TrackInfo *> *tracks, const QStringList &ignoredPaths); - QFuture<bool> m_future; QStringList m_filters, m_dirs; - bool m_stopped = false; + std::atomic_bool m_stopped = ATOMIC_VAR_INIT(false); QPointer<LibraryWidget> *m_libraryWidget; - QFutureWatcher<bool> m_watcher; QAction *m_showAction; - }; #endif // LIBRARY_H |
