- const KDiskFreeSpaceInfo spaceInfo = KDiskFreeSpaceInfo::freeSpaceInfo(m_mountPoint);
- if (spaceInfo.size() != m_spaceInfo.size() || spaceInfo.available() != m_spaceInfo.available()) {
- m_spaceInfo = spaceInfo;
- emit spaceInfoChanged();
- }
+ KIO::FileSystemFreeSpaceJob* job = KIO::fileSystemFreeSpace(m_url);
+ connect(job, &KIO::FileSystemFreeSpaceJob::result, this, &MountPointObserver::freeSpaceResult);
+ }
+}
+
+void MountPointObserver::freeSpaceResult(KIO::Job* job, KIO::filesize_t size, KIO::filesize_t available)
+{
+ if (!job->error()) {
+ emit spaceInfoChanged(size, available);
+ } else {
+ emit spaceInfoChanged(0, 0);