summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/imports/systeminfo/qdeclarativestorageinfo.cpp27
-rw-r--r--src/imports/systeminfo/qdeclarativestorageinfo_p.h8
-rw-r--r--src/systeminfo/qstorageinfo_linux.cpp6
3 files changed, 4 insertions, 37 deletions
diff --git a/src/imports/systeminfo/qdeclarativestorageinfo.cpp b/src/imports/systeminfo/qdeclarativestorageinfo.cpp
index e8543cb7..ac3d0adf 100644
--- a/src/imports/systeminfo/qdeclarativestorageinfo.cpp
+++ b/src/imports/systeminfo/qdeclarativestorageinfo.cpp
@@ -56,7 +56,6 @@ QT_BEGIN_NAMESPACE
QDeclarativeStorageInfo::QDeclarativeStorageInfo(QObject *parent)
: QObject(parent)
, storageInfo(new QStorageInfo(this))
- , isMonitorAllLogicalDrives(false)
{
}
@@ -68,37 +67,13 @@ QDeclarativeStorageInfo::~QDeclarativeStorageInfo()
}
/*!
- \qmlproperty bool StorageInfo::monitorAllLogicalDrives
-
- This property triggers the active monitoring of all available logical drives.
- */
-bool QDeclarativeStorageInfo::monitorAllLogicalDrives() const
-{
- return isMonitorAllLogicalDrives;
-}
-
-void QDeclarativeStorageInfo::setMonitorAllLogicalDrives(bool monitor)
-{
- if (monitor != isMonitorAllLogicalDrives) {
- isMonitorAllLogicalDrives = monitor;
- if (monitor) {
- connect(storageInfo, SIGNAL(logicalDriveChanged(QString,bool)),
- this, SIGNAL(logicalDriveChanged(QString,bool)));
- } else {
- disconnect(storageInfo, SIGNAL(logicalDriveChanged(QString,bool)),
- this, SIGNAL(logicalDriveChanged(QString,bool)));
- }
- emit monitorAllLogicalDrivesChanged();
- }
-}
-
-/*!
\qmlproperty stringlist StorageInfo::allLogicalDrives
This property holds a list of all the available logical drives.
*/
QStringList QDeclarativeStorageInfo::allLogicalDrives() const
{
+ connect(storageInfo, SIGNAL(logicalDriveChanged(QString,bool)), this, SIGNAL(logicalDriveChanged(QString,bool)));
return storageInfo->allLogicalDrives();
}
diff --git a/src/imports/systeminfo/qdeclarativestorageinfo_p.h b/src/imports/systeminfo/qdeclarativestorageinfo_p.h
index 156bb75f..2f638f86 100644
--- a/src/imports/systeminfo/qdeclarativestorageinfo_p.h
+++ b/src/imports/systeminfo/qdeclarativestorageinfo_p.h
@@ -64,8 +64,6 @@ class QDeclarativeStorageInfo : public QObject
Q_ENUMS(DriveType)
- Q_PROPERTY(bool monitorAllLogicalDrives READ monitorAllLogicalDrives WRITE setMonitorAllLogicalDrives NOTIFY monitorAllLogicalDrivesChanged)
-
Q_PROPERTY(QStringList allLogicalDrives READ allLogicalDrives NOTIFY logicalDriveChanged)
public:
@@ -81,8 +79,6 @@ public:
QDeclarativeStorageInfo(QObject *parent = 0);
virtual ~QDeclarativeStorageInfo();
- bool monitorAllLogicalDrives() const;
- void setMonitorAllLogicalDrives(bool monitor);
QStringList allLogicalDrives() const;
Q_INVOKABLE qlonglong availableDiskSpace(const QString &drive) const;
@@ -91,14 +87,10 @@ public:
Q_INVOKABLE int driveType(const QString &drive) const;
Q_SIGNALS:
- void monitorAllLogicalDrivesChanged();
-
void logicalDriveChanged(const QString &drive, bool added);
private:
QStorageInfo *storageInfo;
-
- bool isMonitorAllLogicalDrives;
};
QT_END_NAMESPACE
diff --git a/src/systeminfo/qstorageinfo_linux.cpp b/src/systeminfo/qstorageinfo_linux.cpp
index 9e253020..34367beb 100644
--- a/src/systeminfo/qstorageinfo_linux.cpp
+++ b/src/systeminfo/qstorageinfo_linux.cpp
@@ -274,10 +274,8 @@ QStorageInfo::DriveType QStorageInfoPrivate::driveType(const QString &drive)
void QStorageInfoPrivate::connectNotify(const char *signal)
{
- if (strcmp(signal, SIGNAL(logicalDriveChanged(QString,bool))) == 0) {
- updateLogicalDrives();
+ if (strcmp(signal, SIGNAL(logicalDriveChanged(QString,bool))) == 0)
setupWatcher();
- }
}
void QStorageInfoPrivate::disconnectNotify(const char *signal)
@@ -315,6 +313,8 @@ void QStorageInfoPrivate::cleanupWatcher()
void QStorageInfoPrivate::setupWatcher()
{
+ updateLogicalDrives();
+
#if !defined(QT_NO_UDEV)
if (needsUDevWatcher == -1)
needsUDevWatcher = QFileInfo(QStringLiteral("/etc/mtab")).isSymLink();