Redirect community open to its separate window

This commit is contained in:
John Preston
2026-07-09 22:52:47 +04:00
parent de7e9e5335
commit 83f5025c9a
2 changed files with 20 additions and 1 deletions
@@ -2086,8 +2086,25 @@ void SessionController::closeFolder() {
_openedFolder = nullptr;
}
bool SessionController::openCommunityInDifferentWindow(
not_null<Data::CommunityInfo*> info) {
const auto history = session().data().history(info->channel());
const auto id = SeparateId(SeparateType::Community, history);
if (const auto separate = Core::App().separateWindowFor(id)) {
if (separate == _window) {
return false;
}
separate->sessionController()->showByInitialId();
separate->activate();
return true;
}
return false;
}
void SessionController::openCommunity(not_null<Data::CommunityInfo*> info) {
if (_openedCommunity.current() != info) {
if (openCommunityInDifferentWindow(info)) {
return;
} else if (_openedCommunity.current() != info) {
resetFakeUnreadWhileOpened();
}
if (activeChatsFilterCurrent() != 0) {