From 23de47d307c03ecdd77c84116e034c431bb61b3c Mon Sep 17 00:00:00 2001 From: John Preston Date: Sun, 3 Jan 2016 19:05:22 +0800 Subject: [PATCH] added unread media dot in voice messages overview, new media unsupported message display done but not enabled --- Telegram/SourceFiles/history.cpp | 4 +++- Telegram/SourceFiles/layout.cpp | 14 +++++++++++++- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/Telegram/SourceFiles/history.cpp b/Telegram/SourceFiles/history.cpp index cfbbdfa40..27b4a18de 100644 --- a/Telegram/SourceFiles/history.cpp +++ b/Telegram/SourceFiles/history.cpp @@ -1392,7 +1392,9 @@ HistoryItem *History::createItem(HistoryBlock *block, const MTPMessage &msg, boo case mtpc_messageMediaUnsupported: default: badMedia = 1; break; } - if (badMedia) { + if (false && badMedia == 1) { +// QString text(lng_message_unsupported(lt_link, qsl("https://desktop.telegram.org"))); + } else if (badMedia) { result = new HistoryServiceMsg(this, block, m.vid.v, date(m.vdate), lang((badMedia == 2) ? lng_message_empty : lng_media_unsupported), m.vflags.v, 0, m.has_from_id() ? m.vfrom_id.v : 0); } else { if ((m.has_fwd_date() && m.vfwd_date.v > 0) || (m.has_fwd_from_id() && peerFromMTP(m.vfwd_from_id) != 0)) { diff --git a/Telegram/SourceFiles/layout.cpp b/Telegram/SourceFiles/layout.cpp index e1ac81379..a35dc7de6 100644 --- a/Telegram/SourceFiles/layout.cpp +++ b/Telegram/SourceFiles/layout.cpp @@ -629,12 +629,24 @@ void LayoutOverviewAudio::paint(Painter &p, const QRect &clip, uint32 selection, if (clip.intersects(rtlrect(nameleft, statustop, namewidth, st::normalFont->height, _width))) { p.setFont(st::normalFont); p.setPen(selected ? st::mediaInFgSelected : st::mediaInFg); + int32 unreadx = nameleft; if (_statusSize == FileStatusSizeLoaded || _statusSize == FileStatusSizeReady) { textstyleSet(&(selected ? st::mediaInStyleSelected : st::mediaInStyle)); _details.drawLeftElided(p, nameleft, statustop, namewidth, _width); textstyleRestore(); + unreadx += _details.maxWidth(); } else { - p.drawTextLeft(nameleft, statustop, _width, _statusText); + int32 statusw = st::normalFont->width(_statusText); + p.drawTextLeft(nameleft, statustop, _width, _statusText, statusw); + unreadx += statusw; + } + if (_parent->isMediaUnread() && unreadx + st::mediaUnreadSkip + st::mediaUnreadSize <= _width) { + p.setPen(Qt::NoPen); + p.setBrush(selected ? st::msgFileInBgSelected : st::msgFileInBg); + + p.setRenderHint(QPainter::HighQualityAntialiasing, true); + p.drawEllipse(rtlrect(unreadx + st::mediaUnreadSkip, statustop + st::mediaUnreadTop, st::mediaUnreadSize, st::mediaUnreadSize, _width)); + p.setRenderHint(QPainter::HighQualityAntialiasing, false); } } }