diff options
Diffstat (limited to 'library/components/favoritescriptbutton.cpp')
-rw-r--r-- | library/components/favoritescriptbutton.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/library/components/favoritescriptbutton.cpp b/library/components/favoritescriptbutton.cpp index cc87eba..7552c2b 100644 --- a/library/components/favoritescriptbutton.cpp +++ b/library/components/favoritescriptbutton.cpp @@ -33,6 +33,7 @@ #include <QtCore/QDir> #include <QtGui/QMenu> #include <QtGui/QIcon> +#include <QFileSystemWatcher> FavoriteScriptButton::FavoriteScriptButton(QWidget *parent) : QToolButton(parent) @@ -42,9 +43,11 @@ FavoriteScriptButton::FavoriteScriptButton(QWidget *parent) setToolTip(tr("Run script")); setProperty("noArrow", true); + mFSWatcher = new QFileSystemWatcher(this); mMenu = new QMenu(this); mActionToPath = new QSignalMapper(mMenu); connect(mActionToPath, SIGNAL(mapped(QString)), SIGNAL(scriptSelected(QString))); + connect(mFSWatcher, SIGNAL(directoryChanged(QString)), this, SLOT(refreshFileList(QString))); setMenu(mMenu); } @@ -55,6 +58,12 @@ FavoriteScriptButton::~FavoriteScriptButton() void FavoriteScriptButton::setPath(const QString &path) { + mFSWatcher->addPath(path); + refreshFileList(path); +} + +void FavoriteScriptButton::refreshFileList(const QString &path) +{ mMenu->clear(); QDir dir(path); |