[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    KDE/kdebase/workspace/plasma/dataengines/soliddevice
From:       Christopher Blauvelt <cblauvelt () gmail ! com>
Date:       2009-04-29 5:59:13
Message-ID: 1240984753.473835.1482.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 960787 by cblauvelt:

Fix some bugs in determining whether free space can be found on a device.



 M  +13 -6     soliddeviceengine.cpp  


--- trunk/KDE/kdebase/workspace/plasma/dataengines/soliddevice/soliddeviceengine.cpp #960786:960787
@@ -153,12 +153,17 @@
         devicetypes << I18N_NOOP("Storage Access");
         setData(name, I18N_NOOP("Accessible"), storageaccess->isAccessible());
         setData(name, I18N_NOOP("File Path"), storageaccess->filePath());
-        QVariant freeDiskVar;
-        qlonglong freeDisk = freeDiskSpace(storageaccess->filePath());
-        if ( freeDisk != -1 ) {
-            freeDiskVar.setValue( freeDisk );
+
+        if (storageaccess->isAccessible()) {
+            QVariant freeDiskVar;
+            qlonglong freeDisk = freeDiskSpace(storageaccess->filePath());
+            if ( freeDisk != -1 ) {
+                freeDiskVar.setValue( freeDisk );
+            }
+            if (!device.is<Solid::OpticalDisc>()) {
+                setData(name, I18N_NOOP("Free Space"), freeDiskVar );
+            }
         }
-        setData(name, I18N_NOOP("Free Space"), freeDiskVar );
 
         signalmanager->mapDevice(storageaccess, device.udi());
     }
@@ -538,8 +543,10 @@
 bool SolidDeviceEngine::updateFreeSpace(const QString &udi)
 {
     Solid::Device device = devicemap.value(udi);
-    if (!device.is<Solid::StorageAccess>()) {
+    if (!device.is<Solid::StorageAccess>() || device.is<Solid::OpticalDisc>()) {
         return false;
+    } else if (!device.as<Solid::StorageAccess>()->isAccessible()) {
+        removeData(udi, I18N_NOOP("Free Space"));
     }
 
     Solid::StorageAccess *storageaccess = device.as<Solid::StorageAccess>();
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic