From 1b60308f4915a89b81a6beadc65c7d7917f9d26a Mon Sep 17 00:00:00 2001 From: RadRussianRus Date: Sat, 10 Sep 2022 20:17:23 +0300 Subject: [PATCH] [Improvement] Deleted account difference --- .../Resources/icons/dialogs/dialogs_deleted.png | Bin 0 -> 2005 bytes .../icons/dialogs/dialogs_deleted@2x.png | Bin 0 -> 2268 bytes .../icons/dialogs/dialogs_deleted@3x.png | Bin 0 -> 2452 bytes Telegram/Resources/langs/rewrites/en.json | 1 + Telegram/SourceFiles/boxes/peer_list_box.cpp | 4 ++++ Telegram/SourceFiles/data/data_peer_values.cpp | 5 ++++- Telegram/SourceFiles/dialogs/dialogs.style | 5 +++++ .../SourceFiles/dialogs/ui/dialogs_layout.cpp | 7 ++++++- .../profile/profile_block_group_members.cpp | 5 ++++- .../settings/settings_privacy_controllers.cpp | 3 +++ 10 files changed, 27 insertions(+), 3 deletions(-) create mode 100644 Telegram/Resources/icons/dialogs/dialogs_deleted.png create mode 100644 Telegram/Resources/icons/dialogs/dialogs_deleted@2x.png create mode 100644 Telegram/Resources/icons/dialogs/dialogs_deleted@3x.png diff --git a/Telegram/Resources/icons/dialogs/dialogs_deleted.png b/Telegram/Resources/icons/dialogs/dialogs_deleted.png new file mode 100644 index 0000000000000000000000000000000000000000..3957a8f6ccc5f2459f5ce915f48591f500e4ce31 GIT binary patch literal 2005 zcmb_dZD<@t7(S~FHMS6FDIo@2HwqEm+wZ&ECD)MN<>RmyLwY3%n2_0-+1#4jkM8dE z?jqGtDWyRq3WgerU|WJzh|&J=hY~5pKS~KI#bQ9QqJIii2vSr1;p}~xYEnb-U~gw< zo_XHq{g`=A5A^r$X>4f>g+hB$eaS)cZX(YkyLOQO_33$wydHM?Mm#dNH+UWh&7W-! zg&N*5GQ<9G`j853GYpWe;c(G(2s#w%=qx$_PGX0dtnl%@<6r-$S;mv$03 zYxGUI`0!MJ22M>v1<{=csE(pa2u$n)s%YjcPc6pjGOtR;!8A)#Wr#l+r@I1!)Np!$ zO4u%@n1co3OuVne4$XH%mjUkCW=o*f1*cKHq0?p3*ahfQt zxL`VUTFa}3i3E%-0*B?pT;Ng}h+rM(tt=;_OkXC)b-`N z43N;K({&r0YB9~a3D567M%<_dWK*=4DLI%O#GajZA?`j#WVQv~IBLShz_;CuZRcu< z8mLL85{V!&3e`SjSjaATPi@$PlfcJuI#_3Tj^UMzz^QUn<&>v6QRTP_G;Je8FV&y| z$8a%%&Tz6S#Z->J3rea60U!J)7(rFHT@w(W4HHaY*0CmNsvb!-Vdrd@7$)k(vWj$C zObw-vX%xFj#7*Q4@oFs@a76G;WNgL*aJsE2P=uhM%Qd3*86L@Asd_{XjMu&E2ouHHWWJ8JEH{wMZ{)K~e@riW(E4bPqQe)tnK mU%dE2bI%+;a^z_1sjH8<4eMU>TVrcM<4twWJQFH1{2B?v=KHl2Es(q3^NfXal(S(7L1@!!o<=zOOkN(LVz_z@Ukx3^r$WH zWkr0N7Gg21qN2i3K^bJF1S1%R!Eh2INfaPZwNlc!Fe<5;F$SBc@`^vC`DF>#899$! zrdbi7w9kcLC{8P>(J+C4VPP(W5e8g$DFPJuI4)GC1R}--9uos%P?R(kV2L<3`pc_>wTJnNN}AP0Q*2e}dv3rQsi9FHWM zBL`#!7zXO7hzf^;&6QM*lXx-LW<`M82ESimNfUv4EQ|&9a+DWkDB6f}q?toKxW~g# z9uJLEOl-bQ=F9Zt>ht^RT#$Ld@wZhIM-jNi%%i-KGohT921F*&gEAIIq-fr3q6j+1 zHe2z7rN#yBXVp~+fRQ$NOdf*ZQ4_}tsF|Tjl;cSb6$p;^(mc*{45=4%q()e~Uj^B# zj4qKm;=*Vv;D;k+!E(G_?pB1?^DGKTwA=rXcs!Bi===(w2uL53{66cd?A0nbMVwLs zV)rEVg*{5Y%9TG}Jx=hrQQ#?*qiGryj5Lp0aI+W0%|d}}k|x2+$GrcydV-}$mY`zw z_>}6S!Qp+JR3d^M6hofgpC_x%KA|yx9=X2$SAQ^l@9Zlz?4MN_8M|+v1?h}*fz4ZQ z#!n6K5kGfC34}@kr^*e-;4lOw{FrN-;ed4nl)JT`wD)wp+%k9H ztl15&mCos#YM3{6oX#vAl$2gYeI!&jRCt=rX^l0S8shssDzdu8;H7Vns~ElxunpEzsF zoTA-DhLfdDuC4X$J^i5Y@~Im-e5WoO%U8D|BZ|onKlu8@rN;Bu-u$7sxy$A-?<~R7Ck{>C zb~5=+&yB*-L-wBQ*Er9#e))u7f9b3{EL_rVE4%m49yPzQ>&lXGwf51)2acQ8A8Wst ZoqzP=_`CJn4(b0ta;G_M+ou-4`xi_i8EpUn literal 0 HcmV?d00001 diff --git a/Telegram/Resources/icons/dialogs/dialogs_deleted@3x.png b/Telegram/Resources/icons/dialogs/dialogs_deleted@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..4661e30e2240f8609594dd1390e1492e69f7b163 GIT binary patch literal 2452 zcmb_e4Nw$i7`^~e5CxP7f0AuMC1Y=YZtu9;;Z)>K!10viQgBMy+uei3yWM4XJ;2gZ z3#Vu-vD7g}gbL6?Xe4VSV!)qD6ih;g#IZ)rNgFDf2DEhg4!D~vHOJ{@_V(NFd*1hb z-sgS4Z}-*AC212vr-o`Ynh6={mSy0Mf$NEJ0pLI4T5CVJg-Gc+ibgYjviEvKv%4Zj zqY2*5+q2bd+hU3l-CCLz9h|n!2X0QKp<=g7P^e-vJnWYOWA8KyL&FetjTuhy z286P0nNX@IbC6zZKp33VLrEqrZqSh?QzArQxDmySD6T_r14UvKK|rHF7(|mydVdYgIE0n2x02mi%r7WmG007+OqAD6Yl4DGdWz#*dTM%C6zyEQ4|`&dmv`02hfc3 zW+PFlGDoYTY!^kBuTYsj%1~;mw=gCsVFfR+Vv+LX-)uMwt#W4AyN=)(f}89FM(L9% z%=8qdqcCg)Y7<%BS>l5d7=jrA+K%ZdGKta|?tp@>VQH2APcX|+PEmH#AZOl9=W(bc zA-LmY-A z8qsk&y-t_J(uC3Jv$u%MT5oZE_AIa`ftdrx8N@&{ERtj*34~?{8ewsoagq$i&?drX zzf|VI=AvB>?Z><2yj?-1^9ra}$>^rY;tEGcE*=_g1d3+74Q_@RZ)G_a9-ZdzqQHY? zFygi-p94@l3d^em%8Xp$rmR!=gB5leCc z{f#=4&OsPhC*#Zh-|TTpM^L!V*MSeoepFm0pBC~saAu*L+a# zX*tqr=s&w~cd=5j6HuFBNwH^#w6x7j zCkkUU-z9xJfQ>bu4lX-hS~_*k;yUZ}>6^|V#t7;_#n#69>Z(oSRtAJjnl^p^`=!$4 zIHEtSytKM%hxFy`=eEq6(-J#wY|&e>p26llW7X?F{lv!1+LnI#w;NZl=H={Iy=v9K zjThi;xiQBJK5nn9N+{s@ec6c)W$DtT9UUD}){VWTrKK}w%xKgP4i3h}#pUkFOnABV zv9RE_Fot33&J7J2-{cPVp149>o7o|!rHzefI(TsNahE6tK1teMT))1GCT)R{i5=Bv zdwP1>+uM&F8)NwB(4pwEW0_@K4&)HU@MjJ*G@L(wzA7am=$rlLuFtIupIZHO!v3R| z3L$v=S9?#KJQ8D(PxPs# z=H~JBigEhei^kY~@HAIh_t`^F?OZ&o$~v^YtE=nQt@T?k)zsFmSiU^;l>o!w(9ox! zf8JU6Z2Y9&zP^)Jw`crWv#LRKxv~?Z zPhacrpSa~nT3T9pJbmQs+32Ru>%Vt)b^UQ`L-U1+r^Wm{kNp&@+3KzLJ4=LTW-jfLLtrVQ&6%Yg;CoBjeXG;K5h literal 0 HcmV?d00001 diff --git a/Telegram/Resources/langs/rewrites/en.json b/Telegram/Resources/langs/rewrites/en.json index d2b471270..520c4532f 100644 --- a/Telegram/Resources/langs/rewrites/en.json +++ b/Telegram/Resources/langs/rewrites/en.json @@ -27,6 +27,7 @@ "ktg_outdated_now": "So that Kotatogram Desktop can update to newer versions.", "ktg_mac_menu_show": "Show Kotatogram", "ktg_settings_kotato": "Kotatogram Settings", + "ktg_user_status_unaccessible": "account inaccessible", "ktg_settings_chats": "Chats", "ktg_settings_sticker_height": "Sticker height: {pixels}px", "ktg_settings_sticker_scale_both": "Apply to sticker width", diff --git a/Telegram/SourceFiles/boxes/peer_list_box.cpp b/Telegram/SourceFiles/boxes/peer_list_box.cpp index dca4a065b..89439e7c4 100644 --- a/Telegram/SourceFiles/boxes/peer_list_box.cpp +++ b/Telegram/SourceFiles/boxes/peer_list_box.cpp @@ -7,6 +7,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL */ #include "boxes/peer_list_box.h" +#include "kotato/kotato_lang.h" #include "history/history.h" // chatListNameSortKey. #include "main/session/session_show.h" #include "main/main_session.h" @@ -27,6 +28,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 "data/data_changes.h" #include "base/unixtime.h" @@ -587,6 +589,8 @@ void PeerListRow::refreshStatus() { if (auto user = peer()->asUser()) { if (!_savedMessagesStatus.isEmpty()) { setStatusText(_savedMessagesStatus); + } else if (user->isInaccessible()) { + setStatusText(ktr("ktg_user_status_unaccessible")); } 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 60a1c5f43..6f6e6591b 100644 --- a/Telegram/SourceFiles/data/data_peer_values.cpp +++ b/Telegram/SourceFiles/data/data_peer_values.cpp @@ -7,6 +7,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL */ #include "data/data_peer_values.h" +#include "kotato/kotato_lang.h" #include "lang/lang_keys.h" #include "data/data_channel.h" #include "data/data_chat.h" @@ -48,7 +49,9 @@ int OnlinePhraseChangeInSeconds(LastseenStatus status, TimeId now) { } std::optional OnlineTextSpecial(not_null user) { - if (user->isNotificationsUser()) { + if (user->isInaccessible()) { + return ktr("ktg_user_status_unaccessible"); + } 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 3ee37b6f9..97e63f72d 100644 --- a/Telegram/SourceFiles/dialogs/dialogs.style +++ b/Telegram/SourceFiles/dialogs/dialogs.style @@ -344,6 +344,11 @@ dialogsForumIcon: ThreeStateIcon { over: icon {{ "dialogs/dialogs_forum", dialogsChatIconFgOver, point(1px, 4px) }}; active: icon {{ "dialogs/dialogs_forum", dialogsChatIconFgActive, point(1px, 4px) }}; } +dialogsDeletedIcon: ThreeStateIcon { + icon: icon {{ "dialogs/dialogs_deleted", dialogsChatIconFg, point(1px, 4px) }}; + over: icon {{ "dialogs/dialogs_deleted", dialogsChatIconFgOver, point(1px, 4px) }}; + active: icon {{ "dialogs/dialogs_deleted", dialogsChatIconFgActive, point(1px, 4px) }}; +} dialogsArchiveUserpic: icon {{ "archive_userpic", historyPeerUserpicFg }}; dialogsRepliesUserpic: icon {{ "replies_userpic", historyPeerUserpicFg }}; dialogsInaccessibleUserpic: icon {{ "dialogs/inaccessible_userpic", historyPeerUserpicFg }}; diff --git a/Telegram/SourceFiles/dialogs/ui/dialogs_layout.cpp b/Telegram/SourceFiles/dialogs/ui/dialogs_layout.cpp index f7cbff178..793175b2a 100644 --- a/Telegram/SourceFiles/dialogs/ui/dialogs_layout.cpp +++ b/Telegram/SourceFiles/dialogs/ui/dialogs_layout.cpp @@ -703,7 +703,12 @@ const style::icon *ChatTypeIcon( not_null peer, const PaintContext &context) { if (const auto user = peer->asUser()) { - if (ShowUserBotIcon(user)) { + if (user->isInaccessible()) { + return &ThreeStateIcon( + st::dialogsDeletedIcon, + context.active, + context.selected); + } else if (ShowUserBotIcon(user)) { return &ThreeStateIcon( st::dialogsBotIcon, context.active, diff --git a/Telegram/SourceFiles/profile/profile_block_group_members.cpp b/Telegram/SourceFiles/profile/profile_block_group_members.cpp index e155a19f9..a93a4731f 100644 --- a/Telegram/SourceFiles/profile/profile_block_group_members.cpp +++ b/Telegram/SourceFiles/profile/profile_block_group_members.cpp @@ -7,6 +7,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL */ #include "profile/profile_block_group_members.h" +#include "kotato/kotato_lang.h" #include "api/api_chat_participants.h" #include "styles/style_profile.h" #include "ui/widgets/labels.h" @@ -175,7 +176,9 @@ void GroupMembersWidget::updateItemStatusText(Item *item) { auto member = getMember(item); auto user = member->user(); if (member->statusText.isEmpty() || (member->onlineTextTill <= _now)) { - if (user->isBot()) { + if (user->isInaccessible()) { + member->statusText = ktr("ktg_user_status_unaccessible"); + } else if (user->isBot()) { const auto seesAllMessages = user->botInfo->readsAllHistory || member->rank.has_value(); member->statusText = seesAllMessages diff --git a/Telegram/SourceFiles/settings/settings_privacy_controllers.cpp b/Telegram/SourceFiles/settings/settings_privacy_controllers.cpp index b3829efeb..0b28cc4a7 100644 --- a/Telegram/SourceFiles/settings/settings_privacy_controllers.cpp +++ b/Telegram/SourceFiles/settings/settings_privacy_controllers.cpp @@ -7,6 +7,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL */ #include "settings/settings_privacy_controllers.h" +#include "kotato/kotato_lang.h" #include "api/api_global_privacy.h" #include "api/api_peer_photo.h" #include "apiwrap.h" @@ -453,6 +454,8 @@ std::unique_ptr BlockedBoxController::createRow( const auto user = peer->asUser(); if (!user) { return tr::lng_group_status(tr::now); + } else if (user->isInaccessible()) { + return ktr("ktg_user_status_unaccessible"); } else if (!user->phone().isEmpty()) { return Ui::FormatPhone(user->phone()); } else if (!user->username().isEmpty()) {