From d9426413ddf4dae1427af1d6fc6047b253f19121 Mon Sep 17 00:00:00 2001 From: 23rd <23rd@vivaldi.net> Date: Sun, 2 Jun 2019 22:44:00 +0300 Subject: [PATCH] Added online badges to chats list. --- Telegram/Resources/colors.palette | 2 + Telegram/Resources/day-blue.tdesktop-theme | Bin 10548 -> 10657 bytes Telegram/Resources/night-green.tdesktop-theme | Bin 8877 -> 8905 bytes Telegram/Resources/night.tdesktop-theme | Bin 8861 -> 8890 bytes Telegram/SourceFiles/dialogs/dialogs.style | 4 ++ .../dialogs/dialogs_inner_widget.cpp | 28 ++++++++ .../SourceFiles/dialogs/dialogs_layout.cpp | 66 ++++++++++++++++-- 7 files changed, 94 insertions(+), 6 deletions(-) diff --git a/Telegram/Resources/colors.palette b/Telegram/Resources/colors.palette index d19343a1a..1467b92fe 100644 --- a/Telegram/Resources/colors.palette +++ b/Telegram/Resources/colors.palette @@ -194,6 +194,7 @@ dialogsUnreadBg: windowBgActive; // chat list unread badge background for not mu dialogsUnreadBgMuted: #bbbbbb; // chat list unread badge background for muted chat dialogsUnreadFg: windowFgActive; // chat list unread badge text dialogsArchiveFg: #525252 | dialogsNameFg; // chat list archive name text +dialogsOnlineBadgeFg: #4dc920 | dialogsUnreadBg; // chat list online status dialogsBgOver: windowBgOver; // chat list background with mouse over dialogsNameFgOver: windowBoldFgOver; // chat list name text with mouse over @@ -225,6 +226,7 @@ dialogsSentIconFgActive: dialogsTextFgActive; // chat list sent message tick / d dialogsUnreadBgActive: dialogsTextFgActive; // chat list unread badge background for not muted chat for current (active) chat dialogsUnreadBgMutedActive: dialogsDraftFgActive; // chat list unread badge background for muted chat for current (active) chat dialogsUnreadFgActive: dialogsBgActive; // chat list unread badge text for current (active) chat +dialogsOnlineBadgeFgActive: #ffffff; // chat list online status for current (active) chat dialogsRippleBg: windowBgRipple; // chat list background ripple effect dialogsRippleBgActive: activeButtonBgRipple; // chat list background ripple effect for current (active) chat diff --git a/Telegram/Resources/day-blue.tdesktop-theme b/Telegram/Resources/day-blue.tdesktop-theme index 4934875a60584ab5258212748aa831c021fb64ca..d24019eb17dce90f17e6c1a38b765c94f92a6285 100644 GIT binary patch delta 3477 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 DULwPC delta 3367 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 diff --git a/Telegram/Resources/night-green.tdesktop-theme b/Telegram/Resources/night-green.tdesktop-theme index 3b25f9d55eb6df084a70c66a554d4c9a7a21f62c..c7caf91ba5e328ae3d24d3caa6d8a4100d027a24 100644 GIT binary patch delta 5091 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 F002Uc?!5p2 delta 5074 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 diff --git a/Telegram/Resources/night.tdesktop-theme b/Telegram/Resources/night.tdesktop-theme index 87865eccfc4bcde8226ea40486b456588142f4ad..37e401c7c5ce4cd9295fcc88363e97c3086d759f 100644 GIT binary patch delta 8117 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�SG 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 PAd_n%ECwnf00000g3QP* delta 8088 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 diff --git a/Telegram/SourceFiles/dialogs/dialogs.style b/Telegram/SourceFiles/dialogs/dialogs.style index a8ff3550e..e679fb1aa 100644 --- a/Telegram/SourceFiles/dialogs/dialogs.style +++ b/Telegram/SourceFiles/dialogs/dialogs.style @@ -34,6 +34,10 @@ dialogsPhotoSize: 46px; dialogsPhotoPadding: 12px; dialogsPadding: point(10px, 8px); +dialogsOnlineBadgeSizePadding: 4px; +dialogsOnlineBadgeSize: 8px; +dialogsOnlineBadgeRightSkip: 2px; + dialogsImportantBarHeight: 37px; dialogsSkip: 8px; diff --git a/Telegram/SourceFiles/dialogs/dialogs_inner_widget.cpp b/Telegram/SourceFiles/dialogs/dialogs_inner_widget.cpp index 069820ae6..5b09aa80a 100644 --- a/Telegram/SourceFiles/dialogs/dialogs_inner_widget.cpp +++ b/Telegram/SourceFiles/dialogs/dialogs_inner_widget.cpp @@ -177,6 +177,34 @@ InnerWidget::InnerWidget( UpdateRowSection::Default | UpdateRowSection::Filtered); }, lifetime()); + const auto handleUserOnline = [=](const Notify::PeerUpdate &peerUpdate) { + if (peerUpdate.peer->isSelf()) { + return; + } + const auto circleSize = st::dialogsOnlineBadgeSize + + st::dialogsOnlineBadgeSizePadding; + const auto updateRect = QRect( + st::dialogsPadding.x() + + st::dialogsPhotoSize + - st::dialogsOnlineBadgeRightSkip + - circleSize, + st::dialogsPadding.y() + + st::dialogsPhotoSize + - circleSize, + circleSize, + circleSize); + updateDialogRow( + RowDescriptor( + session().data().history(peerUpdate.peer->id), + FullMsgId()), + updateRect, + UpdateRowSection::Default | UpdateRowSection::Filtered); + }; + + subscribe(Notify::PeerUpdated(), Notify::PeerUpdatedHandler( + Notify::PeerUpdate::Flag::UserOnlineChanged, + handleUserOnline)); + session().data().chatsListChanges( ) | rpl::filter([=](Data::Folder *folder) { return (folder == _openedFolder); diff --git a/Telegram/SourceFiles/dialogs/dialogs_layout.cpp b/Telegram/SourceFiles/dialogs/dialogs_layout.cpp index 910190f94..e637f8c50 100644 --- a/Telegram/SourceFiles/dialogs/dialogs_layout.cpp +++ b/Telegram/SourceFiles/dialogs/dialogs_layout.cpp @@ -12,6 +12,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL #include "data/data_session.h" #include "dialogs/dialogs_list.h" #include "styles/style_dialogs.h" +#include "styles/style_window.h" #include "storage/localstorage.h" #include "ui/empty_userpic.h" #include "ui/text_options.h" @@ -23,6 +24,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL #include "data/data_channel.h" #include "data/data_user.h" #include "data/data_folder.h" +#include "data/data_peer_values.h" namespace Dialogs { namespace Layout { @@ -202,6 +204,7 @@ enum class Flag { Selected = 0x02, SearchResult = 0x04, SavedMessages = 0x08, + UserOnline = 0x10, //FeedSearchResult = 0x10, // #feed }; inline constexpr bool is_flag_type(Flag) { return true; } @@ -249,12 +252,57 @@ void paintRow( fullWidth, st::dialogsPhotoSize); } else if (from) { - from->paintUserpicLeft( - p, - st::dialogsPadding.x(), - st::dialogsPadding.y(), - fullWidth, - st::dialogsPhotoSize); + if (flags & Flag::UserOnline) { + auto frame = QImage( + st::dialogsPhotoSize * cRetinaFactor(), + st::dialogsPhotoSize * cRetinaFactor(), + QImage::Format_ARGB32_Premultiplied); + frame.setDevicePixelRatio(cRetinaFactor()); + frame.fill(Qt::transparent); + { + const auto size = st::dialogsOnlineBadgeSize; + const auto paddingSize = st::dialogsOnlineBadgeSizePadding; + const auto circleSize = size + paddingSize; + const auto offset = size + paddingSize / 2; + const auto x = st::dialogsPadding.x() + st::dialogsPhotoSize - st::dialogsOnlineBadgeRightSkip - size; + const auto y = st::dialogsPadding.y() + st::dialogsPhotoSize - size; + + Painter q(&frame); + PainterHighQualityEnabler hq(q); + from->paintUserpicLeft( + q, + 0, + 0, + fullWidth, + st::dialogsPhotoSize); + q.setPen(Qt::NoPen); + q.setBrush(Qt::transparent); + q.setCompositionMode(QPainter::CompositionMode_SourceOut); + q.drawEllipse( + x - circleSize, + y - circleSize, + circleSize, + circleSize); + + q.setBrush(active + ? st::dialogsOnlineBadgeFgActive + : st::dialogsOnlineBadgeFg); + q.setCompositionMode(QPainter::CompositionMode_Source); + q.drawEllipse( + x - offset, + y - offset, + size, + size); + } + p.drawImage(st::dialogsPadding, frame); + } else { + from->paintUserpicLeft( + p, + st::dialogsPadding.x(), + st::dialogsPadding.y(), + fullWidth, + st::dialogsPhotoSize); + } } else if (hiddenSenderInfo) { hiddenSenderInfo->userpic.paint( p, @@ -648,8 +696,14 @@ void RowPainter::paint( ? history->peer->migrateTo() : history->peer.get()) : nullptr; + const auto showUserOnline = peer + && peer->isUser() + && Data::OnlineTextActive(peer->asUser(), unixtime()) + && !(fullWidth < st::columnMinimalWidthLeft + && (displayUnreadCounter || displayUnreadMark)); const auto flags = (active ? Flag::Active : Flag(0)) | (selected ? Flag::Selected : Flag(0)) + | (showUserOnline ? Flag::UserOnline : Flag(0)) | (peer && peer->isSelf() ? Flag::SavedMessages : Flag(0)); const auto paintItemCallback = [&](int nameleft, int namewidth) { const auto texttop = st::dialogsPadding.y()