X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/c5948d644352046637dffb8ee8eb748069e44d4e..da795d20e2f2fa57ac9cafdffcfac4d092d8eaea:/src/statusbarspaceinfo.cpp diff --git a/src/statusbarspaceinfo.cpp b/src/statusbarspaceinfo.cpp index 09976372a..999f0ad54 100644 --- a/src/statusbarspaceinfo.cpp +++ b/src/statusbarspaceinfo.cpp @@ -22,10 +22,11 @@ #include #include -#include +#include #include -#include +#include +#include #include #include @@ -121,15 +122,6 @@ void StatusBarSpaceInfo::slotFoundMountPoint(const unsigned long& kBSize, m_kBSize = kBSize; m_kBAvailable = kBAvailable; - // Bypass a the issue (?) of KDiskFreeSp that for protocols like - // FTP, SMB the size of root partition is returned. - // TODO: check whether KDiskFreeSp is buggy or Dolphin uses it in a wrong way - const QString protocol(m_url.protocol()); - if (!protocol.isEmpty() && (protocol != "file")) { - m_kBSize = 0; - m_kBAvailable = 0; - } - update(); } @@ -141,13 +133,19 @@ void StatusBarSpaceInfo::showResult() void StatusBarSpaceInfo::refresh() { - m_gettingSize = true; m_kBSize = 0; m_kBAvailable = 0; - const QString mountPoint(KIO::findPathMountPoint(m_url.path())); + // KDiskFreeSpace is for local paths only + if (!m_url.isLocalFile()) + return; + + m_gettingSize = true; + KMountPoint::Ptr mp = KMountPoint::currentMountPoints().findByPath(m_url.path()); + if (!mp) + return; - KDiskFreeSp* job = new KDiskFreeSp(this); + KDiskFreeSpace* job = new KDiskFreeSpace(this); connect(job, SIGNAL(foundMountPoint(const unsigned long&, const unsigned long&, const unsigned long&, @@ -159,7 +157,7 @@ void StatusBarSpaceInfo::refresh() connect(job, SIGNAL(done()), this, SLOT(showResult())); - job->readDF(mountPoint); + job->readDF(mp->mountPoint()); } QColor StatusBarSpaceInfo::progressColor(const QColor& bgColor) const