diff --git a/src/core/mainconfig.cpp b/src/core/mainconfig.cpp index 3bfcabc3..551f8078 100644 --- a/src/core/mainconfig.cpp +++ b/src/core/mainconfig.cpp @@ -117,4 +117,5 @@ QString MainConfig::getVersion(const QJsonObject &p_jobj) void MainConfig::doVersionSpecificOverride() { // In a new version, we may want to change one value by force. + m_coreConfig->setTheme(QStringLiteral("pure")); } diff --git a/src/core/sessionconfig.cpp b/src/core/sessionconfig.cpp index d30d1f33..00690db8 100644 --- a/src/core/sessionconfig.cpp +++ b/src/core/sessionconfig.cpp @@ -282,5 +282,4 @@ void SessionConfig::doVersionSpecificOverride() { // In a new version, we may want to change one value by force. // SHOULD set the in memory variable only, or will override the notebook list. - m_systemTitleBarEnabled = true; } diff --git a/src/core/thememgr.cpp b/src/core/thememgr.cpp index 48a09c37..3a4d6b89 100644 --- a/src/core/thememgr.cpp +++ b/src/core/thememgr.cpp @@ -91,7 +91,7 @@ void ThemeMgr::loadCurrentTheme(const QString &p_themeName) } if (!m_currentTheme) { - const QString defaultTheme("native"); + const QString defaultTheme("pure"); qWarning() << "fall back to default theme" << defaultTheme; m_currentTheme.reset(loadTheme(findThemeFolder(defaultTheme))); } diff --git a/src/data/core/vnotex.json b/src/data/core/vnotex.json index dfc8f4c8..f04c00cb 100644 --- a/src/data/core/vnotex.json +++ b/src/data/core/vnotex.json @@ -6,7 +6,7 @@ "version" : "3.0.0-beta.5" }, "core" : { - "theme" : "moonlight", + "theme" : "pure", "locale" : "", "shortcuts" : { "FullScreen" : "F11", diff --git a/src/data/extra/extra.qrc b/src/data/extra/extra.qrc index c11a9d3e..887f41c7 100644 --- a/src/data/extra/extra.qrc +++ b/src/data/extra/extra.qrc @@ -104,6 +104,38 @@ themes/moonlight/up.svg themes/moonlight/up_disabled.svg themes/moonlight/web.css + themes/pure/arrow_dropdown.svg + themes/pure/arrow_dropdown_disabled.svg + themes/pure/branch_closed.svg + themes/pure/branch_open.svg + themes/pure/checkbox_checked.svg + themes/pure/checkbox_checked_disabled.svg + themes/pure/checkbox_unchecked.svg + themes/pure/checkbox_unchecked_disabled.svg + themes/pure/close.svg + themes/pure/close_grey.svg + themes/pure/cover.png + themes/pure/down.svg + themes/pure/down_disabled.svg + themes/pure/float.svg + themes/pure/highlight.css + themes/pure/interface.qss + themes/pure/left.svg + themes/pure/left_disabled.svg + themes/pure/menu_checkbox.svg + themes/pure/menu_radiobutton.svg + themes/pure/palette.json + themes/pure/radiobutton_checked.svg + themes/pure/radiobutton_checked_disabled.svg + themes/pure/radiobutton_unchecked.svg + themes/pure/radiobutton_unchecked_disabled.svg + themes/pure/right.svg + themes/pure/right_disabled.svg + themes/pure/sizegrip.svg + themes/pure/text-editor.theme + themes/pure/up.svg + themes/pure/up_disabled.svg + themes/pure/web.css syntax-highlighting/themes/markdown-default.theme syntax-highlighting/themes/markdown-breeze-dark.theme syntax-highlighting/themes/default.theme diff --git a/src/data/extra/themes/moonlight/highlight.css b/src/data/extra/themes/moonlight/highlight.css index 0e68bdbb..2ce2f611 100644 --- a/src/data/extra/themes/moonlight/highlight.css +++ b/src/data/extra/themes/moonlight/highlight.css @@ -213,7 +213,6 @@ div.code-toolbar > .toolbar span { color: #bbb; font-size: .8em; padding: 0 .5em; - background: #f5f2f0; background: rgba(224, 224, 224, 0.2); box-shadow: 0 2px 0 0 rgba(0,0,0,0.2); border-radius: .5em; diff --git a/src/data/extra/themes/native/highlight.css b/src/data/extra/themes/native/highlight.css index 1ab14afd..a6dd3c32 100644 --- a/src/data/extra/themes/native/highlight.css +++ b/src/data/extra/themes/native/highlight.css @@ -231,7 +231,6 @@ div.code-toolbar > .toolbar span { color: #bbb; font-size: .8em; padding: 0 .5em; - background: #f5f2f0; background: rgba(224, 224, 224, 0.2); box-shadow: 0 2px 0 0 rgba(0,0,0,0.2); border-radius: .5em; diff --git a/src/data/extra/themes/pure/arrow_dropdown.svg b/src/data/extra/themes/pure/arrow_dropdown.svg new file mode 100644 index 00000000..388cbe9d --- /dev/null +++ b/src/data/extra/themes/pure/arrow_dropdown.svg @@ -0,0 +1,9 @@ + + + + + + + + diff --git a/src/data/extra/themes/pure/arrow_dropdown_disabled.svg b/src/data/extra/themes/pure/arrow_dropdown_disabled.svg new file mode 100644 index 00000000..c1ef5c52 --- /dev/null +++ b/src/data/extra/themes/pure/arrow_dropdown_disabled.svg @@ -0,0 +1,9 @@ + + + + + + + + diff --git a/src/data/extra/themes/pure/branch_closed.svg b/src/data/extra/themes/pure/branch_closed.svg new file mode 100644 index 00000000..f44c49d0 --- /dev/null +++ b/src/data/extra/themes/pure/branch_closed.svg @@ -0,0 +1,8 @@ + + + Layer 1 + + + + + diff --git a/src/data/extra/themes/pure/branch_open.svg b/src/data/extra/themes/pure/branch_open.svg new file mode 100644 index 00000000..e6b5decc --- /dev/null +++ b/src/data/extra/themes/pure/branch_open.svg @@ -0,0 +1,8 @@ + + + Layer 1 + + + + + diff --git a/src/data/extra/themes/pure/checkbox_checked.svg b/src/data/extra/themes/pure/checkbox_checked.svg new file mode 100644 index 00000000..f489cd22 --- /dev/null +++ b/src/data/extra/themes/pure/checkbox_checked.svg @@ -0,0 +1,7 @@ + + + Layer 1 + + + + diff --git a/src/data/extra/themes/pure/checkbox_checked_disabled.svg b/src/data/extra/themes/pure/checkbox_checked_disabled.svg new file mode 100644 index 00000000..78317037 --- /dev/null +++ b/src/data/extra/themes/pure/checkbox_checked_disabled.svg @@ -0,0 +1,7 @@ + + + Layer 1 + + + + diff --git a/src/data/extra/themes/pure/checkbox_unchecked.svg b/src/data/extra/themes/pure/checkbox_unchecked.svg new file mode 100644 index 00000000..2fafd48f --- /dev/null +++ b/src/data/extra/themes/pure/checkbox_unchecked.svg @@ -0,0 +1,6 @@ + + + Layer 1 + + + diff --git a/src/data/extra/themes/pure/checkbox_unchecked_disabled.svg b/src/data/extra/themes/pure/checkbox_unchecked_disabled.svg new file mode 100644 index 00000000..307a9cb0 --- /dev/null +++ b/src/data/extra/themes/pure/checkbox_unchecked_disabled.svg @@ -0,0 +1,6 @@ + + + Layer 1 + + + diff --git a/src/data/extra/themes/pure/close.svg b/src/data/extra/themes/pure/close.svg new file mode 100644 index 00000000..b1173868 --- /dev/null +++ b/src/data/extra/themes/pure/close.svg @@ -0,0 +1,10 @@ + + + + + + diff --git a/src/data/extra/themes/pure/close_grey.svg b/src/data/extra/themes/pure/close_grey.svg new file mode 100644 index 00000000..24bddd4e --- /dev/null +++ b/src/data/extra/themes/pure/close_grey.svg @@ -0,0 +1,10 @@ + + + + + + diff --git a/src/data/extra/themes/pure/cover.png b/src/data/extra/themes/pure/cover.png new file mode 100644 index 00000000..cb91aae9 Binary files /dev/null and b/src/data/extra/themes/pure/cover.png differ diff --git a/src/data/extra/themes/pure/down.svg b/src/data/extra/themes/pure/down.svg new file mode 100644 index 00000000..00ca93ed --- /dev/null +++ b/src/data/extra/themes/pure/down.svg @@ -0,0 +1,8 @@ + + + Layer 1 + + + + + diff --git a/src/data/extra/themes/pure/down_disabled.svg b/src/data/extra/themes/pure/down_disabled.svg new file mode 100644 index 00000000..1863b6ae --- /dev/null +++ b/src/data/extra/themes/pure/down_disabled.svg @@ -0,0 +1,8 @@ + + + Layer 1 + + + + + diff --git a/src/data/extra/themes/pure/float.svg b/src/data/extra/themes/pure/float.svg new file mode 100644 index 00000000..4a3ad0fb --- /dev/null +++ b/src/data/extra/themes/pure/float.svg @@ -0,0 +1 @@ + diff --git a/src/data/extra/themes/pure/highlight.css b/src/data/extra/themes/pure/highlight.css new file mode 100644 index 00000000..8030a50b --- /dev/null +++ b/src/data/extra/themes/pure/highlight.css @@ -0,0 +1,245 @@ +/* PrismJS 1.21.0 +https://prismjs.com/download.html#themes=prism&languages=markup+css+clike+javascript+abap+abnf+actionscript+ada+agda+al+antlr4+apacheconf+apl+applescript+aql+arduino+arff+asciidoc+aspnet+asm6502+autohotkey+autoit+bash+basic+batch+bbcode+bison+bnf+brainfuck+brightscript+bro+bsl+c+csharp+cpp+cil+clojure+cmake+coffeescript+concurnas+csp+crystal+css-extras+cypher+d+dart+dax+dhall+diff+django+dns-zone-file+docker+ebnf+editorconfig+eiffel+ejs+elixir+elm+etlua+erb+erlang+excel-formula+fsharp+factor+firestore-security-rules+flow+fortran+ftl+gml+gcode+gdscript+gedcom+gherkin+git+glsl+go+graphql+groovy+haml+handlebars+haskell+haxe+hcl+hlsl+http+hpkp+hsts+ichigojam+icon+ignore+inform7+ini+io+j+java+javadoc+javadoclike+javastacktrace+jolie+jq+jsdoc+js-extras+json+json5+jsonp+jsstacktrace+js-templates+julia+keyman+kotlin+latex+latte+less+lilypond+liquid+lisp+livescript+llvm+lolcode+lua+makefile+markdown+markup-templating+matlab+mel+mizar+mongodb+monkey+moonscript+n1ql+n4js+nand2tetris-hdl+naniscript+nasm+neon+nginx+nim+nix+nsis+objectivec+ocaml+opencl+oz+parigp+parser+pascal+pascaligo+pcaxis+peoplecode+perl+php+phpdoc+php-extras+plsql+powerquery+powershell+processing+prolog+properties+protobuf+pug+puppet+pure+purebasic+python+q+qml+qore+r+racket+jsx+tsx+reason+regex+renpy+rest+rip+roboconf+robotframework+ruby+rust+sas+sass+scss+scala+scheme+shell-session+smali+smalltalk+smarty+solidity+solution-file+soy+sparql+splunk-spl+sqf+sql+stan+iecst+stylus+swift+t4-templating+t4-cs+t4-vb+tap+tcl+tt2+textile+toml+turtle+twig+typescript+typoscript+unrealscript+vala+vbnet+velocity+verilog+vhdl+vim+visual-basic+warpscript+wasm+wiki+xeora+xml-doc+xojo+xquery+yaml+yang+zig&plugins=line-numbers+toolbar+copy-to-clipboard+filter-highlight-all */ +/** + * prism.js default theme for JavaScript, CSS and HTML + * Based on dabblet (http://dabblet.com) + * @author Lea Verou + */ + +code[class*="language-"], +pre[class*="language-"] { + color: black; + background: none; + font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; + font-size: 1em; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + word-wrap: normal; + line-height: 1.5; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #b3d4fc; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #b3d4fc; +} + +@media print { + code[class*="language-"], + pre[class*="language-"] { + text-shadow: none; + } +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +:not(pre) > code[class*="language-"], +pre[class*="language-"] { + background: #ede8e4; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; + white-space: normal; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: slategray; +} + +.token.punctuation { + color: #999; +} + +.token.namespace { + opacity: .7; +} + +.token.property, +.token.tag, +.token.boolean, +.token.number, +.token.constant, +.token.symbol, +.token.deleted { + color: #905; +} + +.token.selector, +.token.attr-name, +.token.string, +.token.char, +.token.builtin, +.token.inserted { + color: #690; +} + +.token.operator, +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #9a6e3a; +} + +.token.atrule, +.token.attr-value, +.token.keyword { + color: #07a; +} + +.token.function, +.token.class-name { + color: #DD4A68; +} + +.token.regex, +.token.important, +.token.variable { + color: #e90; +} + +.token.important, +.token.bold { + font-weight: bold; +} +.token.italic { + font-style: italic; +} + +.token.entity { + cursor: help; +} + +pre[class*="language-"].line-numbers { + position: relative; + padding-left: 3.8em; + counter-reset: linenumber; +} + +pre[class*="language-"].line-numbers > code { + position: relative; + white-space: inherit; +} + +.line-numbers .line-numbers-rows { + position: absolute; + pointer-events: none; + top: 0; + font-size: 100%; + left: -3.8em; + width: 3em; /* works for line-numbers below 1000 lines */ + letter-spacing: -1px; + border-right: 1px solid #999; + + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + +} + + .line-numbers-rows > span { + display: block; + counter-increment: linenumber; + } + + .line-numbers-rows > span:before { + content: counter(linenumber); + color: #999; + display: block; + padding-right: 0.8em; + text-align: right; + } + +div.code-toolbar { + position: relative; +} + +div.code-toolbar > .toolbar { + position: absolute; + top: .3em; + right: .2em; + transition: opacity 0.3s ease-in-out; + opacity: 0; +} + +div.code-toolbar:hover > .toolbar { + opacity: 1; +} + +/* Separate line b/c rules are thrown out if selector is invalid. + IE11 and old Edge versions don't support :focus-within. */ +div.code-toolbar:focus-within > .toolbar { + opacity: 1; +} + +div.code-toolbar > .toolbar .toolbar-item { + display: inline-block; +} + +div.code-toolbar > .toolbar a { + cursor: pointer; +} + +div.code-toolbar > .toolbar button { + background: none; + border: 0; + color: inherit; + font: inherit; + line-height: normal; + overflow: visible; + padding: 0; + -webkit-user-select: none; /* for button */ + -moz-user-select: none; + -ms-user-select: none; +} + +div.code-toolbar > .toolbar a, +div.code-toolbar > .toolbar button, +div.code-toolbar > .toolbar span { + color: #bbb; + font-size: .8em; + padding: 0 .5em; + background: rgba(224, 224, 224, 0.2); + box-shadow: 0 2px 0 0 rgba(0,0,0,0.2); + border-radius: .5em; +} + +div.code-toolbar > .toolbar a:hover, +div.code-toolbar > .toolbar a:focus, +div.code-toolbar > .toolbar button:hover, +div.code-toolbar > .toolbar button:focus, +div.code-toolbar > .toolbar span:hover, +div.code-toolbar > .toolbar span:focus { + color: inherit; + text-decoration: none; +} + diff --git a/src/data/extra/themes/pure/interface.qss b/src/data/extra/themes/pure/interface.qss new file mode 100644 index 00000000..52f0c804 --- /dev/null +++ b/src/data/extra/themes/pure/interface.qss @@ -0,0 +1,1096 @@ +/* Qt Style Sheets file + * Please refer to https://doc.qt.io/qt-5.12/stylesheet-reference.html + * for detailed inforamtion. + * **Notice** that selectors using base class and child class are considered to have the + * same specificity and the rule that appears last takes precedence. + * VNote specific syntax: + * - @widgets#toolbox#title#border: reference to a color defined in palette.ini; + * - $2px: 2 will be scaled by multiplying current display scaled factor. + */ + +QWidget { + color: @widgets#qwidget#fg; + background-color: @widgets#qwidget#bg; + font-family: "冬青黑体", "YaHei Consolas Hybrid", "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[DialogCentralWidget="true"] { + border: none; +} + +/* All widgets */ +*[State="info"] { + border: 2px solid @widgets#qwidget#info#border; +} + +*[State="warning"] { + border: 2px solid @widgets#qwidget#warning#border; +} + +*[State="error"] { + border: 2px solid @widgets#qwidget#error#border; +} + +/* QAbstractScrollArea */ +QAbstractScrollArea { + border: 1px solid @widgets#qabstractscrollarea#border; +} + +QAbstractScrollArea::corner { + background-color: @widgets#qabstractscrollarea#corner#bg; + border: none; +} + +/* ToolBox */ +vnotex--ToolBox QWidget[ToolBoxTitle="true"] { + border-bottom: 2px solid @widgets#toolbox#title#border; + margin: 0px; + padding: 0px; +} + +vnotex--ToolBox QToolButton[ToolBoxTitleButton="true"] { + padding: 4px 10px 4px 4px; + margin: 0px; + border: none; +} + +vnotex--ToolBox QToolButton[ToolBoxTitleButton="true"]:checked { + font-weight: bold; + /* Reverse */ + color: @widgets#toolbox#title#button#active#fg; + background-color: @widgets#toolbox#title#button#active#bg; +} + +/* TitleBar */ +/* The height should be large enough regarding to the action buttons. */ +vnotex--TitleBar QLabel[TitleBarTitle="true"] { + padding: 5px 1px; + margin: 0px; +} + +/* QDockWidget */ +QDockWidget { + color: @widgets#qdockwidget#fg; + background-color: @widgets#qdockwidget#bg; + titlebar-close-icon: url(close.svg); + titlebar-normal-icon: url(float.svg); +} + +QDockWidget::Title { + background-color: @widgets#qdockwidget#title#bg; + text-align: center left; +} + +QDockWidget::close-button, QDockWidget::float-button { + border: none; + icon-size: 16px; + width: 16px; +} + +QDockWidget::close-button:hover, QDockWidget::float-button:hover { + background-color: @widgets#qdockwidget#title#button#hover#bg; +} + +QDockWidget::close-button { + subcontrol-position: top right; + subcontrol-origin: margin; + position: absolute; + top: 0px; right: 0px; bottom: 0px; +} + +QDockWidget::float-button { + subcontrol-position: top right; + subcontrol-origin: margin; + position: absolute; + top: 0px; right: 18px; bottom: 0px; +} + +/* NotebookSelector */ +vnotex--NotebookSelector { + icon-size: 20px; +} + +vnotex--NotebookSelector QAbstractItemView::item { + padding: 5px, 2px, 5px, 2px; +} + +QToolTip +{ + border: none; + color: @widgets#qtooltip#fg; + background-color: @widgets#qtooltip#bg; +} + +/* QMainWindow */ +QMainWindow { + color: @widgets#qmainwindow#fg; + background-color: @widgets#qmainwindow#bg; +} + +QMainWindow::separator { + /* For vertical */ + width: 1px; + /* For horizontal */ + height: 1px; + background-color: @widgets#qmainwindow#separator#bg; +} + +/* QToolBar */ +QToolBar { + border: none; + background-color: @widgets#qtoolbar#bg; +} + +QToolBar::separator { + width: 1px; + height: 1px; + border: none; + background-color: @widgets#qtoolbar#separator#bg; +} + +QToolBarExtension { + background-color: @widgets#qtoolbar#extension#bg; +} + +/* QToolButton */ +/* Only for MenuButtonPopup */ +QToolButton[popupMode="1"] { + /* Make way for the popup button */ + padding-right: 16px; /* make way for the popup button */ +} + +/* Must put after popupMode related styles */ +QToolButton[ActionToolButton="true"] { + border: none; +} + +QToolButton[ActionToolButton="true"]::menu-indicator { + image: none; +} + +QToolButton[NoMenuIndicator="true"]::menu-indicator { + image: none; +} + +/* QPushButton, QToolButton */ +QToolButton { + border: none; + color: @widgets#qtoolbutton#fg; + background-color: @widgets#qtoolbutton#bg; + margin: 1px 3px 1px 3px; + padding: 0px; +} + +QToolButton:checked { + color: @widgets#qtoolbutton#checked#fg; + background-color: @widgets#qtoolbutton#checked#bg; +} + +QToolButton:hover { + border:none; + color: @widgets#qtoolbutton#hover#fg; + background-color: @widgets#qtoolbutton#hover#bg; +} + +QToolButton:pressed { + color: @widgets#qtoolbutton#pressed#fg; + background-color: @widgets#qtoolbutton#pressed#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; +} + +QPushButton[DangerButton="true"]:hover, QToolButton[DangerButton="true"]:hover { + color: @widgets#qwidget#danger#fg; + background-color: @widgets#qwidget#danger#bg; + border: none; +} + +/* QPushButton */ +QPushButton { + color: @widgets#qpushbutton#fg; + background-color: @widgets#qpushbutton#bg; + border: 1px solid @widgets#qpushbutton#border; + padding: 3px; + min-width: 80px; +} + +QPushButton:default { + border: 1px solid @widgets#qpushbutton#default#border; +} + +QPushButton:focus { + color: @widgets#qpushbutton#focus#fg; + background-color: @widgets#qpushbutton#focus#bg; +} + +QPushButton:checked { + color: @widgets#qpushbutton#checked#fg; + background-color: @widgets#qpushbutton#checked#bg; +} + +QPushButton:flat { + border: none; +} + +QPushButton:hover { + color: @widgets#qpushbutton#hover#fg; + background-color: @widgets#qpushbutton#hover#bg; +} + +QPushButton:pressed { + color: @widgets#qpushbutton#pressed#fg; + background-color: @widgets#qpushbutton#pressed#bg; +} + +QPushButton:disabled { + color: @widgets#qpushbutton#disabled#fg; + background-color: @widgets#qpushbutton#disabled#bg; +} + +QPushButton::menu-indicator { + image: url(arrow_dropdown.svg); + width: 16px; + height: 16px; +} + +/* QMenu */ +QMenu { + color: @widgets#qmenu#fg; + background-color: @widgets#qmenu#bg; + border: 2px solid @widgets#qmenu#border; +} + +QMenu::icon { + margin: 5px; +} + +QMenu::item { + padding: 5px 30px 5px 30px; + border: 1px solid transparent; +} + +QMenu::item:selected { + color: @widgets#qmenu#item#selected#fg; + background-color: @widgets#qmenu#item#selected#bg; +} + +QMenu::item:disabled { + color: @widgets#qmenu#item#disabled#fg; +} + +QMenu::icon:checked { /* appearance of a 'checked' icon */ + border: 2px solid @widgets#qmenu#fg; +} + +QMenu::separator { + height: 1px; + background-color: @widgets#qmenu#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 */ + +QDialog { + color: @widgets#qdialog#fg; + background-color: @widgets#qdialog#bg +} + +/* DrapDropAreaIndicator */ +vnotex--DragDropAreaIndicator { + border: 2px dashed @widgets#dragdropareaindicator#border; + margin: 2px; + max-height: 200px; +} + +/* QComboBox */ +QComboBox { + padding: 3px; + color: @widgets#qcombobox#fg; + background-color: @widgets#qcombobox#bg; + border: 1px solid @widgets#qcombobox#border; +} + +QComboBox:focus, QComboBox:on { + background-color: @widgets#qcombobox#focus#bg; + border: 2px solid @widgets#qcombobox#focus#border; +} + +QComboBox:hover { + background-color: @widgets#qcombobox#hover#bg; + border: 2px solid @widgets#qcombobox#hover#border; +} + +QComboBox:disabled { + color: @widgets#qcombobox#disabled#fg; +} + +QComboBox::drop-down { + subcontrol-origin: padding; + subcontrol-position: top right; + width: 20px; + border: none; + background-color: transparent; +} + +QComboBox::down-arrow { + image: url(arrow_dropdown.svg); + width: 20px; + height: 20px; +} + +QComboBox::down-arrow:disabled { + image: url(arrow_dropdown_disabled.svg); + width: 20px; + height: 20px; +} + +QComboBox QAbstractItemView { + padding: 2px; + border: 1px solid @widgets#qcombobox#view#border; + background-color: @widgets#qcombobox#view#bg; + selection-color: @widgets#qcombobox#view#selection#fg; + selection-background-color: @widgets#qcombobox#view#selection#bg; +} + +QComboBox QAbstractItemView::item { + background-color: transparent; + padding: 3px; +} + +QComboBox QAbstractItemView::item:hover { + color: @widgets#qcombobox#item#hover#fg; + background-color: @widgets#qcombobox#item#hover#bg; +} + +/* QLabel */ +QLabel { + border: none; + color: @widgets#qlabel#fg; + background-color: transparent; +} + +vnotex--DragDropAreaIndicator QLabel { + color: @widgets#dragdropareaindicator#fg; + font-size: 12pt; + font-weight: bold; +} + +/* QLineEdit */ +QLineEdit { + border: 1px solid @widgets#qlineedit#border; + padding: 3px; + color: @widgets#qlineedit#fg; + background-color: @widgets#qlineedit#bg; + selection-color: @widgets#qlineedit#selection#fg; + selection-background-color: @widgets#qlineedit#selection#bg; +} + +QLineEdit:focus { + border: 2px solid @widgets#qlineedit#focus#border; + background-color: @widgets#qlineedit#focus#bg; +} + +QLineEdit:hover { + border: 2px solid @widgets#qlineedit#hover#border; + background-color: @widgets#qlineedit#hover#bg; +} + +QLineEdit:disabled { + color: @widgets#qlineedit#disabled#fg; +} + +/* QTabWidget */ +QTabWidget { + border: none; +} + +QTabWidget::pane { + border: none; +} + +QTabWidget::tab-bar { + alignment: left; +} + +/* QTabBar */ +QTabBar { + border: none; +} + +QTabBar::tab { + color: @widgets#qtabbar#tab#fg; + background-color: @widgets#qtabbar#tab#bg; + border: none; +} + +QTabBar::tab:top, QTabBar::tab:bottom { + border-top: 2px solid transparent; + border-right: 1px solid @widgets#qtabbar#tab#border; + /* MUST leave right and left padding 0px. */ + padding: 2px 0px 2px 0px; + height: 20px; +} + +QTabBar::tab:right { + border-right: 3px solid transparent; + border-bottom: 1px solid @widgets#qtabbar#tab#border; + padding: 5px 2px 5px 2px; + min-width: 20px; +} + +QTabBar::tab:left { + border-left: 3px solid transparent; + border-bottom: 1px solid @widgets#qtabbar#tab#border; + padding: 5px 2px 5px 2px; + min-width: 20px; +} + +QTabBar::tab:hover { + color: @widgets#qtabbar#tab#hover#fg; + background-color: @widgets#qtabbar#tab#hover#bg; +} + +QTabBar::tab:selected { + color: @widgets#qtabbar#tab#selected#fg; + background-color: @widgets#qtabbar#tab#selected#bg; +} + +QTabBar::tab:top:selected, QTabBar::tab:bottom:selected { + border-top: 2px solid @widgets#qtabbar#tab#selected#border; +} + +QTabBar::tab:right:selected { + border-right: 3px solid @widgets#qtabbar#tab#selected#border; +} + +QTabBar::tab:left:selected { + border-left: 3px solid @widgets#qtabbar#tab#selected#border; +} + +QTabBar::close-button { + image: url(close_grey.svg); +} + +QTabBar::close-button:focus { + image: url(close.svg); +} + +QTabBar::close-button:hover { + 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); +} + +/* QTreeView */ +QTreeView { + color: @widgets#qtreeview#fg; + background-color: @widgets#qtreeview#bg; + show-decoration-selected: 0; + border: none; + selection-background-color: transparent; + outline: none; +} + +QTreeView::item { + padding-top: 5px; + padding-bottom: 5px; +} + +QTreeView::item:hover { + color: @widgets#qtreeview#item#hover#fg; + background-color: @widgets#qtreeview#item#hover#bg; +} + +QTreeView::item:selected { + color: @widgets#qtreeview#item#selected#fg; + background-color: @widgets#qtreeview#item#selected#bg; +} + +QTreeView::item:selected:active { + color: @widgets#qtreeview#item#selected#active#fg; + background-color: @widgets#qtreeview#item#selected#active#bg; +} + +QTreeView::item:selected:!active { + color: @widgets#qtreeview#item#selected#inactive#fg; + background-color: @widgets#qtreeview#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); +} + +/* QListView */ +QListView { + color: @widgets#qlistview#fg; + background-color: @widgets#qlistview#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: @widgets#qlistview#item#hover#fg; + background-color: @widgets#qlistview#item#hover#bg; +} + +QListView::item:selected { + color: @widgets#qlistview#item#selected#fg; + background-color: @widgets#qlistview#item#selected#bg; +} + +QListView::item:selected:active { + color: @widgets#qlistview#item#selected#active#fg; + background-color: @widgets#qlistview#item#selected#active#bg; +} + +QListView::item:selected:!active { + color: @widgets#qlistview#item#selected#inactive#fg; + background-color: @widgets#qlistview#item#selected#inactive#bg; +} + +QListView::item:disabled { + background-color: transparent; +} + +/* QSplitter */ +QSplitter { + border: none; +} + +QSplitter::handle { + background-color: @widgets#qsplitter#handle#bg; +} + +QSplitter::handle:pressed { + background-color: @widgets#qsplitter#handle#pressed#bg; +} + +QSplitter::handle:vertical { + height: 2px; +} + +QSplitter::handle:horizontal { + width: 2px; +} + +/* QStatusBar */ +QStatusBar { + color: @widgets#qstatusbar#fg; + background-color: @widgets#qstatusbar#bg; + border: none; +} + +QStatusBar::item { + border: none; +} + +/* QScrollBar */ +QScrollBar::add-page, QScrollBar::sub-page { + background-color: @widgets#qscrollbar#addpage#bg; +} + +QScrollBar:vertical { + background-color: @widgets#qscrollbar#bg; + width: 16px; + margin: 16px 0px 16px 0px; + padding: 0px 2px 0px 2px; + border: none; +} + +QScrollBar::handle:vertical { + background-color: @widgets#qscrollbar#handle#bg; + min-height: 16px; +} + +QScrollBar::handle:vertical:hover { + background-color: @widgets#qscrollbar#handle#hover#bg; +} + +QScrollBar::handle:vertical:pressed { + background-color: @widgets#qscrollbar#handle#pressed#bg; +} + +QScrollBar::add-line:vertical { + border: none; + background-color: @widgets#qscrollbar#bg; + width: 16px; + height: 16px; + subcontrol-position: bottom; + subcontrol-origin: margin; +} + +QScrollBar::add-line:vertical:hover { + background-color: @widgets#qscrollbar#handle#hover#bg; +} + +QScrollBar::add-line:vertical:pressed { + background-color: @widgets#qscrollbar#handle#pressed#bg; +} + +QScrollBar::sub-line:vertical { + border: none; + background-color: @widgets#qscrollbar#bg; + width: 16px; + height: 16px; + subcontrol-position: top; + subcontrol-origin: margin; +} + +QScrollBar::sub-line:vertical:hover { + background-color: @widgets#qscrollbar#handle#hover#bg; +} + +QScrollBar::sub-line:vertical:pressed { + background-color: @widgets#qscrollbar#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-color: @widgets#qscrollbar#bg; + height: 16px; + margin: 0px 16px 0px 16px; + padding: 2px 0px 2px 0px; + border: none; +} + +QScrollBar::handle:horizontal { + background-color: @widgets#qscrollbar#handle#bg; + min-width: 16px; +} + +QScrollBar::handle:horizontal:hover { + background-color: @widgets#qscrollbar#handle#hover#bg; +} + +QScrollBar::handle:horizontal:pressed { + background-color: @widgets#qscrollbar#handle#pressed#bg; +} + +QScrollBar::add-line:horizontal { + border: none; + background-color: @widgets#qscrollbar#bg; + width: 16px; + height: 16px; + subcontrol-position: right; + subcontrol-origin: margin; +} + +QScrollBar::add-line:horizontal:hover { + background-color: @widgets#qscrollbar#handle#hover#bg; +} + +QScrollBar::add-line:horizontal:pressed { + background-color: @widgets#qscrollbar#handle#pressed#bg; +} + +QScrollBar::sub-line:horizontal { + border: none; + background-color: @widgets#qscrollbar#bg; + width: 16px; + height: 16px; + subcontrol-position: left; + subcontrol-origin: margin; +} + +QScrollBar::sub-line:horizontal:hover { + background-color: @widgets#qscrollbar#handle#hover#bg; +} + +QScrollBar::sub-line:horizontal:pressed { + background-color: @widgets#qscrollbar#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; +} + +/* QCheckBox */ +QCheckBox { + spacing: 5px; +} + +QCheckBox:disabled { + color: @widgets#qcheckbox#disabled#fg; +} + +QCheckBox::indicator:unchecked { + image: url(checkbox_unchecked.svg); +} + +QCheckBox::indicator:unchecked:disabled { + image: url(checkbox_unchecked_disabled.svg); +} + +QCheckBox::indicator:checked { + image: url(checkbox_checked.svg); +} + +QCheckBox::indicator:checked:disabled { + image: url(checkbox_checked_disabled.svg); +} + +QCheckBox::indicator { + width: 20px; + height: 20px; +} + +QCheckBox::indicator:focus { + background-color: @widgets#qcheckbox#indicator#focus#bg; +} + +QCheckBox::indicator:hover { + background-color: @widgets#qcheckbox#indicator#hover#bg; +} + +QCheckBox::indicator:pressed { + background-color: @widgets#qcheckbox#indicator#pressed#bg; +} + +/* QRadioButton */ +QRadioButton { + spacing: 5px; +} + +QRadioButton:disabled { + color: @widgets#qradiobutton#disabled#fg; +} + +QRadioButton::indicator:unchecked { + image: url(radiobutton_unchecked.svg); +} + +QRadioButton::indicator:unchecked:disabled { + image: url(radiobutton_unchecked_disabled.svg); +} + +QRadioButton::indicator:checked { + image: url(radiobutton_checked.svg); +} + +QRadioButton::indicator:checked:disabled { + image: url(radiobutton_checked_disabled.svg); +} + +QRadioButton::indicator { + width: 20px; + height: 20px; +} + +QRadioButton::indicator:focus { + background-color: @widgets#qradiobutton#indicator#focus#bg; +} + +QRadioButton::indicator:hover { + background-color: @widgets#qradiobutton#indicator#hover#bg; +} + +QRadioButton::indicator:pressed { + background-color: @widgets#qradiobutton#indicator#pressed#bg; +} + +QAbstractSpinBox { + border: 1px solid @widgets#qspinbox#border; + color: @widgets#qspinbox#fg; + background-color: @widgets#qspinbox#bg; + padding-right: 25px; + min-height: 25px; + selection-color: @widgets#qspinbox#selection#fg; + selection-background-color: @widgets#qspinbox#selection#bg; +} + +QAbstractSpinBox:disabled { + color: @widgets#qspinbox#disabled#fg; + background-color: @widgets#qspinbox#disabled#bg; +} + +QAbstractSpinBox:focus { + border: 2px solid @widgets#qspinbox#focus#border; + background-color: @widgets#qspinbox#focus#bg; +} + +QAbstractSpinBox:hover { + border: 2px solid @widgets#qspinbox#hover#border; + background-color: @widgets#qspinbox#hover#bg; +} + +QAbstractSpinBox::up-button { + subcontrol-origin: border; + /* Position at the top right corner */ + subcontrol-position: top right; + width: 25px; + border: none; + background-color: transparent; +} + +QAbstractSpinBox::up-button:hover { + background-color: @widgets#qspinbox#button#hover#bg; +} + +QAbstractSpinBox::up-button:pressed { + background-color: @widgets#qspinbox#button#pressed#bg; +} + +QAbstractSpinBox::up-arrow { + image: url(up.svg); + width: 12px; + height: 12px; +} + +QAbstractSpinBox::up-arrow:disabled, QAbstractSpinBox::up-arrow:off { + image: url(up_disabled.svg); +} + +QAbstractSpinBox::down-button { + subcontrol-origin: border; + /* Position at the top right corner */ + subcontrol-position: bottom right; + width: 25px; + border: none; + background-color: transparent; +} + +QAbstractSpinBox::down-button:hover { + background-color: @widgets#qspinbox#button#hover#bg; +} + +QAbstractSpinBox::down-button:pressed { + background-color: @widgets#qspinbox#button#pressed#bg; +} + +QAbstractSpinBox::down-arrow { + image: url(down.svg); + width: 12px; + height: 12px; +} + +QAbstractSpinBox::down-arrow:disabled, QAbstractSpinBox::down-arrow:off { + image: url(down_disabled.svg); +} + +/* QHeaderView */ +QHeaderView::section { + color: @widgets#qheaderview#section#fg; + background-color: @widgets#qheaderview#section#bg; + padding-left: 4px; + border: none; + border-left: 1px solid @widgets#qheaderview#section#border; + border-bottom: 1px solid @widgets#qheaderview#section#border; +} + +QHeaderView::section:checked +{ + color: @widgets#qheaderview#section#checked#fg; + background-color: @widgets#qheaderview#section#checked#bg; +} + +/* style the sort indicator */ +QHeaderView::down-arrow { + image: url(down.svg); + width: 12px; + height: 12px; +} + +QHeaderView::up-arrow { + image: url(up.svg); + width: 12px; + height: 12px; +} + +/* QProgressBar */ +QProgressBar { + background-color: @widgets#qprogressbar#bg; + border: 1px solid @widgets#qprogressbar#border; + text-align: center; +} + +QProgressBar::chunk { + background-color: @widgets#qprogressbar#chunk#bg; + width: 20px; +} + +/* QGroupBox */ +QGroupBox { + border: 2px solid @widgets#qgroupbox#border; + border-radius: 5px; + margin-top: 2ex; +} + +QGroupBox::title { + color: @widgets#qgroupbox#title#fg; + subcontrol-origin: margin; + subcontrol-position: top left; + position: absolute; + padding: 0 3px; + top: 0px; + left: 10px; + bottom: 0px; +} + +/* QSlider */ +QSlider::groove:horizontal { + border: 1px solid @widgets#qslider#groove#border; + height: 8px; + background-color: @widgets#qslider#groove#bg; + margin: 2px 0; +} + +QSlider::handle:horizontal { + border: 1px solid @widgets#qslider#handle#border; + background-color: @widgets#qslider#handle#bg; + width: 18px; + margin: -2px 0; +} + +QSlider::add-page:horizontal { + background-color: transparent; +} + +QSlider::sub-page:horizontal { + border: 1px solid @widgets#qslider#subpage#border; + background-color: @widgets#qslider#subpage#bg; + margin: 2px 0; +} + +QSlider::groove:vertical { + border: 1px solid @widgets#qslider#groove#border; + width: 8px; + background-color: @widgets#qslider#groove#bg; + margin: 0 2px; +} + +QSlider::handle:vertical { + border: 1px solid @widgets#qslider#handle#border; + background-color: @widgets#qslider#handle#bg; + height: 18px; + margin: 0 -2px; +} + +QSlider::add-page:vertical { + background-color: transparent; +} + +QSlider::sub-page:vertical { + border: 1px solid @widgets#qslider#subpage#border; + background-color: @widgets#qslider#subpage#bg; + margin: 0 2px; +} + +QSizeGrip { + image: url(sizegrip.svg); + width: 16px; + height: 16px; +} + +/* ViewWindow */ +vnotex--ViewWindow QToolBar[ViewWindowToolBar="true"] { + background-color: @widgets#viewwindow#toolbar#bg; +} + +/* ViewSplit */ +vnotex--ViewSplit QTabBar::tab:selected { + color: @widgets#viewsplit#tabbar#tab#selected#fg; + background-color: @widgets#viewsplit#tabbar#tab#selected#bg; +} + +vte--VTextEdit { + border: none; +} diff --git a/src/data/extra/themes/pure/left.svg b/src/data/extra/themes/pure/left.svg new file mode 100644 index 00000000..ca5722a9 --- /dev/null +++ b/src/data/extra/themes/pure/left.svg @@ -0,0 +1,8 @@ + + + Layer 1 + + + + + diff --git a/src/data/extra/themes/pure/left_disabled.svg b/src/data/extra/themes/pure/left_disabled.svg new file mode 100644 index 00000000..e161891d --- /dev/null +++ b/src/data/extra/themes/pure/left_disabled.svg @@ -0,0 +1,8 @@ + + + Layer 1 + + + + + diff --git a/src/data/extra/themes/pure/menu_checkbox.svg b/src/data/extra/themes/pure/menu_checkbox.svg new file mode 100644 index 00000000..39232bae --- /dev/null +++ b/src/data/extra/themes/pure/menu_checkbox.svg @@ -0,0 +1,6 @@ + + + Layer 1 + + + diff --git a/src/data/extra/themes/pure/menu_radiobutton.svg b/src/data/extra/themes/pure/menu_radiobutton.svg new file mode 100644 index 00000000..d61c36f9 --- /dev/null +++ b/src/data/extra/themes/pure/menu_radiobutton.svg @@ -0,0 +1,6 @@ + + + Layer 1 + + + diff --git a/src/data/extra/themes/pure/palette.json b/src/data/extra/themes/pure/palette.json new file mode 100644 index 00000000..1aa6ea22 --- /dev/null +++ b/src/data/extra/themes/pure/palette.json @@ -0,0 +1,597 @@ +{ + "metadata" : { + "revision" : 0, + "//comment" : "If there is a file named 'editor-highlight.theme' under theme folder, this value will be ignored.", + "//comment" : "Otherwise, this value specify the theme name to use for syntax highlighting.", + "editor-highlight-theme" : "Default", + "//comment" : "If there is a file named 'markdown-editor-highlight.theme' under theme folder, this value will be ignored.", + "//comment" : "Otherwise, this value specify the theme name to use for syntax highlighting.", + "//comment" : "If empty, 'editor-highlight-theme' will be used.", + "markdown-editor-highlight-theme" : "Markdown Default", + "display_name" : "Pure", + "//comment" : "Display name for different locales", + "display_name_zh_CN" : "纯净" + }, + "palette" : { + "bg3_1" : "#c0c0c0", + "bg3_2" : "#cdcdcd", + "bg3_3" : "#d2d2d2", + "bg3_4" : "#dadada", + "bg3_41" : "#e0e0e0", + "bg3_5" : "#eaeaea", + "bg3_6" : "#f1f1f1", + "fg3_5" : "#222222", + "fg3_6" : "#646464", + "fg3_7" : "#7a7a7a", + "fg3_8" : "#9e9e9e", + "fg3_9" : "#b0b0b0", + "fg3_10" : "#d0d0d0", + "bg2_4" : "#007b6e", + "bg2_5" : "#00897b", + "bg2_6" : "#199488", + "bg2_7" : "#e5f3f1", + "fg10" : "#b71c1c", + "fg11" : "#ab5683", + "fg12" : "#283593", + "fg13" : "#b42b1f", + "fg15_3" : "#b0b0b0", + "fg15_4" : "#7a7a7a", + "fg15_5" : "#222222", + "bg11" : "#6dafff" + }, + "base" : { + "normal" : { + "fg" : "@palette#fg3_5", + "bg" : "@palette#bg3_5", + "border" : "@palette#fg3_10" + }, + "master" : { + "fg" : "@palette#bg3_6", + "bg" : "@palette#bg2_5", + "alt" : "@palette#bg2_6" + }, + "header" : { + "fg" : "@base#normal#fg", + "bg" : "@base#normal#bg" + }, + "footer" : { + "fg" : "@base#normal#fg", + "bg" : "@base#normal#bg" + }, + "title" : { + "fg" : "@base#normal#fg", + "bg" : "@palette#bg3_41" + }, + "content" : { + "fg" : "@palette#fg3_5", + "bg" : "@palette#bg3_6", + "border" : "@base#normal#border", + "disabled" : { + "fg" : "@base#disabled#fg", + "bg" : "@base#content#bg" + }, + "pressed" : { + "fg" : "@base#pressed#fg", + "bg" : "@base#pressed#bg" + }, + "focus" : { + "fg" : "@base#content#fg", + "bg" : "@base#focus#bg", + "border" : "@base#master#bg" + }, + "hover" : { + "fg" : "@base#content#fg", + "bg" : "@base#hover#bg", + "border" : "@base#master#bg" + }, + "selection" : { + "fg" : "@palette#fg3_5", + "bg" : "@palette#bg11" + }, + "selected" : { + "fg" : "@base#content#fg", + "bg" : "@base#selected#bg", + "active" : { + "fg" : "@base#content#selected#fg", + "bg" : "@base#content#selected#bg" + }, + "inactive" : { + "fg" : "@base#content#selected#fg", + "bg" : "@base#content#hover#bg" + } + } + }, + "edit" : { + "focus" : { + "fg" : "@base#content#fg", + "bg" : "@base#content#bg", + "border" : "@base#master#bg" + }, + "hover" : { + "fg" : "@base#content#fg", + "bg" : "@palette#bg2_7", + "border" : "@base#master#bg" + } + }, + "error" : { + "fg" : "@palette#fg10" + }, + "warning" : { + "fg" : "@palette#fg11" + }, + "info" : { + "fg" : "@palette#fg12" + }, + "danger" : { + "fg": "@base#normal#bg", + "bg": "@palette#fg13" + }, + "disabled" : { + "fg" : "@palette#fg3_8", + "bg" : "@base#normal#bg" + }, + "pressed" : { + "fg" : "@palette#fg3_5", + "bg" : "@palette#bg3_1" + }, + "focus" : { + "fg" : "@palette#fg3_5", + "bg" : "@palette#bg3_2" + }, + "hover" : { + "fg" : "@palette#fg3_5", + "bg" : "@palette#bg3_4" + }, + "selected" : { + "fg" : "@palette#fg3_5", + "bg" : "@palette#bg3_3" + }, + "icon" : { + "fg" : "@palette#fg15_5", + "inactive" : { + "fg" : "@palette#fg15_4" + }, + "disabled" : { + "fg" : "@palette#fg15_3" + }, + "warning" : { + "fg" : "@base#warning#fg" + }, + "danger" : { + "fg": "@base#danger#fg" + } + } + }, + "widgets" : { + "separator" : { + "bg" : "@base#normal#border" + }, + "qwidget" : { + "fg" : "@base#normal#fg", + "bg" : "@base#normal#bg", + "info" : { + "border" : "@base#info#fg" + }, + "warning" : { + "border" : "@base#warning#fg" + }, + "error" : { + "border" : "@base#error#fg" + }, + "danger" : { + "fg" : "@base#danger#fg", + "bg" : "@base#danger#bg" + } + }, + "toolbox" : { + "title" : { + "border" : "@widgets#toolbox#title#button#active#bg", + "button": { + "fg" : "@base#normal#fg", + "active" : { + "fg" : "@base#master#fg", + "bg" : "@base#master#bg" + } + } + } + }, + "titlebar" : { + "button" : { + "fg" : "@base#icon#fg" + }, + "menu_icon" : { + "fg" : "@base#icon#fg", + "disabled" : { + "fg" : "@base#icon#disabled#fg" + } + } + }, + "toolbar" : { + "icon" : { + "fg" : "@base#icon#fg", + "disabled" : { + "fg" : "@base#icon#disabled#fg" + }, + "danger" : { + "fg" : "@base#icon#danger#fg" + } + } + }, + "notebookexplorer" : { + "node_icon" : { + "fg" : "@base#icon#fg" + } + }, + "viewsplit" : { + "action_button" : { + "fg" : "@base#icon#inactive#fg", + "active" : { + "fg" : "@base#icon#fg" + } + }, + "tabbar" : { + "tab" : { + "selected" : { + "fg" : "@base#content#fg", + "bg" : "@base#content#bg" + } + } + } + }, + "qmainwindow" : { + "fg" : "@base#normal#fg", + "bg" : "@base#normal#bg", + "separator" : { + "bg" : "@widgets#separator#bg" + } + }, + "dragdropareaindicator" : { + "fg" : "@base#normal#fg", + "border" : "@widgets#dragdropareaindicator#fg" + }, + "navigationlabel" : { + "fg" : "@widgets#toolbox#title#button#active#fg", + "bg" : "@widgets#toolbox#title#button#active#bg" + }, + "qmenu" : { + "fg" : "@base#normal#fg", + "bg" : "@base#normal#bg", + "border" : "@base#normal#border", + "item" : { + "selected" : { + "fg" : "@base#selected#fg", + "bg" : "@base#selected#bg" + }, + "disabled" : { + "fg" : "@base#disabled#fg" + } + }, + "separator" : { + "bg" : "@widgets#separator#bg" + } + }, + "qtooltip" : { + "fg" : "@base#master#fg", + "bg" : "@base#master#bg" + }, + "qtoolbar" : { + "bg" : "@base#header#bg", + "separator" : { + "bg" : "@widgets#separator#bg" + }, + "extension" : { + "bg" : "@base#normal#fg" + } + }, + "qtoolbutton" : { + "fg" : "@base#normal#fg", + "bg" : "transparent", + "checked" : { + "fg" : "@base#selected#fg", + "bg" : "@base#selected#bg" + }, + "hover" : { + "fg" : "@base#hover#fg", + "bg" : "@base#hover#bg" + }, + "pressed" : { + "fg" : "@base#pressed#fg", + "bg" : "@base#pressed#bg" + } + }, + "qdockwidget" : { + "fg" : "@base#normal#fg", + "bg" : "@base#normal#bg", + "title" : { + "bg" : "@base#title#bg", + "button" : { + "hover" : { + "bg" : "@base#hover#bg" + } + } + } + }, + "qpushbutton" : { + "fg" : "@base#normal#fg", + "bg" : "transparent", + "border" : "@base#normal#border", + "default" : { + "border" : "@base#master#bg" + }, + "focus" : { + "fg" : "@base#focus#fg", + "bg" : "@base#focus#bg" + }, + "checked" : { + "fg" : "@base#selected#fg", + "bg" : "@base#selected#bg" + }, + "hover" : { + "fg" : "@base#hover#fg", + "bg" : "@base#hover#bg" + }, + "pressed" : { + "fg" : "@base#pressed#fg", + "bg" : "@base#pressed#bg" + }, + "disabled" : { + "fg" : "@base#disabled#fg", + "bg" : "@widgets#qpushbutton#bg" + } + }, + "qdialog" : { + "fg" : "@base#normal#fg", + "bg" : "@base#normal#bg" + }, + "qcombobox" : { + "fg" : "@base#content#fg", + "bg" : "@base#content#bg", + "border" : "@base#content#border", + "focus" : { + "bg" : "@base#content#focus#bg", + "border" : "@base#content#focus#border" + }, + "hover" : { + "bg" : "@base#content#hover#bg", + "border" : "@base#content#hover#border" + }, + "disabled" : { + "fg" : "@base#content#disabled#fg" + }, + "view" : { + "border" : "@base#content#border", + "bg" : "@widgets#qcombobox#bg", + "selection" : { + "fg" : "@base#content#selection#fg", + "bg" : "@base#content#selection#bg" + } + }, + "item" : { + "hover" : { + "fg" : "@base#content#hover#fg", + "bg" : "@base#content#hover#bg" + } + } + }, + "qlabel" : { + "fg" : "@base#normal#fg" + }, + "qlineedit" : { + "border" : "@base#content#border", + "fg" : "@base#content#fg", + "bg" : "@base#content#bg", + "selection" : { + "fg" : "@base#content#selection#fg", + "bg" : "@base#content#selection#bg" + }, + "focus" : { + "bg" : "@base#edit#focus#bg", + "border" : "@base#edit#focus#border" + }, + "hover" : { + "bg" : "@base#edit#hover#bg", + "border" : "@base#edit#hover#border" + }, + "disabled" : { + "fg" : "@base#content#disabled#fg" + } + }, + "qtabbar" : { + "tab" : { + "fg" : "@base#normal#fg", + "bg" : "@base#normal#bg", + "border" : "@base#normal#border", + "hover" : { + "fg" : "@base#hover#fg", + "bg" : "@base#hover#bg" + }, + "selected" : { + "fg" : "@base#content#fg", + "bg" : "@base#content#bg", + "border" : "@base#master#bg" + } + } + }, + "qtreeview" : { + "fg" : "@base#content#fg", + "bg" : "@base#content#bg", + "item" : { + "hover" : { + "fg" : "@base#content#hover#fg", + "bg" : "@base#content#hover#bg" + }, + "selected" : { + "fg" : "@base#content#selected#fg", + "bg" : "@base#content#selected#bg", + "active" : { + "fg" : "@base#content#selected#active#fg", + "bg" : "@base#content#selected#active#bg" + }, + "inactive" : { + "fg" : "@base#content#selected#inactive#fg", + "bg" : "@base#content#selected#inactive#bg" + } + } + } + }, + "qlistview" : { + "fg" : "@base#content#fg", + "bg" : "@base#content#bg", + "item" : { + "hover" : { + "fg" : "@base#content#hover#fg", + "bg" : "@base#content#hover#bg" + }, + "selected" : { + "fg" : "@base#content#selected#fg", + "bg" : "@base#content#selected#bg", + "active" : { + "fg" : "@base#content#selected#active#fg", + "bg" : "@base#content#selected#active#bg" + }, + "inactive" : { + "fg" : "@base#content#selected#inactive#fg", + "bg" : "@base#content#selected#inactive#bg" + } + } + } + }, + "qsplitter" : { + "handle" : { + "bg" : "@base#normal#border", + "pressed" : { + "bg" : "@base#pressed#bg" + } + } + }, + "qstatusbar" : { + "fg" : "@base#footer#fg", + "bg" : "@base#footer#bg" + }, + "qscrollbar" : { + "bg" : "@base#normal#bg", + "addpage" : { + "bg" : "transparent" + }, + "handle" : { + "bg" : "@palette#bg3_4", + "hover" : { + "bg" : "@palette#bg3_3" + }, + "pressed" : { + "bg" : "@palette#bg3_2" + } + } + }, + "qcheckbox" : { + "disabled" : { + "fg" : "@base#disabled#fg" + }, + "indicator" : { + "focus" : { + "bg" : "@base#focus#bg" + }, + "hover" : { + "bg" : "@base#hover#bg" + }, + "pressed" : { + "bg" : "@base#pressed#bg" + } + } + }, + "qradiobutton" : { + "disabled" : { + "fg" : "@base#disabled#fg" + }, + "indicator" : { + "focus" : { + "bg" : "@base#focus#bg" + }, + "hover" : { + "bg" : "@base#hover#bg" + }, + "pressed" : { + "bg" : "@base#pressed#bg" + } + } + }, + "qspinbox" : { + "border" : "@base#content#border", + "fg" : "@base#content#fg", + "bg" : "@base#content#bg", + "disabled" : { + "fg" : "@base#content#disabled#fg", + "bg" : "@base#content#disabled#bg" + }, + "selection" : { + "fg" : "@base#content#selection#fg", + "bg" : "@base#content#selection#bg" + }, + "focus" : { + "bg" : "@base#edit#focus#bg", + "border" : "@base#edit#focus#border" + }, + "hover" : { + "bg" : "@base#edit#hover#bg", + "border" : "@base#edit#hover#border" + }, + "button" : { + "hover" : { + "bg" : "@base#content#hover#bg" + }, + "pressed" : { + "bg" : "@base#content#pressed#bg" + } + } + }, + "qheaderview" : { + "section" : { + "fg" : "@base#content#fg", + "bg" : "@base#content#bg", + "border" : "@base#content#border", + "checked" : { + "fg" : "@base#content#selected#fg", + "bg" : "@base#content#selected#bg" + } + } + }, + "qprogressbar" : { + "bg" : "@base#content#bg", + "border" : "@base#content#border", + "chunk" : { + "bg" : "@base#master#alt" + } + }, + "qgroupbox" : { + "border" : "@base#normal#border", + "title" : { + "fg" : "@base#normal#fg" + } + }, + "qabstractscrollarea" : { + "border" : "@base#normal#border", + "corner" : { + "bg" : "@widgets#qscrollbar#bg" + } + }, + "qslider" : { + "groove" : { + "bg" : "@base#content#bg", + "border" : "@base#content#border" + }, + "handle" : { + "border" : "@base#content#border", + "bg" : "@base#master#bg" + }, + "subpage" : { + "border" : "@widgets#qslider#handle#border", + "bg" : "@base#master#alt" + } + }, + "viewwindow" : { + "toolbar" : { + "bg" : "@base#content#bg" + } + } + } +} diff --git a/src/data/extra/themes/pure/radiobutton_checked.svg b/src/data/extra/themes/pure/radiobutton_checked.svg new file mode 100644 index 00000000..eb117cb3 --- /dev/null +++ b/src/data/extra/themes/pure/radiobutton_checked.svg @@ -0,0 +1,7 @@ + + + Layer 1 + + + + diff --git a/src/data/extra/themes/pure/radiobutton_checked_disabled.svg b/src/data/extra/themes/pure/radiobutton_checked_disabled.svg new file mode 100644 index 00000000..9aa33733 --- /dev/null +++ b/src/data/extra/themes/pure/radiobutton_checked_disabled.svg @@ -0,0 +1,7 @@ + + + Layer 1 + + + + diff --git a/src/data/extra/themes/pure/radiobutton_unchecked.svg b/src/data/extra/themes/pure/radiobutton_unchecked.svg new file mode 100644 index 00000000..ddac281c --- /dev/null +++ b/src/data/extra/themes/pure/radiobutton_unchecked.svg @@ -0,0 +1,6 @@ + + + Layer 1 + + + diff --git a/src/data/extra/themes/pure/radiobutton_unchecked_disabled.svg b/src/data/extra/themes/pure/radiobutton_unchecked_disabled.svg new file mode 100644 index 00000000..8232c04a --- /dev/null +++ b/src/data/extra/themes/pure/radiobutton_unchecked_disabled.svg @@ -0,0 +1,6 @@ + + + Layer 1 + + + diff --git a/src/data/extra/themes/pure/right.svg b/src/data/extra/themes/pure/right.svg new file mode 100644 index 00000000..f44c49d0 --- /dev/null +++ b/src/data/extra/themes/pure/right.svg @@ -0,0 +1,8 @@ + + + Layer 1 + + + + + diff --git a/src/data/extra/themes/pure/right_disabled.svg b/src/data/extra/themes/pure/right_disabled.svg new file mode 100644 index 00000000..ff849266 --- /dev/null +++ b/src/data/extra/themes/pure/right_disabled.svg @@ -0,0 +1,8 @@ + + + Layer 1 + + + + + diff --git a/src/data/extra/themes/pure/sizegrip.svg b/src/data/extra/themes/pure/sizegrip.svg new file mode 100644 index 00000000..3018b1bb --- /dev/null +++ b/src/data/extra/themes/pure/sizegrip.svg @@ -0,0 +1 @@ + diff --git a/src/data/extra/themes/pure/text-editor.theme b/src/data/extra/themes/pure/text-editor.theme new file mode 100644 index 00000000..398d5197 --- /dev/null +++ b/src/data/extra/themes/pure/text-editor.theme @@ -0,0 +1,199 @@ +{ + "metadata" : { + "revision" : 0, + "name" : "Moonlight", + "type" : "vtextedit" + }, + "editor-styles" : { + "Text" : { + "//comment" : "Support a list of fonts separated by ,", + "font-family" : "YaHei Consolas Hybrid, Consolas, Monaco, Andale Mono, Monospace, Courier New", + "font-size" : 12, + "text-color" : "#222222", + "background-color" : "#f1f1f1", + "selected-text-color" : "#f1f1f1", + "selected-background-color" : "#1976d2" + }, + "CursorLine" : { + "background-color" : "#c5cae9" + }, + "TrailingSpace" : { + "background-color" : "#a8a8a8" + }, + "Tab" : { + "background-color" : "#cfcfcf" + }, + "SelectedText" : { + "//comment" : "Selected text highlight", + "text-color" : "#222222", + "background-color" : "#dfdf00" + }, + "IndicatorsBorder" : { + "text-color" : "#aaaaaa", + "background-color" : "#ededed" + }, + "CurrentLineNumber" : { + "text-color" : "#222222" + }, + "Folding" : { + "text-color" : "#6495ed" + }, + "FoldedFolding" : { + "text-color" : "#4169e1" + }, + "FoldingHighlight" : { + "text-color" : "#a9c4f5" + }, + "FoldedFoldingRangeLine" : { + "background-color" : "#befbdd" + }, + "IncrementalSearch" : { + "//comment" : "Incremental search highlight", + "text-color" : "#222222", + "background-color" : "#ce93d8" + }, + "Search" : { + "//comment" : "Search highlight", + "text-color" : "#222222", + "background-color" : "#4db6ac" + }, + "SearchUnderCursor" : { + "//comment" : "Search highlight under cursor", + "text-color" : "#222222", + "background-color" : "#66bb6a" + } + }, + "//comment" : "Override the Text style in editor-styles", + "markdown-editor-styles" : { + "Text" : { + "//comment" : "Support a list of fonts separated by ,", + "font-family" : "冬青黑体, YaHei Consolas Hybrid, Microsoft YaHei, 微软雅黑, Microsoft YaHei UI, WenQuanYi Micro Hei, 文泉驿雅黑, Dengxian, 等线体, STXihei, 华文细黑, Liberation Sans, Droid Sans, NSimSun, 新宋体, SimSun, 宋体, Verdana, Helvetica, sans-serif, Tahoma, Arial, Geneva, Georgia, Times New Roman", + "font-size" : 12, + "text-color" : "#222222", + "background-color" : "#f1f1f1", + "selected-text-color" : "#f1f1f1", + "selected-background-color" : "#1976d2" + } + }, + "markdown-syntax-styles" : { + "H1" : { + "text-color" : "#222222", + "bold" : true, + "font-size" : 17 + }, + "H2" : { + "text-color" : "#222222", + "bold" : true, + "font-size" : 16 + }, + "H3" : { + "text-color" : "#222222", + "bold" : true, + "font-size" : 15 + }, + "H4" : { + "text-color" : "#222222", + "bold" : true, + "font-size" : 14 + }, + "H5" : { + "text-color" : "#222222", + "bold" : true, + "font-size" : 13 + }, + "H6" : { + "text-color" : "#222222", + "bold" : true, + "font-size" : 12 + }, + "HRULE" : { + "text-color" : "#222222", + "background-color" : "#dac7c9" + }, + "LIST_BULLET" : { + "text-color" : "#d33682", + "bold" : true + }, + "LIST_ENUMERATOR" : { + "text-color" : "#0000ff" + }, + "LINK" : { + "text-color" : "#005fff" + }, + "AUTO_LINK_URL" : { + "text-color" : "#005fff" + }, + "AUTO_LINK_EMAIL" : { + "text-color" : "#005fff" + }, + "IMAGE" : { + "text-color" : "#616161" + }, + "REFERENCE" : { + "text-color" : "#826200" + }, + "CODE" : { + "text-color" : "#8e24aa", + "font-family" : "YaHei Consolas Hybrid, Consolas, Monaco, Andale Mono, Monospace, Courier New" + }, + "EMPH" : { + "italic" : true + }, + "STRONG" : { + "bold" : true + }, + "HTML_ENTITY" : { + "text-color" : "#8900b5" + }, + "HTML" : { + "text-color" : "#8900b5" + }, + "HTMLBLOCK" : { + "text-color" : "#8900b5" + }, + "COMMENT" : { + "text-color" : "#93a1a1" + }, + "VERBATIM" : { + "text-color" : "#673ab7", + "font-family" : "YaHei Consolas Hybrid, Consolas, Monaco, Andale Mono, Monospace, Courier New" + }, + "//comment" : "Please modify the syntax highlight theme as well if you change this", + "FENCEDCODEBLOCK" : { + "text-color" : "#673ab7", + "font-family" : "YaHei Consolas Hybrid, Consolas, Monaco, Andale Mono, Monospace, Courier New" + }, + "BLOCKQUOTE" : { + "text-color" : "#00af00" + }, + "NOTE" : { + "text-color" : "#0087b5" + }, + "STRIKE" : { + "text-color" : "#b71c1c", + "strike-through" : true + }, + "FRONTMATTER" : { + "text-color" : "#6c6c6c" + }, + "INLINEEQUATION" : { + "text-color" : "#00897b", + "font-family" : "YaHei Consolas Hybrid, Consolas, Monaco, Andale Mono, Monospace, Courier New" + }, + "DISPLAYFORMULA" : { + "text-color" : "#00897b", + "font-family" : "YaHei Consolas Hybrid, Consolas, Monaco, Andale Mono, Monospace, Courier New" + }, + "MARK" : { + "text-color" : "#222222", + "background-color" : "#ffff76" + }, + "TABLE" : { + "font-family" : "YaHei Consolas Hybrid, Consolas, Monaco, Andale Mono, Monospace, Courier New" + }, + "TABLEBORDER" : { + "text-color" : "#d33682", + "background-color" : "#e0e0e0" + } + } +} diff --git a/src/data/extra/themes/pure/up.svg b/src/data/extra/themes/pure/up.svg new file mode 100644 index 00000000..54926252 --- /dev/null +++ b/src/data/extra/themes/pure/up.svg @@ -0,0 +1,8 @@ + + + Layer 1 + + + + + diff --git a/src/data/extra/themes/pure/up_disabled.svg b/src/data/extra/themes/pure/up_disabled.svg new file mode 100644 index 00000000..d9af609a --- /dev/null +++ b/src/data/extra/themes/pure/up_disabled.svg @@ -0,0 +1,8 @@ + + + Layer 1 + + + + + diff --git a/src/data/extra/themes/pure/web.css b/src/data/extra/themes/pure/web.css new file mode 100644 index 00000000..3e127617 --- /dev/null +++ b/src/data/extra/themes/pure/web.css @@ -0,0 +1,285 @@ +body { + margin: 0 auto; + font-family: "Segoe UI", Helvetica, sans-serif, Tahoma, Arial, Geneva, Georgia, Palatino, "Times New Roman", "冬青黑体", "YaHei Consolas Hybrid", "Microsoft YaHei", "微软雅黑", "Microsoft YaHei UI", "WenQuanYi Micro Hei", "文泉驿雅黑", Dengxian, "等线体", STXihei, "华文细黑", "Liberation Sans", "Droid Sans", NSimSun, "新宋体", SimSun, "宋体"; + color: #222222; + line-height: 1.5; + padding: 15px; + background-color: #f1f1f1; + font-size: 16px; +} + +h1, h2, h3, h4, h5, h6 { + color: #222222; + font-weight: bold; + margin-top: 20px; + margin-bottom: 10px; + padding: 0; +} + +p { + padding: 0; + margin-top: 16px; + margin-bottom: 16px; +} + +h1 { + font-size: 26px; +} + +h2 { + font-size: 24px; +} + +h3 { + font-size: 22px; +} + +h4 { + font-size: 20px; +} + +h5 { + font-size: 19px; +} + +h6 { + font-size: 18px; +} + +a { + color: #0099ff; + margin: 0; + padding: 0; + vertical-align: baseline; + text-decoration: none; + word-break: break-word; +} + +a:hover { + text-decoration: underline; +} + +a:visited { + color: #800080; +} + +ul, ol { + padding: 0; + padding-left: 24px; +} + +li { + line-height: 24px; +} + +li ul, li ol { + margin-left: 16px; +} + +p, ul, ol { + font-size: 16px; + line-height: 24px; +} + +pre { + display: block; + overflow-y: hidden; + overflow-x: auto; + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; +} + +code { + font-family: "YaHei Consolas Hybrid", Consolas, Monaco, Monospace, Courier; + color: #8e24aa; + word-break: break-word; +} + +pre code { + display: block; + padding-left: 0.5em; + padding-right: 0.5em; + color: #222222; + background-color: #e0e0e0; + line-height: 1.5; + font-family: "YaHei Consolas Hybrid", Consolas, Monaco, Monospace, Courier; + white-space: pre; + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; +} + +aside { + display: block; + float: right; + width: 390px; +} + +blockquote { + color: #666666; + border-left: .5em solid #7a7a7a; + padding: 0 1em; + margin-left: 0; +} + +blockquote p { + color: #666666; +} + +hr { + display: block; + text-align: left; + margin: 1em 0; + border: none; + height: 2px; + background-color: #999999; +} + +table { + padding: 0; + margin: 1rem 0.5rem; + border-collapse: collapse; +} + +table tr { + border-top: 1px solid #cccccc; + background-color: #ffffff; + margin: 0; + padding: 0; +} + +table tr:hover { + background-color: #dadada; +} + +table tr th { + font-weight: bold; + border: 1px solid #cccccc; + margin: 0; + padding: 6px 13px; +} + +table tr td { + border: 1px solid #cccccc; + 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.vx-mermaid-graph { + margin: 16px 0px 16px 0px; + overflow-y: hidden; +} + +div.vx-flowchartjs-graph { + padding: 0px 5px 0px 5px; + margin: 16px 0px 16px 0px; + width: fit-content; + overflow: hidden; +} + +div.vx-wavedrom-graph { + padding: 0px 5px 0px 5px; + margin: 16px 0px 16px 0px; + width: fit-content; + overflow: hidden; +} + +div.vx-plantuml-graph { + padding: 5px 5px 0px 5px; + margin: 16px 0px 16px 0px; + width: fit-content; + overflow: hidden; +} + +::selection { + background-color: #6dafff; + color: #222222; +} + +::-webkit-scrollbar { + background-color: #eaeaea; + width: 14px; + height: 14px; + border: none; +} + +::-webkit-scrollbar-corner { + background-color: #eaeaea; +} + +::-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: #eaeaea; +} + +::-webkit-scrollbar-button:hover { + background-color: #dadada; +} + +::-webkit-scrollbar-button:active { + background-color: #c0c0c0; +} + +::-webkit-scrollbar-track { + /* This selector affects the styling of the area in the scrollbar between the two buttons */ + background-color: #eaeaea; +} + +::-webkit-scrollbar-thumb { + /* This selector affects the styling of draggable element of the scollbar */ + border: none; + background-color: #dadada; +} + +::-webkit-scrollbar-thumb:hover { + background-color: #d2d2d2; +} + +::-webkit-scrollbar-thumb:active { + background-color: #cdcdcd; +} + +::-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; +} + +#vx-content span.vx-search-match { + color: #222222; + background-color: #4db6ac; +} + +#vx-content span.vx-current-search-match { + color: #222222; + background-color: #66bb6a; +}