-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathdeletetask.cpp
44 lines (40 loc) · 1.16 KB
/
deletetask.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#include "deletetask.h"
deletetask::deletetask(QStringList something, QLabel *status,
QList<QString> *deleteList) {
this->status = status;
this->deleteList = deleteList;
this->todelete = something;
}
void deletetask::deleteFileRm(QString filepath) {
QFileInfo tmp(filepath);
if (tmp.isFile()) {
QFile file(filepath);
if (!file.remove()) {
qDebug() << "File not deleted: " << file.fileName();
}
} else {
QDir folder(filepath);
if (!folder.removeRecursively()) {
qDebug() << "Not all was deleted: " << folder.absolutePath();
}
}
}
void deletetask::run() {
status->setText("DELETING " + todelete.at(0));
for (int i = 0; i < todelete.length(); ++i) {
// qDebug() << "DELETE" << shiftList.at(i);
// Old delete = RM -r
QString toDelete = todelete.at(i);
#if QT_VERSION < QT_VERSION_CHECK(5, 15, 0)
deleteFileRm(toDelete);
#else
// New delete = Move to Trash
if (!QFile::moveToTrash(toDelete)) {
qDebug() << "Not deleted: " << toDelete;
qDebug() << "Trying to rm ";
deleteFileRm(toDelete);
}
#endif
}
status->setText("");
}