Skip to content

Commit

Permalink
Use close icon from group calls in stories tooltip.
Browse files Browse the repository at this point in the history
  • Loading branch information
john-preston committed Jul 28, 2023
1 parent 84ce95c commit 1c1e643
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 29 deletions.
9 changes: 8 additions & 1 deletion Telegram/SourceFiles/dialogs/dialogs.style
Original file line number Diff line number Diff line change
Expand Up @@ -567,4 +567,11 @@ dialogsStoriesTooltip: ImportantTooltip(defaultImportantTooltip) {
}
dialogsStoriesTooltipLabel: defaultImportantTooltipLabel;
dialogsStoriesTooltipMaxWidth: 200px;
dialogsStoriesTooltipHide: size(14px, 14px);
dialogsStoriesTooltipHide: IconButton(defaultIconButton) {
width: 34px;
height: 20px;
iconPosition: point(-1px, -1px);
icon: icon {{ "calls/video_tooltip", importantTooltipFg }};
iconOver: icon {{ "calls/video_tooltip", importantTooltipFg }};
ripple: emptyRippleAnimation;
}
35 changes: 7 additions & 28 deletions Telegram/SourceFiles/dialogs/ui/dialogs_stories_list.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,10 @@ For license and copyright information please follow this link:
#include "ui/effects/outline_segments.h"
#include "ui/text/text_utilities.h"
#include "ui/widgets/menu/menu_add_action_callback_factory.h"
#include "ui/widgets/buttons.h"
#include "ui/widgets/labels.h"
#include "ui/widgets/popup_menu.h"
#include "ui/widgets/tooltip.h"
#include "ui/abstract_button.h"
#include "ui/painter.h"
#include "styles/style_dialogs.h"

Expand Down Expand Up @@ -49,8 +49,7 @@ constexpr auto kStoriesTooltipHideBgOpacity = 0.2;
not_null<QWidget*> parent,
rpl::producer<TextWithEntities> text,
Fn<void()> hide) {
const auto size = st::dialogsStoriesTooltipHide;
const auto buttonw = size.width();
const auto size = st::dialogsStoriesTooltipHide.width;
const auto skip = st::defaultImportantTooltip.padding.right();
auto result = object_ptr<Ui::PaddingWrap<Ui::FlatLabel>>(
parent,
Expand All @@ -60,36 +59,16 @@ constexpr auto kStoriesTooltipHideBgOpacity = 0.2;
st::dialogsStoriesTooltipMaxWidth,
st::dialogsStoriesTooltipLabel),
(st::defaultImportantTooltip.padding
+ QMargins(0, 0, skip + buttonw, 0)));
const auto button = Ui::CreateChild<Ui::AbstractButton>(result.data());
+ QMargins(0, 0, skip + size, 0)));
const auto button = Ui::CreateChild<Ui::IconButton>(
result.data(),
st::dialogsStoriesTooltipHide);
result->sizeValue(
) | rpl::start_with_next([=](QSize size) {
button->resize(skip * 2 + buttonw, size.height());
button->resize(button->width(), size.height());
button->moveToRight(0, 0, size.width());
}, button->lifetime());
button->setClickedCallback(std::move(hide));
button->paintRequest(
) | rpl::start_with_next([=] {
auto p = QPainter(button);
auto hq = PainterHighQualityEnabler(p);
p.setPen(Qt::NoPen);
p.setBrush(st::importantTooltipFg);
p.setOpacity(kStoriesTooltipHideBgOpacity);
const auto rect = style::centerrect(
button->rect(),
QRect(QPoint(), size));
const auto center = QRectF(rect).center();
const auto half = QSizeF(rect.size()) / 6.;
const auto phalf = QPointF(half.width(), half.height());
const auto mhalf = QPointF(-half.width(), half.height());
p.drawEllipse(rect);
p.setOpacity(1.);
auto pen = st::importantTooltipFg->p;
pen.setWidthF(style::ConvertScaleExact(sqrtf(2.)));
p.setPen(pen);
p.drawLine(center - phalf, center + phalf);
p.drawLine(center - mhalf, center + mhalf);
}, button->lifetime());
return result;
}

Expand Down

0 comments on commit 1c1e643

Please sign in to comment.