X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/6e752f507a1dd82a40d4bd140457203842fc0c80..refs/heads/master:/src/statusbar/statusbarspaceinfo.h diff --git a/src/statusbar/statusbarspaceinfo.h b/src/statusbar/statusbarspaceinfo.h index 237192c9c..c384c3b2f 100644 --- a/src/statusbar/statusbarspaceinfo.h +++ b/src/statusbar/statusbarspaceinfo.h @@ -35,9 +35,11 @@ public: ~StatusBarSpaceInfo() override; /** - * Use this to set the widget visibility as it can hide itself + * Works similar to QWidget::setVisible() except that this will postpone showing the widget until space info has been retrieved. Hiding happens instantly. + * + * @param shown Whether this widget is supposed to be visible long-term */ - void setShown(bool); + void setShown(bool shown); void setUrl(const QUrl &url); QUrl url() const; @@ -61,34 +63,23 @@ protected: void hideEvent(QHideEvent *event) override; QSize minimumSizeHint() const override; - void updateMenu(); - private Q_SLOTS: - /** - * Asynchronously starts a Filelight installation using DolphinPackageInstaller. @see DolphinPackageInstaller. - * Installation success or failure is reported through showMessage(). @see StatusBarSpaceInfo::showMessage(). - * Installation progress is reported through showInstallationProgress(). @see StatusBarSpaceInfo::showInstallationProgress(). - */ - void slotInstallFilelightButtonClicked(); - void slotValuesChanged(); private: - /** - * Creates a new QWidgetAction that contains a UI to install Filelight. - * m_installFilelightWidgetAction is initialised after calling this method once. - */ - void initialiseInstallFilelightWidgetAction(); + // The following three methods are only for private use. + using QWidget::hide; // Use StatusBarSpaceInfo::setShown() instead. + using QWidget::setVisible; // Use StatusBarSpaceInfo::setShown() instead. + using QWidget::show; // Use StatusBarSpaceInfo::setShown() instead. private: QScopedPointer m_observer; KCapacityBar *m_capacityBar; QToolButton *m_textInfoButton; - QMenu *m_buttonMenu; - /** An action containing a UI to install Filelight. */ - QWidgetAction *m_installFilelightWidgetAction; QUrl m_url; - bool m_ready; + /** Whether m_observer has already retrieved space information for the current url. */ + bool m_hasSpaceInfo; + /** Whether this widget is supposed to be visible long-term. @see StatusBarSpaceInfo::setShown(). */ bool m_shown; };