From 7e23cbf95d125fc6325d73b6bee9551a1dd6fb79 Mon Sep 17 00:00:00 2001 From: Arno Date: Thu, 21 Mar 2013 17:57:15 +0100 Subject: Implement auto refresh Since inotify isn't completely implemented for cifs mounts, implement auto refresh for FileView. Default is 5 seconds. --- smdirmodel.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'smdirmodel.cpp') 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){ -- cgit v1.2.3-70-g09d2