From 2fe9ec27b1d11a1f1f96a5ce31350226d8d99d3f Mon Sep 17 00:00:00 2001 From: John Preston Date: Tue, 12 Sep 2023 20:14:37 +0400 Subject: [PATCH] Fix build for Windows, add BoxShowFinishes. --- ui/layers/generic_box.cpp | 13 +++++++++++++ ui/layers/generic_box.h | 2 ++ ui/rp_widget.cpp | 6 +++--- 3 files changed, 18 insertions(+), 3 deletions(-) diff --git a/ui/layers/generic_box.cpp b/ui/layers/generic_box.cpp index 380f172..d96a17a 100644 --- a/ui/layers/generic_box.cpp +++ b/ui/layers/generic_box.cpp @@ -70,4 +70,17 @@ not_null GenericBox::verticalLayout() { return _content; } +rpl::producer<> BoxShowFinishes(not_null box) { + const auto singleShot = box->lifetime().make_state(); + const auto showFinishes = singleShot->make_state>(); + + box->setShowFinishedCallback([=] { + showFinishes->fire({}); + singleShot->destroy(); + box->setShowFinishedCallback(nullptr); + }); + + return showFinishes->events(); +} + } // namespace Ui diff --git a/ui/layers/generic_box.h b/ui/layers/generic_box.h index 9df6dae..dd54c70 100644 --- a/ui/layers/generic_box.h +++ b/ui/layers/generic_box.h @@ -192,4 +192,6 @@ inline GenericBox::GenericBox( , _content(_owned.data()) { } +[[nodiscard]] rpl::producer<> BoxShowFinishes(not_null box); + } // namespace Ui diff --git a/ui/rp_widget.cpp b/ui/rp_widget.cpp index 49b1394..3301c9f 100644 --- a/ui/rp_widget.cpp +++ b/ui/rp_widget.cpp @@ -48,9 +48,9 @@ TWidget::TWidget(QWidget *parent) [[maybe_unused]] static const auto Once = [] { auto format = QSurfaceFormat::defaultFormat(); format.setSwapInterval(0); - if (Platform::IsMac()) { - format.setColorSpace(QColorSpace::SRgb); - } +#ifdef Q_OS_MAC + format.setColorSpace(QColorSpace::SRgb); +#endif // Q_OS_MAC QSurfaceFormat::setDefaultFormat(format); return true; }();