diff options
author | Arno <am@disconnect.de> | 2013-03-21 17:57:15 +0100 |
---|---|---|
committer | Arno <am@disconnect.de> | 2013-03-21 17:57:15 +0100 |
commit | 7e23cbf95d125fc6325d73b6bee9551a1dd6fb79 (patch) | |
tree | b36674dd33bf8850aba4488deb1bab11f2ed1151 /smdirmodel.cpp | |
parent | ce402f298b2f9733b614fbf1bde99a052d0ab5c0 (diff) | |
download | SheMov-7e23cbf95d125fc6325d73b6bee9551a1dd6fb79.tar.gz SheMov-7e23cbf95d125fc6325d73b6bee9551a1dd6fb79.tar.bz2 SheMov-7e23cbf95d125fc6325d73b6bee9551a1dd6fb79.zip |
Implement auto refresh
Since inotify isn't completely implemented for cifs mounts, implement
auto refresh for FileView. Default is 5 seconds.
Diffstat (limited to 'smdirmodel.cpp')
-rw-r--r-- | smdirmodel.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/smdirmodel.cpp b/smdirmodel.cpp index d24fdef..ea44ccd 100644 --- a/smdirmodel.cpp +++ b/smdirmodel.cpp @@ -22,6 +22,7 @@ SmDirModel::SmDirModel(const QStringList &headers, QObject *parent) : SmTreeMode mRunTimer->setInterval(2000); connect(mRunTimer, SIGNAL(timeout()), mWatch, SLOT(start())); mRunTimer->start(); + mRefreshTimer = new QTimer(this); readSettings(); mCollector = mWatch->collector(); @@ -154,9 +155,20 @@ void SmDirModel::readSettings(){ mIcons.insert("image", QIcon(icons.value(iconName))); iconName = s.value("ui/othericon").toString(); mIcons.insert("other", QIcon(icons.value(iconName))); + bool autorefresh = s.value("ui/autorefresh", false).toBool(); + if(autorefresh){ + mRefreshTimer->stop(); + mRefreshTimer->disconnect(); + int interval = s.value("ui/autorefreshvalue").toInt(); + interval *= 1000; + mRefreshTimer->setInterval(interval); + mRefreshTimer->start(); + connect(mRefreshTimer, SIGNAL(timeout()), this, SLOT(refresh())); + } } void SmDirModel::refresh(){ + setDir(mCurrentDir); } void SmDirModel::populate(SmTreeItem *root){ |