]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/selectionmode/topbar.h
Add margins to the zoom menu entry
[dolphin.git] / src / selectionmode / topbar.h
index b7374ff3b5a6b80d761f9e9e7920366dd6a87371..760c3da632e2af7097c3f4f6ccc58dc8f3fd1f6e 100644 (file)
@@ -1,6 +1,6 @@
 /*
     This file is part of the KDE project
-    SPDX-FileCopyrightText: 2022 Felix Ernst <felixernst@zohomail.eu>
+    SPDX-FileCopyrightText: 2022 Felix Ernst <felixernst@kde.org>
 
     SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
 */
@@ -8,18 +8,12 @@
 #ifndef SELECTIONMODETOPBAR_H
 #define SELECTIONMODETOPBAR_H
 
-#include "global.h"
+#include "animatedheightwidget.h"
 
-#include <QPointer>
-#include <QPropertyAnimation>
-#include <QStyle>
-#include <QWidget>
-
-class QHideEvent;
+class KContextualHelpButton;
 class QLabel;
 class QPushButton;
 class QResizeEvent;
-class QShowEvent;
 
 namespace SelectionMode
 {
@@ -27,20 +21,13 @@ namespace SelectionMode
 /**
  * @brief A bar appearing at the top of the view when in selection mode to make users aware of the selection mode state of the application.
  */
-class TopBar : public QWidget
+class TopBar : public AnimatedHeightWidget
 {
     Q_OBJECT
 
 public:
     TopBar(QWidget *parent);
 
-    /**
-     * Plays a show or hide animation while changing visibility.
-     * Therefore, if this method is used to hide this widget, the actual hiding will be postponed until the animation finished.
-     * @see QWidget::setVisible()
-     */
-    void setVisible(bool visible, Animated animated);
-
 Q_SIGNALS:
     void selectionModeLeavingRequested();
 
@@ -49,13 +36,18 @@ protected:
     void resizeEvent(QResizeEvent *resizeEvent) override;
 
 private:
-    using QWidget::setVisible; // Makes sure that the setVisible() declaration above doesn't hide the one from QWidget so we can still use it privately.
-
     /** Decides whether the m_fullLabelString or m_shortLabelString should be used based on available width. */
     void updateLabelString();
 
+    /** @see AnimatedHeightWidget::preferredHeight() */
+    inline int preferredHeight() const override
+    {
+        return m_preferredHeight;
+    };
+
 private:
     QLabel *m_label;
+    KContextualHelpButton *m_contextualHelpButton;
     QPushButton *m_closeButton;
 
     /** @see updateLabelString() */
@@ -64,8 +56,6 @@ private:
     QString m_shortLabelString;
 
     int m_preferredHeight;
-
-    QPointer<QPropertyAnimation> m_heightAnimation;
 };
 
 }