summaryrefslogtreecommitdiffstats
path: root/smdirmodel.cpp
diff options
context:
space:
mode:
authorArno <am@disconnect.de>2013-03-21 17:57:15 +0100
committerArno <am@disconnect.de>2013-03-21 17:57:15 +0100
commit7e23cbf95d125fc6325d73b6bee9551a1dd6fb79 (patch)
treeb36674dd33bf8850aba4488deb1bab11f2ed1151 /smdirmodel.cpp
parentce402f298b2f9733b614fbf1bde99a052d0ab5c0 (diff)
downloadSheMov-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.cpp12
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){