parent
35947f1cb5
commit
4c20158f37
@ -0,0 +1,72 @@
|
||||
diff -urNr desktop-2.5.2-orig/src/gui/folderwatcher.cpp desktop-2.5.2/src/gui/folderwatcher.cpp
|
||||
--- desktop-2.5.2-orig/src/gui/folderwatcher.cpp 2019-03-19 02:52:24.000000000 +0100
|
||||
+++ desktop-2.5.2/src/gui/folderwatcher.cpp 2019-05-10 09:53:53.861934327 +0200
|
||||
@@ -75,9 +75,28 @@
|
||||
return _isReliable;
|
||||
}
|
||||
|
||||
+
|
||||
+void FolderWatcher::appendSubPaths(QDir dir, QStringList& subPaths) {
|
||||
+ QStringList newSubPaths = dir.entryList(QDir::NoDotAndDotDot | QDir::Dirs | QDir::Files);
|
||||
+ for (int i = 0; i < newSubPaths.size(); i++) {
|
||||
+ QString path = dir.path() + "/" + newSubPaths[i];
|
||||
+ QFileInfo fileInfo(path);
|
||||
+ subPaths.append(path);
|
||||
+ if (fileInfo.isDir()) {
|
||||
+ QDir dir(path);
|
||||
+ appendSubPaths(dir, subPaths);
|
||||
+ }
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
void FolderWatcher::changeDetected(const QString &path)
|
||||
{
|
||||
+ QFileInfo fileInfo(path);
|
||||
QStringList paths(path);
|
||||
+ if (fileInfo.isDir()) {
|
||||
+ QDir dir(path);
|
||||
+ appendSubPaths(dir, paths);
|
||||
+ }
|
||||
changeDetected(paths);
|
||||
}
|
||||
|
||||
diff -urNr desktop-2.5.2-orig/src/gui/folderwatcher.h desktop-2.5.2/src/gui/folderwatcher.h
|
||||
--- desktop-2.5.2-orig/src/gui/folderwatcher.h 2019-03-19 02:52:24.000000000 +0100
|
||||
+++ desktop-2.5.2/src/gui/folderwatcher.h 2019-05-10 09:56:15.063411278 +0200
|
||||
@@ -26,6 +26,7 @@
|
||||
#include <QHash>
|
||||
#include <QScopedPointer>
|
||||
#include <QSet>
|
||||
+#include <QDir>
|
||||
|
||||
class QTimer;
|
||||
|
||||
@@ -120,6 +121,8 @@
|
||||
Folder *_folder;
|
||||
bool _isReliable = true;
|
||||
|
||||
+ void appendSubPaths(QDir dir, QStringList& subPaths);
|
||||
+
|
||||
friend class FolderWatcherPrivate;
|
||||
};
|
||||
}
|
||||
diff -urNr desktop-2.5.2-orig/test/testfolderwatcher.cpp desktop-2.5.2/test/testfolderwatcher.cpp
|
||||
--- desktop-2.5.2-orig/test/testfolderwatcher.cpp 2019-03-19 02:52:24.000000000 +0100
|
||||
+++ desktop-2.5.2/test/testfolderwatcher.cpp 2019-05-10 09:57:51.453556579 +0200
|
||||
@@ -140,6 +140,16 @@
|
||||
QVERIFY(waitForPathChanged(file));
|
||||
}
|
||||
|
||||
+ void testMove3LevelDirWithFile() {
|
||||
+ QString file(_rootPath + "/a0/b/c/empty.txt");
|
||||
+ mkdir(_rootPath + "/a0");
|
||||
+ mkdir(_rootPath + "/a0/b");
|
||||
+ mkdir(_rootPath + "/a0/b/c");
|
||||
+ touch(file);
|
||||
+ mv(_rootPath + "/a0 ", _rootPath + "/a");
|
||||
+ QVERIFY(waitForPathChanged(_rootPath + "/a/b/c/empty.txt"));
|
||||
+ }
|
||||
+
|
||||
void testCreateADir() {
|
||||
QString file(_rootPath+"/a1/b1/new_dir");
|
||||
mkdir(file);
|
Loading…
Reference in new issue