diff options
author | Thiago Macieira <thiago.macieira@intel.com> | 2024-01-17 14:46:38 -0800 |
---|---|---|
committer | Thiago Macieira <thiago.macieira@intel.com> | 2024-01-18 18:50:12 -0800 |
commit | 89b4a236a4b8310c3bef269414609db3204d0513 (patch) | |
tree | f2edab3bd7e2b10f548bc8158a039c08ba5ce3bb /tests/manual/filetest | |
parent | bc3b18764aabf95a50a65e090863c54b6ac57e3e (diff) |
filetest: add moveToTrash() operation
Pick-to: 6.7
Change-Id: I76ffba14ece04f24b43efffd17ab43f3f2ecde59
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Diffstat (limited to 'tests/manual/filetest')
-rw-r--r-- | tests/manual/filetest/main.cpp | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/tests/manual/filetest/main.cpp b/tests/manual/filetest/main.cpp index db495242db..5e7324e77c 100644 --- a/tests/manual/filetest/main.cpp +++ b/tests/manual/filetest/main.cpp @@ -22,7 +22,8 @@ static const char usage2[] =" [KEYWORD] [ARGUMENTS]\n\n" " cp SOURCE TARGET copy files using QFile::copy\n" " rm FILE remove file using QFile::remove\n" " rmr DIR remove directory recursively\n" -" using QDir::removeRecursively\n"; +" using QDir::removeRecursively\n" +" trash FILES moves the file or directory to trash\n"; std::ostream &operator<<(std::ostream &o, const QString &str) { @@ -181,6 +182,17 @@ static int rmr(const char *dirName) return 0; } +static int trash(const char *filename) +{ + QFile f(QString::fromLocal8Bit(filename)); + if (!f.moveToTrash()) { + qWarning().nospace() << "Failed to trash " << f.fileName() + << ": " << f.errorString(); + return -1; + } + return 0; +} + int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); @@ -206,6 +218,9 @@ int main(int argc, char *argv[]) if (argc == 3 && !qstrcmp(argv[1], "rmr")) return rmr(argv[2]); + if (argc == 3 && !qstrcmp(argv[1], "trash")) + return trash(argv[2]); + std::cerr << usage1 << argv[0] << usage2; return 0; } |