fix: don't use scheduled messages if not in a full ghost mode

This commit is contained in:
AlexeyZavar 2024-10-05 03:14:24 +03:00
parent 1fc230624d
commit 45461836e1
10 changed files with 32 additions and 31 deletions

View file

@ -3661,9 +3661,7 @@ void ApiWrap::sendUploadedPhoto(
Api::RemoteFileInfo info,
Api::SendOptions options) {
if (const auto item = _session->data().message(localId)) {
// AyuGram useScheduledMessages
const auto settings = &AyuSettings::getInstance();
if (settings->useScheduledMessages && !options.scheduled) {
if (AyuSettings::isUseScheduledMessages() && !options.scheduled) {
auto current = base::unixtime::now();
options.scheduled = current + 12;
}
@ -3686,9 +3684,7 @@ void ApiWrap::sendUploadedDocument(
return;
}
// AyuGram useScheduledMessages
const auto settings = &AyuSettings::getInstance();
if (settings->useScheduledMessages && !options.scheduled) {
if (AyuSettings::isUseScheduledMessages() && !options.scheduled) {
auto current = base::unixtime::now();
options.scheduled = current + 12;
}
@ -3979,8 +3975,7 @@ void ApiWrap::sendBotStart(
message.textWithTags.text += '@' + bot->username();
}
const auto settings = &AyuSettings::getInstance();
if (settings->useScheduledMessages) {
if (AyuSettings::isUseScheduledMessages()) {
auto current = base::unixtime::now();
message.action.options.scheduled = current + 12;
}
@ -4199,9 +4194,7 @@ void ApiWrap::sendMediaWithRandomId(
Api::SendOptions options,
uint64 randomId,
Fn<void(bool)> done) {
// AyuGram useScheduledMessages
const auto settings = &AyuSettings::getInstance();
if (settings->useScheduledMessages && !options.scheduled) {
if (AyuSettings::isUseScheduledMessages() && !options.scheduled) {
auto current = base::unixtime::now();
options.scheduled = current + 12;
}
@ -4415,9 +4408,7 @@ void ApiWrap::sendAlbumIfReady(not_null<SendingAlbum*> album) {
return;
}
// AyuGram useScheduledMessages
const auto settings = &AyuSettings::getInstance();
if (settings->useScheduledMessages && !album->options.scheduled) {
if (AyuSettings::isUseScheduledMessages() && !album->options.scheduled) {
auto current = base::unixtime::now();
album->options.scheduled = current + 12;
}

View file

@ -551,7 +551,12 @@ void AyuGramSettings::set_voiceConfirmation(bool val) {
voiceConfirmation = val;
}
bool get_ghostModeEnabled() {
bool isUseScheduledMessages() {
const auto settings = &getInstance();
return isGhostModeActive() && settings->useScheduledMessages;
}
bool isGhostModeActive() {
return ghostModeEnabled.current();
}

View file

@ -240,7 +240,9 @@ rpl::producer<QString> get_editedMarkReactive();
rpl::producer<int> get_showPeerIdReactive();
bool get_ghostModeEnabled();
bool isGhostModeActive();
bool isUseScheduledMessages();
rpl::producer<bool> get_ghostModeEnabledReactive();
rpl::producer<bool> get_hideFromBlockedReactive();

View file

@ -57,6 +57,7 @@
#include <QtGui/QClipboard>
#include <QtWidgets/QApplication>
#include "history/view/history_view_context_menu.h"
#include "ui/ui_utility.h"
namespace MessageHistory {
@ -332,7 +333,6 @@ InnerWidget::InnerWidget(
const Data::Session::ItemVisibilityQuery &query)
{
return (_history == query.item->history())
&& query.item->isAdminLogEntry()
&& isVisible();
}) | rpl::start_with_next([=](
const Data::Session::ItemVisibilityQuery &query)
@ -651,6 +651,7 @@ void InnerWidget::restoreState(not_null<SectionMemento*> memento) {
_messageIds = memento->takeMessageIds();
_upLoaded = memento->upLoaded();
_downLoaded = memento->downLoaded();
updateMinMaxIds();
updateSize();
}
@ -1171,6 +1172,13 @@ void InnerWidget::showContextMenu(QContextMenuEvent *e, bool showFromTouch) {
saveDocumentToFile(lnkDocument);
}),
&st::menuIconDownload);
HistoryView::AddCopyFilename(
_menu,
lnkDocument,
[] { return false; });
if (lnkDocument->hasAttachedStickers()) {
const auto controller = _controller;
auto callback = [=]

View file

@ -1728,10 +1728,7 @@ bool SendFilesBox::validateLength(const QString &text) const {
void SendFilesBox::send(
Api::SendOptions options,
bool ctrlShiftEnter) {
// AyuGram useScheduledMessages
const auto settings = &AyuSettings::getInstance();
if (settings->useScheduledMessages && !options.scheduled) {
DEBUG_LOG(("[AyuGram] Scheduling files"));
if (AyuSettings::isUseScheduledMessages() && !options.scheduled) {
const auto sumSize = ranges::accumulate(
_list.files,
0,

View file

@ -490,7 +490,7 @@ void GifsListWidget::selectInlineResult(
}
auto settings = &AyuSettings::getInstance();
if (settings->useScheduledMessages) {
if (AyuSettings::isUseScheduledMessages()) {
auto current = base::unixtime::now();
options.scheduled = current + 12;
}

View file

@ -1903,7 +1903,7 @@ void StickersListWidget::mouseReleaseEvent(QMouseEvent *e) {
document
);
auto options = Api::SendOptions();
if (settings->useScheduledMessages) {
if (AyuSettings::isUseScheduledMessages()) {
auto current = base::unixtime::now();
options.scheduled = current + 12;
}

View file

@ -1042,8 +1042,7 @@ HistoryWidget::HistoryWidget(
if (action.replaceMediaOf) {
} else if (action.options.scheduled) {
cancelReply(lastKeyboardUsed);
const auto settings = &AyuSettings::getInstance();
if (!settings->useScheduledMessages) {
if (!AyuSettings::isUseScheduledMessages()) {
crl::on_main(this, [=, history = action.history]
{
controller->showSection(
@ -4294,9 +4293,8 @@ Api::SendAction HistoryWidget::prepareSendAction(
}
void HistoryWidget::send(Api::SendOptions options) {
// AyuGram useScheduledMessages
const auto settings = &AyuSettings::getInstance();
if (settings->useScheduledMessages && !options.scheduled) {
if (AyuSettings::isUseScheduledMessages() && !options.scheduled) {
auto current = base::unixtime::now();
options.scheduled = current + 12;
}

View file

@ -1817,7 +1817,7 @@ void VoiceRecordBar::stopRecording(StopType type, bool ttlBeforeHide) {
};
auto settings = &AyuSettings::getInstance();
if (settings->useScheduledMessages) {
if (AyuSettings::isUseScheduledMessages()) {
auto current = base::unixtime::now();
options.scheduled = current + 12 + 5;
}
@ -1909,7 +1909,7 @@ void VoiceRecordBar::requestToSendWithOptions(Api::SendOptions options) {
}
auto settings = &AyuSettings::getInstance();
if (settings->useScheduledMessages) {
if (AyuSettings::isUseScheduledMessages()) {
auto current = base::unixtime::now();
options.scheduled = current + 12 + 5;
}

View file

@ -109,7 +109,7 @@ void Tray::rebuildMenu() {
) | rpl::map(
[=]
{
bool ghostModeEnabled = AyuSettings::get_ghostModeEnabled();
bool ghostModeEnabled = AyuSettings::isGhostModeActive();
return ghostModeEnabled
? tr::ayu_DisableGhostModeTray(tr::now)
@ -119,7 +119,7 @@ void Tray::rebuildMenu() {
std::move(turnGhostModeText),
[=]
{
bool ghostMode = AyuSettings::get_ghostModeEnabled();
bool ghostMode = AyuSettings::isGhostModeActive();
settings->set_ghostModeEnabled(!ghostMode);