371 lines
8.5 KiB
Diff
371 lines
8.5 KiB
Diff
|
|
From ebe794510e8fef1be744778cd5ea366b6bf6b3f3 Mon Sep 17 00:00:00 2001
|
|||
|
|
From: liuxinhao <liuxinhao@kylinsec.com.cn>
|
|||
|
|
Date: Fri, 22 Jul 2022 15:25:15 +0800
|
|||
|
|
Subject: [PATCH] feat(style): add window hover color
|
|||
|
|
MIME-Version: 1.0
|
|||
|
|
Content-Type: text/plain; charset=UTF-8
|
|||
|
|
Content-Transfer-Encoding: 8bit
|
|||
|
|
|
|||
|
|
- 新增Window Hover颜色,解决类似网络托盘背景等类似显示问题
|
|||
|
|
---
|
|||
|
|
style-helper/data/_functions.scss | 3 +
|
|||
|
|
style-helper/data/color-scheme/dark.colors | 1 +
|
|||
|
|
style-helper/data/color-scheme/light.colors | 1 +
|
|||
|
|
style-helper/data/qt5.scss | 137 ++++++++------------
|
|||
|
|
style/src/style.cpp | 2 +-
|
|||
|
|
5 files changed, 58 insertions(+), 86 deletions(-)
|
|||
|
|
|
|||
|
|
diff --git a/style-helper/data/_functions.scss b/style-helper/data/_functions.scss
|
|||
|
|
index be74dbb..dacdc7a 100644
|
|||
|
|
--- a/style-helper/data/_functions.scss
|
|||
|
|
+++ b/style-helper/data/_functions.scss
|
|||
|
|
@@ -157,6 +157,9 @@
|
|||
|
|
@if $c == background {
|
|||
|
|
@return $WindowBackgroundNormal;
|
|||
|
|
}
|
|||
|
|
+ @if $c == background-hover {
|
|||
|
|
+ @return $WindowBackgroundHover;
|
|||
|
|
+ }
|
|||
|
|
@if $c == foreground {
|
|||
|
|
@return $WindowForegroundNormal;
|
|||
|
|
}
|
|||
|
|
diff --git a/style-helper/data/color-scheme/dark.colors b/style-helper/data/color-scheme/dark.colors
|
|||
|
|
index 68aa236..abfb1f8 100644
|
|||
|
|
--- a/style-helper/data/color-scheme/dark.colors
|
|||
|
|
+++ b/style-helper/data/color-scheme/dark.colors
|
|||
|
|
@@ -57,6 +57,7 @@ ForegroundChecked=Default::Selection
|
|||
|
|
BackgroundNormal=Default::BackgroundNormal
|
|||
|
|
ForegroundNormal=Default::ForegroundNormal
|
|||
|
|
BorderNormal=Default::Border
|
|||
|
|
+BackgroundHover=mix(Window::BackgroundNormal, Window::ForegroundNormal, 0.9)
|
|||
|
|
|
|||
|
|
[Colors:Selection]
|
|||
|
|
BackgroundNormal=Default::Selection
|
|||
|
|
diff --git a/style-helper/data/color-scheme/light.colors b/style-helper/data/color-scheme/light.colors
|
|||
|
|
index e15e269..08b7604 100644
|
|||
|
|
--- a/style-helper/data/color-scheme/light.colors
|
|||
|
|
+++ b/style-helper/data/color-scheme/light.colors
|
|||
|
|
@@ -57,6 +57,7 @@ ForegroundChecked=Default::Selection
|
|||
|
|
BackgroundNormal=Default::BackgroundNormal
|
|||
|
|
ForegroundNormal=Default::ForegroundNormal
|
|||
|
|
BorderNormal=Default::Border
|
|||
|
|
+BackgroundHover=mix(Window::BackgroundNormal, Window::ForegroundNormal, 0.9)
|
|||
|
|
BackgroundAlternate=227,229,231
|
|||
|
|
|
|||
|
|
[Colors:Selection]
|
|||
|
|
diff --git a/style-helper/data/qt5.scss b/style-helper/data/qt5.scss
|
|||
|
|
index 39ad308..aa927d5 100644
|
|||
|
|
--- a/style-helper/data/qt5.scss
|
|||
|
|
+++ b/style-helper/data/qt5.scss
|
|||
|
|
@@ -73,6 +73,7 @@ $bare_foreground_backdrop_insensitive: #{"" + internal_insensitive(internal_back
|
|||
|
|
|
|||
|
|
// window
|
|||
|
|
$window_background_normal: #{"" + internal_window(background)};
|
|||
|
|
+$window_background_hover: #{"" + internal_window(background-hover)};
|
|||
|
|
$window_background_insensitive: #{"" + internal_insensitive(internal_window(background))};
|
|||
|
|
$window_background_backdrop: #{"" + internal_backdrop(internal_window(background))};
|
|||
|
|
$window_background_backdrop_insensitive: #{"" + internal_insensitive(internal_backdrop(internal_window(background)))};
|
|||
|
|
@@ -194,6 +195,10 @@ Window {
|
|||
|
|
Border: $window_border_normal;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
+Window:hover {
|
|||
|
|
+ Background: $window_background_hover;
|
|||
|
|
+}
|
|||
|
|
+
|
|||
|
|
Window:disabled {
|
|||
|
|
Background: $window_background_insensitive;
|
|||
|
|
Foreground: $window_foreground_insensitive;
|
|||
|
|
@@ -249,7 +254,7 @@ Widget:checked,
|
|||
|
|
Widget:selected {
|
|||
|
|
Background: $widget_background_checked;
|
|||
|
|
Foreground: $widget_foreground_checked;
|
|||
|
|
- Border: $widget_border_focus;
|
|||
|
|
+ Border: $widget_border_focus;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
Widget:disabled {
|
|||
|
|
@@ -301,220 +306,182 @@ TitleBar:disabled {
|
|||
|
|
|
|||
|
|
|
|||
|
|
/** --- 提供给KiranStyle直接使用的相关属性 --- **/
|
|||
|
|
-Frame
|
|||
|
|
-{
|
|||
|
|
+Frame {
|
|||
|
|
Background: $window_background_normal;
|
|||
|
|
Border: $window_border_normal;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
-Frame:disabled
|
|||
|
|
-{
|
|||
|
|
+Frame:disabled {
|
|||
|
|
Background: $window_background_insensitive;
|
|||
|
|
Border: $window_border_insensitive;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
-Button
|
|||
|
|
-{
|
|||
|
|
+Button {
|
|||
|
|
Background: $widget_background_normal;
|
|||
|
|
Border: $widget_border_normal;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
-Button:hover
|
|||
|
|
-{
|
|||
|
|
+Button:hover {
|
|||
|
|
Background: $widget_background_hover;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
-Button:pressed
|
|||
|
|
-{
|
|||
|
|
+Button:pressed {
|
|||
|
|
Background: $widget_background_active;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
-Button:disabled
|
|||
|
|
-{
|
|||
|
|
+Button:disabled {
|
|||
|
|
Background: $widget_background_insensitive;
|
|||
|
|
Border: $widget_border_insensitive;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
-SpecialButton
|
|||
|
|
-{
|
|||
|
|
- DefaultBackground:$special_button_default_normal;
|
|||
|
|
- WarnningBackground:$special_button_warnning_normal;
|
|||
|
|
+SpecialButton {
|
|||
|
|
+ DefaultBackground: $special_button_default_normal;
|
|||
|
|
+ WarnningBackground: $special_button_warnning_normal;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
-SpecialButton:hover
|
|||
|
|
-{
|
|||
|
|
- DefaultBackground:$special_button_default_hover;
|
|||
|
|
- WarnningBackground:$special_button_warnning_hover;
|
|||
|
|
+SpecialButton:hover {
|
|||
|
|
+ DefaultBackground: $special_button_default_hover;
|
|||
|
|
+ WarnningBackground: $special_button_warnning_hover;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
-SpecialButton:pressed
|
|||
|
|
-{
|
|||
|
|
- DefaultBackground:$special_button_default_active;
|
|||
|
|
- WarnningBackground:$special_button_warnning_active;
|
|||
|
|
+SpecialButton:pressed {
|
|||
|
|
+ DefaultBackground: $special_button_default_active;
|
|||
|
|
+ WarnningBackground: $special_button_warnning_active;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
-SpecialButton:disabled
|
|||
|
|
-{
|
|||
|
|
- DefaultBackground:$special_button_default_insensitive;
|
|||
|
|
- WarnningBackground:$special_button_warnning_insensitive;
|
|||
|
|
+SpecialButton:disabled {
|
|||
|
|
+ DefaultBackground: $special_button_default_insensitive;
|
|||
|
|
+ WarnningBackground: $special_button_warnning_insensitive;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
-Edit
|
|||
|
|
-{
|
|||
|
|
+Edit {
|
|||
|
|
Background: $view_background_normal;
|
|||
|
|
Foreground: $view_foreground_normal;
|
|||
|
|
Border: $view_border_normal;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
-Edit:focus
|
|||
|
|
-{
|
|||
|
|
+Edit:focus {
|
|||
|
|
Border: $view_border_focus;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
-Edit:disabled
|
|||
|
|
-{
|
|||
|
|
+Edit:disabled {
|
|||
|
|
Background: $view_background_insensitive;
|
|||
|
|
Border: $view_border_insensitive;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
-Indicator
|
|||
|
|
-{
|
|||
|
|
+Indicator {
|
|||
|
|
Arrow: $widget_foreground_normal;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
-Indicator:disabled
|
|||
|
|
-{
|
|||
|
|
+Indicator:disabled {
|
|||
|
|
Arrow: $widget_foreground_insensitive;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
-Combo
|
|||
|
|
-{
|
|||
|
|
+Combo {
|
|||
|
|
Background: transparent;
|
|||
|
|
Border: $widget_border_normal;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
-Combo:hover
|
|||
|
|
-{
|
|||
|
|
+Combo:hover {
|
|||
|
|
Background: $widget_background_hover;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
-Combo:pressed
|
|||
|
|
-{
|
|||
|
|
+Combo:pressed {
|
|||
|
|
Background: $widget_background_active;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
-Combo:disabled
|
|||
|
|
-{
|
|||
|
|
+Combo:disabled {
|
|||
|
|
Background: $widget_background_insensitive;
|
|||
|
|
Border: $widget_border_insensitive;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
-ItemView
|
|||
|
|
-{
|
|||
|
|
+ItemView {
|
|||
|
|
Branch: $widget_border_normal;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
-ItemView:disabled
|
|||
|
|
-{
|
|||
|
|
+ItemView:disabled {
|
|||
|
|
Branch: $widget_border_insensitive;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
-MenuBar
|
|||
|
|
-{
|
|||
|
|
+MenuBar {
|
|||
|
|
ItemBackground: $window_background_normal;
|
|||
|
|
EmptyAreaBackground: $window_background_normal;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
-MenuBar:hover
|
|||
|
|
-{
|
|||
|
|
+MenuBar:hover {
|
|||
|
|
ItemBackground: $widget_background_hover;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
-MenuBar:pressed
|
|||
|
|
-{
|
|||
|
|
+MenuBar:pressed {
|
|||
|
|
ItemBackground: $widget_background_active;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
-MenuBar:disabled
|
|||
|
|
-{
|
|||
|
|
+MenuBar:disabled {
|
|||
|
|
ItemBackground: $window_background_insensitive;
|
|||
|
|
EmptyAreaBackground: $window_background_insensitive;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
-Progress
|
|||
|
|
-{
|
|||
|
|
+Progress {
|
|||
|
|
Groove: $bare_background_normal;
|
|||
|
|
Content: $bare_foreground_checked;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
-Progress:disabled
|
|||
|
|
-{
|
|||
|
|
+Progress:disabled {
|
|||
|
|
Groove: $bare_background_insensitive;
|
|||
|
|
Content: $bare_foreground_insensitive;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
-Scroll
|
|||
|
|
-{
|
|||
|
|
+Scroll {
|
|||
|
|
Slider: $bare_background_normal;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
-Scroll:hover
|
|||
|
|
-{
|
|||
|
|
+Scroll:hover {
|
|||
|
|
Slider: $bare_background_hover;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
-Scroll:pressed
|
|||
|
|
-{
|
|||
|
|
+Scroll:pressed {
|
|||
|
|
Slider: $bare_background_checked;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
-Scroll:disabled
|
|||
|
|
-{
|
|||
|
|
+Scroll:disabled {
|
|||
|
|
Slider: $bare_background_insensitive;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
-Slider
|
|||
|
|
-{
|
|||
|
|
+Slider {
|
|||
|
|
Groove: $bare_background_normal;
|
|||
|
|
Content: $bare_foreground_checked;
|
|||
|
|
HandleBorder: white;
|
|||
|
|
HandleBackground: $bare_foreground_checked;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
-Slider:pressed
|
|||
|
|
-{
|
|||
|
|
+Slider:pressed {
|
|||
|
|
HandleBorder: white;
|
|||
|
|
HandleBackground: white;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
-Slider:disabled
|
|||
|
|
-{
|
|||
|
|
+Slider:disabled {
|
|||
|
|
Groove: $bare_background_insensitive;
|
|||
|
|
Content: $bare_foreground_insensitive;
|
|||
|
|
HandleBorder: $bare_foreground_insensitive;
|
|||
|
|
HandleBackground: $bare_foreground_insensitive;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
-SpinBox
|
|||
|
|
-{
|
|||
|
|
+SpinBox {
|
|||
|
|
Background: $widget_background_normal;
|
|||
|
|
Border: $widget_border_normal;
|
|||
|
|
SignColor: $widget_foreground_normal;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
-SpinBox:hover
|
|||
|
|
-{
|
|||
|
|
+SpinBox:hover {
|
|||
|
|
Background: $widget_background_hover;
|
|||
|
|
Border: $widget_border_hover;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
-SpinBox:pressed
|
|||
|
|
-{
|
|||
|
|
+SpinBox:pressed {
|
|||
|
|
Background: $widget_background_active;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
-SpinBox:disabled
|
|||
|
|
-{
|
|||
|
|
+SpinBox:disabled {
|
|||
|
|
Background: $widget_background_insensitive;
|
|||
|
|
Border: $widget_border_insensitive;
|
|||
|
|
SignColor: $widget_foreground_insensitive;
|
|||
|
|
diff --git a/style/src/style.cpp b/style/src/style.cpp
|
|||
|
|
index fa0741b..01ca5e8 100644
|
|||
|
|
--- a/style/src/style.cpp
|
|||
|
|
+++ b/style/src/style.cpp
|
|||
|
|
@@ -64,7 +64,7 @@ QDebug operator<<(QDebug dbg, const QColor &color)
|
|||
|
|
|
|||
|
|
using namespace Kiran;
|
|||
|
|
|
|||
|
|
-//FIXME:为什么加入namespace,导致crash
|
|||
|
|
+//FIXME:由于kiran-widgets-qt5之前包含的Kiran::Style重名导致现在暂时不能加入Kiran命名控件,否则将引起崩溃
|
|||
|
|
Style::Style()
|
|||
|
|
: ParentStyle()
|
|||
|
|
{
|
|||
|
|
--
|
|||
|
|
2.33.0
|
|||
|
|
|