]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/statusbar/statusbarspaceinfo.h
Offer installing Filelight if no disk usage analyzer was found
[dolphin.git] / src / statusbar / statusbarspaceinfo.h
index 7cc5c49e2e74a0a9a66b2e6bfd5b74d95aec39ff..23a77d045e4ce3d1f46c4c97ec6af17c1cbab6a0 100644 (file)
@@ -6,13 +6,16 @@
 #ifndef STATUSBARSPACEINFO_H
 #define STATUSBARSPACEINFO_H
 
-#include <KCapacityBar>
-
 #include <QUrl>
+#include <QWidget>
 
 class QHideEvent;
 class QShowEvent;
+class QMenu;
 class QMouseEvent;
+class QToolButton;
+
+class KCapacityBar;
 
 class SpaceInfoObserver;
 
@@ -20,33 +23,38 @@ class SpaceInfoObserver;
  * @short Shows the available space for the volume represented
  *        by the given URL as part of the status bar.
  */
-class StatusBarSpaceInfo : public KCapacityBar
+class StatusBarSpaceInfo : public QWidget
 {
     Q_OBJECT
 
 public:
-    explicit StatusBarSpaceInfo(QWidgetparent = nullptr);
+    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 QUrlurl);
+    void setUrl(const QUrl &url);
     QUrl url() const;
 
     void update();
 
 protected:
-    void showEvent(QShowEvent* event) override;
-    void hideEvent(QHideEvent* event) override;
-    void mousePressEvent(QMouseEvent* event) override;
+    void showEvent(QShowEvent *event) override;
+    void hideEvent(QHideEvent *event) override;
+    QSize minimumSizeHint() const override;
+
+    void updateMenu();
 
-private slots:
+private Q_SLOTS:
     void slotValuesChanged();
 
 private:
     QScopedPointer<SpaceInfoObserver> m_observer;
+    KCapacityBar *m_capacityBar;
+    QToolButton *m_textInfoButton;
+    QMenu *m_buttonMenu;
     QUrl m_url;
     bool m_ready;
     bool m_shown;