From 30c5dfe6f65babf234c889959061c97c4a2f391d Mon Sep 17 00:00:00 2001 From: John Preston Date: Thu, 4 Jan 2024 18:17:12 +0400 Subject: [PATCH] Allow querying current SeparatePanel::inner widget. --- ui/widgets/separate_panel.cpp | 7 +++++++ ui/widgets/separate_panel.h | 1 + 2 files changed, 8 insertions(+) diff --git a/ui/widgets/separate_panel.cpp b/ui/widgets/separate_panel.cpp index 92780ed..6a8b1d5 100644 --- a/ui/widgets/separate_panel.cpp +++ b/ui/widgets/separate_panel.cpp @@ -583,10 +583,17 @@ void SeparatePanel::destroyLayer() { layer = nullptr; } +RpWidget *SeparatePanel::inner() const { + return _inner.get(); +} + void SeparatePanel::showInner(base::unique_qptr inner) { Expects(!size().isEmpty()); + auto old = base::take(_inner); _inner = std::move(inner); + old = nullptr; // Make sure in old destructor inner() != old. + _inner->setParent(_body); _inner->move(0, 0); _body->sizeValue( diff --git a/ui/widgets/separate_panel.h b/ui/widgets/separate_panel.h index 655fd3e..563eead 100644 --- a/ui/widgets/separate_panel.h +++ b/ui/widgets/separate_panel.h @@ -60,6 +60,7 @@ public: void showAndActivate(); int hideGetDuration(); + [[nodiscard]] RpWidget *inner() const; void showInner(base::unique_qptr inner); void showBox( object_ptr box,