X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/6862c3a617792bd04e3396b6afdb5df2199a67b2..4ba9eb8ea34baee7e5e100a0d3c33f23f75cf708:/src/tooltips/tooltipmanager.h diff --git a/src/tooltips/tooltipmanager.h b/src/tooltips/tooltipmanager.h index e9b5cac6e..24e72f28b 100644 --- a/src/tooltips/tooltipmanager.h +++ b/src/tooltips/tooltipmanager.h @@ -27,10 +27,10 @@ class DolphinModel; class DolphinSortFilterProxyModel; +class FileMetaDataToolTip; class QAbstractItemView; class QModelIndex; class QTimer; -class KToolTipItem; /** * @brief Manages the tooltips for an item view. @@ -66,17 +66,36 @@ private slots: void startPreviewJob(); void setPreviewPix(const KFileItem& item, const QPixmap& pix); void previewFailed(); - + void showToolTip(); + private: - void showToolTip(const QIcon& icon, const QString& text); + void showToolTipDelayed(const QPixmap& pixmap); +private: QAbstractItemView* m_view; DolphinModel* m_dolphinModel; DolphinSortFilterProxyModel* m_proxyModel; - QTimer* m_timer; - QTimer* m_previewTimer; + /// Timeout from requesting a tooltip until the tooltip is shown + QTimer* m_prepareToolTipTimer; + + /// Timeout from requesting a tooltip until starting a job to + /// create a preview pixmap. The preview job is started before + /// m_prepareToolTipTimer has been exceeded, to have the preview + /// pixmap ideally before the tooltip will be shown. + QTimer* m_startPreviewJobTimer; + + /// Don't show the tooltip, before the preview has been received. The + /// time indicates the interval, when the check for a received + /// is done. QTimer* m_waitOnPreviewTimer; + + /// The tooltip is shown slightly delayed to prevent a flickering + /// because of layouting the content. + QTimer* m_showToolTipDelayedTimer; + + FileMetaDataToolTip* m_fileMetaDataToolTip; + KFileItem m_item; QRect m_itemRect; bool m_generatingPreview;