From 53ba300d7e5fda3b628c172647adc98efda0fa3d Mon Sep 17 00:00:00 2001 From: John Preston Date: Sat, 1 Jun 2019 12:44:10 +0300 Subject: [PATCH] Version 1.7.3: Fix checkbox in url auth. --- Telegram/SourceFiles/ui/widgets/checkbox.cpp | 15 ++++++++++++++- Telegram/SourceFiles/ui/widgets/checkbox.h | 1 + 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/Telegram/SourceFiles/ui/widgets/checkbox.cpp b/Telegram/SourceFiles/ui/widgets/checkbox.cpp index 72295d2ae..51d1a5ec0 100644 --- a/Telegram/SourceFiles/ui/widgets/checkbox.cpp +++ b/Telegram/SourceFiles/ui/widgets/checkbox.cpp @@ -408,12 +408,25 @@ Checkbox::Checkbox( : RippleButton(parent, st.ripple) , _st(st) , _check(std::move(check)) -, _text(_st.style, text, _checkboxOptions, (_st.width > 0) ? _st.width : QFIXED_MAX) { +, _text( + _st.style, + text, + _checkboxOptions, + countTextMinWidth()) { _check->setUpdateCallback([=] { updateCheck(); }); resizeToText(); setCursor(style::cur_pointer); } +int Checkbox::countTextMinWidth() const { + const auto leftSkip = _st.checkPosition.x() + + checkRect().width() + + _st.textPosition.x(); + return (_st.width > 0) + ? std::max(_st.width - leftSkip, 1) + : QFIXED_MAX; +} + QRect Checkbox::checkRect() const { auto size = _check->getSize(); return QRect({ diff --git a/Telegram/SourceFiles/ui/widgets/checkbox.h b/Telegram/SourceFiles/ui/widgets/checkbox.h index 694a185c6..b470fd223 100644 --- a/Telegram/SourceFiles/ui/widgets/checkbox.h +++ b/Telegram/SourceFiles/ui/widgets/checkbox.h @@ -191,6 +191,7 @@ protected: private: void resizeToText(); QPixmap grabCheckCache() const; + int countTextMinWidth() const; const style::Checkbox &_st; std::unique_ptr _check;