mirror of
https://github.com/AyuGram/AyuGramDesktop.git
synced 2025-04-16 06:07:06 +02:00
Moved out ScheduledMessages module to components submodule.
This commit is contained in:
parent
3d48111368
commit
a35f020f56
20 changed files with 60 additions and 60 deletions
|
@ -460,6 +460,8 @@ PRIVATE
|
|||
data/business/data_business_info.h
|
||||
data/business/data_shortcut_messages.cpp
|
||||
data/business/data_shortcut_messages.h
|
||||
data/components/scheduled_messages.cpp
|
||||
data/components/scheduled_messages.h
|
||||
data/components/sponsored_messages.cpp
|
||||
data/components/sponsored_messages.h
|
||||
data/notify/data_notify_settings.cpp
|
||||
|
@ -579,8 +581,6 @@ PRIVATE
|
|||
data/data_send_action.h
|
||||
data/data_session.cpp
|
||||
data/data_session.h
|
||||
data/data_scheduled_messages.cpp
|
||||
data/data_scheduled_messages.h
|
||||
data/data_shared_media.cpp
|
||||
data/data_shared_media.h
|
||||
data/data_sparse_ids.cpp
|
||||
|
|
|
@ -12,12 +12,11 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||
#include "api/api_text_entities.h"
|
||||
#include "ui/boxes/confirm_box.h"
|
||||
#include "data/business/data_shortcut_messages.h"
|
||||
#include "data/components/scheduled_messages.h"
|
||||
#include "data/data_histories.h"
|
||||
#include "data/data_scheduled_messages.h"
|
||||
#include "data/data_session.h"
|
||||
#include "data/data_web_page.h"
|
||||
#include "history/history.h"
|
||||
#include "history/history_item.h"
|
||||
#include "lang/lang_keys.h"
|
||||
#include "main/main_session.h"
|
||||
#include "mtproto/mtproto_response.h"
|
||||
|
@ -95,7 +94,7 @@ mtpRequestId EditMessage(
|
|||
: emptyFlag);
|
||||
|
||||
const auto id = item->isScheduled()
|
||||
? session->data().scheduledMessages().lookupId(item)
|
||||
? session->scheduledMessages().lookupId(item)
|
||||
: item->isBusinessShortcut()
|
||||
? session->data().shortcutMessages().lookupId(item)
|
||||
: item->id;
|
||||
|
|
|
@ -21,6 +21,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||
#include "mtproto/mtproto_config.h"
|
||||
#include "mtproto/mtproto_dc_options.h"
|
||||
#include "data/business/data_shortcut_messages.h"
|
||||
#include "data/components/scheduled_messages.h"
|
||||
#include "data/notify/data_notify_settings.h"
|
||||
#include "data/stickers/data_stickers.h"
|
||||
#include "data/data_saved_messages.h"
|
||||
|
@ -37,7 +38,6 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||
#include "data/data_histories.h"
|
||||
#include "data/data_folder.h"
|
||||
#include "data/data_forum.h"
|
||||
#include "data/data_scheduled_messages.h"
|
||||
#include "data/data_send_action.h"
|
||||
#include "data/data_stories.h"
|
||||
#include "data/data_message_reactions.h"
|
||||
|
@ -94,7 +94,7 @@ void ProcessScheduledMessageWithElapsedTime(
|
|||
// Note that when a message is scheduled until online
|
||||
// while the recipient is already online, the server sends
|
||||
// an ordinary new message with skipped "from_scheduled" flag.
|
||||
session->data().scheduledMessages().checkEntitiesAndUpdate(data);
|
||||
session->scheduledMessages().checkEntitiesAndUpdate(data);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1464,7 +1464,9 @@ void Updates::applyUpdates(
|
|||
if (const auto id = owner.messageIdByRandomId(randomId)) {
|
||||
const auto local = owner.message(id);
|
||||
if (local && local->isScheduled()) {
|
||||
owner.scheduledMessages().sendNowSimpleMessage(d, local);
|
||||
session().scheduledMessages().sendNowSimpleMessage(
|
||||
d,
|
||||
local);
|
||||
}
|
||||
}
|
||||
const auto wasAlready = (lookupMessage() != nullptr);
|
||||
|
@ -1561,7 +1563,7 @@ void Updates::feedUpdate(const MTPUpdate &update) {
|
|||
auto &owner = session().data();
|
||||
if (const auto local = owner.message(id)) {
|
||||
if (local->isScheduled()) {
|
||||
session().data().scheduledMessages().apply(d, local);
|
||||
session().scheduledMessages().apply(d, local);
|
||||
} else if (local->isBusinessShortcut()) {
|
||||
session().data().shortcutMessages().apply(d, local);
|
||||
} else {
|
||||
|
@ -1771,12 +1773,12 @@ void Updates::feedUpdate(const MTPUpdate &update) {
|
|||
|
||||
case mtpc_updateNewScheduledMessage: {
|
||||
const auto &d = update.c_updateNewScheduledMessage();
|
||||
session().data().scheduledMessages().apply(d);
|
||||
session().scheduledMessages().apply(d);
|
||||
} break;
|
||||
|
||||
case mtpc_updateDeleteScheduledMessages: {
|
||||
const auto &d = update.c_updateDeleteScheduledMessages();
|
||||
session().data().scheduledMessages().apply(d);
|
||||
session().scheduledMessages().apply(d);
|
||||
} break;
|
||||
|
||||
case mtpc_updateQuickReplies: {
|
||||
|
|
|
@ -35,6 +35,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||
#include "api/api_user_names.h"
|
||||
#include "api/api_websites.h"
|
||||
#include "data/business/data_shortcut_messages.h"
|
||||
#include "data/components/scheduled_messages.h"
|
||||
#include "data/notify/data_notify_settings.h"
|
||||
#include "data/data_changes.h"
|
||||
#include "data/data_web_page.h"
|
||||
|
@ -43,7 +44,6 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||
#include "data/data_forum.h"
|
||||
#include "data/data_saved_sublist.h"
|
||||
#include "data/data_search_controller.h"
|
||||
#include "data/data_scheduled_messages.h"
|
||||
#include "data/data_session.h"
|
||||
#include "data/data_channel.h"
|
||||
#include "data/data_chat.h"
|
||||
|
@ -542,7 +542,7 @@ void ApiWrap::sendMessageFail(
|
|||
}
|
||||
}
|
||||
} else if (error == u"SCHEDULE_STATUS_PRIVATE"_q) {
|
||||
auto &scheduled = _session->data().scheduledMessages();
|
||||
auto &scheduled = _session->scheduledMessages();
|
||||
Assert(peer->isUser());
|
||||
if (const auto item = scheduled.lookupItem(peer->id, itemId.msg)) {
|
||||
scheduled.removeSending(item);
|
||||
|
@ -2447,8 +2447,8 @@ void ApiWrap::refreshFileReference(
|
|||
_session->data().peer(storyId.peer)->input,
|
||||
MTP_vector<MTPint>(1, MTP_int(storyId.story))));
|
||||
} else if (item->isScheduled()) {
|
||||
const auto &scheduled = _session->data().scheduledMessages();
|
||||
const auto realId = scheduled.lookupId(item);
|
||||
const auto realId = _session->scheduledMessages().lookupId(
|
||||
item);
|
||||
request(MTPmessages_GetScheduledMessages(
|
||||
item->history()->peer->input,
|
||||
MTP_vector<MTPint>(1, MTP_int(realId))));
|
||||
|
|
|
@ -5,7 +5,7 @@ the official desktop application for the Telegram messaging service.
|
|||
For license and copyright information please follow this link:
|
||||
https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
||||
*/
|
||||
#include "data/data_scheduled_messages.h"
|
||||
#include "data/components/scheduled_messages.h"
|
||||
|
||||
#include "base/unixtime.h"
|
||||
#include "data/data_forum_topic.h"
|
||||
|
@ -101,10 +101,10 @@ bool IsScheduledMsgId(MsgId id) {
|
|||
return (id > ServerMaxMsgId) && (id < ScheduledMaxMsgId);
|
||||
}
|
||||
|
||||
ScheduledMessages::ScheduledMessages(not_null<Session*> owner)
|
||||
: _session(&owner->session())
|
||||
ScheduledMessages::ScheduledMessages(not_null<Main::Session*> session)
|
||||
: _session(session)
|
||||
, _clearTimer([=] { clearOldRequests(); }) {
|
||||
owner->itemRemoved(
|
||||
_session->data().itemRemoved(
|
||||
) | rpl::filter([](not_null<const HistoryItem*> item) {
|
||||
return item->isScheduled();
|
||||
}) | rpl::start_with_next([=](not_null<const HistoryItem*> item) {
|
|
@ -18,14 +18,13 @@ class Session;
|
|||
|
||||
namespace Data {
|
||||
|
||||
class Session;
|
||||
struct MessagesSlice;
|
||||
|
||||
[[nodiscard]] bool IsScheduledMsgId(MsgId id);
|
||||
|
||||
class ScheduledMessages final {
|
||||
public:
|
||||
explicit ScheduledMessages(not_null<Session*> owner);
|
||||
explicit ScheduledMessages(not_null<Main::Session*> session);
|
||||
ScheduledMessages(const ScheduledMessages &other) = delete;
|
||||
ScheduledMessages &operator=(const ScheduledMessages &other) = delete;
|
||||
~ScheduledMessages();
|
|
@ -9,13 +9,13 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||
|
||||
#include "api/api_text_entities.h"
|
||||
#include "data/business/data_shortcut_messages.h"
|
||||
#include "data/components/scheduled_messages.h"
|
||||
#include "data/data_session.h"
|
||||
#include "data/data_channel.h"
|
||||
#include "data/data_chat.h"
|
||||
#include "data/data_folder.h"
|
||||
#include "data/data_forum.h"
|
||||
#include "data/data_forum_topic.h"
|
||||
#include "data/data_scheduled_messages.h"
|
||||
#include "data/data_user.h"
|
||||
#include "base/unixtime.h"
|
||||
#include "base/random.h"
|
||||
|
@ -830,11 +830,12 @@ void Histories::deleteMessages(const MessageIdsList &ids, bool revoke) {
|
|||
if (item->isScheduled()) {
|
||||
const auto wasOnServer = !item->isSending()
|
||||
&& !item->hasFailed();
|
||||
auto &scheduled = _owner->session().scheduledMessages();
|
||||
if (wasOnServer) {
|
||||
scheduledIdsByPeer[history->peer].push_back(MTP_int(
|
||||
_owner->scheduledMessages().lookupId(item)));
|
||||
scheduledIdsByPeer[history->peer].push_back(
|
||||
MTP_int(scheduled.lookupId(item)));
|
||||
} else {
|
||||
_owner->scheduledMessages().removeSending(item);
|
||||
scheduled.removeSending(item);
|
||||
}
|
||||
continue;
|
||||
} else if (item->isBusinessShortcut()) {
|
||||
|
|
|
@ -56,7 +56,6 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||
#include "data/data_poll.h"
|
||||
#include "data/data_replies_list.h"
|
||||
#include "data/data_chat_filters.h"
|
||||
#include "data/data_scheduled_messages.h"
|
||||
#include "data/data_send_action.h"
|
||||
#include "data/data_message_reactions.h"
|
||||
#include "data/data_emoji_statuses.h"
|
||||
|
@ -271,7 +270,6 @@ Session::Session(not_null<Main::Session*> session)
|
|||
, _savedMessages(std::make_unique<SavedMessages>(this))
|
||||
, _chatbots(std::make_unique<Chatbots>(this))
|
||||
, _businessInfo(std::make_unique<BusinessInfo>(this))
|
||||
, _scheduledMessages(std::make_unique<ScheduledMessages>(this))
|
||||
, _shortcutMessages(std::make_unique<ShortcutMessages>(this)) {
|
||||
_cache->open(_session->local().cacheKey());
|
||||
_bigFileCache->open(_session->local().cacheBigFileKey());
|
||||
|
@ -395,7 +393,6 @@ void Session::clear() {
|
|||
_sendActionManager->clear();
|
||||
|
||||
_histories->unloadAll();
|
||||
_scheduledMessages = nullptr;
|
||||
_shortcutMessages = nullptr;
|
||||
_dependentMessages.clear();
|
||||
base::take(_messages);
|
||||
|
|
|
@ -47,7 +47,6 @@ namespace Data {
|
|||
class Folder;
|
||||
class LocationPoint;
|
||||
class WallPaper;
|
||||
class ScheduledMessages;
|
||||
class ShortcutMessages;
|
||||
class SendActionManager;
|
||||
class Reactions;
|
||||
|
@ -103,9 +102,6 @@ public:
|
|||
[[nodiscard]] ChatFilters &chatsFilters() const {
|
||||
return *_chatsFilters;
|
||||
}
|
||||
[[nodiscard]] ScheduledMessages &scheduledMessages() const {
|
||||
return *_scheduledMessages;
|
||||
}
|
||||
[[nodiscard]] ShortcutMessages &shortcutMessages() const {
|
||||
return *_shortcutMessages;
|
||||
}
|
||||
|
@ -1080,7 +1076,6 @@ private:
|
|||
const std::unique_ptr<SavedMessages> _savedMessages;
|
||||
const std::unique_ptr<Chatbots> _chatbots;
|
||||
const std::unique_ptr<BusinessInfo> _businessInfo;
|
||||
std::unique_ptr<ScheduledMessages> _scheduledMessages;
|
||||
std::unique_ptr<ShortcutMessages> _shortcutMessages;
|
||||
|
||||
MsgId _nonHistoryEntryId = ShortcutMaxMsgId;
|
||||
|
|
|
@ -13,10 +13,10 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||
#include "storage/storage_facade.h"
|
||||
#include "history/history.h"
|
||||
#include "history/history_item.h"
|
||||
#include "data/components/scheduled_messages.h"
|
||||
#include "data/data_document.h"
|
||||
#include "data/data_media_types.h"
|
||||
#include "data/data_photo.h"
|
||||
#include "data/data_scheduled_messages.h"
|
||||
#include "data/data_session.h"
|
||||
#include "core/crash_reports.h"
|
||||
|
||||
|
@ -193,9 +193,9 @@ rpl::producer<SparseIdsMergedSlice> SharedScheduledMediaViewer(
|
|||
const auto history = session->data().history(key.mergedKey.peerId);
|
||||
|
||||
return rpl::single(rpl::empty) | rpl::then(
|
||||
session->data().scheduledMessages().updates(history)
|
||||
session->scheduledMessages().updates(history)
|
||||
) | rpl::map([=] {
|
||||
const auto list = session->data().scheduledMessages().list(history);
|
||||
const auto list = session->scheduledMessages().list(history);
|
||||
|
||||
auto items = ranges::views::all(
|
||||
list.ids
|
||||
|
|
|
@ -19,6 +19,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||
#include "history/history_unread_things.h"
|
||||
#include "dialogs/ui/dialogs_layout.h"
|
||||
#include "data/business/data_shortcut_messages.h"
|
||||
#include "data/components/scheduled_messages.h"
|
||||
#include "data/components/sponsored_messages.h"
|
||||
#include "data/notify/data_notify_settings.h"
|
||||
#include "data/stickers/data_stickers.h"
|
||||
|
@ -29,7 +30,6 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||
#include "data/data_channel_admins.h"
|
||||
#include "data/data_changes.h"
|
||||
#include "data/data_chat_filters.h"
|
||||
#include "data/data_scheduled_messages.h"
|
||||
#include "data/data_send_action.h"
|
||||
#include "data/data_folder.h"
|
||||
#include "data/data_forum.h"
|
||||
|
@ -590,7 +590,7 @@ not_null<HistoryItem*> History::addNewItem(
|
|||
not_null<HistoryItem*> item,
|
||||
bool unread) {
|
||||
if (item->isScheduled()) {
|
||||
owner().scheduledMessages().appendSending(item);
|
||||
session().scheduledMessages().appendSending(item);
|
||||
return item;
|
||||
} else if (item->isBusinessShortcut()) {
|
||||
owner().shortcutMessages().appendSending(item);
|
||||
|
|
|
@ -40,12 +40,12 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||
#include "base/timer_rpl.h"
|
||||
#include "api/api_text_entities.h"
|
||||
#include "api/api_updates.h"
|
||||
#include "data/components/scheduled_messages.h"
|
||||
#include "data/components/sponsored_messages.h"
|
||||
#include "data/notify/data_notify_settings.h"
|
||||
#include "data/data_bot_app.h"
|
||||
#include "data/data_saved_messages.h"
|
||||
#include "data/data_saved_sublist.h"
|
||||
#include "data/data_scheduled_messages.h"
|
||||
#include "data/data_changes.h"
|
||||
#include "data/data_session.h"
|
||||
#include "data/data_message_reactions.h"
|
||||
|
|
|
@ -33,6 +33,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||
#include "media/audio/media_audio.h"
|
||||
#include "media/player/media_player_instance.h"
|
||||
#include "data/business/data_shortcut_messages.h"
|
||||
#include "data/components/scheduled_messages.h"
|
||||
#include "data/stickers/data_custom_emoji.h"
|
||||
#include "data/data_channel.h"
|
||||
#include "data/data_media_types.h"
|
||||
|
@ -42,7 +43,6 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||
#include "data/data_document.h"
|
||||
#include "data/data_web_page.h"
|
||||
#include "data/data_file_click_handler.h"
|
||||
#include "data/data_scheduled_messages.h"
|
||||
#include "data/data_session.h"
|
||||
#include "data/data_stories.h"
|
||||
#include "main/main_session.h"
|
||||
|
@ -301,7 +301,7 @@ ReplyFields ReplyFieldsFromMTP(
|
|||
const auto owner = &item->history()->owner();
|
||||
if (const auto id = data.vreply_to_msg_id().value_or_empty()) {
|
||||
result.messageId = data.is_reply_to_scheduled()
|
||||
? owner->scheduledMessages().localMessageId(id)
|
||||
? owner->session().scheduledMessages().localMessageId(id)
|
||||
: item->shortcutId()
|
||||
? owner->shortcutMessages().localMessageId(id)
|
||||
: id;
|
||||
|
|
|
@ -54,6 +54,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||
#include "base/unixtime.h"
|
||||
#include "base/call_delayed.h"
|
||||
#include "data/business/data_shortcut_messages.h"
|
||||
#include "data/components/scheduled_messages.h"
|
||||
#include "data/components/sponsored_messages.h"
|
||||
#include "data/notify/data_notify_settings.h"
|
||||
#include "data/data_changes.h"
|
||||
|
@ -69,7 +70,6 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||
#include "data/data_forum_topic.h"
|
||||
#include "data/data_user.h"
|
||||
#include "data/data_chat_filters.h"
|
||||
#include "data/data_scheduled_messages.h"
|
||||
#include "data/data_file_origin.h"
|
||||
#include "data/data_histories.h"
|
||||
#include "data/data_group_call.h"
|
||||
|
@ -2772,9 +2772,9 @@ void HistoryWidget::setupScheduledToggle() {
|
|||
controller()->activeChatValue(
|
||||
) | rpl::map([=](Dialogs::Key key) -> rpl::producer<> {
|
||||
if (const auto history = key.history()) {
|
||||
return session().data().scheduledMessages().updates(history);
|
||||
return session().scheduledMessages().updates(history);
|
||||
} else if (const auto topic = key.topic()) {
|
||||
return session().data().scheduledMessages().updates(
|
||||
return session().scheduledMessages().updates(
|
||||
topic->owningHistory());
|
||||
}
|
||||
return rpl::never<rpl::empty_value>();
|
||||
|
@ -2789,7 +2789,7 @@ void HistoryWidget::setupScheduledToggle() {
|
|||
void HistoryWidget::refreshScheduledToggle() {
|
||||
const auto has = _history
|
||||
&& _canSendMessages
|
||||
&& (session().data().scheduledMessages().count(_history) > 0);
|
||||
&& (session().scheduledMessages().count(_history) > 0);
|
||||
if (!_scheduled && has) {
|
||||
_scheduled.create(this, st::historyScheduledToggle);
|
||||
_scheduled->show();
|
||||
|
|
|
@ -52,6 +52,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||
#include "core/mime_type.h"
|
||||
#include "main/main_session.h"
|
||||
#include "main/main_session_settings.h"
|
||||
#include "data/components/scheduled_messages.h"
|
||||
#include "data/data_session.h"
|
||||
#include "data/data_user.h"
|
||||
#include "data/data_chat.h"
|
||||
|
@ -63,7 +64,6 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||
#include "data/data_changes.h"
|
||||
#include "data/data_shared_media.h"
|
||||
#include "data/data_send_action.h"
|
||||
#include "data/data_scheduled_messages.h"
|
||||
#include "data/data_premium_limits.h"
|
||||
#include "storage/storage_media_prepare.h"
|
||||
#include "storage/storage_account.h"
|
||||
|
@ -230,10 +230,9 @@ RepliesWidget::RepliesWidget(
|
|||
.stickerOrEmojiChosen = controller->stickerOrEmojiChosen(),
|
||||
.scheduledToggleValue = _topic
|
||||
? rpl::single(rpl::empty_value()) | rpl::then(
|
||||
session().data().scheduledMessages().updates(
|
||||
_topic->owningHistory())
|
||||
session().scheduledMessages().updates(_topic->owningHistory())
|
||||
) | rpl::map([=] {
|
||||
return session().data().scheduledMessages().hasFor(_topic);
|
||||
return session().scheduledMessages().hasFor(_topic);
|
||||
}) | rpl::type_erased()
|
||||
: rpl::single(false),
|
||||
}))
|
||||
|
|
|
@ -33,11 +33,11 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||
#include "core/mime_type.h"
|
||||
#include "chat_helpers/tabbed_selector.h"
|
||||
#include "main/main_session.h"
|
||||
#include "data/components/scheduled_messages.h"
|
||||
#include "data/data_forum.h"
|
||||
#include "data/data_forum_topic.h"
|
||||
#include "data/data_session.h"
|
||||
#include "data/data_changes.h"
|
||||
#include "data/data_scheduled_messages.h"
|
||||
#include "data/data_user.h"
|
||||
#include "data/data_message_reactions.h"
|
||||
#include "data/data_peer_values.h"
|
||||
|
@ -58,7 +58,7 @@ namespace HistoryView {
|
|||
ScheduledMemento::ScheduledMemento(not_null<History*> history)
|
||||
: _history(history)
|
||||
, _forumTopic(nullptr) {
|
||||
const auto list = _history->owner().scheduledMessages().list(_history);
|
||||
const auto list = _history->session().scheduledMessages().list(_history);
|
||||
if (!list.ids.empty()) {
|
||||
_list.setScrollTopState({ .item = { .fullId = list.ids.front() } });
|
||||
}
|
||||
|
@ -67,7 +67,8 @@ ScheduledMemento::ScheduledMemento(not_null<History*> history)
|
|||
ScheduledMemento::ScheduledMemento(not_null<Data::ForumTopic*> forumTopic)
|
||||
: _history(forumTopic->owningHistory())
|
||||
, _forumTopic(forumTopic) {
|
||||
const auto list = _history->owner().scheduledMessages().list(_forumTopic);
|
||||
const auto list = _history->session().scheduledMessages().list(
|
||||
_forumTopic);
|
||||
if (!list.ids.empty()) {
|
||||
_list.setScrollTopState({ .item = { .fullId = list.ids.front() } });
|
||||
}
|
||||
|
@ -1193,13 +1194,13 @@ rpl::producer<Data::MessagesSlice> ScheduledWidget::listSource(
|
|||
Data::MessagePosition aroundId,
|
||||
int limitBefore,
|
||||
int limitAfter) {
|
||||
const auto data = &controller()->session().data();
|
||||
const auto session = &controller()->session();
|
||||
return rpl::single(rpl::empty) | rpl::then(
|
||||
data->scheduledMessages().updates(_history)
|
||||
session->scheduledMessages().updates(_history)
|
||||
) | rpl::map([=] {
|
||||
return _forumTopic
|
||||
? data->scheduledMessages().list(_forumTopic)
|
||||
: data->scheduledMessages().list(_history);
|
||||
? session->scheduledMessages().list(_forumTopic)
|
||||
: session->scheduledMessages().list(_history);
|
||||
}) | rpl::after_next([=](const Data::MessagesSlice &slice) {
|
||||
highlightSingleNewMessage(slice);
|
||||
});
|
||||
|
|
|
@ -28,6 +28,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||
#include "storage/file_upload.h"
|
||||
#include "storage/storage_account.h"
|
||||
#include "storage/storage_facade.h"
|
||||
#include "data/components/scheduled_messages.h"
|
||||
#include "data/components/sponsored_messages.h"
|
||||
#include "data/data_session.h"
|
||||
#include "data/data_changes.h"
|
||||
|
@ -97,6 +98,7 @@ Session::Session(
|
|||
, _giftBoxStickersPacks(std::make_unique<Stickers::GiftBoxPack>(this))
|
||||
, _sendAsPeers(std::make_unique<SendAsPeers>(this))
|
||||
, _attachWebView(std::make_unique<InlineBots::AttachWebView>(this))
|
||||
, _scheduledMessages(std::make_unique<Data::ScheduledMessages>(this))
|
||||
, _sponsoredMessages(std::make_unique<Data::SponsoredMessages>(this))
|
||||
, _supportHelper(Support::Helper::Create(this))
|
||||
, _saveSettingsTimer([=] { saveSettings(); }) {
|
||||
|
|
|
@ -31,6 +31,7 @@ class Templates;
|
|||
namespace Data {
|
||||
class Session;
|
||||
class Changes;
|
||||
class ScheduledMessages;
|
||||
class SponsoredMessages;
|
||||
} // namespace Data
|
||||
|
||||
|
@ -108,6 +109,9 @@ public:
|
|||
[[nodiscard]] Data::SponsoredMessages &sponsoredMessages() const {
|
||||
return *_sponsoredMessages;
|
||||
}
|
||||
[[nodiscard]] Data::ScheduledMessages &scheduledMessages() const {
|
||||
return *_scheduledMessages;
|
||||
}
|
||||
[[nodiscard]] Api::Updates &updates() const {
|
||||
return *_updates;
|
||||
}
|
||||
|
@ -228,6 +232,7 @@ private:
|
|||
const std::unique_ptr<Stickers::GiftBoxPack> _giftBoxStickersPacks;
|
||||
const std::unique_ptr<SendAsPeers> _sendAsPeers;
|
||||
const std::unique_ptr<InlineBots::AttachWebView> _attachWebView;
|
||||
const std::unique_ptr<Data::ScheduledMessages> _scheduledMessages;
|
||||
const std::unique_ptr<Data::SponsoredMessages> _sponsoredMessages;
|
||||
|
||||
const std::unique_ptr<Support::Helper> _supportHelper;
|
||||
|
|
|
@ -9,6 +9,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||
|
||||
#include "api/api_updates.h"
|
||||
#include "api/api_views.h"
|
||||
#include "data/components/scheduled_messages.h"
|
||||
#include "data/data_document_media.h"
|
||||
#include "data/data_document_resolver.h"
|
||||
#include "data/data_forum_topic.h"
|
||||
|
@ -22,7 +23,6 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||
#include "data/data_chat.h"
|
||||
#include "data/data_user.h"
|
||||
#include "data/data_chat_filters.h"
|
||||
#include "data/data_scheduled_messages.h"
|
||||
#include "data/data_file_origin.h"
|
||||
#include "data/data_histories.h"
|
||||
#include "data/stickers/data_stickers.h"
|
||||
|
|
|
@ -68,6 +68,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||
#include "info/profile/info_profile_values.h"
|
||||
#include "info/statistics/info_statistics_widget.h"
|
||||
#include "info/stories/info_stories_widget.h"
|
||||
#include "data/components/scheduled_messages.h"
|
||||
#include "data/notify/data_notify_settings.h"
|
||||
#include "data/data_changes.h"
|
||||
#include "data/data_session.h"
|
||||
|
@ -79,7 +80,6 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||
#include "data/data_forum_topic.h"
|
||||
#include "data/data_user.h"
|
||||
#include "data/data_saved_sublist.h"
|
||||
#include "data/data_scheduled_messages.h"
|
||||
#include "data/data_histories.h"
|
||||
#include "data/data_chat_filters.h"
|
||||
#include "dialogs/dialogs_key.h"
|
||||
|
@ -2255,8 +2255,8 @@ QPointer<Ui::BoxContent> ShowSendNowMessagesBox(
|
|||
auto ids = QVector<MTPint>();
|
||||
for (const auto item : session->data().idsToItems(list)) {
|
||||
if (item->allowsSendNow()) {
|
||||
ids.push_back(MTP_int(
|
||||
session->data().scheduledMessages().lookupId(item)));
|
||||
ids.push_back(
|
||||
MTP_int(session->scheduledMessages().lookupId(item)));
|
||||
}
|
||||
}
|
||||
session->api().request(MTPmessages_SendScheduledMessages(
|
||||
|
|
Loading…
Add table
Reference in a new issue