diff --git a/Telegram/SourceFiles/info/channel_statistics/boosts/create_giveaway_box.cpp b/Telegram/SourceFiles/info/channel_statistics/boosts/create_giveaway_box.cpp index 4c99284a4..58019ce84 100644 --- a/Telegram/SourceFiles/info/channel_statistics/boosts/create_giveaway_box.cpp +++ b/Telegram/SourceFiles/info/channel_statistics/boosts/create_giveaway_box.cpp @@ -462,19 +462,10 @@ void CreateGiveawayBox( const auto &padding = st::giveawayGiftCodeSliderPadding; Ui::AddSkip(sliderContainer, padding.top()); - class Slider : public Ui::MediaSlider { - public: - using Ui::MediaSlider::MediaSlider; - - protected: - void wheelEvent(QWheelEvent *e) override { - e->ignore(); - } - - }; - const auto slider = sliderContainer->add( - object_ptr(sliderContainer, st::settingsScale), + object_ptr( + sliderContainer, + st::settingsScale), st::boxRowPadding); Ui::AddSkip(sliderContainer, padding.bottom()); slider->resize(slider->width(), st::settingsScale.seekSize.height()); diff --git a/Telegram/SourceFiles/settings/settings_common.cpp b/Telegram/SourceFiles/settings/settings_common.cpp index 448061167..77cdd8047 100644 --- a/Telegram/SourceFiles/settings/settings_common.cpp +++ b/Telegram/SourceFiles/settings/settings_common.cpp @@ -265,14 +265,17 @@ SliderWithLabel MakeSliderWithLabel( const style::MediaSlider &sliderSt, const style::FlatLabel &labelSt, int skip, - int minLabelWidth) { + int minLabelWidth, + bool ignoreWheel) { auto result = object_ptr(parent); const auto raw = result.data(); const auto height = std::max( sliderSt.seekSize.height(), labelSt.style.font->height); raw->resize(sliderSt.seekSize.width(), height); - const auto slider = Ui::CreateChild(raw, sliderSt); + const auto slider = ignoreWheel + ? Ui::CreateChild(raw, sliderSt) + : Ui::CreateChild(raw, sliderSt); const auto label = Ui::CreateChild(raw, labelSt); slider->resize(slider->width(), sliderSt.seekSize.height()); rpl::combine( diff --git a/Telegram/SourceFiles/settings/settings_common.h b/Telegram/SourceFiles/settings/settings_common.h index c36927978..d3492b96f 100644 --- a/Telegram/SourceFiles/settings/settings_common.h +++ b/Telegram/SourceFiles/settings/settings_common.h @@ -214,6 +214,7 @@ struct SliderWithLabel { const style::MediaSlider &sliderSt, const style::FlatLabel &labelSt, int skip, - int minLabelWidth = 0); + int minLabelWidth = 0, + bool ignoreWheel = false); } // namespace Settings diff --git a/Telegram/SourceFiles/settings/settings_main.cpp b/Telegram/SourceFiles/settings/settings_main.cpp index 402b34159..19c6ac654 100644 --- a/Telegram/SourceFiles/settings/settings_main.cpp +++ b/Telegram/SourceFiles/settings/settings_main.cpp @@ -598,7 +598,8 @@ void SetupInterfaceScale( st::settingsScale, st::settingsScaleLabel, st::normalFont->spacew * 2, - st::settingsScaleLabel.style.font->width("300%")); + st::settingsScaleLabel.style.font->width("300%"), + true); container->add( std::move(sliderWithLabel.widget), icon ? st::settingsScalePadding : st::settingsBigScalePadding); diff --git a/Telegram/SourceFiles/ui/widgets/continuous_sliders.h b/Telegram/SourceFiles/ui/widgets/continuous_sliders.h index e5900bcbf..97839b4b1 100644 --- a/Telegram/SourceFiles/ui/widgets/continuous_sliders.h +++ b/Telegram/SourceFiles/ui/widgets/continuous_sliders.h @@ -230,4 +230,15 @@ private: }; +class MediaSliderWheelless : public MediaSlider { +public: + using Ui::MediaSlider::MediaSlider; + +protected: + void wheelEvent(QWheelEvent *e) override { + e->ignore(); + } + +}; + } // namespace Ui