#ifndef COMIC_FILES_MANAGER_H #define COMIC_FILES_MANAGER_H #include #include #include #include // this class is intended to work in background, just use moveToThread and process to start working class ComicFilesManager : public QObject { Q_OBJECT public: explicit ComicFilesManager(QObject *parent = nullptr); void copyComicsTo(const QList> &sourceComics, const QString &folderDest, const QModelIndex &dest); void moveComicsTo(const QList> &comics, const QString &folderDest, const QModelIndex &dest); static QList> getDroppedFiles(const QList &urls); signals: void currentComic(QString); void progress(int); void finished(); void success(QModelIndex); // at least one comics has been copied or moved public slots: void process(); void cancel(); protected: bool move; bool canceled; QList> comics; QString folder; QModelIndex folderDestinationModelIndex; }; #endif // COMIC_FILES_MANAGER_H