mirror of
https://github.com/AyuGram/AyuGramDesktop.git
synced 2025-06-05 06:33:57 +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);
|
_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);
|
||||||
}
|
}
|
||||||
|
|
|
@ -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());
|
||||||
}
|
}
|
||||||
|
|
|
@ -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) {
|
||||||
|
|
|
@ -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,
|
||||||
|
|
|
@ -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));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -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);
|
||||||
|
|
|
@ -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());
|
||||||
}
|
}
|
||||||
|
|
|
@ -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) {
|
||||||
|
|
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue