2
0
mirror of https://github.com/kotatogram/kotatogram-desktop synced 2025-09-01 07:05:13 +00:00

Remove MTP::MainInstance() global access point.

This commit is contained in:
John Preston
2020-06-11 20:09:46 +04:00
parent 7f09da9e32
commit 0ad7dcaef9
84 changed files with 823 additions and 1362 deletions

View File

@@ -784,7 +784,7 @@ bool Widget::onSearchMessages(bool searchCache) {
auto q = _filter->getLastText().trimmed();
if (q.isEmpty() && !_searchFromUser) {
cancelSearchRequest();
MTP::cancel(base::take(_peerSearchRequest));
session().api().request(base::take(_peerSearchRequest)).cancel();
return true;
}
if (searchCache) {
@@ -853,33 +853,39 @@ bool Widget::onSearchMessages(bool searchCache) {
return _searchRequest;
});
//} else if (const auto feed = _searchInChat.feed()) { // #feed
// _searchRequest = MTP::send(
// MTPchannels_SearchFeed(
// MTP_int(feed->id()),
// MTP_string(_searchQuery),
// MTP_int(0),
// MTP_inputPeerEmpty(),
// MTP_int(0),
// MTP_int(SearchPerPage)),
// rpcDone(&Widget::searchReceived, SearchRequestType::FromStart),
// rpcFail(&Widget::searchFailed, SearchRequestType::FromStart));
// const auto type = SearchRequestType::FromStart;
// _searchRequest = session().api().request(MTPchannels_SearchFeed(
// MTP_int(feed->id()),
// MTP_string(_searchQuery),
// MTP_int(0),
// MTP_inputPeerEmpty(),
// MTP_int(0),
// MTP_int(SearchPerPage)
// )).done([=](const MTPmessages_Messages &result) {
// searchReceived(type, result, _searchRequest);
// }).fail([=](const RPCError &error) {
// searchFailed(type, error, _searchRequest);
// }).send();
// _searchQueries.insert(_searchRequest, _searchQuery);
} else {
const auto type = SearchRequestType::FromStart;
const auto flags = session().settings().skipArchiveInSearch()
? MTPmessages_SearchGlobal::Flag::f_folder_id
: MTPmessages_SearchGlobal::Flag(0);
const auto folderId = 0;
_searchRequest = MTP::send(
MTPmessages_SearchGlobal(
MTP_flags(flags),
MTP_int(folderId),
MTP_string(_searchQuery),
MTP_int(0),
MTP_inputPeerEmpty(),
MTP_int(0),
MTP_int(SearchPerPage)),
rpcDone(&Widget::searchReceived, SearchRequestType::FromStart),
rpcFail(&Widget::searchFailed, SearchRequestType::FromStart));
_searchRequest = session().api().request(MTPmessages_SearchGlobal(
MTP_flags(flags),
MTP_int(folderId),
MTP_string(_searchQuery),
MTP_int(0),
MTP_inputPeerEmpty(),
MTP_int(0),
MTP_int(SearchPerPage)
)).done([=](const MTPmessages_Messages &result) {
searchReceived(type, result, _searchRequest);
}).fail([=](const RPCError &error) {
searchFailed(type, error, _searchRequest);
}).send();
_searchQueries.insert(_searchRequest, _searchQuery);
}
}
@@ -896,12 +902,14 @@ bool Widget::onSearchMessages(bool searchCache) {
} else if (_peerSearchQuery != query) {
_peerSearchQuery = query;
_peerSearchFull = false;
_peerSearchRequest = MTP::send(
MTPcontacts_Search(
MTP_string(_peerSearchQuery),
MTP_int(SearchPeopleLimit)),
rpcDone(&Widget::peerSearchReceived),
rpcFail(&Widget::peopleFailed));
_peerSearchRequest = session().api().request(MTPcontacts_Search(
MTP_string(_peerSearchQuery),
MTP_int(SearchPeopleLimit)
)).done([=](const MTPcontacts_Found &result, mtpRequestId requestId) {
peerSearchReceived(result, requestId);
}).fail([=](const RPCError &error, mtpRequestId requestId) {
peopleFailed(error, requestId);
}).send();
_peerSearchQueries.insert(_peerSearchRequest, _peerSearchQuery);
}
} else {
@@ -1016,39 +1024,49 @@ void Widget::onSearchMore() {
return _searchRequest;
});
//} else if (const auto feed = _searchInChat.feed()) { // #feed
// _searchRequest = MTP::send(
// MTPchannels_SearchFeed(
// MTP_int(feed->id()),
// MTP_string(_searchQuery),
// MTP_int(offsetDate),
// offsetPeer
// ? offsetPeer->input
// : MTP_inputPeerEmpty(),
// MTP_int(offsetId),
// MTP_int(SearchPerPage)),
// rpcDone(&Widget::searchReceived, offsetId ? SearchRequestType::FromOffset : SearchRequestType::FromStart),
// rpcFail(&Widget::searchFailed, offsetId ? SearchRequestType::FromOffset : SearchRequestType::FromStart));
// const auto type = offsetId
// ? SearchRequestType::FromOffset
// : SearchRequestType::FromStart;
// _searchRequest = session().api().request(MTPchannels_SearchFeed(
// MTP_int(feed->id()),
// MTP_string(_searchQuery),
// MTP_int(offsetDate),
// offsetPeer
// ? offsetPeer->input
// : MTP_inputPeerEmpty(),
// MTP_int(offsetId),
// MTP_int(SearchPerPage)),
// )).done([=](const MTPmessages_Messages &result) {
// searchReceived(type, result, _searchRequest);
// }).fail([=](const RPCError &error) {
// searchFailed(type, error, _searchRequest);
// }).send();
// if (!offsetId) {
// _searchQueries.insert(_searchRequest, _searchQuery);
// }
} else {
const auto type = offsetId
? SearchRequestType::FromOffset
: SearchRequestType::FromStart;
const auto flags = session().settings().skipArchiveInSearch()
? MTPmessages_SearchGlobal::Flag::f_folder_id
: MTPmessages_SearchGlobal::Flag(0);
const auto folderId = 0;
_searchRequest = MTP::send(
MTPmessages_SearchGlobal(
MTP_flags(flags),
MTP_int(folderId),
MTP_string(_searchQuery),
MTP_int(_searchNextRate),
offsetPeer
? offsetPeer->input
: MTP_inputPeerEmpty(),
MTP_int(offsetId),
MTP_int(SearchPerPage)),
rpcDone(&Widget::searchReceived, offsetId ? SearchRequestType::FromOffset : SearchRequestType::FromStart),
rpcFail(&Widget::searchFailed, offsetId ? SearchRequestType::FromOffset : SearchRequestType::FromStart));
_searchRequest = session().api().request(MTPmessages_SearchGlobal(
MTP_flags(flags),
MTP_int(folderId),
MTP_string(_searchQuery),
MTP_int(_searchNextRate),
offsetPeer
? offsetPeer->input
: MTP_inputPeerEmpty(),
MTP_int(offsetId),
MTP_int(SearchPerPage)
)).done([=](const MTPmessages_Messages &result) {
searchReceived(type, result, _searchRequest);
}).fail([=](const RPCError &error) {
searchFailed(type, error, _searchRequest);
}).send();
if (!offsetId) {
_searchQueries.insert(_searchRequest, _searchQuery);
}
@@ -1233,12 +1251,10 @@ void Widget::peerSearchReceived(
}
}
bool Widget::searchFailed(
void Widget::searchFailed(
SearchRequestType type,
const RPCError &error,
mtpRequestId requestId) {
if (MTP::isDefaultHandledError(error)) return false;
if (_searchRequest == requestId) {
_searchRequest = 0;
if (type == SearchRequestType::MigratedFromStart || type == SearchRequestType::MigratedFromOffset) {
@@ -1247,17 +1263,13 @@ bool Widget::searchFailed(
_searchFull = true;
}
}
return true;
}
bool Widget::peopleFailed(const RPCError &error, mtpRequestId req) {
if (MTP::isDefaultHandledError(error)) return false;
if (_peerSearchRequest == req) {
void Widget::peopleFailed(const RPCError &error, mtpRequestId requestId) {
if (_peerSearchRequest == requestId) {
_peerSearchRequest = 0;
_peerSearchFull = true;
}
return true;
}
void Widget::dragEnterEvent(QDragEnterEvent *e) {
@@ -1726,10 +1738,7 @@ void Widget::removeDialog(Key key) {
}
void Widget::cancelSearchRequest() {
if (_searchRequest) {
MTP::cancel(_searchRequest);
_searchRequest = 0;
}
session().api().request(base::take(_searchRequest)).cancel();
if (_searchInHistoryRequest) {
session().data().histories().cancelRequest(_searchInHistoryRequest);
_searchInHistoryRequest = 0;