diff --git a/Telegram/SourceFiles/data/data_scheduled_messages.cpp b/Telegram/SourceFiles/data/data_scheduled_messages.cpp index 8d6831675..75b725b3e 100644 --- a/Telegram/SourceFiles/data/data_scheduled_messages.cpp +++ b/Telegram/SourceFiles/data/data_scheduled_messages.cpp @@ -414,6 +414,7 @@ HistoryItem *ScheduledMessages::append( }, data.vmedia()); existing->updateReplyMarkup(data.vreply_markup()); existing->updateForwardedInfo(data.vfwd_from()); + existing->updateDate(data.vdate().v); history->owner().requestItemTextRefresh(existing); }, [&](const auto &data) {}); return existing; diff --git a/Telegram/SourceFiles/history/history_item.cpp b/Telegram/SourceFiles/history/history_item.cpp index f515c4891..20f40fc25 100644 --- a/Telegram/SourceFiles/history/history_item.cpp +++ b/Telegram/SourceFiles/history/history_item.cpp @@ -708,6 +708,17 @@ MsgId HistoryItem::idOriginal() const { return id; } +void HistoryItem::updateDate(TimeId newDate) { + if (canUpdateDate() && _date != newDate) { + _date = newDate; + _history->owner().requestItemViewRefresh(this); + } +} + +bool HistoryItem::canUpdateDate() const { + return isScheduled(); +} + void HistoryItem::sendFailed() { Expects(_clientFlags & MTPDmessage_ClientFlag::f_sending); Expects(!(_clientFlags & MTPDmessage_ClientFlag::f_failed)); diff --git a/Telegram/SourceFiles/history/history_item.h b/Telegram/SourceFiles/history/history_item.h index 92f149492..20ec30e1e 100644 --- a/Telegram/SourceFiles/history/history_item.h +++ b/Telegram/SourceFiles/history/history_item.h @@ -328,6 +328,9 @@ public: [[nodiscard]] virtual std::unique_ptr<HistoryView::Element> createView( not_null<HistoryView::ElementDelegate*> delegate) = 0; + void updateDate(TimeId newDate); + [[nodiscard]] bool canUpdateDate() const; + virtual ~HistoryItem(); MsgId id;