From 94fd430c061680acada39cb297d0b8d164db1f4e Mon Sep 17 00:00:00 2001 From: Le Tan Date: Sat, 13 Oct 2018 12:33:19 +0800 Subject: [PATCH] style: add style for QSlider --- .../themes/v_detorte/v_detorte.palette | 8 +- src/resources/themes/v_detorte/v_detorte.qss | 83 +++++++++++++++---- .../themes/v_moonlight/v_moonlight.palette | 8 +- .../themes/v_moonlight/v_moonlight.qss | 83 +++++++++++++++---- src/resources/themes/v_pure/v_pure.palette | 8 +- src/resources/themes/v_pure/v_pure.qss | 83 +++++++++++++++---- src/vpalette.cpp | 9 +- 7 files changed, 227 insertions(+), 55 deletions(-) diff --git a/src/resources/themes/v_detorte/v_detorte.palette b/src/resources/themes/v_detorte/v_detorte.palette index c040ac8e..5d176624 100644 --- a/src/resources/themes/v_detorte/v_detorte.palette +++ b/src/resources/themes/v_detorte/v_detorte.palette @@ -9,7 +9,7 @@ mdhl_file=v_detorte.mdhl css_file=v_detorte.css codeblock_css_file=v_detorte_codeblock.css mermaid_css_file=v_detorte_mermaid.css -version=10 +version=11 ; This mapping will be used to translate colors when the content of HTML is copied ; without background. You could just specify the foreground colors mapping here. @@ -386,3 +386,9 @@ doublerowitem_second_row_label_fg=#9E9E9E ; GroupBox. groupbox_border=@border_bg groupbox_title_fg=@base_fg + +; Slider. +slider_border_bg=@border_bg +slider_groove_bg=@edit_bg +slider_handle_bg=@master_bg +slider_subpage_bg=@master_dark_bg diff --git a/src/resources/themes/v_detorte/v_detorte.qss b/src/resources/themes/v_detorte/v_detorte.qss index 5d9ae6cc..317e55a5 100644 --- a/src/resources/themes/v_detorte/v_detorte.qss +++ b/src/resources/themes/v_detorte/v_detorte.qss @@ -1359,6 +1359,73 @@ QProgressBar::chunk { } /* End QProgressBar */ +/* QGroupBox */ +QGroupBox { + border: 2px solid @groupbox_border; + border-radius: 5px; + margin-top: 2ex; +} + +QGroupBox::title { + color: @groupbox_title_fg; + subcontrol-origin: margin; + subcontrol-position: top left; + position: absolute; + padding: 0 $3px; + top: 0px; left: $10px; bottom: 0px; +} +/* End QGroupBox */ + +/* QSlider */ +QSlider::groove:horizontal { + border: $1px solid @slider_border_bg; + height: $8px; + background: @slider_groove_bg; + margin: $2px 0; +} + +QSlider::handle:horizontal { + border: $1px solid @slider_border_bg; + background: @slider_handle_bg; + width: $18px; + margin: $-2px 0; +} + +QSlider::add-page:horizontal { + background: transparent; +} + +QSlider::sub-page:horizontal { + border: $1px solid @slider_border_bg; + background: @slider_subpage_bg; + margin: $2px 0; +} + +QSlider::groove:vertical { + border: $1px solid @slider_border_bg; + width: $8px; + background: @slider_groove_bg; + margin: 0 $2px; +} + +QSlider::handle:vertical { + border: $1px solid @slider_border_bg; + background: @slider_handle_bg; + height: $18px; + margin: 0 $-2px; +} + +QSlider::add-page:vertical { + background: transparent; +} + +QSlider::sub-page:vertical { + border: $1px solid @slider_border_bg; + background: @slider_subpage_bg; + margin: 0 $2px; +} +/* End QSlider */ + /* QWidget */ QWidget#FindReplaceTitleWidget { background: @title_bg; @@ -1392,19 +1459,3 @@ VUniversalEntry { border: 1px solid @universalentry_border_bg; } /* End QWidget */ - -/* QGroupBox */ -QGroupBox { - border: 2px solid @groupbox_border; - border-radius: 5px; - margin-top: 2ex; -} - -QGroupBox::title { - color: @groupbox_title_fg; - subcontrol-origin: margin; - subcontrol-position: top left; - position: absolute; - padding: 0 $3px; - top: 0px; left: $10px; bottom: 0px; -} diff --git a/src/resources/themes/v_moonlight/v_moonlight.palette b/src/resources/themes/v_moonlight/v_moonlight.palette index 1dc1d9d2..d466c3d1 100644 --- a/src/resources/themes/v_moonlight/v_moonlight.palette +++ b/src/resources/themes/v_moonlight/v_moonlight.palette @@ -7,7 +7,7 @@ mdhl_file=v_moonlight.mdhl css_file=v_moonlight.css codeblock_css_file=v_moonlight_codeblock.css mermaid_css_file=v_moonlight_mermaid.css -version=21 +version=22 ; This mapping will be used to translate colors when the content of HTML is copied ; without background. You could just specify the foreground colors mapping here. @@ -384,3 +384,9 @@ doublerowitem_second_row_label_fg=#808080 ; GroupBox. groupbox_border=@border_bg groupbox_title_fg=@base_fg + +; Slider. +slider_border_bg=@border_bg +slider_groove_bg=@edit_bg +slider_handle_bg=@master_bg +slider_subpage_bg=@master_dark_bg diff --git a/src/resources/themes/v_moonlight/v_moonlight.qss b/src/resources/themes/v_moonlight/v_moonlight.qss index ade1814f..df584e5c 100644 --- a/src/resources/themes/v_moonlight/v_moonlight.qss +++ b/src/resources/themes/v_moonlight/v_moonlight.qss @@ -1359,6 +1359,73 @@ QProgressBar::chunk { } /* End QProgressBar */ +/* QGroupBox */ +QGroupBox { + border: 2px solid @groupbox_border; + border-radius: 5px; + margin-top: 2ex; +} + +QGroupBox::title { + color: @groupbox_title_fg; + subcontrol-origin: margin; + subcontrol-position: top left; + position: absolute; + padding: 0 $3px; + top: 0px; left: $10px; bottom: 0px; +} +/* End QGroupBox */ + +/* QSlider */ +QSlider::groove:horizontal { + border: $1px solid @slider_border_bg; + height: $8px; + background: @slider_groove_bg; + margin: $2px 0; +} + +QSlider::handle:horizontal { + border: $1px solid @slider_border_bg; + background: @slider_handle_bg; + width: $18px; + margin: $-2px 0; +} + +QSlider::add-page:horizontal { + background: transparent; +} + +QSlider::sub-page:horizontal { + border: $1px solid @slider_border_bg; + background: @slider_subpage_bg; + margin: $2px 0; +} + +QSlider::groove:vertical { + border: $1px solid @slider_border_bg; + width: $8px; + background: @slider_groove_bg; + margin: 0 $2px; +} + +QSlider::handle:vertical { + border: $1px solid @slider_border_bg; + background: @slider_handle_bg; + height: $18px; + margin: 0 $-2px; +} + +QSlider::add-page:vertical { + background: transparent; +} + +QSlider::sub-page:vertical { + border: $1px solid @slider_border_bg; + background: @slider_subpage_bg; + margin: 0 $2px; +} +/* End QSlider */ + /* QWidget */ QWidget#FindReplaceTitleWidget { background: @title_bg; @@ -1392,19 +1459,3 @@ VUniversalEntry { border: 1px solid @universalentry_border_bg; } /* End QWidget */ - -/* QGroupBox */ -QGroupBox { - border: 2px solid @groupbox_border; - border-radius: 5px; - margin-top: 2ex; -} - -QGroupBox::title { - color: @groupbox_title_fg; - subcontrol-origin: margin; - subcontrol-position: top left; - position: absolute; - padding: 0 $3px; - top: 0px; left: $10px; bottom: 0px; -} diff --git a/src/resources/themes/v_pure/v_pure.palette b/src/resources/themes/v_pure/v_pure.palette index 0e8ac9e1..b514f0f9 100644 --- a/src/resources/themes/v_pure/v_pure.palette +++ b/src/resources/themes/v_pure/v_pure.palette @@ -7,7 +7,7 @@ mdhl_file=v_pure.mdhl css_file=v_pure.css codeblock_css_file=v_pure_codeblock.css mermaid_css_file=v_pure_mermaid.css -version=21 +version=22 [phony] ; Abstract color attributes. @@ -377,3 +377,9 @@ doublerowitem_second_row_label_fg=#6C6C6C ; GroupBox. groupbox_border=@border_bg groupbox_title_fg=@base_fg + +; Slider. +slider_border_bg=@border_bg +slider_groove_bg=@edit_bg +slider_handle_bg=@master_bg +slider_subpage_bg=@master_light_bg diff --git a/src/resources/themes/v_pure/v_pure.qss b/src/resources/themes/v_pure/v_pure.qss index a8f15da0..de486a3f 100644 --- a/src/resources/themes/v_pure/v_pure.qss +++ b/src/resources/themes/v_pure/v_pure.qss @@ -1358,6 +1358,73 @@ QProgressBar::chunk { } /* End QProgressBar */ +/* QGroupBox */ +QGroupBox { + border: 2px solid @groupbox_border; + border-radius: 5px; + margin-top: 2ex; +} + +QGroupBox::title { + color: @groupbox_title_fg; + subcontrol-origin: margin; + subcontrol-position: top left; + position: absolute; + padding: 0 $3px; + top: 0px; left: $10px; bottom: 0px; +} +/* End QGroupBox */ + +/* QSlider */ +QSlider::groove:horizontal { + border: $1px solid @slider_border_bg; + height: $8px; + background: @slider_groove_bg; + margin: $2px 0; +} + +QSlider::handle:horizontal { + border: $1px solid @slider_border_bg; + background: @slider_handle_bg; + width: $18px; + margin: $-2px 0; +} + +QSlider::add-page:horizontal { + background: transparent; +} + +QSlider::sub-page:horizontal { + border: $1px solid @slider_border_bg; + background: @slider_subpage_bg; + margin: $2px 0; +} + +QSlider::groove:vertical { + border: $1px solid @slider_border_bg; + width: $8px; + background: @slider_groove_bg; + margin: 0 $2px; +} + +QSlider::handle:vertical { + border: $1px solid @slider_border_bg; + background: @slider_handle_bg; + height: $18px; + margin: 0 $-2px; +} + +QSlider::add-page:vertical { + background: transparent; +} + +QSlider::sub-page:vertical { + border: $1px solid @slider_border_bg; + background: @slider_subpage_bg; + margin: 0 $2px; +} +/* End QSlider */ + /* QWidget */ QWidget#FindReplaceTitleWidget { background: @title_bg; @@ -1391,19 +1458,3 @@ VUniversalEntry { border: 1px solid @universalentry_border_bg; } /* End QWidget */ - -/* QGroupBox */ -QGroupBox { - border: 2px solid @groupbox_border; - border-radius: 5px; - margin-top: 2ex; -} - -QGroupBox::title { - color: @groupbox_title_fg; - subcontrol-origin: margin; - subcontrol-position: top left; - position: absolute; - padding: 0 $3px; - top: 0px; left: $10px; bottom: 0px; -} diff --git a/src/vpalette.cpp b/src/vpalette.cpp index 747e81c9..49c208c7 100644 --- a/src/vpalette.cpp +++ b/src/vpalette.cpp @@ -308,8 +308,9 @@ void VPalette::fillFontFamily(QString &p_text) const void VPalette::fillScaledSize(QString &p_text) const { - // Cap(2) is the number string. - QRegExp reg("(\\s|:)\\$(\\d+)(?=\\D)"); + // Cap(2) is the sign. + // Cap(3) is the number string. + QRegExp reg("(\\s|:)\\$([+-]?)(\\d+)(?=\\D)"); const qreal factor = VUtils::calculateScaleFactor(); int pos = 0; @@ -319,7 +320,7 @@ void VPalette::fillScaledSize(QString &p_text) const break; } - QString str = reg.cap(2); + QString str = reg.cap(3); bool ok; int val = str.toInt(&ok); if (!ok) { @@ -328,7 +329,7 @@ void VPalette::fillScaledSize(QString &p_text) const } val = val * factor + 0.5; - QString newStr = QString("%1%2").arg(reg.cap(1)).arg(val); + QString newStr = QString("%1%2%3").arg(reg.cap(1)).arg(reg.cap(2)).arg(val); p_text.replace(idx, reg.matchedLength(), newStr); pos = idx + newStr.size(); }