feat: simplify markReadAfterAction

This commit is contained in:
AlexeyZavar 2024-04-02 16:35:16 +03:00
parent ce00b3d950
commit 6fd0fb9704
9 changed files with 37 additions and 63 deletions

View file

@ -160,7 +160,7 @@ void Polls::sendVotes(
_session->updates().applyUpdates(result); _session->updates().applyUpdates(result);
const auto settings = &AyuSettings::getInstance(); const auto settings = &AyuSettings::getInstance();
if (!settings->sendReadMessages && settings->markReadAfterPoll && item) if (!settings->sendReadMessages && settings->markReadAfterAction && item)
{ {
readHistory(item); readHistory(item);
} }

View file

@ -3331,7 +3331,7 @@ void ApiWrap::forwardMessages(
} }
const auto settings = &AyuSettings::getInstance(); const auto settings = &AyuSettings::getInstance();
if (!settings->sendReadMessages && settings->markReadAfterPoll && history->lastMessage()) if (!settings->sendReadMessages && settings->markReadAfterAction && history->lastMessage())
{ {
readHistory(history->lastMessage()); readHistory(history->lastMessage());
} }

View file

@ -188,9 +188,7 @@ AyuGramSettings::AyuGramSettings() {
sendUploadProgress = true; sendUploadProgress = true;
sendOfflinePacketAfterOnline = false; sendOfflinePacketAfterOnline = false;
markReadAfterSend = true; markReadAfterAction = true;
markReadAfterReaction = true;
markReadAfterPoll = true;
useScheduledMessages = false; useScheduledMessages = false;
// ~ Message edits & deletion history // ~ Message edits & deletion history
@ -295,16 +293,8 @@ void AyuGramSettings::set_ghostModeEnabled(bool val) {
} }
} }
void AyuGramSettings::set_markReadAfterSend(bool val) { void AyuGramSettings::set_markReadAfterAction(bool val) {
markReadAfterSend = val; markReadAfterAction = val;
}
void AyuGramSettings::set_markReadAfterReaction(bool val) {
markReadAfterReaction = val;
}
void AyuGramSettings::set_markReadAfterPoll(bool val) {
markReadAfterPoll = val;
} }
void AyuGramSettings::set_useScheduledMessages(bool val) { void AyuGramSettings::set_useScheduledMessages(bool val) {

View file

@ -23,9 +23,7 @@ public:
bool sendUploadProgress; bool sendUploadProgress;
bool sendOfflinePacketAfterOnline; bool sendOfflinePacketAfterOnline;
bool markReadAfterSend; bool markReadAfterAction;
bool markReadAfterReaction;
bool markReadAfterPoll;
bool useScheduledMessages; bool useScheduledMessages;
bool saveDeletedMessages; bool saveDeletedMessages;
@ -85,9 +83,7 @@ public:
void set_ghostModeEnabled(bool val); void set_ghostModeEnabled(bool val);
void set_markReadAfterSend(bool val); void set_markReadAfterAction(bool val);
void set_markReadAfterReaction(bool val);
void set_markReadAfterPoll(bool val);
void set_useScheduledMessages(bool val); void set_useScheduledMessages(bool val);
void set_saveDeletedMessages(bool val); void set_saveDeletedMessages(bool val);
@ -147,9 +143,7 @@ NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE_WITH_DEFAULT(
sendOnlinePackets, sendOnlinePackets,
sendUploadProgress, sendUploadProgress,
sendOfflinePacketAfterOnline, sendOfflinePacketAfterOnline,
markReadAfterSend, markReadAfterAction,
markReadAfterReaction,
markReadAfterPoll,
useScheduledMessages, useScheduledMessages,
saveDeletedMessages, saveDeletedMessages,
saveMessagesHistory, saveMessagesHistory,

View file

@ -63,7 +63,7 @@ void runOnce() {
)).send(); )).send();
state[id] = false; state[id] = false;
LOG(("[AyuGram] Sent offline for account with uid %1, invalidate %2").arg(id).arg(invalidateAll)); DEBUG_LOG(("[AyuGram] Sent offline for account with uid %1, invalidate %2").arg(id).arg(invalidateAll));
} }
} }
} }

View file

@ -457,42 +457,33 @@ void SetupGhostModeToggle(not_null<Ui::VerticalLayout*> container) {
AddCollapsibleToggle(container, tr::ayu_GhostEssentialsHeader(), checkboxes, true); AddCollapsibleToggle(container, tr::ayu_GhostEssentialsHeader(), checkboxes, true);
} }
void SetupReadAfterActionToggle(not_null<Ui::VerticalLayout*> container) {
auto settings = &AyuSettings::getInstance();
std::vector checkboxes{
NestedEntry{
tr::ayu_MarkReadAfterSend(tr::now), settings->markReadAfterSend, [=](bool enabled)
{
settings->set_markReadAfterSend(enabled);
AyuSettings::save();
}
},
NestedEntry{
tr::ayu_MarkReadAfterReaction(tr::now), settings->markReadAfterReaction, [=](bool enabled)
{
settings->set_markReadAfterReaction(enabled);
AyuSettings::save();
}
},
NestedEntry{
tr::ayu_MarkReadAfterPoll(tr::now), settings->markReadAfterPoll, [=](bool enabled)
{
settings->set_markReadAfterPoll(enabled);
AyuSettings::save();
}
},
};
AddCollapsibleToggle(container, tr::ayu_MarkReadAfterAction(), checkboxes, false);
}
void SetupGhostEssentials(not_null<Ui::VerticalLayout*> container) { void SetupGhostEssentials(not_null<Ui::VerticalLayout*> container) {
auto settings = &AyuSettings::getInstance(); auto settings = &AyuSettings::getInstance();
SetupGhostModeToggle(container); SetupGhostModeToggle(container);
SetupReadAfterActionToggle(container);
AddButtonWithIcon(
container,
tr::ayu_MarkReadAfterAction(),
st::settingsButtonNoIcon
)->toggleOn(
rpl::single(settings->markReadAfterAction)
)->toggledValue(
) | rpl::filter(
[=](bool enabled)
{
return (enabled != settings->markReadAfterAction);
}) | start_with_next(
[=](bool enabled)
{
settings->set_markReadAfterAction(enabled);
AyuSettings::save();
},
container->lifetime());
AddSkip(container);
AddDividerText(container, tr::ayu_MarkReadAfterActionDescription());
AddSkip(container);
AddButtonWithIcon( AddButtonWithIcon(
container, container,
tr::ayu_UseScheduledMessages() | rpl::map( tr::ayu_UseScheduledMessages() | rpl::map(
@ -515,6 +506,8 @@ void SetupGhostEssentials(not_null<Ui::VerticalLayout*> container) {
AyuSettings::save(); AyuSettings::save();
}, },
container->lifetime()); container->lifetime());
AddSkip(container);
AddDividerText(container, tr::ayu_UseScheduledMessagesDescription());
} }
void SetupSpyEssentials(not_null<Ui::VerticalLayout*> container) { void SetupSpyEssentials(not_null<Ui::VerticalLayout*> container) {
@ -1335,9 +1328,6 @@ void SetupAyuGramSettings(not_null<Ui::VerticalLayout*> container,
not_null<Window::SessionController*> controller) { not_null<Window::SessionController*> controller) {
AddSkip(container); AddSkip(container);
SetupGhostEssentials(container); SetupGhostEssentials(container);
AddSkip(container);
AddDivider(container);
AddSkip(container); AddSkip(container);
SetupSpyEssentials(container); SetupSpyEssentials(container);

View file

@ -1584,7 +1584,7 @@ ShareBox::SubmitCallback ShareBox::DefaultForwardCallback(
} }
const auto settings = &AyuSettings::getInstance(); const auto settings = &AyuSettings::getInstance();
if (!settings->sendReadMessages && settings->markReadAfterPoll && history->lastMessage()) if (!settings->sendReadMessages && settings->markReadAfterAction && history->lastMessage())
{ {
readHistory(history->lastMessage()); readHistory(history->lastMessage());
} }

View file

@ -1165,7 +1165,7 @@ void Reactions::send(not_null<HistoryItem*> item, bool addToRecent) {
_owner->session().api().applyUpdates(result); _owner->session().api().applyUpdates(result);
const auto settings = &AyuSettings::getInstance(); const auto settings = &AyuSettings::getInstance();
if (!settings->sendReadMessages && settings->markReadAfterReaction && item) { if (!settings->sendReadMessages && settings->markReadAfterAction && item) {
readHistory(item); readHistory(item);
} }
}).fail([=](const MTP::Error &error) { }).fail([=](const MTP::Error &error) {

View file

@ -1169,7 +1169,7 @@ void HistoryWidget::initTabbedSelector() {
} }
} else { } else {
const auto settings = &AyuSettings::getInstance(); const auto settings = &AyuSettings::getInstance();
if (!settings->sendReadMessages && settings->markReadAfterSend) { if (!settings->sendReadMessages && settings->markReadAfterAction) {
const auto lastMessage = history()->lastMessage(); const auto lastMessage = history()->lastMessage();
if (lastMessage) { if (lastMessage) {
@ -4142,7 +4142,7 @@ void HistoryWidget::send(Api::SendOptions options) {
} }
auto lastMessage = _history->lastMessage(); auto lastMessage = _history->lastMessage();
if (!settings->sendReadMessages && settings->markReadAfterSend && lastMessage) { if (!settings->sendReadMessages && settings->markReadAfterAction && lastMessage) {
readHistory(lastMessage); readHistory(lastMessage);
} }