mirror of
https://github.com/AyuGram/AyuGramDesktop.git
synced 2025-04-15 21:57:10 +02:00
feat: simplify markReadAfterAction
This commit is contained in:
parent
ce00b3d950
commit
6fd0fb9704
9 changed files with 37 additions and 63 deletions
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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());
|
||||
}
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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());
|
||||
}
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue