]>
cloud.milkyroute.net Git - dolphin.git/blob - src/statusbar/mountpointobserver.cpp
2 * SPDX-FileCopyrightText: 2014 Frank Reininghaus <frank78ac@googlemail.com>
4 * SPDX-License-Identifier: GPL-2.0-or-later
7 #include "mountpointobserver.h"
9 #include "mountpointobservercache.h"
11 #include <KIO/FileSystemFreeSpaceJob>
13 MountPointObserver::MountPointObserver(const QUrl
&url
, QObject
*parent
)
20 MountPointObserver
*MountPointObserver::observerForUrl(const QUrl
&url
)
22 MountPointObserver
*observer
= MountPointObserverCache::instance()->observerForUrl(url
);
26 void MountPointObserver::update()
28 if (m_referenceCount
== 0) {
31 KIO::FileSystemFreeSpaceJob
*job
= KIO::fileSystemFreeSpace(m_url
);
32 connect(job
, &KJob::result
, this, &MountPointObserver::freeSpaceResult
);
36 void MountPointObserver::freeSpaceResult(KJob
*job
)
39 KIO::FileSystemFreeSpaceJob
*freeSpaceJob
= qobject_cast
<KIO::FileSystemFreeSpaceJob
*>(job
);
40 Q_ASSERT(freeSpaceJob
);
41 Q_EMIT
spaceInfoChanged(freeSpaceJob
->size(), freeSpaceJob
->availableSize());
43 Q_EMIT
spaceInfoChanged(0, 0);
47 #include "moc_mountpointobserver.cpp"