#include <KFileItem>
-class DolphinModel;
-class DolphinSortFilterProxyModel;
class FileMetaDataToolTip;
-class QAbstractItemView;
-class QModelIndex;
+class KToolTipWidget;
class QTimer;
+class QWindow;
/**
* @brief Manages the tooltips for an item view.
* Triggers the showing of the tooltip for the item \p item
* where the item has the maximum boundaries of \p itemRect.
* The tooltip manager takes care that the tooltip is shown
- * slightly delayed.
+ * slightly delayed and with a proper \p transientParent.
*/
- void showToolTip(const KFileItem& item, const QRectF& itemRect);
+ void showToolTip(const KFileItem& item, const QRectF& itemRect, QWindow *transientParent);
/**
* Hides the currently shown tooltip.
void showToolTip();
private:
- int toolTipMargin() const;
-
-private:
- QWidget* m_parentWidget;
-
/// Timeout from requesting a tooltip until the tooltip
/// should be shown
QTimer* m_showToolTipTimer;
/// the tooltip content like preview and meta data gets started.
QTimer* m_contentRetrievalTimer;
+ /// Transient parent of the tooltip, mandatory on Wayland.
+ QWindow* m_transientParent;
+
FileMetaDataToolTip* m_fileMetaDataToolTip;
+ QScopedPointer<KToolTipWidget> m_tooltipWidget;
bool m_toolTipRequested;
bool m_metaDataRequested;
bool m_appliedWaitCursor;
+ int m_margin;
KFileItem m_item;
QRect m_itemRect;
};