History

only add a directory to the filesystem watcher if not empty

Stephen Birarda committed 12 years ago

Commit 48e45261 parent abafaff1 file · +11 −8Browse files

Showing the changes to interface/src/ScriptsModel.cpp (1 of 1 file). Show all

Unified · Split

interface/src/ScriptsModel.cpp+11−8
@@ -42,17 +42,15 @@ ScriptsModel::ScriptsModel(QObject* parent) : · 41 unmodified lines
42 _localDirectory(),42 _localDirectory(),
43 _fsWatcher(),43 _fsWatcher(),
44 _localFiles(),44 _localFiles(),
45 _remoteFiles() {45 _remoteFiles()
46 46{
47 QString scriptPath = Menu::getInstance()->getScriptsLocation();47
48
49 _localDirectory.setPath(scriptPath);
50 _localDirectory.setFilter(QDir::Files | QDir::Readable);48 _localDirectory.setFilter(QDir::Files | QDir::Readable);
51 _localDirectory.setNameFilters(QStringList("*.js"));49 _localDirectory.setNameFilters(QStringList("*.js"));
52 50
53 _fsWatcher.addPath(_localDirectory.absolutePath());51 updateScriptsLocation(Menu::getInstance()->getScriptsLocation());
52
54 connect(&_fsWatcher, &QFileSystemWatcher::directoryChanged, this, &ScriptsModel::reloadLocalFiles);53 connect(&_fsWatcher, &QFileSystemWatcher::directoryChanged, this, &ScriptsModel::reloadLocalFiles);
55
56 connect(Menu::getInstance(), &Menu::scriptLocationChanged, this, &ScriptsModel::updateScriptsLocation);54 connect(Menu::getInstance(), &Menu::scriptLocationChanged, this, &ScriptsModel::updateScriptsLocation);
57 55
58 reloadLocalFiles();56 reloadLocalFiles();
@@ -88,8 +86,13 @@ int ScriptsModel::rowCount(const QModelIndex& parent) const { · 29 unmodified lines
88 86
89void ScriptsModel::updateScriptsLocation(const QString& newPath) {87void ScriptsModel::updateScriptsLocation(const QString& newPath) {
90 _fsWatcher.removePath(_localDirectory.absolutePath());88 _fsWatcher.removePath(_localDirectory.absolutePath());
89
91 _localDirectory.setPath(newPath);90 _localDirectory.setPath(newPath);
92 _fsWatcher.addPath(_localDirectory.absolutePath());91
92 if (!_localDirectory.absolutePath().isEmpty()) {
93 _fsWatcher.addPath(_localDirectory.absolutePath());
94 }
95
93 reloadLocalFiles();96 reloadLocalFiles();
94}97}
95 98