- if (isDevice && url.isLocalFile()) {
- if (!m_freeSpaceInfo.job
- && (
- !m_freeSpaceInfo.lastUpdated.isValid()
- || m_freeSpaceInfo.lastUpdated.secsTo(QDateTime::currentDateTimeUtc()) > 60
- )
- ) {
- m_freeSpaceInfo.job = KIO::fileSystemFreeSpace(url);
- connect(
- m_freeSpaceInfo.job,
- &KIO::FileSystemFreeSpaceJob::result,
- this,
- [this](KIO::Job *job, KIO::filesize_t size, KIO::filesize_t available) {
- // even if we receive an error we want to refresh lastUpdated to avoid repeatedly querying in this case
- m_freeSpaceInfo.lastUpdated = QDateTime::currentDateTimeUtc();
-
- if (job->error()) {
- return;
- }
-
- m_freeSpaceInfo.size = size;
- m_freeSpaceInfo.used = size - available;
- m_freeSpaceInfo.usedRatio = (qreal)m_freeSpaceInfo.used / (qreal)m_freeSpaceInfo.size;
- m_drawCapacityBar = size > 0;
-
- update();
- }
- );
- } else {
- // Job running or cache is still valid.
- }
- } else {