mirror of
https://github.com/telegramdesktop/tdesktop
synced 2025-09-05 00:46:08 +00:00
Show folder using slide animation.
This commit is contained in:
@@ -108,6 +108,16 @@ Controller::Controller(
|
||||
Ui::show(Box<EditPeerInfoBox>(peer));
|
||||
}
|
||||
});
|
||||
|
||||
session->data().chatsListChanges(
|
||||
) | rpl::filter([=](Data::Folder *folder) {
|
||||
return (folder != nullptr)
|
||||
&& (folder == _openedFolder.current())
|
||||
&& folder->chatsList()->indexed(Global::DialogsMode())->empty();
|
||||
}) | rpl::start_with_next([=](Data::Folder *folder) {
|
||||
folder->updateChatListSortPosition();
|
||||
closeFolder();
|
||||
}, lifetime());
|
||||
}
|
||||
|
||||
void Controller::showEditPeerBox(PeerData *peer) {
|
||||
@@ -137,6 +147,24 @@ void Controller::initSupportMode() {
|
||||
}, lifetime());
|
||||
}
|
||||
|
||||
bool Controller::uniqueChatsInSearchResults() const {
|
||||
return session().supportMode()
|
||||
&& !session().settings().supportAllSearchResults()
|
||||
&& !searchInChat.current();
|
||||
}
|
||||
|
||||
void Controller::openFolder(not_null<Data::Folder*> folder) {
|
||||
_openedFolder = folder.get();
|
||||
}
|
||||
|
||||
void Controller::closeFolder() {
|
||||
_openedFolder = nullptr;
|
||||
}
|
||||
|
||||
const rpl::variable<Data::Folder*> &Controller::openedFolder() const {
|
||||
return _openedFolder;
|
||||
}
|
||||
|
||||
void Controller::setActiveChatEntry(Dialogs::RowDescriptor row) {
|
||||
_activeChatEntry = row;
|
||||
if (session().supportMode()) {
|
||||
|
Reference in New Issue
Block a user