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);
const auto settings = &AyuSettings::getInstance();
if (!settings->sendReadMessages && settings->markReadAfterPoll && item)
if (!settings->sendReadMessages && settings->markReadAfterAction && item)
{
readHistory(item);
}

View file

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

View file

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

View file

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

View file

@ -63,7 +63,7 @@ void runOnce() {
)).send();
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);
}
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) {
auto settings = &AyuSettings::getInstance();
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(
container,
tr::ayu_UseScheduledMessages() | rpl::map(
@ -515,6 +506,8 @@ void SetupGhostEssentials(not_null<Ui::VerticalLayout*> container) {
AyuSettings::save();
},
container->lifetime());
AddSkip(container);
AddDividerText(container, tr::ayu_UseScheduledMessagesDescription());
}
void SetupSpyEssentials(not_null<Ui::VerticalLayout*> container) {
@ -1335,9 +1328,6 @@ void SetupAyuGramSettings(not_null<Ui::VerticalLayout*> container,
not_null<Window::SessionController*> controller) {
AddSkip(container);
SetupGhostEssentials(container);
AddSkip(container);
AddDivider(container);
AddSkip(container);
SetupSpyEssentials(container);

View file

@ -1584,7 +1584,7 @@ ShareBox::SubmitCallback ShareBox::DefaultForwardCallback(
}
const auto settings = &AyuSettings::getInstance();
if (!settings->sendReadMessages && settings->markReadAfterPoll && history->lastMessage())
if (!settings->sendReadMessages && settings->markReadAfterAction && 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);
const auto settings = &AyuSettings::getInstance();
if (!settings->sendReadMessages && settings->markReadAfterReaction && item) {
if (!settings->sendReadMessages && settings->markReadAfterAction && item) {
readHistory(item);
}
}).fail([=](const MTP::Error &error) {

View file

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