From ccc00542270ca01089314388065763011f35d206 Mon Sep 17 00:00:00 2001 From: RadRussianRus Date: Sat, 19 Oct 2019 20:04:23 +0300 Subject: [PATCH] Better difference between deleted and active accounts For deleted users: * Status changed to "account inaccessible" * Ghost icon in dialogs list * Status "account inacessible" shown even in block list --- Telegram/Resources/icons/dialogs_deleted.png | Bin 0 -> 2159 bytes Telegram/Resources/icons/dialogs_deleted@2x.png | Bin 0 -> 2403 bytes Telegram/Resources/icons/dialogs_deleted@3x.png | Bin 0 -> 2335 bytes Telegram/Resources/langs/lang.strings | 2 ++ Telegram/Resources/langs/rewrites/ru.json | 3 ++- Telegram/SourceFiles/boxes/peer_list_box.cpp | 3 +++ Telegram/SourceFiles/data/data_peer_values.cpp | 4 +++- Telegram/SourceFiles/dialogs/dialogs.style | 3 +++ Telegram/SourceFiles/dialogs/dialogs_layout.cpp | 8 +++++++- .../settings/settings_privacy_controllers.cpp | 4 +++- 10 files changed, 23 insertions(+), 4 deletions(-) create mode 100644 Telegram/Resources/icons/dialogs_deleted.png create mode 100644 Telegram/Resources/icons/dialogs_deleted@2x.png create mode 100644 Telegram/Resources/icons/dialogs_deleted@3x.png diff --git a/Telegram/Resources/icons/dialogs_deleted.png b/Telegram/Resources/icons/dialogs_deleted.png new file mode 100644 index 0000000000000000000000000000000000000000..359fa143d10ffed8ad6ce882cccc35c9e7f38062 GIT binary patch literal 2159 zcmb_eYiJx*6yAu~rZ!kvMJ6&w3YFqMiC7JrD3)KWDSkq8xv2)-(WG~x>+*5rqG_GP0<48euj zxpVJ#&iTG`&zU<<_jK>6+p=qm$K$DsM#8=1zKvYBZoY~9UmqUV$*tCm9I(mUcK53B zjGw9Zcs4a?@jj<7_OJqtj29q7#ok=TBxsMPr7dRy*pD4b#Ys&M(m%g@o~ASur1$${ zT+9sNlolDX@V=q$I2`JSGNRjBsg|5V9AvNqs9Ywk+e$7-7yT+^>`t>ZRfIVGLAu=y zNcF{fsE}b{%I}pJ$cug|AbWYqC(3dYC2)K*%QdsSkKrXnw$T7OzQ1KAPHncR;(F~n(Jp$Dj zaDp^pT9S}4t8R6>oF?t5`E-IEI}v zR&iZjUKW6)HWsVKSdmL6Qw?D|or6S1IUy^e?RehAY%jKr0Sn^JK|-^^Rbwh43j@cn z;)ao~Y*bH$G8GEB8zWPV`!yXIS^K^lY;YJjI7qwe49_vV92YpnA5b{?e$Jq9K}pph;DG-GBd8<{D+7pTEd!F6HT5J-RWqrCjI?2qz=WNz$RZX~ zqPpz>9pY#>NE6v!O+$*12tdD_P#Mf2i9tZ*7+DemOn?(b&L^sVABQUTVFM1hn_IC* zu00~iKtLq+B4Q90Ap;QdGY}?JUjWGxFT;xcBbG**3#2#fhcv<83M*dPi6Wcqo?UK{ z4v;L5(psx4)1@g&s-*HfWF!C)6OcuL0Z;%8;sH#Ekb^)LT3ELqh!Is9l^n5aM=VyU z646`+`EuNS_;8g0RV+*eK)2z7G;}KslZ=+8wUu^cT^TLeXH%FsU8DR;FxyBtSzzJz zB-y?7R5-gDe;W+0%^o!)05JrN8jwkjf#_#|-$%MbQe}~ou!>YtkE^lg6`!c^Ql%p{ z$iD0zrhuNrk^8`rbG{#aelvJU@W^%SeMRBG%$tFX9s!<)WR(&YGXht+e7JXB9U ztdmq(78dDChhAy?bE++Nxn*YWj_BA^N1mUY zfAd%&vv~C7t8ZV~^hsgqmdz(T1u=F<=iK6xUr8=-1Y8yypJ_clIZtiBx#qq3cLolP zT;P5@*s<-yH|lQNdePIqcgHCB;G^loFHP(my=Uvf(X)-$YTwE%&W+*&k+G$kzAL}i z4o`W0c{LC?GkY3;*?jWz*Us&Zj=jEXny(+9FgzEzlUIko%TF~ubm#Pi+5F_W-SwXq e`d)m0{FvPT$6ZJEeE*sINf7Pq4o`MGapEso#?C4L literal 0 HcmV?d00001 diff --git a/Telegram/Resources/icons/dialogs_deleted@2x.png b/Telegram/Resources/icons/dialogs_deleted@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..502753f8aa04ce9a57250ce9560d23f8b593b84f GIT binary patch literal 2403 zcmb_e3v3f*94}&!Z7g8GIVO+uAh->#_iWcY*1g)z7T0c!IzT|V-d!Ki-j&{M?WPjM zkb%Po+sK#>262i6ritp@A{IrgxI9L|K0cd{{P?a z|G2LkD(w%ar)H&UG@5j)#asoh5cp<{y$k$m=cY^qmz02Iv8>Ug0XuEtD9y|5nHtSK zGrW#P$|74i!%2QE%S%o{8}We~#bbdx zBkWO>0E42TP)HjhwNlWH;xtX87=aQ50uYE?Cn{_h5#<>P4`xB;g5H4Ql|)GO$U3DO z#RvnYF$w-a(yb`R(*zQRhS>m$YcW+)6v%T)T%acCiw5U8RPYIYK~!Xb#go{8M^Yr& zBi+Pxa`~zNAhkAIGR6(L`2EQcvQku22p8W7zul*}Y!l6+DS1P1KL zC<~j7v5K<7ikx6I8(|<@>-F-Cj%M==gdiZai)RtcK=Fu^aPbJ`G>|Tu6v#Z%kl1gQ zxEi&%iTym-ug3|J#|%z{OUlH_z;bMJv><0|N zzX}sxih&{-R8NkNND1qXTRv}rDpRFN>79Bfj&q2f<#;5IrU-=P2o~XSmUB@Y#<4V! zkE-(kHbF5f<_NuY#Auf?7O%>nE*^J*uqw#_iZ&+0a_YbtVNUHdfrsOdy*H@H?PWCP zHsle2(_6G(3?@r1CBz1WVmGMX?Q}SLGyXDLdu#R_P7|1mV?mBN140WFi?9ZaKnRlJ z40=+h(~-J_`s>-_3`sJCE-^fJ$UdH2&cljs0ldRe_|Em*-hAAw8rMwt|Eee2t+7@^ zukFI<+7)m5L`#F?Lp77<7Pv{Ce1Zs46$Iy6afkI?jb_w$R&%k#(s%CB1H;AhGcPW) z%zw_dIGsOOxQ56cJ?Jkhdu@-kA8NLC@_0&{rRk_Gr?jfG1KpYJ=fs-Pp(GqnHjUU6@v{y<;a!Q*Ex zJoWap)OFLQykwdA!Tj-Ko*n<$`m$F$b}i}pqOT!fm@++c|6pX{mZRUpo7OkKf5gSP zw%K>Cc<;;ek+!o6)8)u*=zYd|de16iecu_%-7}Q+eA!2CVsc4FW9g2{v1L0yM>5i~ zHg*s6Z?E2ctlg1YTGv)yyKiYxNo&(Lfh}V~%v379k(pPC*X0H8~XXG-6skfa!1sonfm$?~=T0Q}iErT_o{ literal 0 HcmV?d00001 diff --git a/Telegram/Resources/icons/dialogs_deleted@3x.png b/Telegram/Resources/icons/dialogs_deleted@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..f9f5fc1c3234abeb1ca256287878160b3187a42f GIT binary patch literal 2335 zcmb_eeNfY87_aCMK{j{bbf_}~==3yA(xxp97KK)&N)fR)k?l4@l0u|SViRcTbWVmk z{Mba@+=ot_W0gNTH@}@j4mpR8IbqImbBCJ;p5H@HH@#yw_qNcU-}AiXF3Fqs{k_lg z`#sO|zHh2?bEd~eCqye0idajQIS;%sa3@AZfakD_jemgG5HV|>q)^1f1?~Zgk2a1} zC?eN!wtP9?noZJzQ$;aC5v%ezMSxZ)CQbH;6kW>7P!U_q@kY4kKqCxsj1iuzwPIG$ z#FlVbUKcyZn`5KBrL=*8C#OS`JR~sSWMvBSI32u1dW>+;E(zL!ZWM-s5V_O{X9OHV z`PN*>B)C{etI{DfPG}*$L51ryguyToQe${3ilw5s2ElbCfstx8)PKRin~SlNdFE;T zzQC6eE|F!CL{Ycft#WHrf~y$C4F&^>sZq5W0SH8@;AP5#@KRF9f|-?Q7bnV`z(WCx zRFP078)3k-Pl8hno8_hcFoA%f9!f-U6&8>b1Tu6OCziP!LFWvOvJTeC^0EZ5co-{| z2(loR2oEtG9=^)~2(8r`_VGY2PG{JKBu^~|GWrAZK(u755Lq;jm4q@E%}y-`G?M~q zMAGD9DOqsY1i=wXRBnheWHJR3V}QoZ<#5gkP{h~7Y`5sFq*2!m6!ouDzAGN?oIXSq1AxG2XH z+X*bWKvj@goCNY!(Z49>unYQI4h{+y0!h(<0yn~RAhRq3_jhv-h`{41=rijsVS&*{ zq`MC$33k~{x!8@l3iv<$65D1smmMoZ90DyFxC_@`-_p`@Ijhe(Yp$dFL_Wi-7ODMjW1$!n6Ke?XAtH+0Br}#ZX(HO)OuZ+!%dZk&=9PM){1{=B}1Qnbqr$tZfjFE%N$4=YCjq z`gQy11N#q7*wiC^a{b!(A70;Bb5yK5IX|f;Yv(Vc-)&jme8w{=$9JOqz?hYXZ+IIn zzxEx!cU`ij;iR`g8I`HpaC_p4ros=7pZjU=?oR%g{rar-eVu&t%&Wudd_$IIu8$hN za%#0cHl?7w#Fmh-dYZ|SytRGYfHp>56McSR`pUW`?y9vm)rOhz!$x~E>o*_wt@*Qe z<~KjT(b(dfJuZHGM~pRk@U8;?OZ7J0$5*@!JNzwO1ANWfQNyO3(-)NMhQu8?Bi3G6 zm_9abn(stskNex*`4b%-^LKyxd|rLLGB~-YyT9(_XVk5Y+w+QwyXo3rYsvA&y*NZR zWkdFqJ>G^Fgo={)W~A(Sx!%?`^y*}MNmW9xedqZ2=r8qKZf%Q68^58I-8t`8Q`(ru z%*ACVZXHaYGPd@aw!!BI-dL?Mca&6%iM2_Fm4|-qHH%_5%No&TM6K`4-GEqLLDK7f=yR z-JSgMcj5*$)yJZ7b4K0JM8-v>A8GGR^qb-K3v!k6{noPuer0#$TTS|v{|va4Si5l1 TuD`)wjzVFXnq&SVv#|1Cy@EF^ literal 0 HcmV?d00001 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;