┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/views/tooltips/tooltipmanager.h
diff options
context:
space:
mode:
authorKai Uwe Broulik <[email protected]>2022-03-29 09:36:30 +0200
committerKai Uwe Broulik <[email protected]>2022-03-31 14:22:24 +0200
commit64ffcdad4ff60e1f0b443c00229e6aacf523c72f (patch)
tree0b0715791a310c2b1698d568cd5962dfad3ad063 /src/views/tooltips/tooltipmanager.h
parent447c35868c6268789e8f2ae0abecd28df02029d8 (diff)
[ToolTipManager] Create DolphinFileMetaDataWidget on-demand again
This reverts b7fbd19a7660424e6839df37f12b33111408b1fc but creates the widget only once and then reuses it. However, ownership of a parent-less widget is transferred to the `KToolTipWidget` but since we first request metadata, then show the tooltip (or won't if the mouse moved on since), we cannot rely on the `KToolTipWidget` exclusively. Instead, when we still delete the widget ourself until we have shown the `KToolTipWidget` once at which point it will handle the life time for us. This fixes parenting the widget to `DolphinView` which would make it appear as a broken line in the top left of the window.
Diffstat (limited to 'src/views/tooltips/tooltipmanager.h')
-rw-r--r--src/views/tooltips/tooltipmanager.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/views/tooltips/tooltipmanager.h b/src/views/tooltips/tooltipmanager.h
index 066393344..c86c97f6b 100644
--- a/src/views/tooltips/tooltipmanager.h
+++ b/src/views/tooltips/tooltipmanager.h
@@ -77,7 +77,12 @@ private:
QWindow* m_transientParent;
QScopedPointer<KToolTipWidget> m_tooltipWidget;
- 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;