diff --git a/Telegram/Resources/langs/lang.strings b/Telegram/Resources/langs/lang.strings index 2778a541b..4d7742f02 100644 --- a/Telegram/Resources/langs/lang.strings +++ b/Telegram/Resources/langs/lang.strings @@ -2659,4 +2659,10 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL "ktg_filters_cloud_limit" = "Sorry, you can't create more cloud folders. You can create local folder instead."; +"ktg_filters_hide_folder" = "Hide folder"; +"ktg_filters_hide_button" = "Hide button"; + +"ktg_filters_hide_all_chats_toast" = "\"All Chats\" folder is hidden.\nYou can enable it back in Kotatogram Settings."; +"ktg_filters_hide_edit_toast" = "Edit button is hidden.\nYou can enable it back in Kotatogram Settings."; + // Keys finished diff --git a/Telegram/Resources/langs/rewrites/en.json b/Telegram/Resources/langs/rewrites/en.json index 5506f3d1c..a323bc7bc 100644 --- a/Telegram/Resources/langs/rewrites/en.json +++ b/Telegram/Resources/langs/rewrites/en.json @@ -200,6 +200,10 @@ "ktg_filters_local": "local folder", "ktg_filters_cloud": "cloud folder", "ktg_filters_cloud_limit": "Sorry, you can't create more cloud folders. You can create local folder instead.", + "ktg_filters_hide_folder": "Hide folder", + "ktg_filters_hide_button": "Hide button", + "ktg_filters_hide_all_chats_toast": "\"All Chats\" folder is hidden.\nYou can enable it back in Kotatogram Settings.", + "ktg_filters_hide_edit_toast": "Edit button is hidden.\nYou can enable it back in Kotatogram Settings.", // This string should always be last for better work with Git. "dummy_last_string": "" diff --git a/Telegram/Resources/langs/rewrites/it.json b/Telegram/Resources/langs/rewrites/it.json index cdbc6c640..ed6e02496 100644 --- a/Telegram/Resources/langs/rewrites/it.json +++ b/Telegram/Resources/langs/rewrites/it.json @@ -200,6 +200,10 @@ "ktg_filters_local": "local folder", "ktg_filters_cloud": "cloud folder", "ktg_filters_cloud_limit": "Sorry, you can't create more cloud folders. You can create local folder instead.", + "ktg_filters_hide_folder": "Hide folder", + "ktg_filters_hide_button": "Hide button", + "ktg_filters_hide_all_chats_toast": "\"All Chats\" folder is hidden.\nYou can enable it back in Kotatogram Settings.", + "ktg_filters_hide_edit_toast": "Edit button is hidden.\nYou can enable it back in Kotatogram Settings.", // This string should always be last for better work with Git. "dummy_last_string": "" diff --git a/Telegram/Resources/langs/rewrites/pl.json b/Telegram/Resources/langs/rewrites/pl.json index ffb89c9e9..3654e2fd0 100644 --- a/Telegram/Resources/langs/rewrites/pl.json +++ b/Telegram/Resources/langs/rewrites/pl.json @@ -208,6 +208,10 @@ "ktg_filters_local": "local folder", "ktg_filters_cloud": "cloud folder", "ktg_filters_cloud_limit": "Sorry, you can't create more cloud folders. You can create local folder instead.", + "ktg_filters_hide_folder": "Hide folder", + "ktg_filters_hide_button": "Hide button", + "ktg_filters_hide_all_chats_toast": "\"All Chats\" folder is hidden.\nYou can enable it back in Kotatogram Settings.", + "ktg_filters_hide_edit_toast": "Edit button is hidden.\nYou can enable it back in Kotatogram Settings.", // This string should always be last for better work with Git. "dummy_last_string": "" diff --git a/Telegram/Resources/langs/rewrites/pt-br.json b/Telegram/Resources/langs/rewrites/pt-br.json index 0826630ac..c1223cb20 100644 --- a/Telegram/Resources/langs/rewrites/pt-br.json +++ b/Telegram/Resources/langs/rewrites/pt-br.json @@ -200,6 +200,10 @@ "ktg_filters_local": "local folder", "ktg_filters_cloud": "cloud folder", "ktg_filters_cloud_limit": "Sorry, you can't create more cloud folders. You can create local folder instead.", + "ktg_filters_hide_folder": "Hide folder", + "ktg_filters_hide_button": "Hide button", + "ktg_filters_hide_all_chats_toast": "\"All Chats\" folder is hidden.\nYou can enable it back in Kotatogram Settings.", + "ktg_filters_hide_edit_toast": "Edit button is hidden.\nYou can enable it back in Kotatogram Settings.", // This string should always be last for better work with Git. "dummy_last_string": "" diff --git a/Telegram/Resources/langs/rewrites/ru.json b/Telegram/Resources/langs/rewrites/ru.json index cf29a9288..c739ae072 100644 --- a/Telegram/Resources/langs/rewrites/ru.json +++ b/Telegram/Resources/langs/rewrites/ru.json @@ -207,6 +207,10 @@ "ktg_filters_local": "локальная папка", "ktg_filters_cloud": "облачная папка", "ktg_filters_cloud_limit": "Вы создали максимальное число облачных папок. Вместо этого можно создать локальную папку.", + "ktg_filters_hide_folder": "Скрыть папку", + "ktg_filters_hide_button": "Скрыть кнопку", + "ktg_filters_hide_all_chats_toast": "Папка «Все чаты» скрыта.\nВы можете включить её обратно в настройках Kotatogram.", + "ktg_filters_hide_edit_toast": "Кнопка изменения скрыта.\nВы можете включить её обратно в настройках Kotatogram.", // This string should always be last for better work with Git. "dummy_last_string": "" diff --git a/Telegram/Resources/langs/rewrites/tr.json b/Telegram/Resources/langs/rewrites/tr.json index da0c2dd1d..4ed20ccd4 100644 --- a/Telegram/Resources/langs/rewrites/tr.json +++ b/Telegram/Resources/langs/rewrites/tr.json @@ -200,6 +200,10 @@ "ktg_filters_local": "local folder", "ktg_filters_cloud": "cloud folder", "ktg_filters_cloud_limit": "Sorry, you can't create more cloud folders. You can create local folder instead.", + "ktg_filters_hide_folder": "Hide folder", + "ktg_filters_hide_button": "Hide button", + "ktg_filters_hide_all_chats_toast": "\"All Chats\" folder is hidden.\nYou can enable it back in Kotatogram Settings.", + "ktg_filters_hide_edit_toast": "Edit button is hidden.\nYou can enable it back in Kotatogram Settings.", // This string should always be last for better work with Git. "dummy_last_string": "" diff --git a/Telegram/Resources/langs/rewrites/uk.json b/Telegram/Resources/langs/rewrites/uk.json index 5b261ff6c..2b6b27cb1 100644 --- a/Telegram/Resources/langs/rewrites/uk.json +++ b/Telegram/Resources/langs/rewrites/uk.json @@ -207,6 +207,10 @@ "ktg_filters_local": "local folder", "ktg_filters_cloud": "cloud folder", "ktg_filters_cloud_limit": "Sorry, you can't create more cloud folders. You can create local folder instead.", + "ktg_filters_hide_folder": "Hide folder", + "ktg_filters_hide_button": "Hide button", + "ktg_filters_hide_all_chats_toast": "\"All Chats\" folder is hidden.\nYou can enable it back in Kotatogram Settings.", + "ktg_filters_hide_edit_toast": "Edit button is hidden.\nYou can enable it back in Kotatogram Settings.", // This string should always be last for better work with Git. "dummy_last_string": "" diff --git a/Telegram/SourceFiles/window/window_filters_menu.cpp b/Telegram/SourceFiles/window/window_filters_menu.cpp index cda377017..4be5c576a 100644 --- a/Telegram/SourceFiles/window/window_filters_menu.cpp +++ b/Telegram/SourceFiles/window/window_filters_menu.cpp @@ -20,6 +20,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL #include "ui/filter_icons.h" #include "ui/wrap/vertical_layout_reorder.h" #include "ui/widgets/popup_menu.h" +#include "ui/toast/toast.h" #include "boxes/confirm_box.h" #include "boxes/filters/edit_filter_box.h" #include "kotato/json_settings.h" @@ -317,18 +318,18 @@ base::unique_qptr FiltersMenu::prepareButton( } } }); - if (id >= 0) { - raw->events( - ) | rpl::filter([=](not_null e) { - return e->type() == QEvent::ContextMenu; - }) | rpl::start_with_next([=] { - if (id){ - showMenu(QCursor::pos(), id); - } else { - showAllMenu(QCursor::pos()); - } - }, raw->lifetime()); - } + raw->events( + ) | rpl::filter([=](not_null e) { + return e->type() == QEvent::ContextMenu; + }) | rpl::start_with_next([=] { + if (id == -1) { + showEditMenu(QCursor::pos()); + } else if (id) { + showMenu(QCursor::pos(), id); + } else { + showAllMenu(QCursor::pos()); + } + }, raw->lifetime()); return button; } @@ -376,10 +377,44 @@ void FiltersMenu::showAllMenu(QPoint position) { tr::ktg_filters_context_make_default(tr::now), crl::guard(&_outer, [=] { setDefaultFilter(0); })); } + _popupMenu->addAction( + tr::ktg_filters_hide_folder(tr::now), + crl::guard(&_outer, [=] { + cSetHideFilterAllChats(true); + Kotato::JsonSettings::Write(); + _all = nullptr; + Ui::Toast::Show(Ui::Toast::Config{ + .text = { tr::ktg_filters_hide_all_chats_toast(tr::now) }, + .st = &st::windowArchiveToast, + .multiline = true, + }); + })); _popupMenu->popup(position); } +void FiltersMenu::showEditMenu(QPoint position) { + if (_popupMenu) { + _popupMenu = nullptr; + return; + } + _popupMenu = base::make_unique_q(_setup); + _popupMenu->addAction( + tr::ktg_filters_hide_button(tr::now), + crl::guard(&_outer, [=] { + cSetHideFilterEditButton(true); + Kotato::JsonSettings::Write(); + _setup = nullptr; + Ui::Toast::Show(Ui::Toast::Config{ + .text = { tr::ktg_filters_hide_edit_toast(tr::now) }, + .st = &st::windowArchiveToast, + .multiline = true, + }); + })); + + _popupMenu->popup(position); +} + void FiltersMenu::setDefaultFilter(FilterId id) { const auto defaultFilterId = _session->session().account().defaultFilterId(); if (defaultFilterId != id) { diff --git a/Telegram/SourceFiles/window/window_filters_menu.h b/Telegram/SourceFiles/window/window_filters_menu.h index 398f016ad..0bee34efd 100644 --- a/Telegram/SourceFiles/window/window_filters_menu.h +++ b/Telegram/SourceFiles/window/window_filters_menu.h @@ -51,6 +51,7 @@ private: void setupMainMenuIcon(); void showMenu(QPoint position, FilterId id); void showAllMenu(QPoint position); + void showEditMenu(QPoint position); void setDefaultFilter(FilterId id); void showEditBox(FilterId id); void showRemoveBox(FilterId id);