diff --git a/cockatrice/src/client/ui/widgets/general/home_styled_button.cpp b/cockatrice/src/client/ui/widgets/general/home_styled_button.cpp index b1723caa6..4a0b0e7d6 100644 --- a/cockatrice/src/client/ui/widgets/general/home_styled_button.cpp +++ b/cockatrice/src/client/ui/widgets/general/home_styled_button.cpp @@ -20,14 +20,22 @@ void HomeStyledButton::updateStylesheet(const QPair &colors) QString HomeStyledButton::generateButtonStylesheet(const QPair &colors) { - QColor base1 = colors.first; - QColor base2 = colors.second; + QColor baseGradientStart = colors.first; + QColor baseGradientEnd = colors.second; - QColor hover1 = base1.lighter(120); // 20% lighter - QColor hover2 = base2.lighter(120); + QColor hoverGradientStart = baseGradientStart.lighter(120); // 20% lighter + QColor hoverGradientEnd = baseGradientEnd.lighter(120); - QColor pressed1 = base1.darker(130); // 30% darker - QColor pressed2 = base2.darker(130); + QColor pressedGradientStart = baseGradientStart.darker(130); // 30% darker + QColor pressedGradientEnd = baseGradientEnd.darker(130); + + // Disabled: more gray, less saturated + QColor disabledGradientStart = baseGradientStart.toHsv(); + disabledGradientStart.setHsv(disabledGradientStart.hue(), disabledGradientStart.saturation() * 0.2, + disabledGradientStart.value() * 0.6); + QColor disabledGradientEnd = baseGradientEnd.toHsv(); + disabledGradientEnd.setHsv(disabledGradientEnd.hue(), disabledGradientEnd.saturation() * 0.2, + disabledGradientEnd.value() * 0.6); return QString(R"( QPushButton { @@ -47,14 +55,22 @@ QString HomeStyledButton::generateButtonStylesheet(const QPair & background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 %6, stop:1 %7); } + QPushButton:disabled { + color: #aaaaaa; + border: 2px solid #888888; + background: qlineargradient(x1:0, y1:1, x2:0, y2:0, + stop:0 %8, stop:1 %9); + } )") - .arg(base1.name()) // border color - .arg(base1.name()) // normal gradient start - .arg(base2.name()) // normal gradient end - .arg(hover1.name()) // hover start - .arg(hover2.name()) // hover end - .arg(pressed1.name()) // pressed start - .arg(pressed2.name()); // pressed end + .arg(baseGradientStart.name()) + .arg(baseGradientStart.name()) + .arg(baseGradientEnd.name()) + .arg(hoverGradientStart.name()) + .arg(hoverGradientEnd.name()) + .arg(pressedGradientStart.name()) + .arg(pressedGradientEnd.name()) + .arg(disabledGradientStart.name()) + .arg(disabledGradientEnd.name()); } void HomeStyledButton::paintEvent(QPaintEvent *event)