X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/51a4c273a0ff8b8bc27f4ecb3ab155e18361955a..f65b0899c3666561cafac14f67ab0bb8a5bfa00a:/src/statusbar/statusbarspaceinfo.h diff --git a/src/statusbar/statusbarspaceinfo.h b/src/statusbar/statusbarspaceinfo.h index 7650c357f..5b16942a4 100644 --- a/src/statusbar/statusbarspaceinfo.h +++ b/src/statusbar/statusbarspaceinfo.h @@ -1,35 +1,20 @@ -/*************************************************************************** - * Copyright (C) 2006 by Peter Penz (peter.penz@gmx.at) and * - * and Patrice Tremblay * - * * - * 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: 2006 Peter Penz (peter.penz@gmx.at) and Patrice Tremblay + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ #ifndef STATUSBARSPACEINFO_H #define STATUSBARSPACEINFO_H -#include - -#include -#include -#include +#include -#include +#include class QHideEvent; class QShowEvent; +class QMouseEvent; + +class SpaceInfoObserver; /** * @short Shows the available space for the volume represented @@ -40,24 +25,31 @@ class StatusBarSpaceInfo : public KCapacityBar Q_OBJECT public: - explicit StatusBarSpaceInfo(QWidget* parent = 0); - virtual ~StatusBarSpaceInfo(); + explicit StatusBarSpaceInfo(QWidget* parent = nullptr); + ~StatusBarSpaceInfo() override; + + /** + * Use this to set the widget visibility as it can hide itself + */ + void setShown(bool); + void setUrl(const QUrl& url); + QUrl url() const; - void setUrl(const KUrl& url); - KUrl url() const; + void update(); protected: - void showEvent(QShowEvent* event); - void hideEvent(QHideEvent* event); + void showEvent(QShowEvent* event) override; + void hideEvent(QHideEvent* event) override; + void mousePressEvent(QMouseEvent* event) override; -private slots: - /** Refreshes the space information for the current set URL. */ - void refresh(); +private Q_SLOTS: + void slotValuesChanged(); private: - quint64 m_kBSize; - KUrl m_url; - QTimer* m_timer; + QScopedPointer m_observer; + QUrl m_url; + bool m_ready; + bool m_shown; }; #endif