From 48e45265a376e49b488b6ae798cf2438c6f9d381 Mon Sep 17 00:00:00 2001 From: Stephen Birarda Date: Wed, 17 Sep 2014 14:15:07 -0700 Subject: [PATCH] only add a directory to the filesystem watcher if not empty --- interface/src/ScriptsModel.cpp | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/interface/src/ScriptsModel.cpp b/interface/src/ScriptsModel.cpp index 7b24587129..cbdbb5bf54 100644 --- a/interface/src/ScriptsModel.cpp +++ b/interface/src/ScriptsModel.cpp @@ -42,17 +42,15 @@ ScriptsModel::ScriptsModel(QObject* parent) : _localDirectory(), _fsWatcher(), _localFiles(), - _remoteFiles() { - - QString scriptPath = Menu::getInstance()->getScriptsLocation(); - - _localDirectory.setPath(scriptPath); + _remoteFiles() +{ + _localDirectory.setFilter(QDir::Files | QDir::Readable); _localDirectory.setNameFilters(QStringList("*.js")); - _fsWatcher.addPath(_localDirectory.absolutePath()); + updateScriptsLocation(Menu::getInstance()->getScriptsLocation()); + connect(&_fsWatcher, &QFileSystemWatcher::directoryChanged, this, &ScriptsModel::reloadLocalFiles); - connect(Menu::getInstance(), &Menu::scriptLocationChanged, this, &ScriptsModel::updateScriptsLocation); reloadLocalFiles(); @@ -88,8 +86,13 @@ int ScriptsModel::rowCount(const QModelIndex& parent) const { void ScriptsModel::updateScriptsLocation(const QString& newPath) { _fsWatcher.removePath(_localDirectory.absolutePath()); + _localDirectory.setPath(newPath); - _fsWatcher.addPath(_localDirectory.absolutePath()); + + if (!_localDirectory.absolutePath().isEmpty()) { + _fsWatcher.addPath(_localDirectory.absolutePath()); + } + reloadLocalFiles(); }