diff --git a/src/widgets/helper/RippleEffectButton.cpp b/src/widgets/helper/RippleEffectButton.cpp index 9c1ee66fb..07e95d656 100644 --- a/src/widgets/helper/RippleEffectButton.cpp +++ b/src/widgets/helper/RippleEffectButton.cpp @@ -34,18 +34,23 @@ const QPixmap &RippleEffectButton::getPixmap() const return this->pixmap_; } -void RippleEffectButton::setDimPixmap(bool value) +void RippleEffectButton::setDim(bool value) { this->dimPixmap_ = value; this->update(); } -bool RippleEffectButton::getDimPixmap() const +bool RippleEffectButton::getDim() const { return this->dimPixmap_; } +qreal RippleEffectButton::getCurrentDimAmount() const +{ + return this->dimPixmap_ && !this->mouseOver_ ? 0.7 : 1; +} + void RippleEffectButton::setBorderColor(const QColor &color) { this->borderColor_ = color; @@ -64,7 +69,7 @@ void RippleEffectButton::paintEvent(QPaintEvent *) if (!this->pixmap_.isNull()) { if (!this->mouseOver_ && this->dimPixmap_) { - painter.setOpacity(0.7); + painter.setOpacity(this->getCurrentDimAmount()); } QRect rect = this->rect(); diff --git a/src/widgets/helper/RippleEffectButton.hpp b/src/widgets/helper/RippleEffectButton.hpp index ebe048dfb..924cfb817 100644 --- a/src/widgets/helper/RippleEffectButton.hpp +++ b/src/widgets/helper/RippleEffectButton.hpp @@ -33,8 +33,9 @@ public: void setPixmap(const QPixmap &pixmap_); const QPixmap &getPixmap() const; - void setDimPixmap(bool value); - bool getDimPixmap() const; + void setDim(bool value); + bool getDim() const; + qreal getCurrentDimAmount() const; void setBorderColor(const QColor &color); const QColor &getBorderColor() const; diff --git a/src/widgets/helper/TitlebarButton.cpp b/src/widgets/helper/TitlebarButton.cpp index adb451736..ac32d237c 100644 --- a/src/widgets/helper/TitlebarButton.cpp +++ b/src/widgets/helper/TitlebarButton.cpp @@ -24,6 +24,8 @@ void TitleBarButton::paintEvent(QPaintEvent *) { QPainter painter(this); + painter.setOpacity(this->getCurrentDimAmount()); + QColor color = this->themeManager->window.text; QColor background = this->themeManager->window.background; diff --git a/src/widgets/splits/SplitHeader.cpp b/src/widgets/splits/SplitHeader.cpp index dc7b7ce66..657571b51 100644 --- a/src/widgets/splits/SplitHeader.cpp +++ b/src/widgets/splits/SplitHeader.cpp @@ -61,7 +61,7 @@ SplitHeader::SplitHeader(Split *_split) [this, moderator]() mutable { this->split->setModerationMode(!this->split->getModerationMode()); - moderator->setDimPixmap(!this->split->getModerationMode()); + moderator->setDim(!this->split->getModerationMode()); }); this->updateModerationModeIcon();