mirror of
https://github.com/AyuGram/AyuGramDesktop.git
synced 2026-07-25 06:54:43 +00:00
Rename SuggestPostOptions to SuggestOptions.
This commit is contained in:
@@ -400,7 +400,7 @@ void ActivateBotCommand(ClickHandlerContext context, int row, int column) {
|
||||
}
|
||||
}
|
||||
const auto replyTo = FullReplyTo();
|
||||
const auto suggest = SuggestPostOptions();
|
||||
const auto suggest = SuggestOptions();
|
||||
Window::PeerMenuCreatePoll(
|
||||
controller,
|
||||
item->history()->peer,
|
||||
|
||||
@@ -14,7 +14,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
||||
|
||||
namespace Api {
|
||||
|
||||
MTPSuggestedPost SuggestToMTP(SuggestPostOptions suggest) {
|
||||
MTPSuggestedPost SuggestToMTP(SuggestOptions suggest) {
|
||||
using Flag = MTPDsuggestedPost::Flag;
|
||||
return suggest.exists
|
||||
? MTP_suggestedPost(
|
||||
|
||||
@@ -19,7 +19,7 @@ namespace Api {
|
||||
|
||||
inline constexpr auto kScheduledUntilOnlineTimestamp = TimeId(0x7FFFFFFE);
|
||||
|
||||
[[nodiscard]] MTPSuggestedPost SuggestToMTP(SuggestPostOptions suggest);
|
||||
[[nodiscard]] MTPSuggestedPost SuggestToMTP(SuggestOptions suggest);
|
||||
|
||||
struct SendOptions {
|
||||
uint64 price = 0;
|
||||
@@ -34,7 +34,7 @@ struct SendOptions {
|
||||
bool invertCaption = false;
|
||||
bool hideViaBot = false;
|
||||
crl::time ttlSeconds = 0;
|
||||
SuggestPostOptions suggest;
|
||||
SuggestOptions suggest;
|
||||
|
||||
friend inline bool operator==(
|
||||
const SendOptions &,
|
||||
|
||||
@@ -365,7 +365,7 @@ void SendSuggest(
|
||||
std::shared_ptr<Main::SessionShow> show,
|
||||
not_null<HistoryItem*> item,
|
||||
std::shared_ptr<SendSuggestState> state,
|
||||
Fn<void(SuggestPostOptions&)> modify,
|
||||
Fn<void(SuggestOptions&)> modify,
|
||||
Fn<void()> done = nullptr,
|
||||
int starsApproved = 0) {
|
||||
const auto suggestion = item->Get<HistoryMessageSuggestedPost>();
|
||||
@@ -437,7 +437,7 @@ void SuggestApprovalDate(
|
||||
show,
|
||||
item,
|
||||
state,
|
||||
[=](SuggestPostOptions &options) { options.date = result; },
|
||||
[=](SuggestOptions &options) { options.date = result; },
|
||||
close);
|
||||
};
|
||||
using namespace HistoryView;
|
||||
@@ -454,12 +454,12 @@ void SuggestApprovalDate(
|
||||
void SuggestOfferForMessage(
|
||||
std::shared_ptr<Main::SessionShow> show,
|
||||
not_null<HistoryItem*> item,
|
||||
SuggestPostOptions values,
|
||||
SuggestOptions values,
|
||||
HistoryView::SuggestMode mode) {
|
||||
const auto id = item->fullId();
|
||||
const auto state = std::make_shared<SendSuggestState>();
|
||||
const auto weak = std::make_shared<base::weak_qptr<Ui::BoxContent>>();
|
||||
const auto done = [=](SuggestPostOptions result) {
|
||||
const auto done = [=](SuggestOptions result) {
|
||||
const auto item = show->session().data().message(id);
|
||||
if (!item) {
|
||||
return;
|
||||
@@ -473,7 +473,7 @@ void SuggestOfferForMessage(
|
||||
show,
|
||||
item,
|
||||
state,
|
||||
[=](SuggestPostOptions &options) { options = result; },
|
||||
[=](SuggestOptions &options) { options = result; },
|
||||
close);
|
||||
};
|
||||
using namespace HistoryView;
|
||||
@@ -594,7 +594,7 @@ std::shared_ptr<ClickHandler> SuggestChangesClickHandler(
|
||||
.messageId = FullMsgId(history->peer->id, item->id),
|
||||
.monoforumPeerId = monoforumPeerId,
|
||||
},
|
||||
SuggestPostOptions{
|
||||
SuggestOptions{
|
||||
.exists = uint32(1),
|
||||
.priceWhole = uint32(suggestion->price.whole()),
|
||||
.priceNano = uint32(suggestion->price.nano()),
|
||||
|
||||
@@ -232,7 +232,7 @@ EditCaptionBox::EditCaptionBox(
|
||||
not_null<Window::SessionController*> controller,
|
||||
not_null<HistoryItem*> item,
|
||||
TextWithTags &&text,
|
||||
SuggestPostOptions suggest,
|
||||
SuggestOptions suggest,
|
||||
bool spoilered,
|
||||
bool invertCaption,
|
||||
Ui::PreparedList &&list,
|
||||
@@ -273,7 +273,7 @@ void EditCaptionBox::StartMediaReplace(
|
||||
not_null<Window::SessionController*> controller,
|
||||
FullMsgId itemId,
|
||||
TextWithTags text,
|
||||
SuggestPostOptions suggest,
|
||||
SuggestOptions suggest,
|
||||
bool spoilered,
|
||||
bool invertCaption,
|
||||
Fn<void()> saved) {
|
||||
@@ -304,7 +304,7 @@ void EditCaptionBox::StartMediaReplace(
|
||||
FullMsgId itemId,
|
||||
Ui::PreparedList &&list,
|
||||
TextWithTags text,
|
||||
SuggestPostOptions suggest,
|
||||
SuggestOptions suggest,
|
||||
bool spoilered,
|
||||
bool invertCaption,
|
||||
Fn<void()> saved) {
|
||||
@@ -353,7 +353,7 @@ void EditCaptionBox::StartPhotoEdit(
|
||||
std::shared_ptr<Data::PhotoMedia> media,
|
||||
FullMsgId itemId,
|
||||
TextWithTags text,
|
||||
SuggestPostOptions suggest,
|
||||
SuggestOptions suggest,
|
||||
bool spoilered,
|
||||
bool invertCaption,
|
||||
Fn<void()> saved) {
|
||||
|
||||
@@ -39,7 +39,7 @@ public:
|
||||
not_null<Window::SessionController*> controller,
|
||||
not_null<HistoryItem*> item,
|
||||
TextWithTags &&text,
|
||||
SuggestPostOptions suggest,
|
||||
SuggestOptions suggest,
|
||||
bool spoilered,
|
||||
bool invertCaption,
|
||||
Ui::PreparedList &&list,
|
||||
@@ -50,7 +50,7 @@ public:
|
||||
not_null<Window::SessionController*> controller,
|
||||
FullMsgId itemId,
|
||||
TextWithTags text,
|
||||
SuggestPostOptions suggest,
|
||||
SuggestOptions suggest,
|
||||
bool spoilered,
|
||||
bool invertCaption,
|
||||
Fn<void()> saved);
|
||||
@@ -59,7 +59,7 @@ public:
|
||||
FullMsgId itemId,
|
||||
Ui::PreparedList &&list,
|
||||
TextWithTags text,
|
||||
SuggestPostOptions suggest,
|
||||
SuggestOptions suggest,
|
||||
bool spoilered,
|
||||
bool invertCaption,
|
||||
Fn<void()> saved);
|
||||
@@ -68,7 +68,7 @@ public:
|
||||
std::shared_ptr<Data::PhotoMedia> media,
|
||||
FullMsgId itemId,
|
||||
TextWithTags text,
|
||||
SuggestPostOptions suggest,
|
||||
SuggestOptions suggest,
|
||||
bool spoilered,
|
||||
bool invertCaption,
|
||||
Fn<void()> saved);
|
||||
@@ -117,7 +117,7 @@ private:
|
||||
|
||||
const not_null<Window::SessionController*> _controller;
|
||||
const not_null<HistoryItem*> _historyItem;
|
||||
const SuggestPostOptions _suggest;
|
||||
const SuggestOptions _suggest;
|
||||
const bool _isAllowedEditMedia;
|
||||
const Ui::AlbumType _albumType;
|
||||
|
||||
|
||||
@@ -3563,7 +3563,7 @@ void ShowUniqueGiftSellBox(
|
||||
void SendOfferBuyGift(
|
||||
std::shared_ptr<ChatHelpers::Show> show,
|
||||
std::shared_ptr<Data::UniqueGift> unique,
|
||||
SuggestPostOptions options,
|
||||
SuggestOptions options,
|
||||
Fn<void()> done) {
|
||||
const auto randomId = base::RandomValue<uint64>();
|
||||
const auto owner = show->session().data().peer(unique->ownerId);
|
||||
@@ -3595,7 +3595,7 @@ void ShowOfferBuyBox(
|
||||
Expects(unique->starsMinOffer >= 0);
|
||||
|
||||
const auto weak = std::make_shared<base::weak_qptr<Ui::BoxContent>>();
|
||||
const auto done = [=](SuggestPostOptions result) {
|
||||
const auto done = [=](SuggestOptions result) {
|
||||
SendOfferBuyGift(show, unique, result, [=] {
|
||||
if (const auto strong = weak->get()) {
|
||||
strong->closeBox();
|
||||
@@ -3603,7 +3603,7 @@ void ShowOfferBuyBox(
|
||||
});
|
||||
};
|
||||
using namespace HistoryView;
|
||||
const auto options = SuggestPostOptions{
|
||||
const auto options = SuggestOptions{
|
||||
.exists = 1,
|
||||
.priceWhole = uint32(unique->starsMinOffer),
|
||||
};
|
||||
|
||||
@@ -45,7 +45,7 @@ WebPageDraft WebPageDraft::FromItem(not_null<HistoryItem*> item) {
|
||||
Draft::Draft(
|
||||
const TextWithTags &textWithTags,
|
||||
FullReplyTo reply,
|
||||
SuggestPostOptions suggest,
|
||||
SuggestOptions suggest,
|
||||
const MessageCursor &cursor,
|
||||
WebPageDraft webpage,
|
||||
mtpRequestId saveRequestId)
|
||||
@@ -60,7 +60,7 @@ Draft::Draft(
|
||||
Draft::Draft(
|
||||
not_null<const Ui::InputField*> field,
|
||||
FullReplyTo reply,
|
||||
SuggestPostOptions suggest,
|
||||
SuggestOptions suggest,
|
||||
WebPageDraft webpage,
|
||||
mtpRequestId saveRequestId)
|
||||
: textWithTags(field->getTextWithTags())
|
||||
@@ -110,7 +110,7 @@ void ApplyPeerCloudDraft(
|
||||
}
|
||||
}, [](const auto &) {});
|
||||
}
|
||||
auto suggest = SuggestPostOptions();
|
||||
auto suggest = SuggestOptions();
|
||||
if (!history->suggestDraftAllowed()) {
|
||||
// Don't apply suggest options in unsupported chats.
|
||||
} else if (const auto suggested = draft.vsuggested_post()) {
|
||||
@@ -173,7 +173,7 @@ void SetChatLinkDraft(not_null<PeerData*> peer, TextWithEntities draft) {
|
||||
.topicRootId = topicRootId,
|
||||
.monoforumPeerId = monoforumPeerId,
|
||||
},
|
||||
SuggestPostOptions(),
|
||||
SuggestOptions(),
|
||||
cursor,
|
||||
WebPageDraft()));
|
||||
history->clearLocalEditDraft(topicRootId, monoforumPeerId);
|
||||
|
||||
@@ -52,21 +52,21 @@ struct Draft {
|
||||
Draft(
|
||||
const TextWithTags &textWithTags,
|
||||
FullReplyTo reply,
|
||||
SuggestPostOptions suggest,
|
||||
SuggestOptions suggest,
|
||||
const MessageCursor &cursor,
|
||||
WebPageDraft webpage,
|
||||
mtpRequestId saveRequestId = 0);
|
||||
Draft(
|
||||
not_null<const Ui::InputField*> field,
|
||||
FullReplyTo reply,
|
||||
SuggestPostOptions suggest,
|
||||
SuggestOptions suggest,
|
||||
WebPageDraft webpage,
|
||||
mtpRequestId saveRequestId = 0);
|
||||
|
||||
TimeId date = 0;
|
||||
TextWithTags textWithTags;
|
||||
FullReplyTo reply; // reply.messageId.msg is editMsgId for edit draft.
|
||||
SuggestPostOptions suggest;
|
||||
SuggestOptions suggest;
|
||||
MessageCursor cursor;
|
||||
WebPageDraft webpage;
|
||||
mtpRequestId saveRequestId = 0;
|
||||
|
||||
@@ -207,7 +207,7 @@ struct FullReplyTo {
|
||||
friend inline bool operator==(FullReplyTo, FullReplyTo) = default;
|
||||
};
|
||||
|
||||
struct SuggestPostOptions {
|
||||
struct SuggestOptions {
|
||||
uint32 exists : 1 = 0;
|
||||
uint32 priceWhole : 31 = 0;
|
||||
uint32 priceNano : 31 = 0;
|
||||
@@ -227,11 +227,11 @@ struct SuggestPostOptions {
|
||||
}
|
||||
|
||||
friend inline auto operator<=>(
|
||||
SuggestPostOptions,
|
||||
SuggestPostOptions) = default;
|
||||
SuggestOptions,
|
||||
SuggestOptions) = default;
|
||||
friend inline bool operator==(
|
||||
SuggestPostOptions,
|
||||
SuggestPostOptions) = default;
|
||||
SuggestOptions,
|
||||
SuggestOptions) = default;
|
||||
};
|
||||
|
||||
struct GlobalMsgId {
|
||||
|
||||
@@ -121,7 +121,7 @@ struct EntryState {
|
||||
Section section = Section::History;
|
||||
FilterId filterId = 0;
|
||||
FullReplyTo currentReplyTo;
|
||||
SuggestPostOptions currentSuggest;
|
||||
SuggestOptions currentSuggest;
|
||||
|
||||
friend inline auto operator<=>(
|
||||
const EntryState&,
|
||||
|
||||
@@ -244,7 +244,7 @@ void History::createLocalDraftFromCloud(
|
||||
draft->reply.topicRootId = topicRootId;
|
||||
draft->reply.monoforumPeerId = monoforumPeerId;
|
||||
if (!suggestDraftAllowed()) {
|
||||
draft->suggest = SuggestPostOptions();
|
||||
draft->suggest = SuggestOptions();
|
||||
}
|
||||
auto existing = localDraft(topicRootId, monoforumPeerId);
|
||||
if (Data::DraftIsNull(existing)
|
||||
@@ -334,7 +334,7 @@ Data::Draft *History::createCloudDraft(
|
||||
.topicRootId = topicRootId,
|
||||
.monoforumPeerId = monoforumPeerId,
|
||||
},
|
||||
SuggestPostOptions(),
|
||||
SuggestOptions(),
|
||||
MessageCursor(),
|
||||
Data::WebPageDraft()));
|
||||
cloudDraft(topicRootId, monoforumPeerId)->date = TimeId(0);
|
||||
@@ -362,7 +362,7 @@ Data::Draft *History::createCloudDraft(
|
||||
existing->reply.topicRootId = topicRootId;
|
||||
existing->reply.monoforumPeerId = monoforumPeerId;
|
||||
if (!suggestDraftAllowed()) {
|
||||
existing->suggest = SuggestPostOptions();
|
||||
existing->suggest = SuggestOptions();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -223,7 +223,7 @@ std::optional<SendPaymentDetails> ComputePaymentDetails(
|
||||
|
||||
bool SuggestPaymentDataReady(
|
||||
not_null<PeerData*> peer,
|
||||
SuggestPostOptions suggest) {
|
||||
SuggestOptions suggest) {
|
||||
if (!suggest.exists || !suggest.price() || peer->amMonoforumAdmin()) {
|
||||
return true;
|
||||
} else if (suggest.ton && !peer->session().credits().tonLoaded()) {
|
||||
|
||||
@@ -151,7 +151,7 @@ struct SendPaymentDetails {
|
||||
|
||||
[[nodiscard]] bool SuggestPaymentDataReady(
|
||||
not_null<PeerData*> peer,
|
||||
SuggestPostOptions suggest);
|
||||
SuggestOptions suggest);
|
||||
|
||||
struct PaidConfirmStyles {
|
||||
const style::FlatLabel *label = nullptr;
|
||||
|
||||
@@ -346,7 +346,7 @@ HistoryMessageSuggestInfo::HistoryMessageSuggestInfo(
|
||||
}
|
||||
|
||||
HistoryMessageSuggestInfo::HistoryMessageSuggestInfo(
|
||||
SuggestPostOptions options) {
|
||||
SuggestOptions options) {
|
||||
if (!options.exists) {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -152,7 +152,7 @@ struct HistoryMessageSuggestInfo {
|
||||
HistoryMessageSuggestInfo() = default;
|
||||
explicit HistoryMessageSuggestInfo(const MTPSuggestedPost *data);
|
||||
explicit HistoryMessageSuggestInfo(const Api::SendOptions &options);
|
||||
explicit HistoryMessageSuggestInfo(SuggestPostOptions options);
|
||||
explicit HistoryMessageSuggestInfo(SuggestOptions options);
|
||||
|
||||
CreditsAmount price;
|
||||
TimeId date = 0;
|
||||
|
||||
@@ -3238,12 +3238,12 @@ void HistoryWidget::refreshSendGiftToggle() {
|
||||
}
|
||||
|
||||
void HistoryWidget::applySuggestOptions(
|
||||
SuggestPostOptions suggest,
|
||||
SuggestOptions suggest,
|
||||
HistoryView::SuggestMode mode) {
|
||||
Expects(suggest.exists);
|
||||
|
||||
using namespace HistoryView;
|
||||
_suggestOptions = std::make_unique<SuggestOptions>(
|
||||
_suggestOptions = std::make_unique<SuggestOptionsBar>(
|
||||
controller()->uiShow(),
|
||||
_peer,
|
||||
suggest,
|
||||
@@ -6796,13 +6796,13 @@ FullReplyTo HistoryWidget::replyTo() const {
|
||||
: FullReplyTo();
|
||||
}
|
||||
|
||||
SuggestPostOptions HistoryWidget::suggestOptions(
|
||||
SuggestOptions HistoryWidget::suggestOptions(
|
||||
bool skipNoAdminCheck) const {
|
||||
const auto checked = skipNoAdminCheck
|
||||
|| (_history && _history->suggestDraftAllowed());
|
||||
return (checked && _suggestOptions)
|
||||
? _suggestOptions->values()
|
||||
: SuggestPostOptions();
|
||||
: SuggestOptions();
|
||||
}
|
||||
|
||||
bool HistoryWidget::hasSavedScroll() const {
|
||||
@@ -8757,12 +8757,12 @@ void HistoryWidget::setReplyFieldsFromProcessing() {
|
||||
if (_editMsgId) {
|
||||
if (const auto localDraft = _history->localDraft({}, {})) {
|
||||
localDraft->reply = id;
|
||||
localDraft->suggest = SuggestPostOptions();
|
||||
localDraft->suggest = SuggestOptions();
|
||||
} else {
|
||||
_history->setLocalDraft(std::make_unique<Data::Draft>(
|
||||
TextWithTags(),
|
||||
id,
|
||||
SuggestPostOptions(),
|
||||
SuggestOptions(),
|
||||
MessageCursor(),
|
||||
Data::WebPageDraft()));
|
||||
}
|
||||
@@ -8828,7 +8828,7 @@ void HistoryWidget::editMessage(
|
||||
_history->setLocalEditDraft(std::make_unique<Data::Draft>(
|
||||
editData,
|
||||
FullReplyTo{ item->fullId() },
|
||||
SuggestPostOptions(),
|
||||
SuggestOptions(),
|
||||
cursor,
|
||||
previewDraft));
|
||||
applyDraft();
|
||||
|
||||
@@ -111,7 +111,7 @@ class TranslateBar;
|
||||
class ComposeSearch;
|
||||
class SubsectionTabs;
|
||||
struct SelectedQuote;
|
||||
class SuggestOptions;
|
||||
class SuggestOptionsBar;
|
||||
enum class SuggestMode;
|
||||
} // namespace HistoryView
|
||||
|
||||
@@ -217,7 +217,7 @@ public:
|
||||
not_null<PeerData*> peer);
|
||||
|
||||
[[nodiscard]] FullReplyTo replyTo() const;
|
||||
[[nodiscard]] SuggestPostOptions suggestOptions(
|
||||
[[nodiscard]] SuggestOptions suggestOptions(
|
||||
bool skipNoAdminCheck = false) const;
|
||||
bool lastForceReplyReplied(const FullMsgId &replyTo) const;
|
||||
bool lastForceReplyReplied() const;
|
||||
@@ -686,7 +686,7 @@ private:
|
||||
void refreshSendGiftToggle();
|
||||
void refreshSuggestPostToggle();
|
||||
void applySuggestOptions(
|
||||
SuggestPostOptions suggest,
|
||||
SuggestOptions suggest,
|
||||
HistoryView::SuggestMode mode);
|
||||
void setupSendAsToggle();
|
||||
void refreshSendAsToggle();
|
||||
@@ -721,7 +721,7 @@ private:
|
||||
std::unique_ptr<Ui::SpoilerAnimation> _replySpoiler;
|
||||
mutable base::Timer _updateEditTimeLeftDisplay;
|
||||
|
||||
std::unique_ptr<HistoryView::SuggestOptions> _suggestOptions;
|
||||
std::unique_ptr<HistoryView::SuggestOptionsBar> _suggestOptions;
|
||||
|
||||
object_ptr<Ui::IconButton> _fieldBarCancel;
|
||||
|
||||
|
||||
@@ -154,7 +154,7 @@ public:
|
||||
|
||||
void editMessage(
|
||||
FullMsgId id,
|
||||
SuggestPostOptions suggest,
|
||||
SuggestOptions suggest,
|
||||
bool photoEditAllowed = false);
|
||||
void replyToMessage(FullReplyTo id);
|
||||
void updateForwarding(
|
||||
@@ -180,7 +180,7 @@ public:
|
||||
[[nodiscard]] SendMenu::Details saveMenuDetails(bool hasSendText) const;
|
||||
|
||||
[[nodiscard]] FullReplyTo getDraftReply() const;
|
||||
[[nodiscard]] SuggestPostOptions suggestOptions() const;
|
||||
[[nodiscard]] SuggestOptions suggestOptions() const;
|
||||
[[nodiscard]] rpl::producer<> editCancelled() const {
|
||||
return _editCancelled.events();
|
||||
}
|
||||
@@ -213,7 +213,7 @@ private:
|
||||
|
||||
bool hasPreview() const;
|
||||
|
||||
void applySuggestOptions(SuggestPostOptions suggest, SuggestMode mode);
|
||||
void applySuggestOptions(SuggestOptions suggest, SuggestMode mode);
|
||||
void cancelSuggestPost();
|
||||
|
||||
struct Preview {
|
||||
@@ -240,7 +240,7 @@ private:
|
||||
rpl::variable<FullMsgId> _editMsgId;
|
||||
rpl::variable<FullReplyTo> _replyTo;
|
||||
std::unique_ptr<ForwardPanel> _forwardPanel;
|
||||
std::unique_ptr<SuggestOptions> _suggestOptions;
|
||||
std::unique_ptr<SuggestOptionsBar> _suggestOptions;
|
||||
rpl::producer<> _toForwardUpdated;
|
||||
|
||||
HistoryItem *_shownMessage = nullptr;
|
||||
@@ -773,10 +773,10 @@ FullReplyTo FieldHeader::getDraftReply() const {
|
||||
: _replyTo.current();
|
||||
}
|
||||
|
||||
SuggestPostOptions FieldHeader::suggestOptions() const {
|
||||
SuggestOptions FieldHeader::suggestOptions() const {
|
||||
return _suggestOptions
|
||||
? _suggestOptions->values()
|
||||
: SuggestPostOptions();
|
||||
: SuggestOptions();
|
||||
}
|
||||
|
||||
void FieldHeader::updateControlsGeometry(QSize size) {
|
||||
@@ -795,7 +795,7 @@ void FieldHeader::updateControlsGeometry(QSize size) {
|
||||
|
||||
void FieldHeader::editMessage(
|
||||
FullMsgId id,
|
||||
SuggestPostOptions suggest,
|
||||
SuggestOptions suggest,
|
||||
bool photoEditAllowed) {
|
||||
_photoEditAllowed = photoEditAllowed;
|
||||
_editMsgId = id;
|
||||
@@ -817,12 +817,12 @@ void FieldHeader::editMessage(
|
||||
}
|
||||
|
||||
void FieldHeader::applySuggestOptions(
|
||||
SuggestPostOptions suggest,
|
||||
SuggestOptions suggest,
|
||||
SuggestMode mode) {
|
||||
Expects(suggest.exists);
|
||||
|
||||
using namespace HistoryView;
|
||||
_suggestOptions = std::make_unique<SuggestOptions>(
|
||||
_suggestOptions = std::make_unique<SuggestOptionsBar>(
|
||||
_show,
|
||||
_history->peer,
|
||||
suggest,
|
||||
@@ -1296,7 +1296,7 @@ void ComposeControls::setCurrentDialogsEntryState(
|
||||
unregisterDraftSources();
|
||||
state.currentReplyTo.topicRootId = _topicRootId;
|
||||
state.currentReplyTo.monoforumPeerId = _monoforumPeerId;
|
||||
state.currentSuggest = SuggestPostOptions();
|
||||
state.currentSuggest = SuggestOptions();
|
||||
_currentDialogsEntryState = state;
|
||||
updateForwarding();
|
||||
registerDraftSource();
|
||||
@@ -1952,7 +1952,7 @@ void ComposeControls::saveFieldToHistoryLocalDraft() {
|
||||
std::make_unique<Data::Draft>(
|
||||
_field,
|
||||
id,
|
||||
SuggestPostOptions(),
|
||||
SuggestOptions(),
|
||||
_preview->draft()));
|
||||
} else {
|
||||
_history->clearDraft(draftKeyCurrent());
|
||||
@@ -2067,7 +2067,7 @@ void ComposeControls::init() {
|
||||
const auto topicRootId = _topicRootId;
|
||||
const auto monoforumPeerId = _monoforumPeerId;
|
||||
const auto reply = _header->replyingToMessage();
|
||||
const auto suggest = SuggestPostOptions();
|
||||
const auto suggest = SuggestOptions();
|
||||
const auto webpage = _preview->draft();
|
||||
|
||||
const auto done = [=](
|
||||
@@ -2635,7 +2635,7 @@ void ComposeControls::applyDraft(FieldHistoryAction fieldHistoryAction) {
|
||||
: FullMsgId();
|
||||
const auto editingSuggest = (draft && draft == editDraft)
|
||||
? draft->suggest
|
||||
: SuggestPostOptions();
|
||||
: SuggestOptions();
|
||||
|
||||
InvokeQueued(_autocomplete.get(), [=] {
|
||||
if (_autocomplete) {
|
||||
@@ -2717,7 +2717,7 @@ void ComposeControls::applyDraft(FieldHistoryAction fieldHistoryAction) {
|
||||
}
|
||||
_canReplaceMedia = _canAddMedia = false;
|
||||
_photoEditMedia = nullptr;
|
||||
_header->editMessage(editingId, SuggestPostOptions(), false);
|
||||
_header->editMessage(editingId, SuggestOptions(), false);
|
||||
return false;
|
||||
};
|
||||
if (!resolve()) {
|
||||
@@ -3762,7 +3762,7 @@ void ComposeControls::editMessage(not_null<HistoryItem*> item) {
|
||||
.topicRootId = key.topicRootId(),
|
||||
.monoforumPeerId = key.monoforumPeerId(),
|
||||
},
|
||||
SuggestPostOptions(),
|
||||
SuggestOptions(),
|
||||
cursor,
|
||||
Data::WebPageDraft::FromItem(item)));
|
||||
applyDraft();
|
||||
@@ -3857,7 +3857,7 @@ void ComposeControls::replyToMessage(FullReplyTo id) {
|
||||
std::make_unique<Data::Draft>(
|
||||
TextWithTags(),
|
||||
id,
|
||||
SuggestPostOptions(),
|
||||
SuggestOptions(),
|
||||
MessageCursor(),
|
||||
Data::WebPageDraft()));
|
||||
}
|
||||
|
||||
@@ -1387,7 +1387,7 @@ void ShowReplyToChatBox(
|
||||
history->setLocalDraft(std::make_unique<Data::Draft>(
|
||||
textWithTags,
|
||||
reply,
|
||||
SuggestPostOptions(),
|
||||
SuggestOptions(),
|
||||
cursor,
|
||||
Data::WebPageDraft()));
|
||||
history->clearLocalEditDraft(topicRootId, monoforumPeerId);
|
||||
|
||||
@@ -353,7 +353,7 @@ void ClearDraftReplyTo(
|
||||
.topicRootId = topicRootId,
|
||||
.monoforumPeerId = monoforumPeerId,
|
||||
};
|
||||
draft.suggest = SuggestPostOptions();
|
||||
draft.suggest = SuggestOptions();
|
||||
if (Data::DraftIsNull(&draft)) {
|
||||
history->clearLocalDraft(topicRootId, monoforumPeerId);
|
||||
} else {
|
||||
|
||||
@@ -933,10 +933,10 @@ void InsufficientTonBox(
|
||||
}, button->lifetime());
|
||||
}
|
||||
|
||||
SuggestOptions::SuggestOptions(
|
||||
SuggestOptionsBar::SuggestOptionsBar(
|
||||
std::shared_ptr<ChatHelpers::Show> show,
|
||||
not_null<PeerData*> peer,
|
||||
SuggestPostOptions values,
|
||||
SuggestOptions values,
|
||||
SuggestMode mode)
|
||||
: _show(std::move(show))
|
||||
, _peer(peer)
|
||||
@@ -945,21 +945,29 @@ SuggestOptions::SuggestOptions(
|
||||
updateTexts();
|
||||
}
|
||||
|
||||
SuggestOptions::~SuggestOptions() = default;
|
||||
SuggestOptionsBar::~SuggestOptionsBar() = default;
|
||||
|
||||
void SuggestOptions::paintIcon(QPainter &p, int x, int y, int outerWidth) {
|
||||
void SuggestOptionsBar::paintIcon(
|
||||
QPainter &p,
|
||||
int x,
|
||||
int y,
|
||||
int outerWidth) {
|
||||
st::historySuggestIconActive.paint(
|
||||
p,
|
||||
QPoint(x, y) + st::historySuggestIconPosition,
|
||||
outerWidth);
|
||||
}
|
||||
|
||||
void SuggestOptions::paintBar(QPainter &p, int x, int y, int outerWidth) {
|
||||
void SuggestOptionsBar::paintBar(QPainter &p, int x, int y, int outerWidth) {
|
||||
paintIcon(p, x, y, outerWidth);
|
||||
paintLines(p, x + st::historyReplySkip, y, outerWidth);
|
||||
}
|
||||
|
||||
void SuggestOptions::paintLines(QPainter &p, int x, int y, int outerWidth) {
|
||||
void SuggestOptionsBar::paintLines(
|
||||
QPainter &p,
|
||||
int x,
|
||||
int y,
|
||||
int outerWidth) {
|
||||
auto available = outerWidth
|
||||
- x
|
||||
- st::historyReplyCancel.width
|
||||
@@ -978,9 +986,9 @@ void SuggestOptions::paintLines(QPainter &p, int x, int y, int outerWidth) {
|
||||
});
|
||||
}
|
||||
|
||||
void SuggestOptions::edit() {
|
||||
void SuggestOptionsBar::edit() {
|
||||
const auto weak = std::make_shared<base::weak_qptr<Ui::BoxContent>>();
|
||||
const auto apply = [=](SuggestPostOptions values) {
|
||||
const auto apply = [=](SuggestOptions values) {
|
||||
_values = values;
|
||||
updateTexts();
|
||||
_updates.fire({});
|
||||
@@ -996,7 +1004,7 @@ void SuggestOptions::edit() {
|
||||
}));
|
||||
}
|
||||
|
||||
void SuggestOptions::updateTexts() {
|
||||
void SuggestOptionsBar::updateTexts() {
|
||||
_title.setText(
|
||||
st::semiboldTextStyle,
|
||||
((_mode == SuggestMode::New)
|
||||
@@ -1009,7 +1017,7 @@ void SuggestOptions::updateTexts() {
|
||||
Core::TextContext({ .session = &_peer->session() }));
|
||||
}
|
||||
|
||||
TextWithEntities SuggestOptions::composeText() const {
|
||||
TextWithEntities SuggestOptionsBar::composeText() const {
|
||||
auto helper = Ui::Text::CustomEmojiHelper();
|
||||
const auto amount = _values.price().ton()
|
||||
? helper.paletteDependent(Ui::Earn::IconCurrencyEmoji({
|
||||
@@ -1042,17 +1050,17 @@ TextWithEntities SuggestOptions::composeText() const {
|
||||
).append(date);
|
||||
}
|
||||
|
||||
SuggestPostOptions SuggestOptions::values() const {
|
||||
SuggestOptions SuggestOptionsBar::values() const {
|
||||
auto result = _values;
|
||||
result.exists = 1;
|
||||
return result;
|
||||
}
|
||||
|
||||
rpl::producer<> SuggestOptions::updates() const {
|
||||
rpl::producer<> SuggestOptionsBar::updates() const {
|
||||
return _updates.events();
|
||||
}
|
||||
|
||||
rpl::lifetime &SuggestOptions::lifetime() {
|
||||
rpl::lifetime &SuggestOptionsBar::lifetime() {
|
||||
return _lifetime;
|
||||
}
|
||||
|
||||
|
||||
@@ -89,8 +89,8 @@ struct StarsTonPriceArgs {
|
||||
struct SuggestPriceBoxArgs {
|
||||
not_null<PeerData*> peer;
|
||||
bool updating = false;
|
||||
Fn<void(SuggestPostOptions)> done;
|
||||
SuggestPostOptions value;
|
||||
Fn<void(SuggestOptions)> done;
|
||||
SuggestOptions value;
|
||||
SuggestMode mode = SuggestMode::New;
|
||||
QString giftName;
|
||||
};
|
||||
@@ -114,14 +114,14 @@ void InsufficientTonBox(
|
||||
not_null<PeerData*> peer,
|
||||
CreditsAmount required);
|
||||
|
||||
class SuggestOptions final {
|
||||
class SuggestOptionsBar final {
|
||||
public:
|
||||
SuggestOptions(
|
||||
SuggestOptionsBar(
|
||||
std::shared_ptr<ChatHelpers::Show> show,
|
||||
not_null<PeerData*> peer,
|
||||
SuggestPostOptions values,
|
||||
SuggestOptions values,
|
||||
SuggestMode mode);
|
||||
~SuggestOptions();
|
||||
~SuggestOptionsBar();
|
||||
|
||||
void paintBar(QPainter &p, int x, int y, int outerWidth);
|
||||
void edit();
|
||||
@@ -129,7 +129,7 @@ public:
|
||||
void paintIcon(QPainter &p, int x, int y, int outerWidth);
|
||||
void paintLines(QPainter &p, int x, int y, int outerWidth);
|
||||
|
||||
[[nodiscard]] SuggestPostOptions values() const;
|
||||
[[nodiscard]] SuggestOptions values() const;
|
||||
|
||||
[[nodiscard]] rpl::producer<> updates() const;
|
||||
|
||||
@@ -147,7 +147,7 @@ private:
|
||||
Ui::Text::String _title;
|
||||
Ui::Text::String _text;
|
||||
|
||||
SuggestPostOptions _values;
|
||||
SuggestOptions _values;
|
||||
rpl::event_stream<> _updates;
|
||||
|
||||
rpl::lifetime _lifetime;
|
||||
|
||||
@@ -1858,7 +1858,7 @@ void ChatWidget::refreshTopBarActiveChat() {
|
||||
? EntryState::Section::SavedSublist
|
||||
: EntryState::Section::Replies,
|
||||
.currentReplyTo = replyTo(),
|
||||
.currentSuggest = SuggestPostOptions(),
|
||||
.currentSuggest = SuggestOptions(),
|
||||
};
|
||||
_topBar->setActiveChat(state, _sendAction.get());
|
||||
_composeControls->setCurrentDialogsEntryState(state);
|
||||
|
||||
@@ -606,7 +606,7 @@ bool MainWidget::shareUrl(
|
||||
.topicRootId = topicRootId,
|
||||
.monoforumPeerId = monoforumPeerId,
|
||||
},
|
||||
SuggestPostOptions(),
|
||||
SuggestOptions(),
|
||||
cursor,
|
||||
Data::WebPageDraft()));
|
||||
history->clearLocalEditDraft(topicRootId, monoforumPeerId);
|
||||
|
||||
@@ -632,7 +632,7 @@ void ShortcutMessages::setupComposeControls() {
|
||||
.key = Dialogs::Key{ _history },
|
||||
.section = Dialogs::EntryState::Section::ShortcutMessages,
|
||||
.currentReplyTo = replyTo(),
|
||||
.currentSuggest = SuggestPostOptions(),
|
||||
.currentSuggest = SuggestOptions(),
|
||||
};
|
||||
_composeControls->setCurrentDialogsEntryState(state);
|
||||
|
||||
|
||||
@@ -138,7 +138,7 @@ auto EmptyMessageDraftSources()
|
||||
}
|
||||
|
||||
[[nodiscard]] std::pair<quint64, quint64> SerializeSuggest(
|
||||
SuggestPostOptions options) {
|
||||
SuggestOptions options) {
|
||||
return {
|
||||
((quint64(options.exists) << 63)
|
||||
| (quint64(quint32(options.date)))),
|
||||
@@ -148,7 +148,7 @@ auto EmptyMessageDraftSources()
|
||||
};
|
||||
}
|
||||
|
||||
[[nodiscard]] SuggestPostOptions DeserializeSuggest(
|
||||
[[nodiscard]] SuggestOptions DeserializeSuggest(
|
||||
std::pair<quint64, quint64> suggest) {
|
||||
const auto exists = (suggest.first >> 63) ? 1 : 0;
|
||||
const auto date = TimeId(uint32(suggest.first & 0xFFFF'FFFFULL));
|
||||
@@ -1314,7 +1314,7 @@ void Account::writeDrafts(not_null<History*> history) {
|
||||
const auto sizeCallback = [&](
|
||||
auto&&, // key
|
||||
const FullReplyTo &reply,
|
||||
SuggestPostOptions suggest,
|
||||
SuggestOptions suggest,
|
||||
const TextWithTags &text,
|
||||
const Data::WebPageDraft &webpage,
|
||||
auto&&) { // cursor
|
||||
@@ -1345,7 +1345,7 @@ void Account::writeDrafts(not_null<History*> history) {
|
||||
const auto writeCallback = [&](
|
||||
const Data::DraftKey &key,
|
||||
const FullReplyTo &reply,
|
||||
SuggestPostOptions suggest,
|
||||
SuggestOptions suggest,
|
||||
const TextWithTags &text,
|
||||
const Data::WebPageDraft &webpage,
|
||||
auto&&) { // cursor
|
||||
@@ -1719,7 +1719,7 @@ void Account::readDraftsWithCursorsLegacy(
|
||||
std::make_unique<Data::Draft>(
|
||||
msgData,
|
||||
FullReplyTo{ FullMsgId(peerId, MsgId(msgReplyTo)) },
|
||||
SuggestPostOptions(),
|
||||
SuggestOptions(),
|
||||
MessageCursor(),
|
||||
Data::WebPageDraft{
|
||||
.removed = (msgPreviewCancelled == 1),
|
||||
@@ -1731,7 +1731,7 @@ void Account::readDraftsWithCursorsLegacy(
|
||||
std::make_unique<Data::Draft>(
|
||||
editData,
|
||||
FullReplyTo{ FullMsgId(peerId, editMsgId) },
|
||||
SuggestPostOptions(),
|
||||
SuggestOptions(),
|
||||
MessageCursor(),
|
||||
Data::WebPageDraft{
|
||||
.removed = (editPreviewCancelled == 1),
|
||||
|
||||
@@ -53,7 +53,7 @@ enum class StartResult : uchar;
|
||||
|
||||
struct MessageDraft {
|
||||
FullReplyTo reply;
|
||||
SuggestPostOptions suggest;
|
||||
SuggestOptions suggest;
|
||||
TextWithTags textWithTags;
|
||||
Data::WebPageDraft webpage;
|
||||
};
|
||||
|
||||
@@ -167,7 +167,7 @@ Data::Draft OccupiedDraft(const QString &normalizedName) {
|
||||
+ ";n:"
|
||||
+ normalizedName },
|
||||
FullReplyTo(),
|
||||
SuggestPostOptions(),
|
||||
SuggestOptions(),
|
||||
MessageCursor(),
|
||||
Data::WebPageDraft()
|
||||
};
|
||||
|
||||
@@ -1249,7 +1249,7 @@ void Manager::notificationActivated(
|
||||
.topicRootId = topicRootId,
|
||||
.monoforumPeerId = monoforumPeerId,
|
||||
},
|
||||
SuggestPostOptions(),
|
||||
SuggestOptions(),
|
||||
MessageCursor{
|
||||
length,
|
||||
length,
|
||||
|
||||
@@ -1967,7 +1967,7 @@ void PeerMenuCreatePoll(
|
||||
not_null<Window::SessionController*> controller,
|
||||
not_null<PeerData*> peer,
|
||||
FullReplyTo replyTo,
|
||||
SuggestPostOptions suggest,
|
||||
SuggestOptions suggest,
|
||||
PollData::Flags chosen,
|
||||
PollData::Flags disabled,
|
||||
Api::SendType sendType,
|
||||
@@ -2081,7 +2081,7 @@ void PeerMenuCreateTodoList(
|
||||
not_null<Window::SessionController*> controller,
|
||||
not_null<PeerData*> peer,
|
||||
FullReplyTo replyTo,
|
||||
SuggestPostOptions suggest,
|
||||
SuggestOptions suggest,
|
||||
Api::SendType sendType,
|
||||
SendMenu::Details sendMenuDetails) {
|
||||
if (!peer->session().premium()) {
|
||||
|
||||
@@ -115,7 +115,7 @@ void PeerMenuCreatePoll(
|
||||
not_null<Window::SessionController*> controller,
|
||||
not_null<PeerData*> peer,
|
||||
FullReplyTo replyTo = FullReplyTo(),
|
||||
SuggestPostOptions suggest = SuggestPostOptions(),
|
||||
SuggestOptions suggest = SuggestOptions(),
|
||||
PollData::Flags chosen = PollData::Flags(),
|
||||
PollData::Flags disabled = PollData::Flags(),
|
||||
Api::SendType sendType = Api::SendType::Normal,
|
||||
@@ -130,7 +130,7 @@ void PeerMenuCreateTodoList(
|
||||
not_null<Window::SessionController*> controller,
|
||||
not_null<PeerData*> peer,
|
||||
FullReplyTo replyTo = FullReplyTo(),
|
||||
SuggestPostOptions suggest = SuggestPostOptions(),
|
||||
SuggestOptions suggest = SuggestOptions(),
|
||||
Api::SendType sendType = Api::SendType::Normal,
|
||||
SendMenu::Details sendMenuDetails = SendMenu::Details());
|
||||
void PeerMenuEditTodoList(
|
||||
|
||||
@@ -2239,7 +2239,7 @@ bool SessionController::switchInlineQuery(
|
||||
to.currentReplyTo.messageId.msg = MsgId();
|
||||
}
|
||||
if (!history->suggestDraftAllowed()) {
|
||||
to.currentSuggest = SuggestPostOptions();
|
||||
to.currentSuggest = SuggestOptions();
|
||||
}
|
||||
auto draft = std::make_unique<Data::Draft>(
|
||||
textWithTags,
|
||||
|
||||
Reference in New Issue
Block a user