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
|
||
|