From 3b57a626d676ffe14bb29df50e252c211d252973 Mon Sep 17 00:00:00 2001 From: RickyRister Date: Sun, 16 Feb 2025 22:37:59 -0800 Subject: [PATCH] hide icon when not clickable --- .../ui/widgets/general/display/banner_widget.cpp | 14 ++++++++++++-- .../ui/widgets/general/display/banner_widget.h | 5 +---- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/cockatrice/src/client/ui/widgets/general/display/banner_widget.cpp b/cockatrice/src/client/ui/widgets/general/display/banner_widget.cpp index 68367ef18..d36d93b8e 100644 --- a/cockatrice/src/client/ui/widgets/general/display/banner_widget.cpp +++ b/cockatrice/src/client/ui/widgets/general/display/banner_widget.cpp @@ -14,7 +14,6 @@ BannerWidget::BannerWidget(QWidget *parent, const QString &text, Qt::Orientation iconLabel = new QLabel(this); iconLabel->setAlignment(Qt::AlignLeft | Qt::AlignVCenter); - setExpandIconState(true); // Create the banner label and set properties bannerLabel = new QLabel(text, this); @@ -44,6 +43,12 @@ void BannerWidget::setText(const QString &text) const bannerLabel->setText(text); } +void BannerWidget::setClickable(bool _clickable) +{ + clickable = _clickable; + setExpandIconState(true); +} + void BannerWidget::toggleBuddyVisibility() const { if (buddy) { @@ -56,7 +61,12 @@ void BannerWidget::toggleBuddyVisibility() const void BannerWidget::setExpandIconState(bool expanded) const { - iconLabel->setPixmap(ExpandIconPixmapGenerator::generatePixmap(24, expanded)); + if (clickable) { + iconLabel->setPixmap(ExpandIconPixmapGenerator::generatePixmap(24, expanded)); + } else { + // we cannot directly hide the iconLabel, since it's needed to center the text; set an empty image instead + iconLabel->setPixmap(QPixmap()); + } } void BannerWidget::paintEvent(QPaintEvent *event) diff --git a/cockatrice/src/client/ui/widgets/general/display/banner_widget.h b/cockatrice/src/client/ui/widgets/general/display/banner_widget.h index 39e5b0202..e9ac0c78d 100644 --- a/cockatrice/src/client/ui/widgets/general/display/banner_widget.h +++ b/cockatrice/src/client/ui/widgets/general/display/banner_widget.h @@ -16,6 +16,7 @@ public: int transparency = 80); void mousePressEvent(QMouseEvent *event) override; void setText(const QString &text) const; + void setClickable(bool _clickable); void setBuddy(QWidget *_buddy) { buddy = _buddy; @@ -24,10 +25,6 @@ public: { return bannerLabel->text(); } - void setClickable(bool _clickable) - { - clickable = _clickable; - } protected: void paintEvent(QPaintEvent *event) override;