Skip to content

Commit

Permalink
Revert "Use forkgram's hide all chats"
Browse files Browse the repository at this point in the history
  • Loading branch information
c0re100 committed Nov 27, 2024
1 parent cb66da4 commit e036197
Show file tree
Hide file tree
Showing 5 changed files with 25 additions and 25 deletions.
2 changes: 1 addition & 1 deletion Telegram/SourceFiles/apiwrap.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -489,7 +489,7 @@ void ApiWrap::toggleHistoryArchived(
if (const auto window = Core::App().activeWindow()) {
if (const auto controller = window->sessionController()) {
const auto filters = &_session->data().chatsFilters();
const auto lookup_id = filters->lookupId(1);
const auto lookup_id = filters->lookupId(controller->session().premium() ? 0 : 1);
controller->setActiveChatsFilter(lookup_id);
}
}
Expand Down
17 changes: 12 additions & 5 deletions Telegram/SourceFiles/data/data_chat_filters.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -393,6 +393,9 @@ void ChatFilters::received(const QVector<MTPDialogFilter> &list) {
auto changed = false;
for (const auto &filter : list) {
auto parsed = ChatFilter::FromTL(filter, _owner);
if (GetEnhancedBool("hide_all_chats") && parsed.id() == 0 && list.size() > 1) {
continue;
}
const auto b = begin(_list) + position, e = end(_list);
const auto i = ranges::find(b, e, parsed.id(), &ChatFilter::id);
if (i == e) {
Expand All @@ -413,9 +416,9 @@ void ChatFilters::received(const QVector<MTPDialogFilter> &list) {
applyRemove(position);
changed = true;
}
if (!ranges::contains(begin(_list), end(_list), 0, &ChatFilter::id)) {
_list.insert(begin(_list), ChatFilter());
}
//if (!ranges::contains(begin(_list), end(_list), 0, &ChatFilter::id)) {
// _list.insert(begin(_list), ChatFilter());
//}
if (changed || !_loaded || _reloading) {
_loaded = true;
_reloading = false;
Expand All @@ -426,7 +429,11 @@ void ChatFilters::received(const QVector<MTPDialogFilter> &list) {
void ChatFilters::apply(const MTPUpdate &update) {
update.match([&](const MTPDupdateDialogFilter &data) {
if (const auto filter = data.vfilter()) {
set(ChatFilter::FromTL(*filter, _owner));
auto parsed = ChatFilter::FromTL(*filter, _owner);
if (GetEnhancedBool("hide_all_chats") && parsed.id() == 0) {
return;
}
set(parsed);
} else {
remove(data.vid().v);
}
Expand Down Expand Up @@ -775,7 +782,7 @@ FilterId ChatFilters::defaultId() const {
FilterId ChatFilters::lookupId(int index) const {
Expects(index >= 0 && index < _list.size());

if (_owner->session().user()->isPremium() || !_list.front().id()) {
if (_owner->session().user()->isPremium() || !_list.front().id() || GetEnhancedBool("hide_all_chats")) {
return _list[index].id();
}
const auto i = ranges::find(_list, FilterId(0), &ChatFilter::id);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -765,7 +765,7 @@ void TopBarWidget::backClicked() {
if (_activeChat.key.folder()) {
if (GetEnhancedBool("hide_all_chats")) {
const auto filters = &_controller->session().data().chatsFilters();
const auto lookup_id = filters->lookupId(1);
const auto lookup_id = filters->lookupId(_controller->session().premium() ? 0 : 1);
_controller->setActiveChatsFilter(lookup_id);
} else {
_controller->closeFolder();
Expand Down
23 changes: 7 additions & 16 deletions Telegram/SourceFiles/window/window_filters_menu.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -181,7 +181,7 @@ void FiltersMenu::refresh() {
const auto maxLimit = (reorderAll ? 1 : 0)
+ Data::PremiumLimits(&_session->session()).dialogFiltersCurrent();
const auto premiumFrom = (reorderAll ? 0 : 1) + maxLimit;
if (!reorderAll) {
if (!reorderAll && !GetEnhancedBool("hide_all_chats")) {
_reorder->addPinnedInterval(0, 1);
}
_reorder->addPinnedInterval(
Expand Down Expand Up @@ -214,7 +214,7 @@ void FiltersMenu::refresh() {

// Fix active chat folder when hide all chats is enabled.
if (GetEnhancedBool("hide_all_chats") && filters->isEarlyStart()) {
const auto lookup_id = filters->lookupId(1);
const auto lookup_id = filters->lookupId(0);
_session->setActiveChatsFilter(lookup_id);
}
}
Expand Down Expand Up @@ -272,15 +272,6 @@ base::unique_qptr<Ui::SideBarButton> FiltersMenu::prepareButton(
container,
id ? title : tr::lng_filters_all(tr::now),
st::windowFiltersButton);
if (!id && GetEnhancedBool("hide_all_chats")) {
const auto raw = prepared.data();
raw->sizeValue(
) | rpl::filter([](const QSize& s) {
return s.height() > 0;
}) | rpl::start_with_next([=] {
raw->resize(raw->width(), 0);
}, raw->lifetime());
}
auto added = toBeginning
? container->insert(0, std::move(prepared))
: container->add(std::move(prepared));
Expand Down Expand Up @@ -530,11 +521,11 @@ void FiltersMenu::applyReorder(

const auto filters = &_session->session().data().chatsFilters();
const auto &list = filters->list();
if (!premium()) {
if (list[0].id() != FilterId()) {
filters->moveAllToFront();
}
}
//if (!premium()) {
// if (list[0].id() != FilterId()) {
// filters->moveAllToFront();
// }
//}
Assert(oldPosition >= 0 && oldPosition < list.size());
Assert(newPosition >= 0 && newPosition < list.size());
const auto id = list[oldPosition].id();
Expand Down
6 changes: 4 additions & 2 deletions Telegram/SourceFiles/window/window_session_controller.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1621,7 +1621,9 @@ void SessionController::activateFirstChatsFilter() {
return;
}
_filtersActivated = true;
setActiveChatsFilter(session().data().chatsFilters().defaultId());
if (!GetEnhancedBool("hide_all_chats")) {
setActiveChatsFilter(session().data().chatsFilters().defaultId());
}
}

bool SessionController::uniqueChatsInSearchResults() const {
Expand Down Expand Up @@ -2663,7 +2665,7 @@ void SessionController::setActiveChatsFilter(
closeForum();
closeFolder();
}
if (adaptive().isOneColumn()) {
if (!GetEnhancedBool("hide_all_chats") && adaptive().isOneColumn()) {
clearSectionStack(params);
}
}
Expand Down

0 comments on commit e036197

Please sign in to comment.