diff --git a/src/resources/themes/v_moonlight/arrow_dropdown.svg b/src/resources/themes/v_moonlight/arrow_dropdown.svg new file mode 100644 index 00000000..b831fa00 --- /dev/null +++ b/src/resources/themes/v_moonlight/arrow_dropdown.svg @@ -0,0 +1,9 @@ + + + + + + + + diff --git a/src/resources/themes/v_moonlight/branch_closed.svg b/src/resources/themes/v_moonlight/branch_closed.svg new file mode 100644 index 00000000..796782cb --- /dev/null +++ b/src/resources/themes/v_moonlight/branch_closed.svg @@ -0,0 +1,8 @@ + + + Layer 1 + + + + + diff --git a/src/resources/themes/v_moonlight/branch_open.svg b/src/resources/themes/v_moonlight/branch_open.svg new file mode 100644 index 00000000..3212fbf9 --- /dev/null +++ b/src/resources/themes/v_moonlight/branch_open.svg @@ -0,0 +1,8 @@ + + + Layer 1 + + + + + diff --git a/src/resources/themes/v_moonlight/checkbox_checked.svg b/src/resources/themes/v_moonlight/checkbox_checked.svg new file mode 100644 index 00000000..6efbccc4 --- /dev/null +++ b/src/resources/themes/v_moonlight/checkbox_checked.svg @@ -0,0 +1,7 @@ + + + Layer 1 + + + + diff --git a/src/resources/themes/v_moonlight/checkbox_unchecked.svg b/src/resources/themes/v_moonlight/checkbox_unchecked.svg new file mode 100644 index 00000000..c9a55295 --- /dev/null +++ b/src/resources/themes/v_moonlight/checkbox_unchecked.svg @@ -0,0 +1,6 @@ + + + Layer 1 + + + diff --git a/src/resources/themes/v_moonlight/close.svg b/src/resources/themes/v_moonlight/close.svg new file mode 100644 index 00000000..2ff42f1a --- /dev/null +++ b/src/resources/themes/v_moonlight/close.svg @@ -0,0 +1,10 @@ + + + + + + diff --git a/src/resources/themes/v_moonlight/close_grey.svg b/src/resources/themes/v_moonlight/close_grey.svg new file mode 100644 index 00000000..0e2cd92c --- /dev/null +++ b/src/resources/themes/v_moonlight/close_grey.svg @@ -0,0 +1,10 @@ + + + + + + diff --git a/src/resources/themes/v_moonlight/down.svg b/src/resources/themes/v_moonlight/down.svg new file mode 100644 index 00000000..56f2a45d --- /dev/null +++ b/src/resources/themes/v_moonlight/down.svg @@ -0,0 +1,8 @@ + + + Layer 1 + + + + + diff --git a/src/resources/themes/v_moonlight/down_disabled.svg b/src/resources/themes/v_moonlight/down_disabled.svg new file mode 100644 index 00000000..e6cb5fa8 --- /dev/null +++ b/src/resources/themes/v_moonlight/down_disabled.svg @@ -0,0 +1,8 @@ + + + Layer 1 + + + + + diff --git a/src/resources/themes/v_moonlight/float.svg b/src/resources/themes/v_moonlight/float.svg new file mode 100644 index 00000000..28cc666a --- /dev/null +++ b/src/resources/themes/v_moonlight/float.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + diff --git a/src/resources/themes/v_moonlight/left.svg b/src/resources/themes/v_moonlight/left.svg new file mode 100644 index 00000000..0e339476 --- /dev/null +++ b/src/resources/themes/v_moonlight/left.svg @@ -0,0 +1,8 @@ + + + Layer 1 + + + + + diff --git a/src/resources/themes/v_moonlight/left_disabled.svg b/src/resources/themes/v_moonlight/left_disabled.svg new file mode 100644 index 00000000..fd4937e8 --- /dev/null +++ b/src/resources/themes/v_moonlight/left_disabled.svg @@ -0,0 +1,8 @@ + + + Layer 1 + + + + + diff --git a/src/resources/themes/v_moonlight/menu_checkbox.svg b/src/resources/themes/v_moonlight/menu_checkbox.svg new file mode 100644 index 00000000..3acab8ad --- /dev/null +++ b/src/resources/themes/v_moonlight/menu_checkbox.svg @@ -0,0 +1,6 @@ + + + Layer 1 + + + diff --git a/src/resources/themes/v_moonlight/menu_radiobutton.svg b/src/resources/themes/v_moonlight/menu_radiobutton.svg new file mode 100644 index 00000000..fcb32f20 --- /dev/null +++ b/src/resources/themes/v_moonlight/menu_radiobutton.svg @@ -0,0 +1,6 @@ + + + Layer 1 + + + diff --git a/src/resources/themes/v_moonlight/radiobutton_checked.svg b/src/resources/themes/v_moonlight/radiobutton_checked.svg new file mode 100644 index 00000000..50642a94 --- /dev/null +++ b/src/resources/themes/v_moonlight/radiobutton_checked.svg @@ -0,0 +1,7 @@ + + + Layer 1 + + + + diff --git a/src/resources/themes/v_moonlight/radiobutton_unchecked.svg b/src/resources/themes/v_moonlight/radiobutton_unchecked.svg new file mode 100644 index 00000000..eccd8165 --- /dev/null +++ b/src/resources/themes/v_moonlight/radiobutton_unchecked.svg @@ -0,0 +1,6 @@ + + + Layer 1 + + + diff --git a/src/resources/themes/v_moonlight/right.svg b/src/resources/themes/v_moonlight/right.svg new file mode 100644 index 00000000..796782cb --- /dev/null +++ b/src/resources/themes/v_moonlight/right.svg @@ -0,0 +1,8 @@ + + + Layer 1 + + + + + diff --git a/src/resources/themes/v_moonlight/right_disabled.svg b/src/resources/themes/v_moonlight/right_disabled.svg new file mode 100644 index 00000000..175f2ff3 --- /dev/null +++ b/src/resources/themes/v_moonlight/right_disabled.svg @@ -0,0 +1,8 @@ + + + Layer 1 + + + + + diff --git a/src/resources/themes/v_moonlight/up.svg b/src/resources/themes/v_moonlight/up.svg new file mode 100644 index 00000000..cb37cc73 --- /dev/null +++ b/src/resources/themes/v_moonlight/up.svg @@ -0,0 +1,8 @@ + + + Layer 1 + + + + + diff --git a/src/resources/themes/v_moonlight/up_disabled.svg b/src/resources/themes/v_moonlight/up_disabled.svg new file mode 100644 index 00000000..68f1d067 --- /dev/null +++ b/src/resources/themes/v_moonlight/up_disabled.svg @@ -0,0 +1,8 @@ + + + Layer 1 + + + + + diff --git a/src/resources/themes/v_moonlight/v_moonlight.css b/src/resources/themes/v_moonlight/v_moonlight.css new file mode 100644 index 00000000..ec81d9c8 --- /dev/null +++ b/src/resources/themes/v_moonlight/v_moonlight.css @@ -0,0 +1,296 @@ +body { + margin: 0 auto; + font-family: Helvetica, sans-serif, Tahoma, Arial, Verdana, Geneva, Georgia, Palatino, "Times New Roman", "Hiragino Sans GB", "冬青黑体", "Microsoft YaHei", "微软雅黑", "Microsoft YaHei UI", "WenQuanYi Micro Hei", "文泉驿雅黑", Dengxian, "等线体", STXihei, "华文细黑", "Liberation Sans", "Droid Sans", NSimSun, "新宋体", SimSun, "宋体"; + color: #ABB2BF; + line-height: 1; + padding: 30px; + background: #282C34; +} + +h1, h2, h3, h4, h5, h6 { + color: #E06C75; + font-weight: bold; + margin-bottom: 24px; + padding: 0; +} + +p { + padding: 0; +} + +h1 { + font-size: 36px; +} + +h2 { + font-size: 30px; +} + +h3 { + font-size: 26px; +} + +h4 { + font-size: 22px; +} + +h5 { + font-size: 20px; +} + +h6 { + font-size: 18px; +} + +a { + color: #61AFEF; + margin: 0; + padding: 0; + vertical-align: baseline; + text-decoration: none; +} + +a:hover { + text-decoration: underline; +} + +a:visited { + color: purple; +} + +ul, ol { + padding: 0; + padding-left: 24px; +} + +li { + line-height: 24px; +} + +li ul, li ul { + margin-left: 24px; +} + +p, ul, ol { + font-size: 16px; + line-height: 24px; +} + +pre { + display: block; + overflow-y: hidden; + overflow-x: auto; +} + +code { + font-family: Consolas, Monaco, Andale Mono, Monospace, Courier New; + line-height: 1.5; + font-size: 14px; + color: #98C379; +} + +pre code { + margin: 0; + padding: 0; + border: none; + color: #98C379; +} + +aside { + display: block; + float: right; + width: 390px; +} + +blockquote { + color: #5C6370; + border-left:.5em solid #5C6370; + padding: 0 2em; + margin-left:0; +} + +blockquote p { + color: #5C6370; +} + +hr { + display: block; + text-align: left; + margin: 1em 0; + border: none; + height: 2px; + background: #373E47; +} + +table { + padding: 0; + border-collapse: collapse; +} + +table tr { + border-top: 1px solid #373E47; + margin: 0; + padding: 0; +} + +table tr th { + font-weight: bold; + border: 1px solid #373E47; + margin: 0; + padding: 6px 13px; +} + +table tr td { + border: 1px solid #373E47; + margin: 0; + padding: 6px 13px; +} + +table tr th :first-child, table tr td :first-child { + margin-top: 0; +} + +table tr th :last-child, table tr td :last-child { + margin-bottom: 0; +} + +div.mermaid-diagram { + overflow-y: hidden; + background: #7D879B; + color: #6C6C6C; +} + +pre.mermaid-diagram { + overflow-y: hidden; +} + +div.flowchart-diagram { + overflow-y: hidden; + background: #7D879B; + color: #6C6C6C; +} + +pre.flowchart-diagram { + overflow-y: hidden; +} + +.img-package { + text-align: center; +} + +img.img-center { + display: block; + margin-left: auto; + margin-right: auto; +} + +div.img-caption { + min-width: 20%; + max-width: 80%; + display: inline-block; + padding: 10px; + margin: 0 auto; + border-bottom: 1px solid #373E47; + color: #ABB2BF; + text-align: center; + line-height: 1.5; +} + +/* For Highlight.js Line Number */ +table.hljs-ln tr { + border: none; + background-color: transparent; +} + +table.hljs-ln tr td { + border: none; + background-color: transparent; +} + +table.hljs-ln tr td.hljs-ln-numbers { + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + + text-align: center; + color: #5C6370; + border-right: 1px solid #373E47; + vertical-align: top; + padding-right: 5px; +} + +table.hljs-ln tr td.hljs-ln-code { + padding-left: 10px; +} + +::-webkit-scrollbar { + background-color: #21252B; + width: 14px; + height: 14px; + border: none; +} + +::-webkit-scrollbar-corner { + background-color: #21252B; +} + +::-webkit-scrollbar-button { + /* This selector affects the styling of both the up & down and left & right buttons of a scrollbar */ + height: 14px; + width: 14px; + background-color: #21252B; +} + +::-webkit-scrollbar-button:hover { + background-color: #424A56; +} + +::-webkit-scrollbar-button:active { + background-color: #31363F; +} + +::-webkit-scrollbar-track { + /* This selector affects the styling of the area in the scrollbar between the two buttons */ + background-color: #21252B; +} + +::-webkit-scrollbar-thumb { + /* This selector affects the styling of draggable element of the scollbar */ + border: none; + background-color: #353B45; +} + +::-webkit-scrollbar-thumb:hover { + background-color: #424A56; +} + +::-webkit-scrollbar-thumb:active { + background-color: #31363F; +} + +::-webkit-scrollbar-button:horizontal:increment { + background-image: url(right.svg); + background-repeat: no-repeat; + background-size: contain; +} + +::-webkit-scrollbar-button:horizontal:decrement { + background-image: url(left.svg); + background-repeat: no-repeat; + background-size: contain; +} + +::-webkit-scrollbar-button:vertical:increment { + background-image: url(down.svg); + background-repeat: no-repeat; + background-size: contain; +} + +::-webkit-scrollbar-button:vertical:decrement { + background-image: url(up.svg); + background-repeat: no-repeat; + background-size: contain; +} diff --git a/src/resources/themes/v_moonlight/v_moonlight.mdhl b/src/resources/themes/v_moonlight/v_moonlight.mdhl new file mode 100644 index 00000000..e5cdcefc --- /dev/null +++ b/src/resources/themes/v_moonlight/v_moonlight.mdhl @@ -0,0 +1,172 @@ +# This is the default markdown styles used for Peg-Markdown-Highlight +# created by Le Tan(tamlokveer@gmail.com). +# For a complete description of the syntax, please refer to the original +# documentation of the style parser +# [The Syntax of PEG Markdown Highlight Stylesheets](http://hasseg.org/peg-markdown-highlight/docs/stylesheet_syntax.html). +# VNote adds some styles in the syntax which will be marked [VNote] in the comment. +# +# Note: Empty lines within a section is NOT allowed. +# Note: Do NOT modify this file directly. Copy it and tune your own style! + +editor +# QTextEdit just choose the first available font, so specify the Chinese fonts first +# Do not use "" to quote the name +font-family: Hiragino Sans GB, 冬青黑体, Microsoft YaHei, 微软雅黑, Microsoft YaHei UI, WenQuanYi Micro Hei, 文泉驿雅黑, Dengxian, 等线体, STXihei, 华文细黑, Liberation Sans, Droid Sans, NSimSun, 新宋体, SimSun, 宋体, Helvetica, sans-serif, Tahoma, Arial, Verdana, Geneva, Georgia, Times New Roman +font-size: 12 +foreground: abb2bf +background: 282c34 +# [VNote] Style for trailing space +trailing-space: 636d81 +# [VNote] Style for line number +line-number-background: 2c313a +line-number-foreground: 5c6370 +# [VNote] Style for selected word highlight +selected-word-background: 454bb2 +# [VNote] Style for searched word highlight +searched-word-background: 424956 +# [VNote] Style for searched word under cursor highlight +searched-word-cursor-background: 596173 +# [VNote] Style for incremental searched word highlight +incremental-searched-word-background: 596173 +# [VNote] Style for color column in fenced code block +color-column-background: c9302c +color-column-foreground: eeeeee +# [VNote} Style for preview image line +preview-image-line-foreground: 6f5799 + +editor-selection +foreground: abb2bf +background: 3e4451 + +editor-current-line +background: 353d49 +# [VNote] Vim insert mode cursor line background +vim-insert-background: 353d49 +# [VNote] Vim normal mode cursor line background +vim-normal-background: 373c47 +# [VNote] Vim visual mode cursor line background +vim-visual-background: 105fa2 +# [VNote] Vim replace mode cursor line background +vim-replace-background: 2f3377 + +H1 +foreground: e06c75 +font-style: bold +font-size: +8 + +H2 +foreground: e06c75 +font-style: bold +font-size: +6 + +H3 +foreground: e06c75 +font-style: bold +font-size: +4 + +H4 +foreground: e06c75 +font-style: bold +font-size: +2 + +H5 +foreground: e06c75 +font-style: bold +font-size: +2 + +H6 +foreground: e06c75 +font-style: bold +font-size: +2 + +HRULE +foreground: 8b90f3 + +LIST_BULLET +foreground: e06c75 +font-style: bold +font-size: +2 + +LIST_ENUMERATOR +foreground: e06c75 + +LINK +foreground: 61afef +font-style: underlined + +AUTO_LINK_URL +foreground: 61afef +font-style: underlined + +AUTO_LINK_EMAIL +foreground: 61afef +font-style: underlined + +IMAGE +foreground: 4883b3 + +REFERENCE +foreground: 56b6c2 + +CODE +foreground: 98c379 +font-family: Consolas, Monaco, Andale Mono, Monospace, Courier New + +EMPH +font-style: italic + +STRONG +font-style: bold + +HTML_ENTITY +foreground: abb2bf + +COMMENT +foreground: 5c6370 + +VERBATIM +foreground: 98c379 +font-family: Consolas, Monaco, Andale Mono, Monospace, Courier New +# [VNote] Codeblock sylte from HighlightJS (bold, italic, underlined, color) +# The last occurence of the same attribute takes effect +# Could specify multiple attribute in one line +hljs-comment: 5c6370 +hljs-quote: 5c6370 +hljs-doctag: c678dd +hljs-keyword: c678dd +hljs-formula: c678dd +hljs-section: e06c75 +hljs-name: e06c75 +hljs-selector-tag: e06c75 +hljs-deletion: e06c75 +hljs-subst: e06c75 +hljs-literal: 56b6c2 +hljs-string: 98c379 +hljs-regexp: 98c379 +hljs-addition: 98c379 +hljs-attribute: 98c379 +hljs-meta-string: 98c379 +hljs-built_in: e6c07b +hljs-class: e6c07b +hljs-attr: d19a66 +hljs-variable: d19a66 +hljs-template-variable: d19a66 +hljs-type: d19a66 +hljs-selector-class: d19a66 +hljs-selector-attr: d19a66 +hljs-selector-pseudo: d19a66 +hljs-number: d19a66 +hljs-symbol: 61aeee +hljs-link: underlined, 61aeee +hljs-bullet: 61aeee +hljs-meta: 61aeee +hljs-selector-id: 61aeee +hljs-title: bold, 61aeee +hljs-emphasis: italic +hljs-strong: bold + +BLOCKQUOTE +foreground: 5c6370 + +STRIKE +strike-color: 586e75 diff --git a/src/resources/themes/v_moonlight/v_moonlight.palette b/src/resources/themes/v_moonlight/v_moonlight.palette new file mode 100644 index 00000000..2373a66c --- /dev/null +++ b/src/resources/themes/v_moonlight/v_moonlight.palette @@ -0,0 +1,343 @@ +; File path could be absolute path or relative path (related to this file). +; Use @color_tag to reference a style. + +[metadata] +qss_file=v_moonlight.qss +mdhl_file=v_moonlight.mdhl +css_file=v_moonlight.css +codeblock_css_file=v_moonlight_codeblock.css + +[phony] +; Abstract color attributes. +master_fg=@edit_fg +master_bg=#00695C +master_light_bg=#4DB6AC +master_drak_bg=#004D40 +master_focus_bg=#00796B +master_hover_bg=#00796B +master_pressed_bg=#004D40 + +base_fg=#9DA5B4 +base_bg=#21252B + +main_fg=@base_fg +main_bg=#base_bg + +title_fg=@base_fg +title_bg=@base_bg + +disabled_fg=#4D5765 + +content_fg=@base_fg +content_bg=@base_bg + +border_bg=#181A1F + +separator_bg=#373E47 + +hover_fg=#D7DAE0 +hover_bg=#31363F + +selected_fg=#FFFFFF +selected_bg=#3A3F4B + +active_fg=@selected_fg +active_bg=@selected_bg + +inactive_fg=@hover_fg +inactive_bg=#4D5465 + +focus_fg=@hover_fg +focus_bg=@hover_bg + +pressed_fg=@hover_fg +pressed_bg=#2C303A + +edit_fg=#D7DAE0 +edit_bg=#282C34 +edit_focus_bg=#1B1D23 +edit_focus_border=@master_bg +edit_selection_fg=@edit_fg +edit_selection_bg=#4D5565 + +icon_fg=#9EA5B4 +icon_disabled_fg=@disabled_fg + +danger_fg=#F5F5F5 +danger_bg=#C9302C +danger_focus_bg=#D9534F +danger_hover_bg=#D9534F +danger_pressed_bg=#AC2925 + +[soft_defined] +; VAvatar. +avatar_border_bg=#7D879B +avatar_fg=@base_bg +avatar_bg=@base_fg +; The border background color of the avatar when Captain mode is triggered. +avatar_captain_mode_border_bg=@master_bg + +; Style of the label in Navigation mode. +navigation_label_fg=@master_fg +navigation_label_bg=@master_bg + +; Style of the bubble of VButtonWithWidget. +bubble_fg=@master_fg +bubble_bg=@master_bg + +; Icons' foreground. +danger_icon_fg=@danger_bg +item_icon_fg=@icon_fg +title_icon_fg=@icon_fg + +; VVimIndicator. +vim_indicator_key_label_fg=@base_fg +vim_indicator_mode_label_fg=@base_fg +vim_indicator_cmd_edit_pending_bg=@selected_bg + +; VTabIndicator. +tab_indicator_label_fg=@base_fg + +; Html template. +template_title_flash_light_fg=@master_light_bg +template_title_flash_dark_fg=@master_bg + +[widgets] +; Widget color attributes. + +; QWidget. +widget_fg=@base_fg + +; Separator of dock widgets. +dock_separator_bg=@border_bg +dock_separator_hover_bg=@border_bg + +; Menubar. +menubar_bg=@main_bg +menubar_fg=@main_fg +menubar_item_selected_bg=@selected_bg + +; Menu. +menu_bg=@base_bg +menu_fg=@base_fg +menu_item_disabled_fg=@disabled_fg +menu_item_selected_fg=@selected_fg +menu_item_selected_bg=@selected_bg +menu_separator_bg=@separator_bg +menu_icon_fg=@icon_fg +menu_icon_danger_fg=@danger_icon_fg + +; Tooltip. +tooltip_bg=@master_bg +tooltip_fg=@master_fg + +; Toolbar. +toolbar_bg=@main_bg +toolbar_separator_bg=@separator_bg +toolbutton_hover_bg=@hover_bg +toolbutton_pressed_bg=@pressed_bg +toolbutton_checked_bg=@selected_bg +toolbutton_icon_fg=@icon_fg +toolbutton_icon_danger_fg=@danger_icon_fg + +; Toolbox. +toolbox_icon_fg=@master_bg +toolbox_icon_active_fg=@master_fg +toolbox_title_border=@master_bg + +; Dockwidget. +dockwidget_title_fg=@title_fg +dockwidget_title_bg=@title_bg +dockwidget_button_hover_bg=@hover_bg + +; PushButton. +pushbutton_fg=@base_fg +pushbutton_bg=transparent +pushbutton_border=@border_bg +pushbutton_pressed_bg=@pressed_bg +pushbutton_focus_bg=@focus_bg +pushbutton_checked_bg=@selected_bg +pushbutton_hover_bg=@hover_bg +pushbutton_default_border=@master_bg +pushbutton_disabled_fg=@disabled_fg +pushbutton_disabled_bg=@pushbutton_bg + +pushbutton_specialbtn_fg=@master_fg +pushbutton_specialbtn_bg=@master_bg +pushbutton_specialbtn_focus_bg=@master_focus_bg +pushbutton_specialbtn_hover_bg=@master_hover_bg +pushbutton_specialbtn_checked_bg=@master_focus_bg +pushbutton_specialbtn_pressed_bg=@master_pressed_bg + +pushbutton_cornerbtn_hover_bg=@hover_bg +pushbutton_cornerbtn_focus_bg=@focus_bg +pushbutton_cornerbtn_pressed_bg=@pressed_bg + +pushbutton_statusbtn_hover_bg=@hover_bg +pushbutton_statusbtn_focus_bg=@focus_bg +pushbutton_statusbtn_pressed_bg=@pressed_bg + +pushbutton_flatbtn_hover_bg=@hover_bg +pushbutton_flatbtn_focus_bg=@focus_bg +pushbutton_flatbtn_pressed_bg=@pressed_bg + +pushbutton_selectionbtn_hover_bg=@hover_bg +pushbutton_selectionbtn_focus_bg=@focus_bg +pushbutton_selectionbtn_pressed_bg=@pressed_bg + +pushbutton_titlebtn_bg=@title_bg +pushbutton_titlebtn_hover_bg=@hover_bg +pushbutton_titlebtn_focus_bg=@focus_bg +pushbutton_titlebtn_pressed_bg=@pressed_bg + +pushbutton_dangerbtn_fg=@danger_fg +pushbutton_dangerbtn_bg=@danger_bg +pushbutton_dangerbtn_hover_bg=@danger_hover_bg +pushbutton_dangerbtn_focus_bg=@danger_focus_bg +pushbutton_dangerbtn_pressed_bg=@danger_pressed_bg + +pushbutton_toolboxbtn_active_fg=@master_fg +pushbutton_toolboxbtn_active_bg=@master_bg +pushbutton_toolboxbtn_active_focus_bg=@master_focus_bg +pushbutton_toolboxbtn_active_hover_bg=@master_hover_bg +pushbutton_toolboxbtn_active_pressed_bg=@master_pressed_bg + +button_icon_fg=@icon_fg +button_icon_danger_fg=@danger_icon_fg + +; ComboBox. +combobox_border=@border_bg +combobox_fg=@content_fg +combobox_bg=@content_bg +combobox_view_border=@border_bg +combobox_view_selected_bg=@selected_bg +combobox_view_selected_fg=@selected_fg +combobox_view_item_hover_fg=@hover_fg +combobox_view_item_hover_bg=@hover_bg +combobox_focus_bg=@edit_focus_bg +combobox_focus_border=@edit_focus_border +combobox_item_icon_fg=@item_icon_fg + +combobox_notebookselector_fg=@master_bg +combobox_notebookselector_bg=@combobox_bg +combobox_notebookselector_border=@master_bg +combobox_notebookselector_hover_fg=@master_bg +combobox_notebookselector_hover_bg=@hover_bg +combobox_notebookselector_focus_fg=@master_bg +combobox_notebookselector_focus_bg=@focus_bg + +; Label. +label_fg=@base_fg +label_titlelabel_fg=@title_fg +label_titlelabel_bg=@title_bg + +; LineEdit. +lineedit_border=@border_bg +lineedit_fg=@edit_fg +lineedit_bg=@edit_bg +lineedit_focus_bg=@edit_focus_bg +lineedit_focus_border=@edit_focus_border +lineedit_selection_fg=@edit_selection_fg +lineedit_selection_bg=@edit_selection_bg + +; TabWidget. +tabwidget_pane_border=@selected_bg + +; TabBar. +tabbar_fg=@base_fg +tabbar_bg=@base_bg +tabbar_border=@border_bg + +tabbar_selected_fg=@edit_fg +tabbar_selected_bg=@edit_bg +tabbar_selected_border=@border_bg + +tabbar_hover_fg=@hover_fg +tabbar_hover_bg=@hover_bg + +tabbar_icon_fg=@icon_fg +tabbar_icon_special_fg=@danger_bg + +; SelectorItem. +selectoritem_border=@master_bg +selectoritem_fg=@base_fg +selectoritem_bg=@base_bg + +; InsertSelector. +insertselector_bg=@base_bg + +; TreeView. +treeview_fg=@content_fg +treeview_bg=@content_bg +treeview_item_border_bg=@border_bg +treeview_item_hover_fg=@hover_fg +treeview_item_hover_bg=@hover_bg +treeview_item_selected_fg=@selected_fg +treeview_item_selected_bg=@selected_bg +treeview_item_selected_avtive_fg=@active_fg +treeview_item_selected_avtive_bg=@active_bg +treeview_item_selected_inactive_fg=@inactive_fg +treeview_item_selected_inactive_bg=@inactive_bg +treeview_item_icon_fg=@item_icon_fg + +; ListView. +listview_fg=@content_fg +listview_bg=@content_bg +listview_item_hover_fg=@hover_fg +listview_item_hover_bg=@hover_bg +listview_item_selected_fg=@selected_fg +listview_item_selected_bg=@selected_bg +listview_item_selected_avtive_fg=@active_fg +listview_item_selected_avtive_bg=@active_bg +listview_item_selected_inactive_fg=@inactive_fg +listview_item_selected_inactive_bg=@inactive_bg + +; Splitter. +splitter_handle_bg=@border_bg + +; StatusBar. +statusbar_fg=@main_fg +statusbar_bg=@main_bg +statusbar_border=@border_bg + +; ScrollBar. +scrollbar_bg=@base_bg +scrollbar_page_bg=transparent +scrollbar_handle_bg=#353B45 +scrollbar_handle_hover_bg=#424A56 +scrollbar_handle_pressed_bg=@hover_bg + +; VEditWindow. +editwindow_corner_icon_fg=@master_bg +editwindow_corner_icon_inactive_fg=@icon_fg + +; CheckBox. +checkbox_indicator_hover_bg=@hover_bg +checkbox_indicator_pressed_bg=@pressed_bg + +; RadioButton. +radiobutton_indicator_hover_bg=@hover_bg +radiobutton_indicator_pressed_bg=@pressed_bg + +; SpinBox. +spinbox_fg=@edit_fg +spinbox_bg=@edit_bg +spinbox_border=@border_bg +spinbox_selection_fg=@edit_selection_fg +spinbox_selection_bg=@edit_selection_bg +spinbox_focus_border=@edit_focus_border +spinbox_focus_bg=@edit_focus_bg +spinbox_button_hover_bg=@hover_bg +spinbox_button_pressed_bg=@pressed_bg + +; HeaderView. +headerview_bg=#30333D +headerview_fg=@base_fg +headerview_border=@border_bg +headerview_checked_fg=@selected_fg +headerview_checked_bg=@selected_bg + +; ProgressBar. +progressbar_bg=@edit_bg +progressbar_border_bg=@border_bg +progressbar_chunk_bg=@master_drak_bg diff --git a/src/resources/themes/v_moonlight/v_moonlight.qss b/src/resources/themes/v_moonlight/v_moonlight.qss new file mode 100644 index 00000000..2b9346ba --- /dev/null +++ b/src/resources/themes/v_moonlight/v_moonlight.qss @@ -0,0 +1,1284 @@ +QToolTip +{ + border: none; + background: @tooltip_bg; + color: @tooltip_fg; +} + +/* QWidget */ +QWidget +{ + color: @widget_fg; + font-family: "Hiragino Sans GB", "冬青黑体", "Microsoft YaHei", "微软雅黑", "Microsoft YaHei UI", "WenQuanYi Micro Hei", "文泉驿雅黑", "Dengxian", "等线体", "STXihei", "华文细黑", "Liberation Sans", "Droid Sans", "NSimSun", "新宋体", "SimSun", "宋体", "Helvetica", "sans-serif", "Tahoma", "Arial", "Verdana", "Geneva", "Georgia", "Times New Roman"; +} + +QWidget[NotebookPanel="true"] { + padding-left: 3px; +} + +/* End QWidget */ + +/* QMainWindow */ +QMainWindow { + color: @base_fg; + background: @base_bg; +} + +QMainWindow::separator { + background: @dock_separator_bg; + width: 2px; + height: 2px; +} + +QMainWindow::separator:hover { + background: @dock_separator_hover_bg; +} +/* End QMainWindow */ + +QMenuBar { + border: none; + background: @menubar_bg; + color: @menubar_fg; +} + +QMenuBar::item:selected { + background: @menubar_item_selected_bg; +} + +/* QMenu */ +QMenu { + background: @menu_bg; + color: @menu_fg; + margin: 2px; +} + +QMenu::icon { + margin: 5px; +} + +QMenu::item { + padding: 5px 30px 5px 30px; + border: 1px solid transparent; +} + +QMenu::item:disabled { + color: @menu_item_disabled_fg; +} + +QMenu::item:selected { + color: @menu_item_selected_fg; + background: @menu_item_selected_bg; +} + +QMenu::icon:checked { /* appearance of a 'checked' icon */ + border: 2px solid @menu_fg; +} + +QMenu::separator { + height: 2px; + background: @menu_separator_bg; + margin-left: 10px; + margin-right: 5px; +} + +QMenu::indicator { + width: 20px; + height: 20px; +} + +QMenu::indicator:non-exclusive:unchecked { + image: none; +} + +QMenu::indicator:non-exclusive:checked { + image: url(menu_checkbox.svg); +} + +QMenu::indicator:exclusive:unchecked { + image: none; +} + +QMenu::indicator:exclusive:checked { + image: url(menu_radiobutton.svg); +} +/* End QMenu */ + +QToolBar { + border: none; + background: @toolbar_bg; +} + +QToolBar::separator { + width: 1px; + height: 1px; + border: none; + background: @toolbar_separator_bg; +} + +/* QToolButton */ +QToolButton { + border: none; + background: transparent; + margin: 1px 3px 1px 3px; + padding: 0px; +} + +QToolButton[popupMode="1"] { /* only for MenuButtonPopup */ + padding-right: 16px; /* make way for the popup button */ +} + +QToolButton[popupMode="2"] { /* only for InstantPopup */ + padding-right: 10px; /* make way for the popup button */ +} + +QToolButton:hover { + border:none; + background: @toolbutton_hover_bg; +} + +QToolButton:pressed { + background: @toolbutton_pressed_bg; +} + +QToolButton:checked { + background: @toolbutton_checked_bg; +} + +QToolButton:checked:hover { + background: @toolbutton_hover_bg; +} + +/* the subcontrols below are used only in the MenuButtonPopup mode */ +QToolButton::menu-button { + border: none; + width: 16px; +} + +QToolButton::menu-arrow { + image: url(arrow_dropdown.svg); + width: 16px; + height: 16px; +} +/* End QToolButton*/ + +/* DockWidget */ +QDockWidget { + color: @dockwidget_title_fg; + titlebar-close-icon: url(close.svg); + titlebar-normal-icon: url(float.svg); +} + +QDockWidget::Title { + background: @dockwidget_title_bg; + text-align: center left; +} + +QDockWidget::close-button, QDockWidget::float-button { + border: none; +} + +QDockWidget::close-button:hover, QDockWidget::float-button:hover { + background: @dockwidget_button_hover_bg; +} +/* End DockWidget */ + +/* QPushButton */ +QPushButton { + color: @pushbutton_fg; + background: @pushbutton_bg; + border: 1px solid @pushbutton_border; + padding: 3px; + min-width: 80px; +} + +QPushButton:focus { + background-color: @pushbutton_focus_bg; +} + +QPushButton:pressed { + background-color: @pushbutton_pressed_bg; +} + +QPushButton:checked { + background-color: @pushbutton_checked_bg; +} + +QPushButton:checked:hover { + background-color: @pushbutton_hover_bg; +} + +QPushButton:hover { + background-color: @pushbutton_hover_bg; +} + +QPushButton:flat { + border: none; +} + +QPushButton:default { + border-color: @pushbutton_default_border; +} + +QPushButton:disabled { + color: @pushbutton_disabled_fg; + background-color: @pushbutton_disabled_bg; +} + +QPushButton::menu-indicator { + image: url(arrow_dropdown.svg); + width: 16px; + height: 16px; +} + +QPushButton[SpecialBtn="true"] { + color: @pushbutton_specialbtn_fg; + background: @pushbutton_specialbtn_bg; +} + +QPushButton[SpecialBtn="true"]:focus { + background-color: @pushbutton_specialbtn_focus_bg; +} + +QPushButton[SpecialBtn="true"]:pressed { + background-color: @pushbutton_specialbtn_pressed_bg; +} + +QPushButton[SpecialBtn="true"]:checked { + background-color: @pushbutton_specialbtn_checked_bg; +} + +QPushButton[SpecialBtn="true"]:checked:hover { + background-color: @pushbutton_specialbtn_hover_bg; +} + +QPushButton[SpecialBtn="true"]:hover { + background-color: @pushbutton_specialbtn_hover_bg; +} + +QPushButton[SpecialBtn="true"]:disabled { + color: @pushbutton_disabled_fg; + background-color: @pushbutton_disabled_bg; +} + +QPushButton[CornerBtn="true"] { + padding: 4px -2px 4px -2px; + margin: 0px; + border: none; + background-color: transparent; + min-width: -1; +} + +QPushButton[CornerBtn="true"]::menu-indicator { + image: none; +} + +QPushButton[CornerBtn="true"]:hover { + background-color: @pushbutton_cornerbtn_hover_bg; +} + +QPushButton[CornerBtn="true"]:focus { + background-color: @pushbutton_cornerbtn_focus_bg; +} + +QPushButton[CornerBtn="true"]:pressed { + background-color: @pushbutton_cornerbtn_pressed_bg; +} + +QPushButton[CornerBtn="true"]:disabled { + color: @pushbutton_disabled_fg; + background-color: @pushbutton_disabled_bg; +} + +QPushButton[StatusBtn="true"] { + font: bold; + padding: 0px 2px 0px 2px; + margin: 0px; + border: none; + background-color: transparent; + min-width: -1; +} + +QPushButton[StatusBtn="true"]:hover { + background-color: @pushbutton_statusbtn_hover_bg; +} + +QPushButton[StatusBtn="true"]:focus { + background-color: @pushbutton_statusbtn_focus_bg;; +} + +QPushButton[StatusBtn="true"]:pressed { + background-color: @pushbutton_statusbtn_pressed_bg; +} + +QPushButton[StatusBtn="true"]:disabled { + color: @pushbutton_disabled_fg; + background-color: @pushbutton_disabled_bg; +} + +QPushButton[FlatBtn="true"] { + padding: 4px; + margin: 0px; + border: none; + background-color: transparent; + min-width: -1; +} + +QPushButton[FlatBtn="true"]:hover { + background-color: @pushbutton_flatbtn_hover_bg; +} + +QPushButton[FlatBtn="true"]:focus { + background-color: @pushbutton_flatbtn_focus_bg; +} + +QPushButton[FlatBtn="true"]:pressed { + background-color: @pushbutton_flatbtn_pressed_bg; +} + +QPushButton[FlatBtn="true"]:disabled { + color: @pushbutton_disabled_fg; + background-color: @pushbutton_disabled_bg; +} + +QPushButton[SelectionBtn="true"] { + padding: 4px 10px 4px 10px; + border: none; + background-color: transparent; + font-size: 15pt; + text-align: left; + min-width: -1; +} + +QPushButton[SelectionBtn="true"]:hover { + background-color: @pushbutton_selectionbtn_hover_bg; +} + +QPushButton[SelectionBtn="true"]:focus { + background-color: @pushbutton_selectionbtn_focus_bg; +} + +QPushButton[SelectionBtn="true"]:pressed { + background-color: @pushbutton_selectionbtn_pressed_bg; +} + +QPushButton[SelectionBtn="true"]:disabled { + color: @pushbutton_disabled_fg; + background-color: @pushbutton_disabled_bg; +} + +QPushButton[TitleBtn="true"] { + padding: 4px; + margin: 0px; + border: none; + background-color: @pushbutton_titlebtn_bg; + min-width: -1; +} + +QPushButton[TitleBtn="true"]:hover { + background-color: @pushbutton_titlebtn_hover_bg; +} + +QPushButton[TitleBtn="true"]:focus { + background-color: @pushbutton_titlebtn_focus_bg; +} + +QPushButton[TitleBtn="true"]:pressed { + background-color: @pushbutton_titlebtn_pressed_bg; +} + +QPushButton[TitleBtn="true"]:disabled { + color: @pushbutton_disabled_fg; + background-color: @pushbutton_disabled_bg; +} + +QPushButton[DangerBtn="true"] { + color: @pushbutton_dangerbtn_fg; + border: none; + background-color: @pushbutton_dangerbtn_bg; + min-width: -1; +} + +QPushButton[DangerBtn="true"]:hover { + background-color: @pushbutton_dangerbtn_hover_bg; +} + +QPushButton[DangerBtn="true"]:focus { + background-color: @pushbutton_dangerbtn_focus_bg; +} + +QPushButton[DangerBtn="true"]:pressed { + background-color: @pushbutton_dangerbtn_pressed_bg; +} + +QPushButton[DangerBtn="true"]:disabled { + color: @pushbutton_disabled_fg; + background-color: @pushbutton_disabled_bg; +} + +QPushButton[ToolBoxActiveBtn="true"] { + padding: 4px 10px 4px 4px; + margin: 0px; + border: none; + color: @pushbutton_toolboxbtn_active_fg; + background-color: @pushbutton_toolboxbtn_active_bg; + min-width: -1; +} + +QPushButton[ToolBoxActiveBtn="true"]:focus { + background-color: @pushbutton_toolboxbtn_active_focus_bg; +} + +QPushButton[ToolBoxActiveBtn="true"]:hover { + background-color: @pushbutton_toolboxbtn_active_hover_bg; +} + +QPushButton[ToolBoxActiveBtn="true"]:pressed { + background-color: @pushbutton_toolboxbtn_active_pressed_bg; +} + +QPushButton[ToolBoxActiveBtn="true"]:disabled { + color: @pushbutton_disabled_fg; + background-color: @pushbutton_disabled_bg; +} + +VButtonMenuItem { + padding: 5px; + padding-right: 30px; + border: 1px solid transparent; + background-color: transparent; + min-width: -1; + text-align: left; +} + +VButtonMenuItem[Heading1="true"] { + font-size: 22pt; +} + +VButtonMenuItem[Heading2="true"] { + font-size: 20pt; +} + +VButtonMenuItem[Heading3="true"] { + font-size: 18pt; +} + +VButtonMenuItem[Heading4="true"] { + font-size: 16pt; +} + +VButtonMenuItem[Heading5="true"] { + font-size: 14pt; +} + +VButtonMenuItem[Heading6="true"] { + font-size: 14pt; +} + +VButtonMenuItem:hover { + background-color: @menubar_item_selected_bg; +} + +VButtonMenuItem:focus { + background-color: @menubar_item_selected_bg; +} + +VButtonMenuItem:disabled { + color: @pushbutton_disabled_fg; + background-color: @pushbutton_disabled_bg; +} +/* End QPushButton*/ + +/* QComboBox */ +QComboBox { + padding: 3px; + color: @combobox_fg; + background: @combobox_bg; + border: 1px solid @combobox_border; +} + +QComboBox:focus, QComboBox:on { + background-color: @combobox_focus_bg; + border: 2px solid @combobox_focus_border; +} + +QComboBox::drop-down { + subcontrol-origin: padding; + subcontrol-position: top right; + width: 20px; + border: none; + background: transparent; +} + +QComboBox::down-arrow { + image: url(arrow_dropdown.svg); + width: 20px; + height: 20px; +} + +QComboBox QAbstractItemView { + padding: 2px; + border: 1px solid @combobox_view_border; + background: @combobox_bg; + selection-color: @combobox_view_selected_fg; + selection-background-color: @combobox_view_selected_bg; +} + +QComboBox QAbstractItemView::item { + background: transparent; + padding: 3px; +} + +QComboBox QAbstractItemView::item:hover { + color: @combobox_view_item_hover_fg; + background: @combobox_view_item_hover_bg; +} + +QComboBox#NotebookSelector { + border: none; + border-bottom: 2px solid @combobox_notebookselector_border; + font-size: 13pt; + padding-top: 3px; + padding-bottom: 3px; + icon-size: 30px; + font-weight: bold; + color: @combobox_notebookselector_fg; + background: @combobox_notebookselector_bg; +} + +QComboBox#NotebookSelector::down-arrow { + image: url(arrow_dropdown.svg); + width: 20px; + height: 20px; +} + +QComboBox#NotebookSelector:hover { + color: @combobox_notebookselector_hover_fg; + background: @combobox_notebookselector_hover_bg; +} + +QComboBox#NotebookSelector:focus, QComboBox#NotebookSelector:on { + color: @combobox_notebookselector_focus_fg; + background: @combobox_notebookselector_focus_bg; +} + +QComboBox#NotebookSelector QListWidget { + border: 1px solid @combobox_view_border; + background-color: @combobox_bg; + font-size: 13pt; + font-weight: normal; + icon-size: 30px; +} + +QComboBox#NotebookSelector QListWidget::item { + padding-top: 10px; + padding-bottom: 10px; +} + +QComboBox#NotebookSelector QListWidget::item:hover { + color: @combobox_view_item_hover_fg; + background-color: @combobox_view_item_hover_bg; +} +/* End QComboBox */ + +/* QLabel */ +QLabel { + border: none; + color: @label_fg; + background: transparent; +} + +QLabel[TitleLabel="true"] { + padding-top: 5px; + padding-bottom: 5px; + color: @label_titlelabel_fg; + background-color: @label_titlelabel_bg; +} + +QLabel[ColorRedLabel="true"] { + padding-left: 5px; + padding-right: 5px; + font: bold; + color: white; + border-radius: 2px; + background-color: #D32F2F; +} + +QLabel[ColorGreenLabel="true"] { + padding-left: 5px; + padding-right: 5px; + font: bold; + color: white; + border-radius: 2px; + background-color: #388E3C; +} + +QLabel[ColorGreyLabel="true"] { + padding-left: 5px; + padding-right: 5px; + font: bold; + color: white; + border-radius: 2px; + background-color: #616161; +} + +QLabel[ColorTealLabel="true"] { + padding-left: 5px; + padding-right: 5px; + font: bold; + color: white; + border-radius: 2px; + background-color: #00796B; +} + +QLabel[MenuSeparator="true"] { + padding-top: 5px; + padding-bottom: 5px; + margin-top: 3px; + font: italic; + border-top: 1px solid @menu_separator_bg +} + +VVimIndicator QLabel[VimIndicatorKeyLabel="true"] { + font: bold; + color: @vim_indicator_key_label_fg; + background: transparent; +} + +VVimIndicator QLabel[VimIndicatorModeLabel="true"] { + padding: 0px 2px 0px 2px; + font: bold; + color: @vim_indicator_mode_label_fg; + /* background color will be controlled by the code. */ +} + +VTabIndicator QLabel[TabIndicatorLabel="true"] { + color: @tab_indicator_label_fg; + background: transparent; +} +/* End QLabel */ + +/* QLineEdit */ +QLineEdit { + border: 1px solid @lineedit_border; + padding: 3px; + color: @lineedit_fg; + background: @lineedit_bg; + selection-color: @lineedit_selection_fg; + selection-background-color: @lineedit_selection_bg; +} + +QLineEdit:focus { + border: 2px solid @lineedit_focus_border; + background: @lineedit_focus_bg; +} + +QLineEdit[VimCommandLine="true"] { + padding: 0px; + margin: 0px; + border: none; + color: @lineedit_fg; + background: @lineedit_bg; +} +/* End QLineEdit */ + +/* QPlainTextEdit QTextEdit */ +QPlainTextEdit[LineEdit="true"], QTextEdit[LineEdit="true"] { + border: 1px solid @lineedit_border; + padding: 3px; + color: @lineedit_fg; + background: @lineedit_bg; + selection-color: @lineedit_selection_fg; + selection-background-color: @lineedit_selection_bg; +} + +QPlainTextEdit[LineEdit="true"]:focus, QTextEdit[LineEdit="true"]:focus { + border: 2px solid @lineedit_focus_border; + background: @lineedit_focus_bg; +} +/* End QPlainTextEdit QTextEdit */ + +/* QTabWidget */ +QTabWidget { + border: none; +} + +QTabWidget::pane { + border: none; +} +/* End QTabWidget */ + +/* QTabBar */ +QTabBar::tab { + color: @tabbar_fg; + background: @tabbar_bg; + border: none; + border-top: 2px solid transparent; + border-right: 1px solid @tabbar_border; + padding: 2px; +} + +QTabBar::tab:selected { + color: @tabbar_selected_fg; + background: @tabbar_selected_bg; + border-top: 2px solid @master_bg; +} + +QTabBar::tab:hover { + color: @tabbar_hover_fg; + background: @tabbar_hover_bg; +} + +QTabBar::close-button { + image: url(close_grey.svg); +} + +QTabBar::close-button:hover { + image: url(close.svg); +} + +QTabBar::close-button:focus { + image: url(close.svg); +} + +QTabBar::scroller { + width: 20px; +} + +QTabBar QToolButton { + border: none; +} + +QTabBar QToolButton::right-arrow:enabled { + image: url(right.svg); +} + +QTabBar QToolButton::left-arrow:enabled { + image: url(left.svg); +} + +QTabBar QToolButton::right-arrow:disabled { + image: url(right_disabled.svg); +} + +QTabBar QToolButton::left-arrow:disabled { + image: url(left_disabled.svg); +} +/* End QTabBar */ + +VSelectorItemWidget QLabel[SelectorItemShortcutLabel="true"] { + font: bold; + border: 2px solid @selectoritem_border; + padding: 3px; + border-radius: 5px; + background-color: @selectoritem_bg; + color: @selectoritem_fg; +} + +VInsertSelector { + border: none; + background: @insertselector_bg; +} + +/* QTreeView */ +QTreeView { + color: @treeview_fg; + background: @treeview_bg; + show-decoration-selected: 0; + border: none; + selection-background-color: transparent; + outline: none; +} + +QTreeView::item { + padding-top: 5px; + padding-bottom: 5px; +} + +QTreeView[ItemBorder="true"]::item { + padding-top: 5px; + padding-bottom: 5px; + border-bottom: 1px solid @treeview_item_border_bg; +} + +QTreeView::item:hover { + color: @treeview_item_hover_fg; + background: @treeview_item_hover_bg; +} + +QTreeView::item:selected { + color: @treeview_item_selected_fg; + background: @treeview_item_selected_bg; +} + +QTreeView::item:selected:active { + color: @treeview_item_selected_active_fg; + background: @treeview_item_selected_active_bg; +} + +QTreeView::item:selected:!active { + color: @treeview_item_selected_inactive_fg; + background: @treeview_item_selected_inactive_bg; +} + +QTreeView::branch:has-siblings:!adjoins-item { + border-image: none; +} + +QTreeView::branch:has-siblings:adjoins-item { + border-image: none; +} + +QTreeView::branch:!has-children:!has-siblings:adjoins-item { + border-image: none; +} + +QTreeView::branch:has-children:!has-siblings:closed, +QTreeView::branch:closed:has-children:has-siblings { + border-image: none; + image: url(branch_closed.svg); +} + +QTreeView::branch:open:has-children:!has-siblings, +QTreeView::branch:open:has-children:has-siblings { + border-image: none; + image: url(branch_open.svg); +} + +QTreeView[PlainTree="true"]::branch:has-siblings:!adjoins-item { + border-image: none; +} + +QTreeView[PlainTree="true"]::branch:has-siblings:adjoins-item { + border-image: none; +} + +QTreeView[PlainTree="true"]::branch:!has-children:!has-siblings:adjoins-item { + border-image: none; +} + +QTreeView[PlainTree="true"]::branch:has-children:!has-siblings:closed, +QTreeView[PlainTree="true"]::branch:closed:has-children:has-siblings { + border-image: none; + image: none; +} + +QTreeView[PlainTree="true"]::branch:open:has-children:!has-siblings, +QTreeView[PlainTree="true"]::branch:open:has-children:has-siblings { + border-image: none; + image: none; +} +/* End QTreeView */ + +/* QListView */ +QListView { + color: @listview_fg; + background: @listview_bg; + show-decoration-selected: 0; + border: none; + selection-background-color: transparent; + outline: none; +} + +QListView::item { + padding-top: 5px; + padding-bottom: 5px; +} + +QListView::item:hover { + color: @listview_item_hover_fg; + background: @listview_item_hover_bg; +} + +QListView::item:selected { + color: @listview_item_selected_fg; + background: @listview_item_selected_bg; +} + +QListView::item:selected:active { + color: @listview_item_selected_active_fg; + background: @listview_item_selected_active_bg; +} + +QListView::item:selected:!active { + color: @listview_item_selected_inactive_fg; + background: @listview_item_selected_inactive_bg; +} +/* End QListView */ + +/* QSplitter */ +QSplitter { + border: none; +} + +QSplitter::handle { + background-color: @splitter_handle_bg; +} + +QSplitter::handle:vertical { + height: 2px; +} + +QSplitter::handle:horizontal { + width: 2px; +} + +QSplitter#MainSplitter { + border: none; +} +/* End QSplitter */ + +/* QStatusBar */ +QStatusBar { + color: @statusbar_fg; + background: @statusbar_bg; + border-top: 1px solid @statusbar_border; +} +/* End QStatusBar */ + +QWidget[MainEditor="true"] { + border: none; +} + +QDialog { + color: @base_fg; + background: @base_bg; +} + +/* QScrollBar */ +QScrollBar::add-page, QScrollBar::sub-page { + background: @scrollbar_page_bg; +} + +QScrollBar:vertical { + background: @scrollbar_bg; + width: 16px; + margin: 16px 0px 16px 0px; + padding: 0px 2px 0px 2px; + border: none; +} + +QScrollBar::handle:vertical { + background: @scrollbar_handle_bg; + min-height: 16px; +} + +QScrollBar::handle:vertical:hover { + background: @scrollbar_handle_hover_bg; +} + +QScrollBar::handle:vertical:pressed { + background: @scrollbar_handle_pressed_bg; +} + +QScrollBar::add-line:vertical { + border: none; + background: @scrollbar_bg; + width: 16px; + height: 16px; + subcontrol-position: bottom; + subcontrol-origin: margin; +} + +QScrollBar::add-line:vertical:hover { + background: @scrollbar_handle_hover_bg; +} + +QScrollBar::add-line:vertical:pressed { + background: @scrollbar_handle_pressed_bg; +} + +QScrollBar::sub-line:vertical { + border: none; + background: @scrollbar_bg; + width: 16px; + height: 16px; + subcontrol-position: top; + subcontrol-origin: margin; +} + +QScrollBar::sub-line:vertical:hover { + background: @scrollbar_handle_hover_bg; +} + +QScrollBar::sub-line:vertical:pressed { + background: @scrollbar_handle_pressed_bg; +} + +QScrollBar::down-arrow:vertical { + image: url(down.svg); + width: 16px; + height: 16px; +} + +QScrollBar::up-arrow:vertical { + image: url(up.svg); + width: 16px; + height: 16px; +} + +QScrollBar:horizontal { + background: @scrollbar_bg; + height: 16px; + margin: 0px 16px 0px 16px; + padding: 2px 0px 2px 0px; + border: none; +} + +QScrollBar::handle:horizontal { + background: @scrollbar_handle_bg; + min-width: 16px; +} + +QScrollBar::handle:horizontal:hover { + background: @scrollbar_handle_hover_bg; +} + +QScrollBar::handle:horizontal:pressed { + background: @scrollbar_handle_pressed_bg; +} + +QScrollBar::add-line:horizontal { + border: none; + background: @scrollbar_bg; + width: 16px; + height: 16px; + subcontrol-position: right; + subcontrol-origin: margin; +} + +QScrollBar::add-line:horizontal:hover { + background: @scrollbar_handle_hover_bg; +} + +QScrollBar::add-line:horizontal:pressed { + background: @scrollbar_handle_pressed_bg; +} + +QScrollBar::sub-line:horizontal { + border: none; + background: @scrollbar_bg; + width: 16px; + height: 16px; + subcontrol-position: left; + subcontrol-origin: margin; +} + +QScrollBar::sub-line:horizontal:hover { + background: @scrollbar_handle_hover_bg; +} + +QScrollBar::sub-line:horizontal:pressed { + background: @scrollbar_handle_pressed_bg; +} + +QScrollBar::right-arrow:horizontal { + image: url(right.svg); + width: 16px; + height: 16px; +} + +QScrollBar::left-arrow:horizontal { + image: url(left.svg); + width: 16px; + height: 16px; +} +/* End QScrollBar */ + +/* QCheckBox */ +QCheckBox { + spacing: 5px; +} + +QCheckBox::indicator { + width: 20px; + height: 20px; +} + +QCheckBox::indicator:unchecked { + image: url(checkbox_unchecked.svg); +} + +QCheckBox::indicator:unchecked:hover { + background: @checkbox_indicator_hover_bg; +} + +QCheckBox::indicator:unchecked:pressed { + background: @checkbox_indicator_pressed_bg; +} + +QCheckBox::indicator:checked { + image: url(checkbox_checked.svg); +} + +QCheckBox::indicator:checked:hover { + background: @checkbox_indicator_hover_bg; +} + +QCheckBox::indicator:checked:pressed { + background: @checkbox_indicator_pressed_bg; +} + +QCheckBox::indicator:indeterminate:hover { + background: @checkbox_indicator_hover_bg; +} + +QCheckBox::indicator:indeterminate:pressed { + background: @checkbox_indicator_pressed_bg; +} +/* End QCheckBox */ + +/* QRadioButton */ +QRadioButton { + spacing: 5px; +} + +QRadioButton::indicator { + width: 20px; + height: 20px; +} + +QRadioButton::indicator:unchecked { + image: url(radiobutton_unchecked.svg); +} + +QRadioButton::indicator:unchecked:hover { + background: @radiobutton_indicator_hover_bg; +} + +QRadioButton::indicator:unchecked:pressed { + background: @radiobutton_indicator_pressed_bg; +} + +QRadioButton::indicator:checked { + image: url(radiobutton_checked.svg); +} + +QRadioButton::indicator:checked:hover { + background: @radiobutton_indicator_hover_bg; +} + +QRadioButton::indicator:checked:pressed { + background: @radiobutton_indicator_pressed_bg; +} +/* End QRadioButton */ + +/* QSpinBox */ +QSpinBox, QDoubleSpinBox { + border: 1px solid @spinbox_border; + color: @spinbox_fg; + background: @spinbox_bg; + padding-right: 25px; + min-height: 25px; + selection-color: @spinbox_selection_fg; + selection-background-color: @spinbox_selection_bg; +} + +QSpinBox:focus, QDoubleSpinBox::focus { + border: 2px solid @spinbox_focus_border; + background: @spinbox_focus_bg; +} + +QSpinBox::up-button, QDoubleSpinBox::up-button { + subcontrol-origin: border; + subcontrol-position: top right; /* position at the top right corner */ + width: 25px; + border: none; + background: transparent; +} + +QSpinBox::up-button:hover, QDoubleSpinBox::up-button:hover { + background: @spinbox_button_hover_bg; +} + +QSpinBox::up-button:pressed, QDoubleSpinBox::up-button:pressed { + background: @spinbox_button_pressed_bg; +} + +QSpinBox::up-arrow, QDoubleSpinBox::up-arrow { + image: url(up.svg); + width: 12px; + height: 12px; +} + +QSpinBox::up-arrow:disabled, QSpinBox::up-arrow:off, QDoubleSpinBox::up-arrow:disabled, QDoubleSpinBox::up-arrow:off { + image: url(up_disabled.svg); +} + +QSpinBox::down-button, QDoubleSpinBox::down-button { + subcontrol-origin: border; + subcontrol-position: bottom right; /* position at the top right corner */ + width: 25px; + border: none; + background: transparent; +} + +QSpinBox::down-button:hover, QDoubleSpinBox::down-button:hover { + background: @spinbox_button_hover_bg; +} + +QSpinBox::down-button:pressed, QDoubleSpinBox::down-button:pressed { + background: @spinbox_button_pressed_bg; +} + +QSpinBox::down-arrow, QDoubleSpinBox::down-arrow { + image: url(down.svg); + width: 12px; + height: 12px; +} + +QSpinBox::down-arrow:disabled, QSpinBox::down-arrow:off, QDoubleSpinBox::down-arrow:disabled, QDoubleSpinBox::down-arrow:off { + image: url(down_disabled.svg); +} +/* End QSpinBox */ + +/* QHeaderView */ +QHeaderView::section { + background: @headerview_bg; + color: @headerview_fg; + padding-left: 4px; + border: none; + border-left: 1px solid @headerview_border; + border-bottom: 1px solid @headerview_border; +} + +QHeaderView::section:checked +{ + color: @headerview_checked_fg; + background: @headerview_checked_bg; +} + +/* style the sort indicator */ +QHeaderView::down-arrow { + image: url(down.svg); +} + +QHeaderView::up-arrow { + image: url(up.svg); +} +/* End QHeaderView */ + +QWidget#FindReplaceTitleWidget { + background: @title_bg; +} + +QWidget[ToolBoxTitle="true"] { + border-bottom: 2px solid @toolbox_title_border; +} + +QAbstractScrollArea::corner { + background: @scrollbar_bg; + border: none; +} + +/* QProgressBar */ +QProgressBar { + background: @progressbar_bg; + border: 1px solid @progressbar_border_bg; + text-align: center; +} + +QProgressBar::chunk { + background-color: @progressbar_chunk_bg; + width: 20px; +} +/* End QProgressBar */ diff --git a/src/resources/themes/v_moonlight/v_moonlight_codeblock.css b/src/resources/themes/v_moonlight/v_moonlight_codeblock.css new file mode 100644 index 00000000..5a604e0b --- /dev/null +++ b/src/resources/themes/v_moonlight/v_moonlight_codeblock.css @@ -0,0 +1,96 @@ +/* + +Atom One Dark by Daniel Gamage +Original One Dark Syntax theme from https://github.com/atom/one-dark-syntax + +base: #2c313a +mono-1: #abb2bf +mono-2: #818896 +mono-3: #5c6370 +hue-1: #56b6c2 +hue-2: #61aeee +hue-3: #c678dd +hue-4: #98c379 +hue-5: #e06c75 +hue-5-2: #be5046 +hue-6: #d19a66 +hue-6-2: #e6c07b + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + color: #abb2bf; + background: #2c313a; +} + +.hljs-comment, +.hljs-quote { + color: #5c6370; + font-style: italic; +} + +.hljs-doctag, +.hljs-keyword, +.hljs-formula { + color: #c678dd; +} + +.hljs-section, +.hljs-name, +.hljs-selector-tag, +.hljs-deletion, +.hljs-subst { + color: #e06c75; +} + +.hljs-literal { + color: #56b6c2; +} + +.hljs-string, +.hljs-regexp, +.hljs-addition, +.hljs-attribute, +.hljs-meta-string { + color: #98c379; +} + +.hljs-built_in, +.hljs-class .hljs-title { + color: #e6c07b; +} + +.hljs-attr, +.hljs-variable, +.hljs-template-variable, +.hljs-type, +.hljs-selector-class, +.hljs-selector-attr, +.hljs-selector-pseudo, +.hljs-number { + color: #d19a66; +} + +.hljs-symbol, +.hljs-bullet, +.hljs-link, +.hljs-meta, +.hljs-selector-id, +.hljs-title { + color: #61aeee; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} + +.hljs-link { + text-decoration: underline; +} diff --git a/src/resources/themes/v_pure/arrow_dropdown.svg b/src/resources/themes/v_pure/arrow_dropdown.svg index 55ee520d..8b465de9 100644 --- a/src/resources/themes/v_pure/arrow_dropdown.svg +++ b/src/resources/themes/v_pure/arrow_dropdown.svg @@ -4,6 +4,6 @@ - + diff --git a/src/resources/themes/v_pure/close.svg b/src/resources/themes/v_pure/close.svg index aa6b81c1..26cbf713 100644 --- a/src/resources/themes/v_pure/close.svg +++ b/src/resources/themes/v_pure/close.svg @@ -3,7 +3,7 @@ - diff --git a/src/resources/themes/v_pure/float.svg b/src/resources/themes/v_pure/float.svg index 3c29db9a..e4a198f3 100644 --- a/src/resources/themes/v_pure/float.svg +++ b/src/resources/themes/v_pure/float.svg @@ -4,9 +4,9 @@ - + - + diff --git a/src/resources/themes/v_pure/v_pure.css b/src/resources/themes/v_pure/v_pure.css index ad6340fe..336862e2 100644 --- a/src/resources/themes/v_pure/v_pure.css +++ b/src/resources/themes/v_pure/v_pure.css @@ -77,10 +77,9 @@ p, ul, ol { } pre { - background-color: #f8f8f8; - border-radius: 3px; - border: 1px solid #cccccc; - overflow: auto; + display: block; + overflow-y: hidden; + overflow-x: auto; } code { @@ -94,8 +93,6 @@ pre code { margin: 0; padding: 0; border: none; - background: transparent; - overflow: auto; color: #363636; } @@ -106,29 +103,23 @@ aside { } blockquote { + color: #666; border-left:.5em solid #7a7a7a; padding: 0 2em; margin-left:0; } -blockquote cite { - font-size:14px; - line-height:20px; - color:#bfbfbf; -} - -blockquote cite:before { - content: '\2014 \00A0'; -} - blockquote p { color: #666; } hr { + display: block; text-align: left; margin: 1em 0; - color: #999; + border: none; + height: 2px; + background: #999; } table { diff --git a/src/resources/themes/v_pure/v_pure.palette b/src/resources/themes/v_pure/v_pure.palette index 071b41a8..497a8c55 100644 --- a/src/resources/themes/v_pure/v_pure.palette +++ b/src/resources/themes/v_pure/v_pure.palette @@ -60,6 +60,7 @@ edit_selection_fg=@edit_fg edit_selection_bg=@master_light_bg icon_fg=#222222 +icon_disabled_fg=@disabled_fg danger_fg=#F5F5F5 danger_bg=#C9302C @@ -131,6 +132,7 @@ tooltip_fg=@master_fg ; Toolbar. toolbar_bg=@main_bg +toolbar_separator_bg=@separator_bg toolbutton_hover_bg=@hover_bg toolbutton_pressed_bg=@pressed_bg toolbutton_checked_bg=@selected_bg @@ -256,7 +258,7 @@ tabbar_icon_fg=@icon_fg tabbar_icon_special_fg=@danger_bg ; SelectorItem. -selectoritem_border=@base_fg +selectoritem_border=@master_bg selectoritem_fg=@base_fg selectoritem_bg=@base_bg diff --git a/src/resources/themes/v_pure/v_pure.qss b/src/resources/themes/v_pure/v_pure.qss index bb7cec1c..7ab54906 100644 --- a/src/resources/themes/v_pure/v_pure.qss +++ b/src/resources/themes/v_pure/v_pure.qss @@ -9,6 +9,7 @@ QToolTip QWidget { color: @widget_fg; + font-family: "Hiragino Sans GB", "冬青黑体", "Microsoft YaHei", "微软雅黑", "Microsoft YaHei UI", "WenQuanYi Micro Hei", "文泉驿雅黑", "Dengxian", "等线体", "STXihei", "华文细黑", "Liberation Sans", "Droid Sans", "NSimSun", "新宋体", "SimSun", "宋体", "Helvetica", "sans-serif", "Tahoma", "Arial", "Verdana", "Geneva", "Georgia", "Times New Roman"; } QWidget[NotebookPanel="true"] { @@ -107,6 +108,13 @@ QToolBar { background: @toolbar_bg; } +QToolBar::separator { + width: 1px; + height: 1px; + border: none; + background: @toolbar_separator_bg; +} + /* QToolButton */ QToolButton { border: none; @@ -408,7 +416,7 @@ QPushButton[DangerBtn="true"]:disabled { } QPushButton[ToolBoxActiveBtn="true"] { - padding: 4px; + padding: 4px 10px 4px 4px; margin: 0px; border: none; color: @pushbutton_toolboxbtn_active_fg; diff --git a/src/resources/themes/v_white/v_white.css b/src/resources/themes/v_white/v_white.css index 6b37fb15..2420870c 100644 --- a/src/resources/themes/v_white/v_white.css +++ b/src/resources/themes/v_white/v_white.css @@ -76,10 +76,9 @@ p, ul, ol { } pre { - background-color: #f8f8f8; - border-radius: 3px; - border: 1px solid #cccccc; - overflow: auto; + display: block; + overflow-y: hidden; + overflow-x: auto; } code { @@ -93,8 +92,6 @@ pre code { margin: 0; padding: 0; border: none; - background: transparent; - overflow: auto; color: #363636; } @@ -105,29 +102,23 @@ aside { } blockquote { + color: #666; border-left:.5em solid #7a7a7a; padding: 0 2em; margin-left:0; } -blockquote cite { - font-size:14px; - line-height:20px; - color:#bfbfbf; -} - -blockquote cite:before { - content: '\2014 \00A0'; -} - blockquote p { color: #666; } hr { + display: block; text-align: left; margin: 1em 0; - color: #999; + border: none; + height: 2px; + background: #999; } table { diff --git a/src/resources/themes/v_white/v_white.palette b/src/resources/themes/v_white/v_white.palette index 7660d327..5b47cadc 100644 --- a/src/resources/themes/v_white/v_white.palette +++ b/src/resources/themes/v_white/v_white.palette @@ -49,6 +49,7 @@ selection_fg=#000000 selection_bg=#64b5f6 icon_fg=#222222 +icon_disabled_fg=@disabled_fg danger_fg=#F5F5F5 danger_bg=#C9302C diff --git a/src/resources/themes/v_white/v_white.qss b/src/resources/themes/v_white/v_white.qss index b64b584e..59bab893 100644 --- a/src/resources/themes/v_white/v_white.qss +++ b/src/resources/themes/v_white/v_white.qss @@ -9,6 +9,7 @@ QToolTip QWidget { color: @widget_fg; + font-family: "Hiragino Sans GB", "冬青黑体", "Microsoft YaHei", "微软雅黑", "Microsoft YaHei UI", "WenQuanYi Micro Hei", "文泉驿雅黑", "Dengxian", "等线体", "STXihei", "华文细黑", "Liberation Sans", "Droid Sans", "NSimSun", "新宋体", "SimSun", "宋体", "Helvetica", "sans-serif", "Tahoma", "Arial", "Verdana", "Geneva", "Georgia", "Times New Roman"; } QWidget[NotebookPanel="true"] { diff --git a/src/utils/viconutils.cpp b/src/utils/viconutils.cpp index 85224c49..aeb8dfc9 100644 --- a/src/utils/viconutils.cpp +++ b/src/utils/viconutils.cpp @@ -13,7 +13,7 @@ VIconUtils::VIconUtils() } -QIcon VIconUtils::icon(const QString &p_file, const QString &p_fg) +QIcon VIconUtils::icon(const QString &p_file, const QString &p_fg, bool p_addDisabled) { QFileInfo fi(p_file); bool isSvg = fi.suffix().toLower() == "svg"; @@ -34,5 +34,19 @@ QIcon VIconUtils::icon(const QString &p_file, const QString &p_fg) QPixmap pixmap; pixmap.loadFromData(data, "svg"); - return QIcon(pixmap); + // Disabled. + QPixmap disabledPixmap; + if (p_addDisabled) { + content.replace(reg, QString("\\1\\2\\3%1").arg(g_palette->color("icon_disabled_fg"))); + data = content.toLocal8Bit(); + disabledPixmap.loadFromData(data, "svg"); + } + + QIcon icon; + icon.addPixmap(pixmap, QIcon::Normal); + if (p_addDisabled) { + icon.addPixmap(disabledPixmap, QIcon::Disabled); + } + + return icon; } diff --git a/src/utils/viconutils.h b/src/utils/viconutils.h index 58b86685..8a7422f7 100644 --- a/src/utils/viconutils.h +++ b/src/utils/viconutils.h @@ -13,7 +13,9 @@ class VIconUtils { public: // Get an icon from @p_file file. May change the foreground of the icon. - static QIcon icon(const QString &p_file, const QString &p_fg = QString()); + static QIcon icon(const QString &p_file, + const QString &p_fg = QString(), + bool p_addDisabled = true); static QIcon toolButtonIcon(const QString &p_file) { diff --git a/src/vconfigmanager.cpp b/src/vconfigmanager.cpp index 98007703..c39c91c9 100644 --- a/src/vconfigmanager.cpp +++ b/src/vconfigmanager.cpp @@ -1170,6 +1170,8 @@ void VConfigManager::initThemes() m_themes.insert(VPalette::themeName(file), file); file = ":/resources/themes/v_pure/v_pure.palette"; m_themes.insert(VPalette::themeName(file), file); + file = ":/resources/themes/v_moonlight/v_moonlight.palette"; + m_themes.insert(VPalette::themeName(file), file); /* NOT ready yet. Wait for author's tuning. file = ":/resources/themes/v_material/v_material.palette"; diff --git a/src/vmdtab.cpp b/src/vmdtab.cpp index 3d913af9..61c83f9b 100644 --- a/src/vmdtab.cpp +++ b/src/vmdtab.cpp @@ -379,6 +379,9 @@ void VMdTab::setupMarkdownViewer() m_webViewer->setPage(page); m_webViewer->setZoomFactor(g_config->getWebZoomFactor()); + // Avoid white flash before loading content. + page->setBackgroundColor(Qt::transparent); + m_document = new VDocument(m_file, m_webViewer); QWebChannel *channel = new QWebChannel(m_webViewer); diff --git a/src/vnote.cpp b/src/vnote.cpp index 8358e06c..62eb1847 100644 --- a/src/vnote.cpp +++ b/src/vnote.cpp @@ -122,8 +122,8 @@ void VNote::updateTemplate() } // Shoudl not display scrollbar in PDF. - cssStyle += "pre code { white-space: pre-wrap !important; " - "word-break: break-all !important; }\n"; + cssStyle += "pre { white-space: pre-wrap !important; " + "word-break: break-all !important; }\n"; if (!g_config->getEnableImageConstraint()) { // Constain the image width by force in PDF, otherwise, the PDF will // be cut off. diff --git a/src/vnote.qrc b/src/vnote.qrc index 03b7cd9f..67dd17c5 100644 --- a/src/vnote.qrc +++ b/src/vnote.qrc @@ -193,5 +193,30 @@ resources/themes/v_material/v_material.palette resources/themes/v_material/v_material.qss resources/themes/v_material/v_material_codeblock.css + resources/themes/v_moonlight/arrow_dropdown.svg + resources/themes/v_moonlight/branch_closed.svg + resources/themes/v_moonlight/branch_open.svg + resources/themes/v_moonlight/checkbox_checked.svg + resources/themes/v_moonlight/checkbox_unchecked.svg + resources/themes/v_moonlight/close.svg + resources/themes/v_moonlight/close_grey.svg + resources/themes/v_moonlight/down.svg + resources/themes/v_moonlight/down_disabled.svg + resources/themes/v_moonlight/float.svg + resources/themes/v_moonlight/left.svg + resources/themes/v_moonlight/left_disabled.svg + resources/themes/v_moonlight/menu_checkbox.svg + resources/themes/v_moonlight/menu_radiobutton.svg + resources/themes/v_moonlight/radiobutton_checked.svg + resources/themes/v_moonlight/radiobutton_unchecked.svg + resources/themes/v_moonlight/right.svg + resources/themes/v_moonlight/right_disabled.svg + resources/themes/v_moonlight/up.svg + resources/themes/v_moonlight/up_disabled.svg + resources/themes/v_moonlight/v_moonlight.css + resources/themes/v_moonlight/v_moonlight.mdhl + resources/themes/v_moonlight/v_moonlight.palette + resources/themes/v_moonlight/v_moonlight.qss + resources/themes/v_moonlight/v_moonlight_codeblock.css