changes for light theme
- fixed light colored text being too bright - fixed the ripple effect being white on grey
This commit is contained in:
+11
-2
@@ -132,7 +132,16 @@ QColor ColorScheme::blendColors(const QColor &color1, const QColor &color2, qrea
|
|||||||
void ColorScheme::normalizeColor(QColor &color)
|
void ColorScheme::normalizeColor(QColor &color)
|
||||||
{
|
{
|
||||||
if (this->lightTheme) {
|
if (this->lightTheme) {
|
||||||
// TODO: write some codes
|
if (color.lightnessF() > 0.5f) {
|
||||||
|
color.setHslF(color.hueF(), color.saturationF(), 0.5f);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (color.lightnessF() > 0.4f && color.hueF() > 0.1 && color.hueF() < 0.33333) {
|
||||||
|
color.setHslF(color.hueF(), color.saturationF(),
|
||||||
|
color.lightnessF() -
|
||||||
|
sin((color.hueF() - 0.1) / (0.3333 - 0.1) * 3.14159) *
|
||||||
|
color.saturationF() * 0.2);
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
if (color.lightnessF() < 0.5f) {
|
if (color.lightnessF() < 0.5f) {
|
||||||
color.setHslF(color.hueF(), color.saturationF(), 0.5f);
|
color.setHslF(color.hueF(), color.saturationF(), 0.5f);
|
||||||
@@ -142,7 +151,7 @@ void ColorScheme::normalizeColor(QColor &color)
|
|||||||
color.setHslF(color.hueF(), color.saturationF(),
|
color.setHslF(color.hueF(), color.saturationF(),
|
||||||
color.lightnessF() +
|
color.lightnessF() +
|
||||||
sin((color.hueF() - 0.54444) / (0.8333 - 0.54444) * 3.14159) *
|
sin((color.hueF() - 0.54444) / (0.8333 - 0.54444) * 3.14159) *
|
||||||
color.saturationF() * 0.2);
|
color.saturationF() * 0.4);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,6 +3,8 @@
|
|||||||
#include <QDebug>
|
#include <QDebug>
|
||||||
#include <QPainter>
|
#include <QPainter>
|
||||||
|
|
||||||
|
#include "colorscheme.hpp"
|
||||||
|
|
||||||
namespace chatterino {
|
namespace chatterino {
|
||||||
namespace widgets {
|
namespace widgets {
|
||||||
|
|
||||||
@@ -16,7 +18,7 @@ RippleEffectButton::RippleEffectButton(BaseWidget *parent)
|
|||||||
this->effectTimer.start();
|
this->effectTimer.start();
|
||||||
}
|
}
|
||||||
|
|
||||||
void RippleEffectButton::setMouseEffectColor(QColor color)
|
void RippleEffectButton::setMouseEffectColor(boost::optional<QColor> color)
|
||||||
{
|
{
|
||||||
this->mouseEffectColor = color;
|
this->mouseEffectColor = color;
|
||||||
}
|
}
|
||||||
@@ -30,7 +32,13 @@ void RippleEffectButton::paintEvent(QPaintEvent *)
|
|||||||
|
|
||||||
void RippleEffectButton::fancyPaint(QPainter &painter)
|
void RippleEffectButton::fancyPaint(QPainter &painter)
|
||||||
{
|
{
|
||||||
QColor &c = this->mouseEffectColor;
|
QColor c;
|
||||||
|
|
||||||
|
if (this->mouseEffectColor) {
|
||||||
|
c = this->mouseEffectColor.get();
|
||||||
|
} else {
|
||||||
|
c = this->colorScheme.isLightTheme() ? QColor(0, 0, 0) : QColor(255, 255, 255);
|
||||||
|
}
|
||||||
|
|
||||||
if (this->hoverMultiplier > 0) {
|
if (this->hoverMultiplier > 0) {
|
||||||
QRadialGradient gradient(mousePos.x(), mousePos.y(), 50, mousePos.x(), mousePos.y());
|
QRadialGradient gradient(mousePos.x(), mousePos.y(), 50, mousePos.x(), mousePos.y());
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
#include <boost/optional.hpp>
|
||||||
|
|
||||||
#include "widgets/basewidget.hpp"
|
#include "widgets/basewidget.hpp"
|
||||||
|
|
||||||
#include <QMouseEvent>
|
#include <QMouseEvent>
|
||||||
@@ -28,7 +30,7 @@ class RippleEffectButton : public BaseWidget
|
|||||||
public:
|
public:
|
||||||
RippleEffectButton(BaseWidget *parent);
|
RippleEffectButton(BaseWidget *parent);
|
||||||
|
|
||||||
void setMouseEffectColor(QColor color);
|
void setMouseEffectColor(boost::optional<QColor> color);
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
void clicked();
|
void clicked();
|
||||||
@@ -52,7 +54,7 @@ private:
|
|||||||
double hoverMultiplier = 0.0;
|
double hoverMultiplier = 0.0;
|
||||||
QTimer effectTimer;
|
QTimer effectTimer;
|
||||||
std::vector<ClickEffect> clickEffects;
|
std::vector<ClickEffect> clickEffects;
|
||||||
QColor mouseEffectColor = {255, 255, 255};
|
boost::optional<QColor> mouseEffectColor = boost::none;
|
||||||
|
|
||||||
void onMouseEffectTimeout();
|
void onMouseEffectTimeout();
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ RippleEffectLabel::RippleEffectLabel(BaseWidget *parent, int spacing)
|
|||||||
this->hbox.addWidget(&this->label);
|
this->hbox.addWidget(&this->label);
|
||||||
this->hbox.addSpacing(spacing);
|
this->hbox.addSpacing(spacing);
|
||||||
|
|
||||||
this->setMouseEffectColor(QColor(255, 255, 255, 63));
|
// this->setMouseEffectColor(QColor(255, 255, 255, 63));
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace widgets
|
} // namespace widgets
|
||||||
|
|||||||
Reference in New Issue
Block a user