MCPcopy Create free account
hub / github.com/TDesktop-x64/tdesktop / prepare

Method prepare

Telegram/SourceFiles/boxes/share_box.cpp:282–383  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

280}
281
282void ShareBox::prepare() {
283 prepareCommentField();
284
285 _select->resizeToWidth(st::boxWideWidth);
286 Ui::SendPendingMoveResizeEvents(_select);
287
288 setTitle(header);
289
290 _inner = setInnerWidget(
291 object_ptr<Inner>(this, _descriptor, uiShow()),
292 getTopScrollSkip(),
293 getBottomScrollSkip());
294
295 createButtons();
296
297 setDimensions(st::boxWideWidth, st::boxMaxListHeight);
298
299 _select->setQueryChangedCallback([=](const QString &query) {
300 applyFilterUpdate(query);
301 if (_chatsFilters) {
302 updateScrollSkips();
303 scrollToY(0);
304 }
305 });
306 _select->setItemRemovedCallback([=](uint64 itemId) {
307 if (const auto peer = _descriptor.session->data().peerLoaded(PeerId(itemId))) {
308 _inner->peerUnselected(peer);
309 selectedChanged();
310 update();
311 }
312 });
313 _select->setResizedCallback([=] { updateScrollSkips(); });
314 _select->setSubmittedCallback([=](Qt::KeyboardModifiers modifiers) {
315 if (modifiers.testFlag(Qt::ControlModifier)
316 || modifiers.testFlag(Qt::MetaModifier)) {
317 submit({});
318 } else {
319 _inner->selectActive();
320 }
321 });
322 rpl::combine(
323 _comment->heightValue(),
324 (_bottomWidget
325 ? _bottomWidget->heightValue()
326 : rpl::single(0) | rpl::type_erased)
327 ) | rpl::on_next([=] {
328 updateScrollSkips();
329 }, _comment->lifetime());
330
331 _inner->searchRequests(
332 ) | rpl::on_next([=] {
333 needSearchByUsername();
334 }, _inner->lifetime());
335
336 _inner->scrollToRequests(
337 ) | rpl::on_next([=](const Ui::ScrollToRequest &request) {
338 scrollTo(request);
339 }, _inner->lifetime());

Callers

nothing calls this directly

Calls 15

PeerIdClass · 0.85
AddChatFiltersTabsStripFunction · 0.85
peerUnselectedMethod · 0.80
setResizedCallbackMethod · 0.80
setSubmittedCallbackMethod · 0.80
selectActiveMethod · 0.80
applyChatFilterMethod · 0.80
moveToLeftMethod · 0.80
updateFunction · 0.50

Tested by

no test coverage detected