From b366c27a0c8b2fb972139333b863cffbff63d7f3 Mon Sep 17 00:00:00 2001 From: 23rd <23rd@vivaldi.net> Date: Thu, 22 Jul 2021 16:50:46 +0300 Subject: [PATCH] Added to Overview::Layout::Delegate ability to request repaint item. --- Telegram/SourceFiles/info/media/info_media_list_widget.cpp | 4 ++++ Telegram/SourceFiles/info/media/info_media_list_widget.h | 2 ++ Telegram/SourceFiles/overview/overview_layout_delegate.h | 1 + 3 files changed, 7 insertions(+) diff --git a/Telegram/SourceFiles/info/media/info_media_list_widget.cpp b/Telegram/SourceFiles/info/media/info_media_list_widget.cpp index 7aea2918d..ab4a914ae 100644 --- a/Telegram/SourceFiles/info/media/info_media_list_widget.cpp +++ b/Telegram/SourceFiles/info/media/info_media_list_widget.cpp @@ -835,6 +835,10 @@ void ListWidget::repaintItem(const BaseLayout *item) { } } +void ListWidget::repaintItem(not_null item) { + repaintItem(GetUniversalId(item)); +} + void ListWidget::repaintItem(QRect itemGeometry) { rtlupdate(itemGeometry); } diff --git a/Telegram/SourceFiles/info/media/info_media_list_widget.h b/Telegram/SourceFiles/info/media/info_media_list_widget.h index 8d05a9066..1c5ce745a 100644 --- a/Telegram/SourceFiles/info/media/info_media_list_widget.h +++ b/Telegram/SourceFiles/info/media/info_media_list_widget.h @@ -76,8 +76,10 @@ public: void saveState(not_null memento); void restoreState(not_null memento); + // Overview::Layout::Delegate void registerHeavyItem(not_null item) override; void unregisterHeavyItem(not_null item) override; + void repaintItem(not_null item) override; void openPhoto(not_null photo, FullMsgId id) override; void openDocument( diff --git a/Telegram/SourceFiles/overview/overview_layout_delegate.h b/Telegram/SourceFiles/overview/overview_layout_delegate.h index e35608821..179603c32 100644 --- a/Telegram/SourceFiles/overview/overview_layout_delegate.h +++ b/Telegram/SourceFiles/overview/overview_layout_delegate.h @@ -16,6 +16,7 @@ class Delegate { public: virtual void registerHeavyItem(not_null item) = 0; virtual void unregisterHeavyItem(not_null item) = 0; + virtual void repaintItem(not_null item) = 0; virtual void openPhoto(not_null photo, FullMsgId id) = 0; virtual void openDocument(