diff --git a/Telegram/Resources/icons/dialogs_deleted.png b/Telegram/Resources/icons/dialogs_deleted.png new file mode 100644 index 000000000..359fa143d Binary files /dev/null and b/Telegram/Resources/icons/dialogs_deleted.png differ diff --git a/Telegram/Resources/icons/dialogs_deleted@2x.png b/Telegram/Resources/icons/dialogs_deleted@2x.png new file mode 100644 index 000000000..502753f8a Binary files /dev/null and b/Telegram/Resources/icons/dialogs_deleted@2x.png differ diff --git a/Telegram/Resources/icons/dialogs_deleted@3x.png b/Telegram/Resources/icons/dialogs_deleted@3x.png new file mode 100644 index 000000000..f9f5fc1c3 Binary files /dev/null and b/Telegram/Resources/icons/dialogs_deleted@3x.png differ diff --git a/Telegram/Resources/langs/lang.strings b/Telegram/Resources/langs/lang.strings index 278e9a48c..dc0c67ad1 100644 --- a/Telegram/Resources/langs/lang.strings +++ b/Telegram/Resources/langs/lang.strings @@ -2315,4 +2315,6 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL "ktg_manage_peer_subscribers" = "Subscribers"; +"ktg_user_status_unaccessible" = "account inaccessible"; + // Keys finished diff --git a/Telegram/Resources/langs/rewrites/ru.json b/Telegram/Resources/langs/rewrites/ru.json index 155d2c88d..8cda92b17 100644 --- a/Telegram/Resources/langs/rewrites/ru.json +++ b/Telegram/Resources/langs/rewrites/ru.json @@ -78,5 +78,6 @@ "ktg_outdated_soon": "Иначе приложение перестанет обновляться с {date}.", "ktg_outdated_now": "Чтобы приложение Kotatogram могло получать обновления.", "ktg_mac_menu_show": "Показать Kotatogram", - "ktg_manage_peer_subscribers": "Подписчики" + "ktg_manage_peer_subscribers": "Подписчики", + "ktg_user_status_unaccessible": "аккаунт недоступен" } diff --git a/Telegram/SourceFiles/boxes/peer_list_box.cpp b/Telegram/SourceFiles/boxes/peer_list_box.cpp index b67be57b4..361222e1d 100644 --- a/Telegram/SourceFiles/boxes/peer_list_box.cpp +++ b/Telegram/SourceFiles/boxes/peer_list_box.cpp @@ -27,6 +27,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL #include "storage/file_download.h" #include "data/data_peer_values.h" #include "data/data_chat.h" +#include "data/data_user.h" #include "data/data_session.h" #include "base/unixtime.h" #include "window/themes/window_theme.h" @@ -381,6 +382,8 @@ void PeerListRow::refreshStatus() { if (auto user = peer()->asUser()) { if (_isSavedMessagesChat) { setStatusText(tr::lng_saved_forward_here(tr::now)); + } else if (user->isInaccessible()) { + setStatusText(tr::ktg_user_status_unaccessible(tr::now)); } else { auto time = base::unixtime::now(); setStatusText(Data::OnlineText(user, time)); diff --git a/Telegram/SourceFiles/data/data_peer_values.cpp b/Telegram/SourceFiles/data/data_peer_values.cpp index cdf1e8ead..816f7aa96 100644 --- a/Telegram/SourceFiles/data/data_peer_values.cpp +++ b/Telegram/SourceFiles/data/data_peer_values.cpp @@ -44,7 +44,9 @@ int OnlinePhraseChangeInSeconds(TimeId online, TimeId now) { } std::optional OnlineTextSpecial(not_null user) { - if (user->isNotificationsUser()) { + if (user->isInaccessible()) { + return tr::ktg_user_status_unaccessible(tr::now); + } else if (user->isNotificationsUser()) { return tr::lng_status_service_notifications(tr::now); } else if (user->isSupport()) { return tr::lng_status_support(tr::now); diff --git a/Telegram/SourceFiles/dialogs/dialogs.style b/Telegram/SourceFiles/dialogs/dialogs.style index 88d4e2fc0..dafa93579 100644 --- a/Telegram/SourceFiles/dialogs/dialogs.style +++ b/Telegram/SourceFiles/dialogs/dialogs.style @@ -165,6 +165,9 @@ dialogsChannelIconActive: icon {{ "dialogs_channel", dialogsChatIconFgActive, po dialogsBotIcon: icon {{ "dialogs_bot", dialogsChatIconFg, point(1px, 3px) }}; dialogsBotIconOver: icon {{ "dialogs_bot", dialogsChatIconFgOver, point(1px, 3px) }}; dialogsBotIconActive: icon {{ "dialogs_bot", dialogsChatIconFgActive, point(1px, 3px) }}; +dialogsDeletedIcon: icon {{ "dialogs_deleted", dialogsChatIconFg, point(1px, 4px) }}; +dialogsDeletedIconOver: icon {{ "dialogs_deleted", dialogsChatIconFgOver, point(1px, 4px) }}; +dialogsDeletedIconActive: icon {{ "dialogs_deleted", dialogsChatIconFgActive, point(1px, 4px) }}; //dialogsFeedIcon: icon {{ "dialogs_feed", dialogsChatIconFg, point(4px, 4px) }}; // #feed //dialogsFeedIconOver: icon {{ "dialogs_feed", dialogsChatIconFgOver, point(4px, 4px) }}; //dialogsFeedIconActive: icon {{ "dialogs_feed", dialogsChatIconFgActive, point(4px, 4px) }}; diff --git a/Telegram/SourceFiles/dialogs/dialogs_layout.cpp b/Telegram/SourceFiles/dialogs/dialogs_layout.cpp index c835e1af7..00fb2558a 100644 --- a/Telegram/SourceFiles/dialogs/dialogs_layout.cpp +++ b/Telegram/SourceFiles/dialogs/dialogs_layout.cpp @@ -516,7 +516,13 @@ const style::icon *ChatTypeIcon( ? st::dialogsChannelIconOver : st::dialogsChannelIcon)); } else if (const auto user = peer->asUser()) { - if (ShowUserBotIcon(user)) { + if (user->isInaccessible()) { + return &(active + ? st::dialogsDeletedIconActive + : (selected + ? st::dialogsDeletedIconOver + : st::dialogsDeletedIcon)); + } else if (ShowUserBotIcon(user)) { return &(active ? st::dialogsBotIconActive : (selected diff --git a/Telegram/SourceFiles/settings/settings_privacy_controllers.cpp b/Telegram/SourceFiles/settings/settings_privacy_controllers.cpp index 3feb77f59..ecf0907bb 100644 --- a/Telegram/SourceFiles/settings/settings_privacy_controllers.cpp +++ b/Telegram/SourceFiles/settings/settings_privacy_controllers.cpp @@ -324,7 +324,9 @@ std::unique_ptr BlockedBoxController::createRow( auto row = std::make_unique(user); row->setActionLink(tr::lng_blocked_list_unblock(tr::now)); const auto status = [&] { - if (!user->phone().isEmpty()) { + if (user->isInaccessible()) { + return tr::ktg_user_status_unaccessible(tr::now); + } else if (!user->phone().isEmpty()) { return App::formatPhone(user->phone()); } else if (!user->username.isEmpty()) { return '@' + user->username;