mirror of
https://github.com/kotatogram/kotatogram-desktop
synced 2025-09-04 08:35:21 +00:00
Option to hide All chats folder
This commit is contained in:
@@ -2470,6 +2470,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||||||
"ktg_settings_filters_only_unmuted_counter" = "Do not count muted chats";
|
"ktg_settings_filters_only_unmuted_counter" = "Do not count muted chats";
|
||||||
"ktg_settings_filters_hide_edit" = "Hide Edit button";
|
"ktg_settings_filters_hide_edit" = "Hide Edit button";
|
||||||
"ktg_settings_filters_hide_folder_names" = "Compact folders";
|
"ktg_settings_filters_hide_folder_names" = "Compact folders";
|
||||||
|
"ktg_settings_filters_hide_all" = "Hide \"All chats\" folder";
|
||||||
|
|
||||||
"ktg_settings_top_bar_mute" = "Mute in profile top bar";
|
"ktg_settings_top_bar_mute" = "Mute in profile top bar";
|
||||||
|
|
||||||
|
@@ -106,5 +106,6 @@
|
|||||||
"ktg_settings_filters_hide_edit": "Скрыть кнопку изменения",
|
"ktg_settings_filters_hide_edit": "Скрыть кнопку изменения",
|
||||||
"ktg_settings_filters_hide_folder_names": "Компактные папки",
|
"ktg_settings_filters_hide_folder_names": "Компактные папки",
|
||||||
"ktg_settings_top_bar_mute": "Уведомления вверху профиля",
|
"ktg_settings_top_bar_mute": "Уведомления вверху профиля",
|
||||||
"ktg_settings_messages": "Сообщения"
|
"ktg_settings_messages": "Сообщения",
|
||||||
|
"ktg_settings_filters_hide_all": "Скрыть папку «Все чаты»"
|
||||||
}
|
}
|
||||||
|
@@ -350,6 +350,10 @@ bool Manager::readCustomFile() {
|
|||||||
ReadBoolOption(o, "hide_names", [&](auto v) {
|
ReadBoolOption(o, "hide_names", [&](auto v) {
|
||||||
cSetHideFilterNames(v);
|
cSetHideFilterNames(v);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
ReadBoolOption(o, "hide_all_chats", [&](auto v) {
|
||||||
|
cSetHideFilterAllChats(v);
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
ReadBoolOption(settings, "profile_top_mute", [&](auto v) {
|
ReadBoolOption(settings, "profile_top_mute", [&](auto v) {
|
||||||
@@ -406,6 +410,7 @@ void Manager::writeDefaultFile() {
|
|||||||
settingsFolders.insert(qsl("count_unmuted_only"), cUnmutedFilterCounterOnly());
|
settingsFolders.insert(qsl("count_unmuted_only"), cUnmutedFilterCounterOnly());
|
||||||
settingsFolders.insert(qsl("hide_edit_button"), cHideFilterEditButton());
|
settingsFolders.insert(qsl("hide_edit_button"), cHideFilterEditButton());
|
||||||
settingsFolders.insert(qsl("hide_names"), cHideFilterNames());
|
settingsFolders.insert(qsl("hide_names"), cHideFilterNames());
|
||||||
|
settingsFolders.insert(qsl("hide_all_chats"), cHideFilterAllChats());
|
||||||
|
|
||||||
settings.insert(qsl("folders"), settingsFolders);
|
settings.insert(qsl("folders"), settingsFolders);
|
||||||
|
|
||||||
@@ -480,6 +485,7 @@ void Manager::writeCurrentSettings() {
|
|||||||
settingsFolders.insert(qsl("count_unmuted_only"), cUnmutedFilterCounterOnly());
|
settingsFolders.insert(qsl("count_unmuted_only"), cUnmutedFilterCounterOnly());
|
||||||
settingsFolders.insert(qsl("hide_edit_button"), cHideFilterEditButton());
|
settingsFolders.insert(qsl("hide_edit_button"), cHideFilterEditButton());
|
||||||
settingsFolders.insert(qsl("hide_names"), cHideFilterNames());
|
settingsFolders.insert(qsl("hide_names"), cHideFilterNames());
|
||||||
|
settingsFolders.insert(qsl("hide_all_chats"), cHideFilterAllChats());
|
||||||
|
|
||||||
settings.insert(qsl("folders"), settingsFolders);
|
settings.insert(qsl("folders"), settingsFolders);
|
||||||
|
|
||||||
|
@@ -324,5 +324,6 @@ int gDefaultFilterId = 0;
|
|||||||
bool gUnmutedFilterCounterOnly = false;
|
bool gUnmutedFilterCounterOnly = false;
|
||||||
bool gHideFilterEditButton = false;
|
bool gHideFilterEditButton = false;
|
||||||
bool gHideFilterNames = false;
|
bool gHideFilterNames = false;
|
||||||
|
bool gHideFilterAllChats = false;
|
||||||
|
|
||||||
bool gProfileTopBarNotifications = false;
|
bool gProfileTopBarNotifications = false;
|
||||||
|
@@ -254,5 +254,6 @@ DeclareSetting(int, DefaultFilterId);
|
|||||||
DeclareSetting(bool, UnmutedFilterCounterOnly);
|
DeclareSetting(bool, UnmutedFilterCounterOnly);
|
||||||
DeclareSetting(bool, HideFilterEditButton);
|
DeclareSetting(bool, HideFilterEditButton);
|
||||||
DeclareSetting(bool, HideFilterNames);
|
DeclareSetting(bool, HideFilterNames);
|
||||||
|
DeclareSetting(bool, HideFilterAllChats);
|
||||||
|
|
||||||
DeclareSetting(bool, ProfileTopBarNotifications);
|
DeclareSetting(bool, ProfileTopBarNotifications);
|
||||||
|
@@ -246,6 +246,22 @@ void SetupKotatoFolders(
|
|||||||
App::wnd()->fixOrder();
|
App::wnd()->fixOrder();
|
||||||
}, container->lifetime());
|
}, container->lifetime());
|
||||||
|
|
||||||
|
AddButton(
|
||||||
|
container,
|
||||||
|
tr::ktg_settings_filters_hide_all(),
|
||||||
|
st::settingsButton
|
||||||
|
)->toggleOn(
|
||||||
|
rpl::single(cHideFilterAllChats())
|
||||||
|
)->toggledValue(
|
||||||
|
) | rpl::filter([](bool enabled) {
|
||||||
|
return (enabled != cHideFilterAllChats());
|
||||||
|
}) | rpl::start_with_next([=](bool enabled) {
|
||||||
|
cSetHideFilterAllChats(enabled);
|
||||||
|
KotatoSettings::Write();
|
||||||
|
controller->reloadFiltersMenu();
|
||||||
|
App::wnd()->fixOrder();
|
||||||
|
}, container->lifetime());
|
||||||
|
|
||||||
AddButton(
|
AddButton(
|
||||||
container,
|
container,
|
||||||
tr::ktg_settings_filters_hide_edit(),
|
tr::ktg_settings_filters_hide_edit(),
|
||||||
|
@@ -116,7 +116,7 @@ void FiltersMenu::setup() {
|
|||||||
const auto i = _filters.find(_activeFilterId);
|
const auto i = _filters.find(_activeFilterId);
|
||||||
if (i != end(_filters)) {
|
if (i != end(_filters)) {
|
||||||
i->second->setActive(false);
|
i->second->setActive(false);
|
||||||
} else if (!_activeFilterId) {
|
} else if (!_activeFilterId && _all) {
|
||||||
_all->setActive(false);
|
_all->setActive(false);
|
||||||
}
|
}
|
||||||
_activeFilterId = id;
|
_activeFilterId = id;
|
||||||
@@ -124,7 +124,7 @@ void FiltersMenu::setup() {
|
|||||||
if (j != end(_filters)) {
|
if (j != end(_filters)) {
|
||||||
j->second->setActive(true);
|
j->second->setActive(true);
|
||||||
scrollToButton(j->second);
|
scrollToButton(j->second);
|
||||||
} else if (!_activeFilterId) {
|
} else if (!_activeFilterId && _all) {
|
||||||
_all->setActive(true);
|
_all->setActive(true);
|
||||||
scrollToButton(_all);
|
scrollToButton(_all);
|
||||||
}
|
}
|
||||||
@@ -193,11 +193,13 @@ void FiltersMenu::refresh(bool firstLoad) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void FiltersMenu::setupList() {
|
void FiltersMenu::setupList() {
|
||||||
_all = prepareButton(
|
if (!cHideFilterAllChats()) {
|
||||||
_container,
|
_all = prepareButton(
|
||||||
0,
|
_container,
|
||||||
tr::lng_filters_all(tr::now),
|
0,
|
||||||
Ui::FilterIcon::All);
|
tr::lng_filters_all(tr::now),
|
||||||
|
Ui::FilterIcon::All);
|
||||||
|
}
|
||||||
_list = _container->add(object_ptr<Ui::VerticalLayout>(_container));
|
_list = _container->add(object_ptr<Ui::VerticalLayout>(_container));
|
||||||
if (!cHideFilterEditButton()) {
|
if (!cHideFilterEditButton()) {
|
||||||
_setup = prepareButton(
|
_setup = prepareButton(
|
||||||
|
@@ -215,13 +215,20 @@ void SessionController::toggleFiltersMenu(bool enabled) {
|
|||||||
void SessionController::reloadFiltersMenu() {
|
void SessionController::reloadFiltersMenu() {
|
||||||
const auto enabled = !session().data().chatsFilters().list().empty();
|
const auto enabled = !session().data().chatsFilters().list().empty();
|
||||||
if (enabled) {
|
if (enabled) {
|
||||||
const auto previousFilter = activeChatsFilterCurrent();
|
auto previousFilter = activeChatsFilterCurrent();
|
||||||
|
rpl::single(
|
||||||
|
rpl::empty_value()
|
||||||
|
) | rpl::then(
|
||||||
|
filtersMenuChanged()
|
||||||
|
) | rpl::start_with_next([=] {
|
||||||
|
toggleFiltersMenu(true);
|
||||||
|
if (previousFilter) {
|
||||||
|
setActiveChatsFilter(previousFilter);
|
||||||
|
}
|
||||||
|
}, lifetime());
|
||||||
|
|
||||||
setActiveChatsFilter(0);
|
setActiveChatsFilter(0);
|
||||||
toggleFiltersMenu(false);
|
toggleFiltersMenu(false);
|
||||||
toggleFiltersMenu(true);
|
|
||||||
if (previousFilter) {
|
|
||||||
setActiveChatsFilter(previousFilter);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user