#ifndef TOOLTIPMANAGER_H
#define TOOLTIPMANAGER_H
+#include <KFileItem>
+
#include <QObject>
#include <QRect>
-#include <KFileItem>
-
-class FileMetaDataToolTip;
+class DolphinFileMetaDataWidget;
class KToolTipWidget;
class QTimer;
class QWindow;
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
/**
* 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();
/// 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;