X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/ea713e7a791e4685be6d3c22756d59cef91fa77a..5360bc3ab328c8b1161b0c5df9c5785829a3e880:/src/statusbar/mountpointobserver.cpp diff --git a/src/statusbar/mountpointobserver.cpp b/src/statusbar/mountpointobserver.cpp index 4a23be6b6..f8b4a811d 100644 --- a/src/statusbar/mountpointobserver.cpp +++ b/src/statusbar/mountpointobserver.cpp @@ -1,36 +1,25 @@ -/*************************************************************************** - * Copyright (C) 2014 by Frank Reininghaus * - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - * This program is distributed in the hope that it will be useful, * - * but WITHOUT ANY WARRANTY; without even the implied warranty of * - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * - * GNU General Public License for more details. * - * * - * You should have received a copy of the GNU General Public License * - * along with this program; if not, write to the * - * Free Software Foundation, Inc., * - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * - ***************************************************************************/ +/* + * SPDX-FileCopyrightText: 2014 Frank Reininghaus + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ #include "mountpointobserver.h" + #include "mountpointobservercache.h" -MountPointObserver::MountPointObserver(const QString& mountPoint, QObject* parent) : +#include + +MountPointObserver::MountPointObserver(const QUrl& url, QObject* parent) : QObject(parent), - m_mountPoint(mountPoint), - m_referenceCount(0), - m_spaceInfo(KDiskFreeSpaceInfo::freeSpaceInfo(mountPoint)) + m_url(url), + m_referenceCount(0) { } -MountPointObserver* MountPointObserver::observerForPath(const QString& path) +MountPointObserver* MountPointObserver::observerForUrl(const QUrl& url) { - MountPointObserver* observer = MountPointObserverCache::instance()->observerForPath(path); + MountPointObserver* observer = MountPointObserverCache::instance()->observerForUrl(url); return observer; } @@ -39,10 +28,16 @@ void MountPointObserver::update() if (m_referenceCount == 0) { delete this; } else { - 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); } }