]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/views/tooltips/tooltipmanager.h
Merge branch 'Applications/19.08'
[dolphin.git] / src / views / tooltips / tooltipmanager.h
index 58fe6876315c064780616d9b01a8fab79e243a20..c09a40d31c9a84df777758aacce68cba4a72cf29 100644 (file)
 #ifndef TOOLTIPMANAGER_H
 #define TOOLTIPMANAGER_H
 
+#include <KFileItem>
+
 #include <QObject>
 #include <QRect>
 
-#include <KFileItem>
-
-class FileMetaDataToolTip;
+class DolphinFileMetaDataWidget;
 class KToolTipWidget;
 class QTimer;
 class QWindow;
@@ -42,8 +42,13 @@ class ToolTipManager : public QObject
     Q_OBJECT
 
 public:
+    enum class HideBehavior {
+        Instantly,
+        Later
+    };
+
     explicit ToolTipManager(QWidget* parent);
-    virtual ~ToolTipManager();
+    ~ToolTipManager() override;
 
     /**
      * Triggers the showing of the tooltip for the item \p item
@@ -56,7 +61,14 @@ public:
     /**
      * Hides the currently shown tooltip.
      */
-    void hideToolTip();
+    void hideToolTip(const HideBehavior behavior = HideBehavior::Later);
+
+signals:
+    /**
+     * Is emitted when the user clicks a tag or a link
+     * in the metadata widget.
+     */
+    void urlActivated(const QUrl& url);
 
 private slots:
     void startContentRetrieval();
@@ -77,8 +89,8 @@ private:
     /// Transient parent of the tooltip, mandatory on Wayland.
     QWindow* m_transientParent;
 
-    FileMetaDataToolTip* m_fileMetaDataToolTip;
     QScopedPointer<KToolTipWidget> m_tooltipWidget;
+    QScopedPointer<DolphinFileMetaDataWidget> m_fileMetaDataWidget;
 
     bool m_toolTipRequested;
     bool m_metaDataRequested;