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

Method removeRow

Telegram/SourceFiles/boxes/peer_list_box.cpp:1310–1339  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1308}
1309
1310void PeerListContent::removeRow(not_null<PeerListRow*> row) {
1311 auto index = row->absoluteIndex();
1312 auto isSearchResult = row->isSearchResult();
1313 auto &eraseFrom = isSearchResult ? _searchRows : _rows;
1314
1315 Assert(index >= 0 && index < eraseFrom.size());
1316 Assert(eraseFrom[index].get() == row);
1317
1318 auto pressedData = saveSelectedData(_pressed);
1319 auto contextedData = saveSelectedData(_contexted);
1320 setSelected(Selected());
1321 setPressed(Selected());
1322 setContexted(Selected());
1323
1324 _rowsById.erase(row->id());
1325 if (!row->special()) {
1326 auto &byPeer = _rowsByPeer[row->peer()];
1327 byPeer.erase(ranges::remove(byPeer, row), end(byPeer));
1328 }
1329 removeFromSearchIndex(row);
1330 _filterResults.erase(
1331 ranges::remove(_filterResults, row),
1332 end(_filterResults));
1333 _hiddenRows.remove(row);
1334 removeRowAtIndex(eraseFrom, index);
1335
1336 restoreSelection();
1337 setPressed(restoreSelectedData(pressedData));
1338 setContexted(restoreSelectedData(contextedData));
1339}
1340
1341void PeerListContent::clearAllContent() {
1342 setSelected(Selected());

Callers 1

peerListRemoveRowMethod · 0.45

Calls 10

absoluteIndexMethod · 0.80
isSearchResultMethod · 0.80
specialMethod · 0.80
SelectedClass · 0.70
sizeMethod · 0.45
getMethod · 0.45
eraseMethod · 0.45
idMethod · 0.45
peerMethod · 0.45
removeMethod · 0.45

Tested by

no test coverage detected