]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/views/tooltips/tooltipmanager.h
Add missing KF6::ColorScheme link
[dolphin.git] / src / views / tooltips / tooltipmanager.h
index c09a40d31c9a84df777758aacce68cba4a72cf29..9aee295ffc9c1438de616589632a97383adf700c 100644 (file)
@@ -1,21 +1,8 @@
-/*******************************************************************************
- *   Copyright (C) 2008 by Konstantin Heil <konst.heil@stud.uni-heidelberg.de> *
- *                                                                             *
- *   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: 2008 Konstantin Heil <konst.heil@stud.uni-heidelberg.de>
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
 
 #ifndef TOOLTIPMANAGER_H
 #define TOOLTIPMANAGER_H
@@ -42,12 +29,9 @@ class ToolTipManager : public QObject
     Q_OBJECT
 
 public:
-    enum class HideBehavior {
-        Instantly,
-        Later
-    };
+    enum class HideBehavior { Instantly, Later };
 
-    explicit ToolTipManager(QWidgetparent);
+    explicit ToolTipManager(QWidget *parent);
     ~ToolTipManager() override;
 
     /**
@@ -56,23 +40,23 @@ public:
      * The tooltip manager takes care that the tooltip is shown
      * slightly delayed and with a proper \p transientParent.
      */
-    void showToolTip(const KFileItem& item, const QRectF& itemRect, QWindow *transientParent);
+    void showToolTip(const KFileItem &item, const QRectF &itemRect, QWindow *transientParent);
 
     /**
      * Hides the currently shown tooltip.
      */
     void hideToolTip(const HideBehavior behavior = HideBehavior::Later);
 
-signals:
+Q_SIGNALS:
     /**
      * Is emitted when the user clicks a tag or a link
      * in the metadata widget.
      */
-    void urlActivated(const QUrlurl);
+    void urlActivated(const QUrl &url);
 
-private slots:
+private Q_SLOTS:
     void startContentRetrieval();
-    void setPreviewPix(const KFileItem& item, const QPixmap& pix);
+    void setPreviewPix(const KFileItem &item, const QPixmap &pix);
     void previewFailed();
     void slotMetaDataRequestFinished();
     void showToolTip();
@@ -80,17 +64,22 @@ private slots:
 private:
     /// Timeout from requesting a tooltip until the tooltip
     /// should be shown
-    QTimerm_showToolTipTimer;
+    QTimer *m_showToolTipTimer;
 
     /// Timeout from requesting a tooltip until the retrieving of
     /// the tooltip content like preview and meta data gets started.
-    QTimerm_contentRetrievalTimer;
+    QTimer *m_contentRetrievalTimer;
 
     /// Transient parent of the tooltip, mandatory on Wayland.
-    QWindowm_transientParent;
+    QWindow *m_transientParent;
 
     QScopedPointer<KToolTipWidget> m_tooltipWidget;
-    QScopedPointer<DolphinFileMetaDataWidget> m_fileMetaDataWidget;
+    DolphinFileMetaDataWidget *m_fileMetaDataWidget = nullptr;
+
+    /// Whether ownership of the metadata widget was transferred
+    /// over to the KToolTipWidget (i.e. we should not delete it
+    /// anymore)
+    bool m_fileMetaDatWidgetOwnershipTransferred = false;
 
     bool m_toolTipRequested;
     bool m_metaDataRequested;