Merge v4.14.13

# Conflicts:
#	Telegram/Resources/winrc/Telegram.rc
#	Telegram/Resources/winrc/Updater.rc
#	Telegram/SourceFiles/core/version.h
#	Telegram/SourceFiles/history/view/controls/history_view_voice_record_bar.cpp
#	Telegram/SourceFiles/history/view/media/history_view_photo.cpp
#	Telegram/SourceFiles/history/view/reactions/history_view_reactions_selector.cpp
#	Telegram/SourceFiles/mainwidget.cpp
#	Telegram/lib_ui
This commit is contained in:
ZavaruKitsu
2024-02-03 23:20:50 +03:00
251 changed files with 6957 additions and 2361 deletions
+16 -20
View File
@@ -49,6 +49,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
#include "history/history_item_helpers.h" // GetErrorTextForSending.
#include "history/view/media/history_view_media.h"
#include "history/view/history_view_service_message.h"
#include "history/view/history_view_sublist_section.h"
#include "lang/lang_keys.h"
#include "lang/lang_cloud_manager.h"
#include "inline_bots/inline_bot_layout_item.h"
@@ -727,24 +728,23 @@ void MainWidget::searchMessages(const QString &query, Dialogs::Key inChat, UserD
_dialogs->setInnerFocus();
}
} else {
const auto searchIn = [&](not_null<Window::Controller*> window) {
if (const auto controller = window->sessionController()) {
controller->content()->searchMessages(query, inChat, from);
controller->widget()->activate();
}
};
const auto account = &session().account();
if (const auto peer = inChat.peer()) {
if (peer == controller()->singlePeer()) {
if (_history->peer() != peer) {
controller()->showPeerHistory(peer);
if (const auto sublist = inChat.sublist()) {
controller()->showSection(
std::make_shared<HistoryView::SublistMemento>(sublist));
} else if (!Data::SearchTagsFromQuery(query).empty()) {
inChat = controller()->session().data().history(
controller()->session().user());
}
if ((!_mainSection
|| !_mainSection->searchInChatEmbedded(inChat, query))
&& !_history->searchInChatEmbedded(inChat, query)) {
const auto account = &session().account();
if (const auto window = Core::App().windowFor(account)) {
if (const auto controller = window->sessionController()) {
controller->content()->searchMessages(query, inChat, from);
controller->widget()->activate();
}
_history->searchInChatEmbedded(query);
} else if (const auto window = Core::App().windowFor(peer)) {
searchIn(window);
}
} else if (const auto window = Core::App().windowFor(account)) {
searchIn(window);
}
}
}
@@ -2696,10 +2696,6 @@ int MainWidget::backgroundFromY() const {
return -getMainSectionTop();
}
void MainWidget::searchInChat(Dialogs::Key chat) {
searchMessages(QString(), chat);
}
bool MainWidget::contentOverlapped(const QRect &globalRect) {
return _history->contentOverlapped(globalRect)
|| _playerPlaylist->overlaps(globalRect);