Make icon colours themable (#2549)

This commit is contained in:
Veronica Berglyd Olsen
2025-10-26 14:27:59 +01:00
committed by GitHub
94 changed files with 1666 additions and 187 deletions
+21
View File
@@ -29,6 +29,27 @@ active = cyan
inactive = red inactive = red
disabled = faded disabled = faded
[Icon]
tool = default
sidebar = default
accept = green
reject = red
action = blue
altaction = orange
apply = green
create = yellow
destroy = faded
reset = green
add = green
change = green
remove = red
shortcode = default
markdown = orange
systemio = yellow
info = blue
warning = orange
error = red
[Palette] [Palette]
window = #0c0c11 window = #0c0c11
windowtext = default windowtext = default
@@ -27,6 +27,27 @@ active = cyan
inactive = red inactive = red
disabled = faded disabled = faded
[Icon]
tool = default
sidebar = default
accept = green
reject = red
action = blue
altaction = orange
apply = green
create = yellow
destroy = faded
reset = green
add = green
change = green
remove = red
shortcode = default
markdown = orange
systemio = yellow
info = blue
warning = orange
error = red
[Palette] [Palette]
window = #e1dae2 window = #e1dae2
windowtext = default windowtext = default
+21
View File
@@ -29,6 +29,27 @@ active = cyan
inactive = red inactive = red
disabled = faded disabled = faded
[Icon]
tool = default
sidebar = default
accept = green
reject = red
action = blue
altaction = orange
apply = green
create = yellow
destroy = faded
reset = green
add = green
change = green
remove = red
shortcode = default
markdown = orange
systemio = yellow
info = blue
warning = orange
error = red
[Palette] [Palette]
window = #191924 window = #191924
windowtext = default windowtext = default
@@ -29,6 +29,27 @@ active = green
inactive = orange inactive = orange
disabled = #696d69 disabled = #696d69
[Icon]
tool = default
sidebar = default
accept = green
reject = red
action = blue
altaction = orange
apply = green
create = yellow
destroy = faded
reset = green
add = green
change = green
remove = red
shortcode = default
markdown = orange
systemio = yellow
info = blue
warning = orange
error = red
[Palette] [Palette]
window = #1e1f1e window = #1e1f1e
windowtext = default windowtext = default
@@ -29,6 +29,27 @@ active = green
inactive = orange inactive = orange
disabled = #aab1aa disabled = #aab1aa
[Icon]
tool = default
sidebar = default
accept = green
reject = red
action = blue
altaction = orange
apply = green
create = yellow
destroy = faded
reset = green
add = green
change = green
remove = red
shortcode = default
markdown = orange
systemio = yellow
info = blue
warning = orange
error = red
[Palette] [Palette]
window = #ece5df window = #ece5df
windowtext = default windowtext = default
@@ -29,6 +29,27 @@ active = red
inactive = faded inactive = faded
disabled = #575c79 disabled = #575c79
[Icon]
tool = default
sidebar = default
accept = green
reject = red
action = blue
altaction = orange
apply = green
create = yellow
destroy = faded
reset = green
add = green
change = green
remove = red
shortcode = default
markdown = orange
systemio = yellow
info = blue
warning = orange
error = red
[Palette] [Palette]
window = #1e212f window = #1e212f
windowtext = default windowtext = default
@@ -29,6 +29,27 @@ active = red
inactive = faded inactive = faded
disabled = #b6bad1 disabled = #b6bad1
[Icon]
tool = default
sidebar = default
accept = green
reject = red
action = blue
altaction = orange
apply = green
create = yellow
destroy = faded
reset = green
add = green
change = green
remove = red
shortcode = default
markdown = orange
systemio = yellow
info = blue
warning = orange
error = red
[Palette] [Palette]
window = #e9e5e7 window = #e9e5e7
windowtext = default windowtext = default
@@ -29,6 +29,27 @@ active = default
inactive = faded inactive = faded
disabled = #454f5f disabled = #454f5f
[Icon]
tool = default
sidebar = default
accept = green
reject = red
action = blue
altaction = orange
apply = green
create = yellow
destroy = faded
reset = green
add = green
change = green
remove = red
shortcode = default
markdown = orange
systemio = yellow
info = blue
warning = orange
error = red
[Palette] [Palette]
window = #191d23 window = #191d23
windowtext = default windowtext = default
@@ -29,6 +29,27 @@ active = default
inactive = faded inactive = faded
disabled = #acb5c3 disabled = #acb5c3
[Icon]
tool = default
sidebar = default
accept = green
reject = red
action = blue
altaction = orange
apply = green
create = yellow
destroy = faded
reset = green
add = green
change = green
remove = red
shortcode = default
markdown = orange
systemio = yellow
info = blue
warning = orange
error = red
[Palette] [Palette]
window = #e7eaee window = #e7eaee
windowtext = default windowtext = default
@@ -29,6 +29,27 @@ active = default
inactive = faded inactive = faded
disabled = #5d5f6f disabled = #5d5f6f
[Icon]
tool = default
sidebar = default
accept = green
reject = red
action = blue
altaction = orange
apply = green
create = yellow
destroy = faded
reset = green
add = green
change = green
remove = red
shortcode = default
markdown = orange
systemio = yellow
info = blue
warning = orange
error = red
[Palette] [Palette]
window = #1b1c20 window = #1b1c20
windowtext = default windowtext = default
@@ -29,6 +29,27 @@ active = default
inactive = faded inactive = faded
disabled = #BBBDC9 disabled = #BBBDC9
[Icon]
tool = default
sidebar = default
accept = green
reject = red
action = blue
altaction = orange
apply = green
create = yellow
destroy = faded
reset = green
add = green
change = green
remove = red
shortcode = default
markdown = orange
systemio = yellow
info = blue
warning = orange
error = red
[Palette] [Palette]
window = #e7e7ed window = #e7e7ed
windowtext = default windowtext = default
@@ -29,6 +29,27 @@ active = blue:L150
inactive = blue:D150 inactive = blue:D150
disabled = faded disabled = faded
[Icon]
tool = default
sidebar = default
accept = green
reject = red
action = blue
altaction = orange
apply = green
create = yellow
destroy = faded
reset = green
add = green
change = green
remove = red
shortcode = default
markdown = orange
systemio = yellow
info = blue
warning = orange
error = red
[Palette] [Palette]
window = base:L125 window = base:L125
windowtext = default windowtext = default
@@ -29,6 +29,27 @@ active = blue:L115
inactive = blue:D150 inactive = blue:D150
disabled = faded disabled = faded
[Icon]
tool = default
sidebar = default
accept = green
reject = red
action = blue
altaction = orange
apply = green
create = yellow
destroy = faded
reset = green
add = green
change = green
remove = red
shortcode = default
markdown = orange
systemio = yellow
info = blue
warning = orange
error = red
[Palette] [Palette]
window = base:D105 window = base:D105
windowtext = default windowtext = default
+21
View File
@@ -27,6 +27,27 @@ active = default
inactive = faded inactive = faded
disabled = #b4aca5 disabled = #b4aca5
[Icon]
tool = default
sidebar = default
accept = green
reject = red
action = blue
altaction = orange
apply = green
create = yellow
destroy = faded
reset = green
add = green
change = green
remove = red
shortcode = default
markdown = orange
systemio = yellow
info = blue
warning = orange
error = red
[Palette] [Palette]
window = base:D110 window = base:D110
windowtext = default windowtext = default
@@ -27,6 +27,27 @@ active = default
inactive = faded inactive = faded
disabled = #4b4f5c disabled = #4b4f5c
[Icon]
tool = default
sidebar = default
accept = green
reject = red
action = blue
altaction = orange
apply = green
create = yellow
destroy = faded
reset = green
add = green
change = green
remove = red
shortcode = default
markdown = orange
systemio = yellow
info = blue
warning = orange
error = red
[Palette] [Palette]
window = base:D130 window = base:D130
windowtext = default windowtext = default
@@ -27,6 +27,27 @@ active = green
inactive = faded inactive = faded
disabled = faded:L135 disabled = faded:L135
[Icon]
tool = default
sidebar = default
accept = green
reject = red
action = blue
altaction = orange
apply = green
create = yellow
destroy = faded
reset = green
add = green
change = green
remove = red
shortcode = default
markdown = orange
systemio = yellow
info = blue
warning = orange
error = red
[Palette] [Palette]
window = base:D108 window = base:D108
windowtext = default windowtext = default
+21
View File
@@ -27,6 +27,27 @@ active = green
inactive = faded inactive = faded
disabled = #504742 disabled = #504742
[Icon]
tool = default
sidebar = default
accept = green
reject = red
action = blue
altaction = orange
apply = green
create = yellow
destroy = faded
reset = green
add = green
change = green
remove = red
shortcode = default
markdown = orange
systemio = yellow
info = blue
warning = orange
error = red
[Palette] [Palette]
window = #241d1d window = #241d1d
windowtext = default windowtext = default
@@ -28,6 +28,27 @@ active = green
inactive = red inactive = red
disabled = faded disabled = faded
[Icon]
tool = default
sidebar = default
accept = green
reject = red
action = blue
altaction = orange
apply = green
create = yellow
destroy = faded
reset = green
add = green
change = green
remove = red
shortcode = default
markdown = orange
systemio = yellow
info = blue
warning = orange
error = red
[Palette] [Palette]
window = base window = base
windowtext = #969696 windowtext = #969696
@@ -29,6 +29,27 @@ active = green
inactive = red inactive = red
disabled = faded disabled = faded
[Icon]
tool = default
sidebar = default
accept = green
reject = red
action = blue
altaction = orange
apply = green
create = yellow
destroy = faded
reset = green
add = green
change = green
remove = red
shortcode = default
markdown = orange
systemio = yellow
info = blue
warning = orange
error = red
[Palette] [Palette]
window = base:L125 window = base:L125
windowtext = default windowtext = default
@@ -29,6 +29,27 @@ active = green
inactive = red inactive = red
disabled = faded disabled = faded
[Icon]
tool = default
sidebar = default
accept = green
reject = red
action = blue
altaction = orange
apply = green
create = yellow
destroy = faded
reset = green
add = green
change = green
remove = red
shortcode = default
markdown = orange
systemio = yellow
info = blue
warning = orange
error = red
[Palette] [Palette]
window = base:D105 window = base:D105
windowtext = default windowtext = default
+21
View File
@@ -45,6 +45,27 @@ active = green
inactive = red inactive = red
disabled = faded disabled = faded
[Icon]
tool = default
sidebar = default
accept = green
reject = red
action = blue
altaction = orange
apply = green
create = yellow
destroy = faded
reset = green
add = green
change = green
remove = red
shortcode = default
markdown = orange
systemio = yellow
info = blue
warning = orange
error = red
[Palette] [Palette]
window = #44475a window = #44475a
windowtext = #f8f8f2 windowtext = #f8f8f2
+21
View File
@@ -29,6 +29,27 @@ active = green
inactive = red inactive = red
disabled = faded disabled = faded
[Icon]
tool = default
sidebar = default
accept = green
reject = red
action = blue
altaction = orange
apply = green
create = yellow
destroy = faded
reset = green
add = green
change = green
remove = red
shortcode = default
markdown = orange
systemio = yellow
info = blue
warning = orange
error = red
[Palette] [Palette]
window = base:L125 window = base:L125
windowtext = default windowtext = default
@@ -29,6 +29,27 @@ active = cyan
inactive = orange inactive = orange
disabled = faded disabled = faded
[Icon]
tool = default
sidebar = default
accept = green
reject = red
action = blue
altaction = orange
apply = green
create = yellow
destroy = faded
reset = green
add = green
change = green
remove = red
shortcode = default
markdown = orange
systemio = yellow
info = blue
warning = orange
error = red
[Palette] [Palette]
window = #1e2326 window = #1e2326
windowtext = default windowtext = default
@@ -29,6 +29,27 @@ active = cyan
inactive = orange inactive = orange
disabled = faded disabled = faded
[Icon]
tool = default
sidebar = default
accept = green
reject = red
action = blue
altaction = orange
apply = green
create = yellow
destroy = faded
reset = green
add = green
change = green
remove = red
shortcode = default
markdown = orange
systemio = yellow
info = blue
warning = orange
error = red
[Palette] [Palette]
window = #f2efdf window = #f2efdf
windowtext = default windowtext = default
@@ -27,6 +27,27 @@ active = green
inactive = faded inactive = faded
disabled = #e2bcce disabled = #e2bcce
[Icon]
tool = default
sidebar = default
accept = green
reject = red
action = blue
altaction = orange
apply = green
create = yellow
destroy = faded
reset = green
add = green
change = green
remove = red
shortcode = default
markdown = orange
systemio = yellow
info = blue
warning = orange
error = red
[Palette] [Palette]
window = #ffe3ea window = #ffe3ea
windowtext = default windowtext = default
@@ -27,6 +27,27 @@ active = green
inactive = faded inactive = faded
disabled = #55516d disabled = #55516d
[Icon]
tool = default
sidebar = default
accept = green
reject = red
action = blue
altaction = orange
apply = green
create = yellow
destroy = faded
reset = green
add = green
change = green
remove = red
shortcode = default
markdown = orange
systemio = yellow
info = blue
warning = orange
error = red
[Palette] [Palette]
window = #181825 window = #181825
windowtext = default windowtext = default
+21
View File
@@ -27,6 +27,27 @@ active = green
inactive = red inactive = red
disabled = faded disabled = faded
[Icon]
tool = default
sidebar = default
accept = green
reject = red
action = blue
altaction = orange
apply = green
create = yellow
destroy = faded
reset = green
add = green
change = green
remove = red
shortcode = default
markdown = orange
systemio = yellow
info = blue
warning = orange
error = red
[Palette] [Palette]
window = #e7ebee window = #e7ebee
windowtext = default windowtext = default
+21
View File
@@ -29,6 +29,27 @@ active = green
inactive = red inactive = red
disabled = faded disabled = faded
[Icon]
tool = default
sidebar = default
accept = green
reject = red
action = blue
altaction = orange
apply = green
create = yellow
destroy = faded
reset = green
add = green
change = green
remove = red
shortcode = default
markdown = orange
systemio = yellow
info = blue
warning = orange
error = red
[Palette] [Palette]
window = #363636 window = #363636
windowtext = default windowtext = default
+21
View File
@@ -29,6 +29,27 @@ active = green
inactive = red inactive = red
disabled = faded disabled = faded
[Icon]
tool = default
sidebar = default
accept = green
reject = red
action = blue
altaction = orange
apply = green
create = yellow
destroy = faded
reset = green
add = green
change = green
remove = red
shortcode = default
markdown = orange
systemio = yellow
info = blue
warning = orange
error = red
[Palette] [Palette]
window = #efefef window = #efefef
windowtext = default windowtext = default
@@ -29,6 +29,27 @@ active = yellow
inactive = faded inactive = faded
disabled = #404263 disabled = #404263
[Icon]
tool = default
sidebar = default
accept = green
reject = red
action = blue
altaction = orange
apply = green
create = yellow
destroy = faded
reset = green
add = green
change = green
remove = red
shortcode = default
markdown = orange
systemio = yellow
info = blue
warning = orange
error = red
[Palette] [Palette]
window = base window = base
windowtext = default windowtext = default
@@ -29,6 +29,27 @@ active = #eb834f
inactive = faded inactive = faded
disabled = faded:L125 disabled = faded:L125
[Icon]
tool = default
sidebar = default
accept = green
reject = red
action = blue
altaction = orange
apply = green
create = yellow
destroy = faded
reset = green
add = green
change = green
remove = red
shortcode = default
markdown = orange
systemio = yellow
info = blue
warning = orange
error = red
[Palette] [Palette]
window = base window = base
windowtext = default windowtext = default
+21
View File
@@ -29,6 +29,27 @@ active = blue
inactive = red inactive = red
disabled = faded disabled = faded
[Icon]
tool = default
sidebar = default
accept = green
reject = red
action = blue
altaction = orange
apply = green
create = yellow
destroy = faded
reset = green
add = green
change = green
remove = red
shortcode = default
markdown = orange
systemio = yellow
info = blue
warning = orange
error = red
[Palette] [Palette]
window = base:L180 window = base:L180
windowtext = default windowtext = default
+21
View File
@@ -49,6 +49,27 @@ active = green
inactive = red inactive = red
disabled = faded disabled = faded
[Icon]
tool = default
sidebar = default
accept = green
reject = red
action = blue
altaction = orange
apply = green
create = yellow
destroy = faded
reset = green
add = green
change = green
remove = red
shortcode = default
markdown = orange
systemio = yellow
info = blue
warning = orange
error = red
[Palette] [Palette]
window = #eaeaea window = #eaeaea
windowtext = default windowtext = default
+21
View File
@@ -29,6 +29,27 @@ active = green
inactive = red inactive = red
disabled = faded disabled = faded
[Icon]
tool = default
sidebar = default
accept = green
reject = red
action = blue
altaction = orange
apply = green
create = yellow
destroy = faded
reset = green
add = green
change = green
remove = red
shortcode = default
markdown = orange
systemio = yellow
info = blue
warning = orange
error = red
[Palette] [Palette]
window = #252525 window = #252525
windowtext = default windowtext = default
+21
View File
@@ -37,6 +37,27 @@ cyan = #7fdbca
blue = #82aaff blue = #82aaff
purple = #c792ea purple = #c792ea
[Icon]
tool = default
sidebar = default
accept = green
reject = red
action = blue
altaction = orange
apply = green
create = yellow
destroy = faded
reset = green
add = green
change = green
remove = red
shortcode = default
markdown = orange
systemio = yellow
info = blue
warning = orange
error = red
[Project] [Project]
root = blue root = blue
folder = yellow folder = yellow
+21
View File
@@ -61,6 +61,27 @@ active = green
inactive = red inactive = red
disabled = faded disabled = faded
[Icon]
tool = default
sidebar = default
accept = green
reject = red
action = blue
altaction = orange
apply = green
create = yellow
destroy = faded
reset = green
add = green
change = green
remove = red
shortcode = default
markdown = orange
systemio = yellow
info = blue
warning = orange
error = red
[Palette] [Palette]
window = #041d20 window = #041d20
windowtext = default windowtext = default
+21
View File
@@ -61,6 +61,27 @@ active = green
inactive = red inactive = red
disabled = faded disabled = faded
[Icon]
tool = default
sidebar = default
accept = green
reject = red
action = blue
altaction = orange
apply = green
create = yellow
destroy = faded
reset = green
add = green
change = green
remove = red
shortcode = default
markdown = orange
systemio = yellow
info = blue
warning = orange
error = red
[Palette] [Palette]
window = #f9f1e1 window = #f9f1e1
windowtext = default windowtext = default
+21
View File
@@ -29,6 +29,27 @@ active = green
inactive = faded inactive = faded
disabled = #576279 disabled = #576279
[Icon]
tool = default
sidebar = default
accept = green
reject = red
action = blue
altaction = orange
apply = green
create = yellow
destroy = faded
reset = green
add = green
change = green
remove = red
shortcode = default
markdown = orange
systemio = yellow
info = blue
warning = orange
error = red
[Palette] [Palette]
window = #242933 window = #242933
windowtext = default windowtext = default
+21
View File
@@ -27,6 +27,27 @@ active = green
inactive = faded inactive = faded
disabled = #b2c0d6 disabled = #b2c0d6
[Icon]
tool = default
sidebar = default
accept = green
reject = red
action = blue
altaction = orange
apply = green
create = yellow
destroy = faded
reset = green
add = green
change = green
remove = red
shortcode = default
markdown = orange
systemio = yellow
info = blue
warning = orange
error = red
[Palette] [Palette]
window = #e5e9f0 window = #e5e9f0
windowtext = default windowtext = default
+21
View File
@@ -27,6 +27,27 @@ active = default
inactive = faded inactive = faded
disabled = #4e545e disabled = #4e545e
[Icon]
tool = default
sidebar = default
accept = green
reject = red
action = blue
altaction = orange
apply = green
create = yellow
destroy = faded
reset = green
add = green
change = green
remove = red
shortcode = default
markdown = orange
systemio = yellow
info = blue
warning = orange
error = red
[Palette] [Palette]
window = base window = base
windowtext = default windowtext = default
@@ -27,6 +27,27 @@ active = default:L165
inactive = faded:L110 inactive = faded:L110
disabled = #adadad disabled = #adadad
[Icon]
tool = default
sidebar = default
accept = green
reject = red
action = blue
altaction = orange
apply = green
create = yellow
destroy = faded
reset = green
add = green
change = green
remove = red
shortcode = default
markdown = orange
systemio = yellow
info = blue
warning = orange
error = red
[Palette] [Palette]
window = base window = base
windowtext = default windowtext = default
+21
View File
@@ -28,6 +28,27 @@ active = #00ffe1
inactive = faded inactive = faded
disabled = faded:D150 disabled = faded:D150
[Icon]
tool = default
sidebar = default
accept = green
reject = red
action = blue
altaction = orange
apply = green
create = yellow
destroy = faded
reset = green
add = green
change = green
remove = red
shortcode = default
markdown = orange
systemio = yellow
info = blue
warning = orange
error = red
[Palette] [Palette]
window = #10151b window = #10151b
windowtext = default windowtext = default
@@ -29,6 +29,27 @@ active = #24292f
inactive = faded inactive = faded
disabled = #afb8c1 disabled = #afb8c1
[Icon]
tool = default
sidebar = default
accept = green
reject = red
action = blue
altaction = orange
apply = green
create = yellow
destroy = faded
reset = green
add = green
change = green
remove = red
shortcode = default
markdown = orange
systemio = yellow
info = blue
warning = orange
error = red
[Palette] [Palette]
window = #eaeef2 window = #eaeef2
windowtext = default windowtext = default
@@ -29,6 +29,27 @@ active = default
inactive = faded inactive = faded
disabled = #484f58 disabled = #484f58
[Icon]
tool = default
sidebar = default
accept = green
reject = red
action = blue
altaction = orange
apply = green
create = yellow
destroy = faded
reset = green
add = green
change = green
remove = red
shortcode = default
markdown = orange
systemio = yellow
info = blue
warning = orange
error = red
[Palette] [Palette]
window = #161b22 window = #161b22
windowtext = default windowtext = default
+21
View File
@@ -27,6 +27,27 @@ active = default
inactive = red inactive = red
disabled = faded disabled = faded
[Icon]
tool = default
sidebar = default
accept = green
reject = red
action = blue
altaction = orange
apply = green
create = yellow
destroy = faded
reset = green
add = green
change = green
remove = red
shortcode = default
markdown = orange
systemio = yellow
info = blue
warning = orange
error = red
[Palette] [Palette]
window = #f1d9d9 window = #f1d9d9
windowtext = default windowtext = default
+21
View File
@@ -27,6 +27,27 @@ active = default
inactive = red inactive = red
disabled = faded disabled = faded
[Icon]
tool = default
sidebar = default
accept = green
reject = red
action = blue
altaction = orange
apply = green
create = yellow
destroy = faded
reset = green
add = green
change = green
remove = red
shortcode = default
markdown = orange
systemio = yellow
info = blue
warning = orange
error = red
[Palette] [Palette]
window = #0e0e11 window = #0e0e11
windowtext = default windowtext = default
@@ -27,6 +27,27 @@ active = #c7c0d2
inactive = red inactive = red
disabled = #625b70 disabled = #625b70
[Icon]
tool = default
sidebar = default
accept = green
reject = red
action = blue
altaction = orange
apply = green
create = yellow
destroy = faded
reset = green
add = green
change = green
remove = red
shortcode = default
markdown = orange
systemio = yellow
info = blue
warning = orange
error = red
[Palette] [Palette]
window = #0f0e13 window = #0f0e13
windowtext = #c7c0d2 windowtext = #c7c0d2
@@ -27,6 +27,27 @@ active = default
inactive = red inactive = red
disabled = faded disabled = faded
[Icon]
tool = default
sidebar = default
accept = green
reject = red
action = blue
altaction = orange
apply = green
create = yellow
destroy = faded
reset = green
add = green
change = green
remove = red
shortcode = default
markdown = orange
systemio = yellow
info = blue
warning = orange
error = red
[Palette] [Palette]
window = #d2cfda window = #d2cfda
windowtext = #29252f windowtext = #29252f
+21
View File
@@ -27,6 +27,27 @@ active = default
inactive = red inactive = red
disabled = faded disabled = faded
[Icon]
tool = default
sidebar = default
accept = green
reject = red
action = blue
altaction = orange
apply = green
create = yellow
destroy = faded
reset = green
add = green
change = green
remove = red
shortcode = default
markdown = orange
systemio = yellow
info = blue
warning = orange
error = red
[Palette] [Palette]
window = #251b18 window = #251b18
windowtext = #ceb3a2 windowtext = #ceb3a2
@@ -27,6 +27,27 @@ active = #86685b
inactive = red inactive = red
disabled = #b6a096 disabled = #b6a096
[Icon]
tool = default
sidebar = default
accept = green
reject = red
action = blue
altaction = orange
apply = green
create = yellow
destroy = faded
reset = green
add = green
change = green
remove = red
shortcode = default
markdown = orange
systemio = yellow
info = blue
warning = orange
error = red
[Palette] [Palette]
window = #e2d3c1 window = #e2d3c1
windowtext = default windowtext = default
+21
View File
@@ -42,6 +42,27 @@ active = green
inactive = red inactive = red
disabled = faded disabled = faded
[Icon]
tool = default
sidebar = default
accept = green
reject = red
action = blue
altaction = orange
apply = green
create = yellow
destroy = faded
reset = green
add = green
change = green
remove = red
shortcode = default
markdown = orange
systemio = yellow
info = blue
warning = orange
error = red
[Palette] [Palette]
window = #f3f4f5 window = #f3f4f5
windowtext = default windowtext = default
@@ -48,6 +48,27 @@ active = green
inactive = red inactive = red
disabled = faded disabled = faded
[Icon]
tool = default
sidebar = default
accept = green
reject = red
action = blue
altaction = orange
apply = green
create = yellow
destroy = faded
reset = green
add = green
change = green
remove = red
shortcode = default
markdown = orange
systemio = yellow
info = blue
warning = orange
error = red
[Palette] [Palette]
window = #073642 window = #073642
windowtext = default windowtext = default
@@ -48,6 +48,27 @@ active = green
inactive = red inactive = red
disabled = faded disabled = faded
[Icon]
tool = default
sidebar = default
accept = green
reject = red
action = blue
altaction = orange
apply = green
create = yellow
destroy = faded
reset = green
add = green
change = green
remove = red
shortcode = default
markdown = orange
systemio = yellow
info = blue
warning = orange
error = red
[Palette] [Palette]
window = #eee8d5 window = #eee8d5
windowtext = default windowtext = default
@@ -27,6 +27,27 @@ active = #77606e
inactive = red inactive = red
disabled = faded disabled = faded
[Icon]
tool = default
sidebar = default
accept = green
reject = red
action = blue
altaction = orange
apply = green
create = yellow
destroy = faded
reset = green
add = green
change = green
remove = red
shortcode = default
markdown = orange
systemio = yellow
info = blue
warning = orange
error = red
[Palette] [Palette]
window = #f0e4e4 window = #f0e4e4
windowtext = default windowtext = default
@@ -27,6 +27,27 @@ active = default
inactive = red inactive = red
disabled = #85748a disabled = #85748a
[Icon]
tool = default
sidebar = default
accept = green
reject = red
action = blue
altaction = orange
apply = green
create = yellow
destroy = faded
reset = green
add = green
change = green
remove = red
shortcode = default
markdown = orange
systemio = yellow
info = blue
warning = orange
error = red
[Palette] [Palette]
window = #221a23 window = #221a23
windowtext = default windowtext = default
+21
View File
@@ -43,6 +43,27 @@ active = green
inactive = red inactive = red
disabled = faded disabled = faded
[Icon]
tool = default
sidebar = default
accept = green
reject = red
action = blue
altaction = orange
apply = green
create = yellow
destroy = faded
reset = green
add = green
change = green
remove = red
shortcode = default
markdown = orange
systemio = yellow
info = blue
warning = orange
error = red
[Palette] [Palette]
window = base:L140 window = base:L140
windowtext = default windowtext = default
@@ -43,6 +43,27 @@ active = green
inactive = red inactive = red
disabled = faded disabled = faded
[Icon]
tool = default
sidebar = default
accept = green
reject = red
action = blue
altaction = orange
apply = green
create = yellow
destroy = faded
reset = green
add = green
change = green
remove = red
shortcode = default
markdown = orange
systemio = yellow
info = blue
warning = orange
error = red
[Palette] [Palette]
window = base:D110 window = base:D110
windowtext = default windowtext = default
+21
View File
@@ -49,6 +49,27 @@ active = green
inactive = red inactive = red
disabled = faded disabled = faded
[Icon]
tool = default
sidebar = default
accept = green
reject = red
action = blue
altaction = orange
apply = green
create = yellow
destroy = faded
reset = green
add = green
change = green
remove = red
shortcode = default
markdown = orange
systemio = yellow
info = blue
warning = orange
error = red
[Palette] [Palette]
window = #efefef window = #efefef
windowtext = #000000 windowtext = #000000
@@ -49,6 +49,27 @@ active = green
inactive = red inactive = red
disabled = faded disabled = faded
[Icon]
tool = default
sidebar = default
accept = green
reject = red
action = blue
altaction = orange
apply = green
create = yellow
destroy = faded
reset = green
add = green
change = green
remove = red
shortcode = default
markdown = orange
systemio = yellow
info = blue
warning = orange
error = red
[Palette] [Palette]
window = #282a2e window = #282a2e
windowtext = default windowtext = default
@@ -49,6 +49,27 @@ active = green
inactive = red inactive = red
disabled = faded disabled = faded
[Icon]
tool = default
sidebar = default
accept = green
reject = red
action = blue
altaction = orange
apply = green
create = yellow
destroy = faded
reset = green
add = green
change = green
remove = red
shortcode = default
markdown = orange
systemio = yellow
info = blue
warning = orange
error = red
[Palette] [Palette]
window = base:L125 window = base:L125
windowtext = default windowtext = default
@@ -49,6 +49,27 @@ active = green
inactive = red inactive = red
disabled = faded disabled = faded
[Icon]
tool = default
sidebar = default
accept = green
reject = red
action = blue
altaction = orange
apply = green
create = yellow
destroy = faded
reset = green
add = green
change = green
remove = red
shortcode = default
markdown = orange
systemio = yellow
info = blue
warning = orange
error = red
[Palette] [Palette]
window = #181818 window = #181818
windowtext = default windowtext = default
@@ -49,6 +49,27 @@ active = green
inactive = red inactive = red
disabled = faded disabled = faded
[Icon]
tool = default
sidebar = default
accept = green
reject = red
action = blue
altaction = orange
apply = green
create = yellow
destroy = faded
reset = green
add = green
change = green
remove = red
shortcode = default
markdown = orange
systemio = yellow
info = blue
warning = orange
error = red
[Palette] [Palette]
window = #393939 window = #393939
windowtext = default windowtext = default
@@ -29,6 +29,27 @@ active = green
inactive = faded inactive = faded
disabled = faded:D175 disabled = faded:D175
[Icon]
tool = default
sidebar = default
accept = green
reject = red
action = blue
altaction = orange
apply = green
create = yellow
destroy = faded
reset = green
add = green
change = green
remove = red
shortcode = default
markdown = orange
systemio = yellow
info = blue
warning = orange
error = red
[Palette] [Palette]
window = base window = base
windowtext = default windowtext = default
@@ -29,6 +29,27 @@ active = red
inactive = faded inactive = faded
disabled = faded:D175 disabled = faded:D175
[Icon]
tool = default
sidebar = default
accept = green
reject = red
action = blue
altaction = orange
apply = green
create = yellow
destroy = faded
reset = green
add = green
change = green
remove = red
shortcode = default
markdown = orange
systemio = yellow
info = blue
warning = orange
error = red
[Palette] [Palette]
window = base window = base
windowtext = default windowtext = default
@@ -29,6 +29,27 @@ active = green
inactive = faded inactive = faded
disabled = faded:L135 disabled = faded:L135
[Icon]
tool = default
sidebar = default
accept = green
reject = red
action = blue
altaction = orange
apply = green
create = yellow
destroy = faded
reset = green
add = green
change = green
remove = red
shortcode = default
markdown = orange
systemio = yellow
info = blue
warning = orange
error = red
[Palette] [Palette]
window = base window = base
windowtext = default windowtext = default
@@ -29,6 +29,27 @@ active = red
inactive = faded inactive = faded
disabled = faded:L135 disabled = faded:L135
[Icon]
tool = default
sidebar = default
accept = green
reject = red
action = blue
altaction = orange
apply = green
create = yellow
destroy = faded
reset = green
add = green
change = green
remove = red
shortcode = default
markdown = orange
systemio = yellow
info = blue
warning = orange
error = red
[Palette] [Palette]
window = base window = base
windowtext = default windowtext = default
+21
View File
@@ -28,6 +28,27 @@ active = green
inactive = red inactive = red
disabled = faded disabled = faded
[Icon]
tool = default
sidebar = default
accept = green
reject = red
action = blue
altaction = orange
apply = green
create = yellow
destroy = faded
reset = green
add = green
change = green
remove = red
shortcode = default
markdown = orange
systemio = yellow
info = blue
warning = orange
error = red
[Palette] [Palette]
window = base:D150 window = base:D150
windowtext = default windowtext = default
@@ -27,6 +27,27 @@ active = #ff9fbd
inactive = faded inactive = faded
disabled = #374a5c disabled = #374a5c
[Icon]
tool = default
sidebar = default
accept = green
reject = red
action = blue
altaction = orange
apply = green
create = yellow
destroy = faded
reset = green
add = green
change = green
remove = red
shortcode = default
markdown = orange
systemio = yellow
info = blue
warning = orange
error = red
[Palette] [Palette]
window = #151f25 window = #151f25
windowtext = default windowtext = default
@@ -27,6 +27,27 @@ active = #da7b8f
inactive = faded inactive = faded
disabled = #b6c9ba disabled = #b6c9ba
[Icon]
tool = default
sidebar = default
accept = green
reject = red
action = blue
altaction = orange
apply = green
create = yellow
destroy = faded
reset = green
add = green
change = green
remove = red
shortcode = default
markdown = orange
systemio = yellow
info = blue
warning = orange
error = red
[Palette] [Palette]
window = #e2eee7 window = #e2eee7
windowtext = default windowtext = default
+1 -1
View File
@@ -61,7 +61,7 @@ class NovelModel(QAbstractTableModel):
def __init__(self) -> None: def __init__(self) -> None:
super().__init__() super().__init__()
self._rows: list[dict[int, T_NodeData]] = [] self._rows: list[dict[int, T_NodeData]] = []
self._more = SHARED.theme.getIcon("more_arrow") self._more = SHARED.theme.getIcon("more_arrow", "tool")
self._columns = 3 self._columns = 3
self._extraKey = "" self._extraKey = ""
self._extraLabel = "" self._extraLabel = ""
+11 -9
View File
@@ -71,7 +71,7 @@ class GuiPreferences(NDialog):
) )
# Search Box # Search Box
self.searchAction = QAction(SHARED.theme.getIcon("search"), "") self.searchAction = QAction(SHARED.theme.getIcon("search", "apply"), "")
self.searchAction.triggered.connect(self._gotoSearch) self.searchAction.triggered.connect(self._gotoSearch)
self.searchText = QLineEdit(self) self.searchText = QLineEdit(self)
@@ -211,7 +211,7 @@ class GuiPreferences(NDialog):
self.guiFont.setMinimumWidth(162) self.guiFont.setMinimumWidth(162)
self.guiFont.setText(describeFont(self._guiFont)) self.guiFont.setText(describeFont(self._guiFont))
self.guiFont.setCursorPosition(0) self.guiFont.setCursorPosition(0)
self.guiFontButton = NIconToolButton(self, iSz, "font") self.guiFontButton = NIconToolButton(self, iSz, "font", "tool")
self.guiFontButton.clicked.connect(self._selectGuiFont) self.guiFontButton.clicked.connect(self._selectGuiFont)
self.mainForm.addRow( self.mainForm.addRow(
self.tr("Application font"), self.guiFont, self.tr("Application font"), self.guiFont,
@@ -265,7 +265,7 @@ class GuiPreferences(NDialog):
self.textFont.setMinimumWidth(162) self.textFont.setMinimumWidth(162)
self.textFont.setText(describeFont(CONFIG.textFont)) self.textFont.setText(describeFont(CONFIG.textFont))
self.textFont.setCursorPosition(0) self.textFont.setCursorPosition(0)
self.textFontButton = NIconToolButton(self, iSz, "font") self.textFontButton = NIconToolButton(self, iSz, "font", "tool")
self.textFontButton.clicked.connect(self._selectTextFont) self.textFontButton.clicked.connect(self._selectTextFont)
self.mainForm.addRow( self.mainForm.addRow(
self.tr("Document font"), self.textFont, self.tr("Document font"), self.textFont,
@@ -373,7 +373,9 @@ class GuiPreferences(NDialog):
# Backup Path # Backup Path
self.backupPath = CONFIG.backupPath() self.backupPath = CONFIG.backupPath()
self.backupGetPath = QPushButton(SHARED.theme.getIcon("browse"), self.tr("Browse"), self) self.backupGetPath = QPushButton(
SHARED.theme.getIcon("browse", "systemio"), self.tr("Browse"), self
)
self.backupGetPath.setIconSize(iSz) self.backupGetPath.setIconSize(iSz)
self.backupGetPath.clicked.connect(self._backupFolder) self.backupGetPath.clicked.connect(self._backupFolder)
self.mainForm.addRow( self.mainForm.addRow(
@@ -665,7 +667,7 @@ class GuiPreferences(NDialog):
self.dialogLine.setAlignment(QtAlignCenter) self.dialogLine.setAlignment(QtAlignCenter)
self.dialogLine.setText(" ".join(CONFIG.dialogLine)) self.dialogLine.setText(" ".join(CONFIG.dialogLine))
self.dialogLineButton = NIconToolButton(self, iSz, "add", "green") self.dialogLineButton = NIconToolButton(self, iSz, "add", "add")
self.dialogLineButton.setMenu(self.mnLineSymbols) self.dialogLineButton.setMenu(self.mnLineSymbols)
self.mainForm.addRow( self.mainForm.addRow(
@@ -807,7 +809,7 @@ class GuiPreferences(NDialog):
self.fmtSQuoteOpen.setFixedWidth(boxFixed) self.fmtSQuoteOpen.setFixedWidth(boxFixed)
self.fmtSQuoteOpen.setAlignment(QtAlignCenter) self.fmtSQuoteOpen.setAlignment(QtAlignCenter)
self.fmtSQuoteOpen.setText(CONFIG.fmtSQuoteOpen) self.fmtSQuoteOpen.setText(CONFIG.fmtSQuoteOpen)
self.btnSQuoteOpen = NIconToolButton(self, iSz, "quote") self.btnSQuoteOpen = NIconToolButton(self, iSz, "quote", "tool")
self.btnSQuoteOpen.clicked.connect(self._changeSingleQuoteOpen) self.btnSQuoteOpen.clicked.connect(self._changeSingleQuoteOpen)
self.mainForm.addRow( self.mainForm.addRow(
self.tr("Single quote open style"), self.fmtSQuoteOpen, self.tr("Single quote open style"), self.fmtSQuoteOpen,
@@ -821,7 +823,7 @@ class GuiPreferences(NDialog):
self.fmtSQuoteClose.setFixedWidth(boxFixed) self.fmtSQuoteClose.setFixedWidth(boxFixed)
self.fmtSQuoteClose.setAlignment(QtAlignCenter) self.fmtSQuoteClose.setAlignment(QtAlignCenter)
self.fmtSQuoteClose.setText(CONFIG.fmtSQuoteClose) self.fmtSQuoteClose.setText(CONFIG.fmtSQuoteClose)
self.btnSQuoteClose = NIconToolButton(self, iSz, "quote") self.btnSQuoteClose = NIconToolButton(self, iSz, "quote", "tool")
self.btnSQuoteClose.clicked.connect(self._changeSingleQuoteClose) self.btnSQuoteClose.clicked.connect(self._changeSingleQuoteClose)
self.mainForm.addRow( self.mainForm.addRow(
self.tr("Single quote close style"), self.fmtSQuoteClose, self.tr("Single quote close style"), self.fmtSQuoteClose,
@@ -836,7 +838,7 @@ class GuiPreferences(NDialog):
self.fmtDQuoteOpen.setFixedWidth(boxFixed) self.fmtDQuoteOpen.setFixedWidth(boxFixed)
self.fmtDQuoteOpen.setAlignment(QtAlignCenter) self.fmtDQuoteOpen.setAlignment(QtAlignCenter)
self.fmtDQuoteOpen.setText(CONFIG.fmtDQuoteOpen) self.fmtDQuoteOpen.setText(CONFIG.fmtDQuoteOpen)
self.btnDQuoteOpen = NIconToolButton(self, iSz, "quote") self.btnDQuoteOpen = NIconToolButton(self, iSz, "quote", "tool")
self.btnDQuoteOpen.clicked.connect(self._changeDoubleQuoteOpen) self.btnDQuoteOpen.clicked.connect(self._changeDoubleQuoteOpen)
self.mainForm.addRow( self.mainForm.addRow(
self.tr("Double quote open style"), self.fmtDQuoteOpen, self.tr("Double quote open style"), self.fmtDQuoteOpen,
@@ -850,7 +852,7 @@ class GuiPreferences(NDialog):
self.fmtDQuoteClose.setFixedWidth(boxFixed) self.fmtDQuoteClose.setFixedWidth(boxFixed)
self.fmtDQuoteClose.setAlignment(QtAlignCenter) self.fmtDQuoteClose.setAlignment(QtAlignCenter)
self.fmtDQuoteClose.setText(CONFIG.fmtDQuoteClose) self.fmtDQuoteClose.setText(CONFIG.fmtDQuoteClose)
self.btnDQuoteClose = NIconToolButton(self, iSz, "quote") self.btnDQuoteClose = NIconToolButton(self, iSz, "quote", "tool")
self.btnDQuoteClose.clicked.connect(self._changeDoubleQuoteClose) self.btnDQuoteClose.clicked.connect(self._changeDoubleQuoteClose)
self.mainForm.addRow( self.mainForm.addRow(
self.tr("Double quote close style"), self.fmtDQuoteClose, self.tr("Double quote close style"), self.fmtDQuoteClose,
+8 -8
View File
@@ -356,27 +356,27 @@ class _StatusPage(NFixedPage):
self._addItem(key, StatusEntry.duplicate(entry)) self._addItem(key, StatusEntry.duplicate(entry))
# List Controls # List Controls
self.addButton = NIconToolButton(self, iSz, "add", "green") self.addButton = NIconToolButton(self, iSz, "add", "add")
self.addButton.setToolTip(self.tr("Add Label")) self.addButton.setToolTip(self.tr("Add Label"))
self.addButton.clicked.connect(self._onItemCreate) self.addButton.clicked.connect(self._onItemCreate)
self.delButton = NIconToolButton(self, iSz, "remove", "red") self.delButton = NIconToolButton(self, iSz, "remove", "remove")
self.delButton.setToolTip(self.tr("Delete Label")) self.delButton.setToolTip(self.tr("Delete Label"))
self.delButton.clicked.connect(self._onItemDelete) self.delButton.clicked.connect(self._onItemDelete)
self.upButton = NIconToolButton(self, iSz, "chevron_up", "blue") self.upButton = NIconToolButton(self, iSz, "chevron_up", "action")
self.upButton.setToolTip(self.tr("Move Up")) self.upButton.setToolTip(self.tr("Move Up"))
self.upButton.clicked.connect(qtLambda(self._moveItem, -1)) self.upButton.clicked.connect(qtLambda(self._moveItem, -1))
self.downButton = NIconToolButton(self, iSz, "chevron_down", "blue") self.downButton = NIconToolButton(self, iSz, "chevron_down", "action")
self.downButton.setToolTip(self.tr("Move Down")) self.downButton.setToolTip(self.tr("Move Down"))
self.downButton.clicked.connect(qtLambda(self._moveItem, 1)) self.downButton.clicked.connect(qtLambda(self._moveItem, 1))
self.importButton = NIconToolButton(self, iSz, "import", "green") self.importButton = NIconToolButton(self, iSz, "import", "apply")
self.importButton.setToolTip(self.tr("Import Labels")) self.importButton.setToolTip(self.tr("Import Labels"))
self.importButton.clicked.connect(self._importLabels) self.importButton.clicked.connect(self._importLabels)
self.exportButton = NIconToolButton(self, iSz, "export", "blue") self.exportButton = NIconToolButton(self, iSz, "export", "action")
self.exportButton.setToolTip(self.tr("Export Labels")) self.exportButton.setToolTip(self.tr("Export Labels"))
self.exportButton.clicked.connect(self._exportLabels) self.exportButton.clicked.connect(self._exportLabels)
@@ -729,10 +729,10 @@ class _ReplacePage(NFixedPage):
self.listBox.setSortingEnabled(True) self.listBox.setSortingEnabled(True)
# List Controls # List Controls
self.addButton = NIconToolButton(self, iSz, "add", "green") self.addButton = NIconToolButton(self, iSz, "add", "add")
self.addButton.clicked.connect(self._onEntryCreated) self.addButton.clicked.connect(self._onEntryCreated)
self.delButton = NIconToolButton(self, iSz, "remove", "red") self.delButton = NIconToolButton(self, iSz, "remove", "remove")
self.delButton.clicked.connect(self._onEntryDeleted) self.delButton.clicked.connect(self._onEntryDeleted)
# Edit Form # Edit Form
+4 -4
View File
@@ -75,11 +75,11 @@ class GuiWordList(NDialog):
scale=NColorLabel.HEADER_SCALE scale=NColorLabel.HEADER_SCALE
) )
self.importButton = NIconToolButton(self, iSz, "import", "green") self.importButton = NIconToolButton(self, iSz, "import", "apply")
self.importButton.setToolTip(self.tr("Import words from text file")) self.importButton.setToolTip(self.tr("Import words from text file"))
self.importButton.clicked.connect(self._importWords) self.importButton.clicked.connect(self._importWords)
self.exportButton = NIconToolButton(self, iSz, "export", "blue") self.exportButton = NIconToolButton(self, iSz, "export", "action")
self.exportButton.setToolTip(self.tr("Export words to text file")) self.exportButton.setToolTip(self.tr("Export words to text file"))
self.exportButton.clicked.connect(self._exportWords) self.exportButton.clicked.connect(self._exportWords)
@@ -97,11 +97,11 @@ class GuiWordList(NDialog):
# Add/Remove Form # Add/Remove Form
self.newEntry = QLineEdit(self) self.newEntry = QLineEdit(self)
self.addButton = NIconToolButton(self, iSz, "add", "green") self.addButton = NIconToolButton(self, iSz, "add", "add")
self.addButton.setToolTip(self.tr("Add Word")) self.addButton.setToolTip(self.tr("Add Word"))
self.addButton.clicked.connect(self._doAdd) self.addButton.clicked.connect(self._doAdd)
self.delButton = NIconToolButton(self, iSz, "remove", "red") self.delButton = NIconToolButton(self, iSz, "remove", "remove")
self.delButton.setToolTip(self.tr("Remove Word")) self.delButton.setToolTip(self.tr("Remove Word"))
self.delButton.clicked.connect(self._doDelete) self.delButton.clicked.connect(self._doDelete)
+11 -8
View File
@@ -220,7 +220,7 @@ class NPushButton(QPushButton):
def updateIcon(self) -> None: def updateIcon(self) -> None:
"""Update the theme icon.""" """Update the theme icon."""
if self._icon: if self._icon and self._color:
self.setIcon(SHARED.theme.getIcon(self._icon, self._color)) self.setIcon(SHARED.theme.getIcon(self._icon, self._color))
@@ -238,10 +238,10 @@ class NIconToolButton(QToolButton):
self.setToolButtonStyle(Qt.ToolButtonStyle.ToolButtonIconOnly) self.setToolButtonStyle(Qt.ToolButtonStyle.ToolButtonIconOnly)
self.setIconSize(iconSize) self.setIconSize(iconSize)
self.setPopupMode(QToolButton.ToolButtonPopupMode.InstantPopup) self.setPopupMode(QToolButton.ToolButtonPopupMode.InstantPopup)
if icon: if icon and color:
self.setThemeIcon(icon, color) self.setThemeIcon(icon, color)
def setThemeIcon(self, icon: str, color: str | None = None) -> None: def setThemeIcon(self, icon: str, color: str) -> None:
"""Set an icon from the current theme.""" """Set an icon from the current theme."""
self.setIcon(SHARED.theme.getIcon(icon, color)) self.setIcon(SHARED.theme.getIcon(icon, color))
@@ -252,20 +252,23 @@ class NIconToggleButton(QToolButton):
A quicker way to create a toggle button using the app theme. A quicker way to create a toggle button using the app theme.
""" """
def __init__(self, parent: QWidget, iconSize: QSize, icon: str | None = None) -> None: def __init__(
self, parent: QWidget, iconSize: QSize,
icon: str | None = None, color: str | None = None
) -> None:
super().__init__(parent=parent) super().__init__(parent=parent)
self.setToolButtonStyle(Qt.ToolButtonStyle.ToolButtonIconOnly) self.setToolButtonStyle(Qt.ToolButtonStyle.ToolButtonIconOnly)
self.setIconSize(iconSize) self.setIconSize(iconSize)
self.setPopupMode(QToolButton.ToolButtonPopupMode.InstantPopup) self.setPopupMode(QToolButton.ToolButtonPopupMode.InstantPopup)
self.setCheckable(True) self.setCheckable(True)
self.setStyleSheet("border: none; background: transparent;") self.setStyleSheet("border: none; background: transparent;")
if icon: if icon and color:
self.setThemeIcon(icon) self.setThemeIcon(icon, color)
def setThemeIcon(self, icon: str) -> None: def setThemeIcon(self, icon: str, color: str) -> None:
"""Set an icon from the current theme.""" """Set an icon from the current theme."""
size = self.iconSize() size = self.iconSize()
self.setIcon(SHARED.theme.getToggleIcon(icon, (size.width(), size.height()))) self.setIcon(SHARED.theme.getToggleIcon(icon, (size.width(), size.height()), color))
class NClickableLabel(QLabel): class NClickableLabel(QLabel):
+1 -1
View File
@@ -110,7 +110,7 @@ class NovelSelector(QComboBox):
self._firstHandle = None self._firstHandle = None
self.clear() self.clear()
icon = SHARED.theme.getIcon(nwLabels.CLASS_ICON[nwItemClass.NOVEL], "blue") icon = SHARED.theme.getIcon(nwLabels.CLASS_ICON[nwItemClass.NOVEL], "root")
for tHandle, nwItem in SHARED.project.tree.iterRoots(nwItemClass.NOVEL): for tHandle, nwItem in SHARED.project.tree.iterRoots(nwItemClass.NOVEL):
if self._listFormat: if self._listFormat:
name = self._listFormat.format(nwItem.itemName) name = self._listFormat.format(nwItem.itemName)
+27 -27
View File
@@ -2489,17 +2489,17 @@ class GuiDocToolBar(QWidget):
palette.setColor(QPalette.ColorRole.Text, syntax.text) palette.setColor(QPalette.ColorRole.Text, syntax.text)
self.setPalette(palette) self.setPalette(palette)
self.tbBoldMD.setThemeIcon("fmt_bold", "orange") self.tbBoldMD.setThemeIcon("fmt_bold", "mdformat")
self.tbItalicMD.setThemeIcon("fmt_italic", "orange") self.tbItalicMD.setThemeIcon("fmt_italic", "mdformat")
self.tbStrikeMD.setThemeIcon("fmt_strike", "orange") self.tbStrikeMD.setThemeIcon("fmt_strike", "mdformat")
self.tbMarkMD.setThemeIcon("fmt_mark", "orange") self.tbMarkMD.setThemeIcon("fmt_mark", "mdformat")
self.tbBold.setThemeIcon("fmt_bold") self.tbBold.setThemeIcon("fmt_bold", "scformat")
self.tbItalic.setThemeIcon("fmt_italic") self.tbItalic.setThemeIcon("fmt_italic", "scformat")
self.tbStrike.setThemeIcon("fmt_strike") self.tbStrike.setThemeIcon("fmt_strike", "scformat")
self.tbUnderline.setThemeIcon("fmt_underline") self.tbUnderline.setThemeIcon("fmt_underline", "scformat")
self.tbMark.setThemeIcon("fmt_mark") self.tbMark.setThemeIcon("fmt_mark", "scformat")
self.tbSuperscript.setThemeIcon("fmt_superscript") self.tbSuperscript.setThemeIcon("fmt_superscript", "scformat")
self.tbSubscript.setThemeIcon("fmt_subscript") self.tbSubscript.setThemeIcon("fmt_subscript", "scformat")
class GuiDocEditSearch(QFrame): class GuiDocEditSearch(QFrame):
@@ -2727,16 +2727,16 @@ class GuiDocEditSearch(QFrame):
self.replaceBox.setPalette(palette) self.replaceBox.setPalette(palette)
# Set icons # Set icons
self.toggleCase.setIcon(SHARED.theme.getIcon("search_case")) self.toggleCase.setIcon(SHARED.theme.getIcon("search_case", "tool"))
self.toggleWord.setIcon(SHARED.theme.getIcon("search_word")) self.toggleWord.setIcon(SHARED.theme.getIcon("search_word", "tool"))
self.toggleRegEx.setIcon(SHARED.theme.getIcon("search_regex")) self.toggleRegEx.setIcon(SHARED.theme.getIcon("search_regex", "tool"))
self.toggleLoop.setIcon(SHARED.theme.getIcon("search_loop")) self.toggleLoop.setIcon(SHARED.theme.getIcon("search_loop", "tool"))
self.toggleProject.setIcon(SHARED.theme.getIcon("search_project")) self.toggleProject.setIcon(SHARED.theme.getIcon("search_project", "tool"))
self.toggleMatchCap.setIcon(SHARED.theme.getIcon("search_preserve")) self.toggleMatchCap.setIcon(SHARED.theme.getIcon("search_preserve", "tool"))
self.cancelSearch.setIcon(SHARED.theme.getIcon("search_cancel")) self.cancelSearch.setIcon(SHARED.theme.getIcon("search_cancel", "tool"))
self.searchButton.setThemeIcon("search", "green") self.searchButton.setThemeIcon("search", "action")
self.replaceButton.setThemeIcon("search_replace", "green") self.replaceButton.setThemeIcon("search_replace", "apply")
self.showReplace.setThemeIcon("unfold") self.showReplace.setThemeIcon("unfold", "default")
# Set stylesheets # Set stylesheets
self.searchOpt.setStyleSheet("QToolBar {padding: 0;}") self.searchOpt.setStyleSheet("QToolBar {padding: 0;}")
@@ -2967,11 +2967,11 @@ class GuiDocEditHeader(QWidget):
"""Update theme elements.""" """Update theme elements."""
logger.debug("Theme Update: GuiDocEditHeader") logger.debug("Theme Update: GuiDocEditHeader")
self.tbButton.setThemeIcon("fmt_toolbar", "blue") self.tbButton.setThemeIcon("fmt_toolbar", "action")
self.outlineButton.setThemeIcon("list", "blue") self.outlineButton.setThemeIcon("list", "action")
self.searchButton.setThemeIcon("search", "blue") self.searchButton.setThemeIcon("search", "action")
self.minmaxButton.setThemeIcon("maximise", "blue") self.minmaxButton.setThemeIcon("maximise", "action")
self.closeButton.setThemeIcon("close", "red") self.closeButton.setThemeIcon("close", "reject")
buttonStyle = SHARED.theme.getStyleSheet(STYLES_MIN_TOOLBUTTON) buttonStyle = SHARED.theme.getStyleSheet(STYLES_MIN_TOOLBUTTON)
self.tbButton.setStyleSheet(buttonStyle) self.tbButton.setStyleSheet(buttonStyle)
@@ -3037,7 +3037,7 @@ class GuiDocEditHeader(QWidget):
@pyqtSlot(bool) @pyqtSlot(bool)
def _focusModeChanged(self, focusMode: bool) -> None: def _focusModeChanged(self, focusMode: bool) -> None:
"""Update minimise/maximise icon of the Focus Mode button.""" """Update minimise/maximise icon of the Focus Mode button."""
self.minmaxButton.setThemeIcon("minimise" if focusMode else "maximise", "blue") self.minmaxButton.setThemeIcon("minimise" if focusMode else "maximise", "action")
## ##
# Events # Events
+8 -8
View File
@@ -727,12 +727,12 @@ class GuiDocViewHeader(QWidget):
"""Update theme elements.""" """Update theme elements."""
logger.debug("Theme Update: GuiDocViewHeader") logger.debug("Theme Update: GuiDocViewHeader")
self.outlineButton.setThemeIcon("list", "blue") self.outlineButton.setThemeIcon("list", "action")
self.backButton.setThemeIcon("chevron_left", "blue") self.backButton.setThemeIcon("chevron_left", "action")
self.forwardButton.setThemeIcon("chevron_right", "blue") self.forwardButton.setThemeIcon("chevron_right", "action")
self.editButton.setThemeIcon("edit", "green") self.editButton.setThemeIcon("edit", "change")
self.refreshButton.setThemeIcon("refresh", "green") self.refreshButton.setThemeIcon("refresh", "change")
self.closeButton.setThemeIcon("close", "red") self.closeButton.setThemeIcon("close", "reject")
buttonStyle = SHARED.theme.getStyleSheet(STYLES_MIN_TOOLBUTTON) buttonStyle = SHARED.theme.getStyleSheet(STYLES_MIN_TOOLBUTTON)
self.outlineButton.setStyleSheet(buttonStyle) self.outlineButton.setStyleSheet(buttonStyle)
@@ -916,9 +916,9 @@ class GuiDocViewFooter(QWidget):
logger.debug("Theme Update: GuiDocViewFooter") logger.debug("Theme Update: GuiDocViewFooter")
fPx = int(0.9*SHARED.theme.fontPixelSize) fPx = int(0.9*SHARED.theme.fontPixelSize)
bulletIcon = SHARED.theme.getToggleIcon("bullet", (fPx, fPx), "blue") bulletIcon = SHARED.theme.getToggleIcon("bullet", (fPx, fPx), "action")
self.showHide.setThemeIcon("panel") self.showHide.setThemeIcon("panel", "default")
self.showComments.setIcon(bulletIcon) self.showComments.setIcon(bulletIcon)
self.showSynopsis.setIcon(bulletIcon) self.showSynopsis.setIcon(bulletIcon)
self.showNotes.setIcon(bulletIcon) self.showNotes.setIcon(bulletIcon)
+7 -7
View File
@@ -108,7 +108,7 @@ class GuiDocViewerPanel(QWidget):
"""Update theme elements.""" """Update theme elements."""
logger.debug("Theme Update: GuiDocViewerPanel") logger.debug("Theme Update: GuiDocViewerPanel")
self.optsButton.setThemeIcon("more_vertical") self.optsButton.setThemeIcon("more_vertical", "default")
self.optsButton.setStyleSheet(SHARED.theme.getStyleSheet(STYLES_MIN_TOOLBUTTON)) self.optsButton.setStyleSheet(SHARED.theme.getStyleSheet(STYLES_MIN_TOOLBUTTON))
self.mainTabs.setStyleSheet(SHARED.theme.getStyleSheet(STYLES_FLAT_TABS)) self.mainTabs.setStyleSheet(SHARED.theme.getStyleSheet(STYLES_FLAT_TABS))
if updateTabs: if updateTabs:
@@ -263,8 +263,8 @@ class _ViewPanelBackRefs(QTreeWidget):
header.setSectionsMovable(False) header.setSectionsMovable(False)
# Cache Icons Locally # Cache Icons Locally
self._editIcon = SHARED.theme.getIcon("edit", "green") self._editIcon = SHARED.theme.getIcon("edit", "change")
self._viewIcon = SHARED.theme.getIcon("view", "blue") self._viewIcon = SHARED.theme.getIcon("view", "action")
# Signals # Signals
self.clicked.connect(self._treeItemClicked) self.clicked.connect(self._treeItemClicked)
@@ -274,8 +274,8 @@ class _ViewPanelBackRefs(QTreeWidget):
"""Update theme elements.""" """Update theme elements."""
logger.debug("Theme Update: _ViewPanelBackRefs") logger.debug("Theme Update: _ViewPanelBackRefs")
self._editIcon = SHARED.theme.getIcon("edit", "green") self._editIcon = SHARED.theme.getIcon("edit", "change")
self._viewIcon = SHARED.theme.getIcon("view", "blue") self._viewIcon = SHARED.theme.getIcon("view", "action")
for i in range(self.topLevelItemCount()): for i in range(self.topLevelItemCount()):
if item := self.topLevelItem(i): if item := self.topLevelItem(i):
item.setIcon(self.C_EDIT, self._editIcon) item.setIcon(self.C_EDIT, self._editIcon)
@@ -407,8 +407,8 @@ class _ViewPanelKeyWords(QTreeWidget):
logger.debug("Theme Update: _ViewPanelKeyWords") logger.debug("Theme Update: _ViewPanelKeyWords")
self._classIcon = SHARED.theme.getIcon(nwLabels.CLASS_ICON[self._class], "root") self._classIcon = SHARED.theme.getIcon(nwLabels.CLASS_ICON[self._class], "root")
self._editIcon = SHARED.theme.getIcon("edit", "green") self._editIcon = SHARED.theme.getIcon("edit", "change")
self._viewIcon = SHARED.theme.getIcon("view", "blue") self._viewIcon = SHARED.theme.getIcon("view", "action")
def countEntries(self) -> int: def countEntries(self) -> int:
"""Return the number of items in the list.""" """Return the number of items in the list."""
+3 -3
View File
@@ -247,9 +247,9 @@ class GuiNovelToolBar(QWidget):
"""Update theme elements.""" """Update theme elements."""
logger.debug("Theme Update: GuiNovelToolBar") logger.debug("Theme Update: GuiNovelToolBar")
self.tbNovel.setThemeIcon("cls_novel", "red") self.tbNovel.setThemeIcon("cls_novel", "root")
self.tbRefresh.setThemeIcon("refresh", "green") self.tbRefresh.setThemeIcon("refresh", "change")
self.tbMore.setThemeIcon("more_vertical") self.tbMore.setThemeIcon("more_vertical", "default")
buttonStyle = SHARED.theme.getStyleSheet(STYLES_MIN_TOOLBUTTON) buttonStyle = SHARED.theme.getStyleSheet(STYLES_MIN_TOOLBUTTON)
self.tbNovel.setStyleSheet(buttonStyle) self.tbNovel.setStyleSheet(buttonStyle)
+3 -3
View File
@@ -264,9 +264,9 @@ class GuiOutlineToolBar(QToolBar):
self.setStyleSheet("QToolBar {border: 0px;}") self.setStyleSheet("QToolBar {border: 0px;}")
self.novelValue.refreshNovelList() self.novelValue.refreshNovelList()
self.aRefresh.setIcon(SHARED.theme.getIcon("refresh", "green")) self.aRefresh.setIcon(SHARED.theme.getIcon("refresh", "change"))
self.aExport.setIcon(SHARED.theme.getIcon("export", "blue")) self.aExport.setIcon(SHARED.theme.getIcon("export", "action"))
self.tbColumns.setIcon(SHARED.theme.getIcon("more_vertical")) self.tbColumns.setIcon(SHARED.theme.getIcon("more_vertical", "default"))
self.tbColumns.setStyleSheet("QToolButton::menu-indicator {image: none;}") self.tbColumns.setStyleSheet("QToolButton::menu-indicator {image: none;}")
self.novelLabel.setTextColors(color=self.palette().windowText().color()) self.novelLabel.setTextColors(color=self.palette().windowText().color())
+7 -7
View File
@@ -356,11 +356,11 @@ class GuiProjectToolBar(QWidget):
self.tbAdd.setStyleSheet(buttonStyle) self.tbAdd.setStyleSheet(buttonStyle)
self.tbMore.setStyleSheet(buttonStyle) self.tbMore.setStyleSheet(buttonStyle)
self.tbQuick.setThemeIcon("bookmarks", "blue") self.tbQuick.setThemeIcon("bookmarks", "action")
self.tbMoveU.setThemeIcon("chevron_up", "blue") self.tbMoveU.setThemeIcon("chevron_up", "action")
self.tbMoveD.setThemeIcon("chevron_down", "blue") self.tbMoveD.setThemeIcon("chevron_down", "action")
self.tbAdd.setThemeIcon("add", "green") self.tbAdd.setThemeIcon("add", "add")
self.tbMore.setThemeIcon("more_vertical") self.tbMore.setThemeIcon("more_vertical", "default")
self.aAddScene.setIcon(SHARED.theme.getIcon("prj_scene", "scene")) self.aAddScene.setIcon(SHARED.theme.getIcon("prj_scene", "scene"))
self.aAddChap.setIcon(SHARED.theme.getIcon("prj_chapter", "chapter")) self.aAddChap.setIcon(SHARED.theme.getIcon("prj_chapter", "chapter"))
@@ -1183,10 +1183,10 @@ class _TreeContextMenu(QMenu):
if len(self._indices) > 1: if len(self._indices) > 1:
mSub = qtAddMenu(self, self.tr("Set Active to ...")) mSub = qtAddMenu(self, self.tr("Set Active to ..."))
aOne = qtAddAction(mSub, self._tree.trActive) aOne = qtAddAction(mSub, self._tree.trActive)
aOne.setIcon(SHARED.theme.getIcon("checked", "green")) aOne.setIcon(SHARED.theme.getIcon("checked", "accept"))
aOne.triggered.connect(qtLambda(self._iterItemActive, True)) aOne.triggered.connect(qtLambda(self._iterItemActive, True))
aTwo = qtAddAction(mSub, self._tree.trInactive) aTwo = qtAddAction(mSub, self._tree.trInactive)
aTwo.setIcon(SHARED.theme.getIcon("unchecked", "red")) aTwo.setIcon(SHARED.theme.getIcon("unchecked", "reject"))
aTwo.triggered.connect(qtLambda(self._iterItemActive, False)) aTwo.triggered.connect(qtLambda(self._iterItemActive, False))
else: else:
action = qtAddAction(self, self.tr("Toggle Active")) action = qtAddAction(self, self.tr("Toggle Active"))
+5 -5
View File
@@ -107,7 +107,7 @@ class GuiProjectSearch(QWidget):
# Search Box # Search Box
self.searchAction = QAction("", self) self.searchAction = QAction("", self)
self.searchAction.setIcon(SHARED.theme.getIcon("search", "blue")) self.searchAction.setIcon(SHARED.theme.getIcon("search", "apply"))
self.searchAction.triggered.connect(self._processSearch) self.searchAction.triggered.connect(self._processSearch)
self.searchText = QLineEdit(self) self.searchText = QLineEdit(self)
@@ -170,10 +170,10 @@ class GuiProjectSearch(QWidget):
f"QLineEdit:focus {{border: 1px solid {colFocus};}} " f"QLineEdit:focus {{border: 1px solid {colFocus};}} "
) )
self.searchAction.setIcon(SHARED.theme.getIcon("search", "blue")) self.searchAction.setIcon(SHARED.theme.getIcon("search", "apply"))
self.toggleCase.setIcon(SHARED.theme.getIcon("search_case")) self.toggleCase.setIcon(SHARED.theme.getIcon("search_case", "tool"))
self.toggleWord.setIcon(SHARED.theme.getIcon("search_word")) self.toggleWord.setIcon(SHARED.theme.getIcon("search_word", "tool"))
self.toggleRegEx.setIcon(SHARED.theme.getIcon("search_regex")) self.toggleRegEx.setIcon(SHARED.theme.getIcon("search_regex", "tool"))
def processReturn(self) -> None: def processReturn(self) -> None:
"""Process a return keypress forwarded from the main GUI.""" """Process a return keypress forwarded from the main GUI."""
+9 -9
View File
@@ -142,14 +142,14 @@ class GuiSideBar(QWidget):
self.tbTheme.setStyleSheet(buttonStyle) self.tbTheme.setStyleSheet(buttonStyle)
self.tbSettings.setStyleSheet(buttonStyle) self.tbSettings.setStyleSheet(buttonStyle)
self.tbProject.setThemeIcon("sb_project") self.tbProject.setThemeIcon("sb_project", "sidebar")
self.tbNovel.setThemeIcon("sb_novel") self.tbNovel.setThemeIcon("sb_novel", "sidebar")
self.tbSearch.setThemeIcon("sb_search") self.tbSearch.setThemeIcon("sb_search", "sidebar")
self.tbOutline.setThemeIcon("sb_outline") self.tbOutline.setThemeIcon("sb_outline", "sidebar")
self.tbBuild.setThemeIcon("sb_build") self.tbBuild.setThemeIcon("sb_build", "sidebar")
self.tbDetails.setThemeIcon("sb_details") self.tbDetails.setThemeIcon("sb_details", "sidebar")
self.tbStats.setThemeIcon("sb_stats") self.tbStats.setThemeIcon("sb_stats", "sidebar")
self.tbSettings.setThemeIcon("settings") self.tbSettings.setThemeIcon("settings", "sidebar")
self._setThemeModeIcon() self._setThemeModeIcon()
@@ -176,7 +176,7 @@ class GuiSideBar(QWidget):
def _setThemeModeIcon(self) -> None: def _setThemeModeIcon(self) -> None:
"""Set the theme button icon.""" """Set the theme button icon."""
self.tbTheme.setThemeIcon(nwLabels.THEME_MODE_ICON[CONFIG.themeMode]) self.tbTheme.setThemeIcon(nwLabels.THEME_MODE_ICON[CONFIG.themeMode], "sidebar")
self.tbTheme.setToolTip(trConst(nwLabels.THEME_MODE_LABEL[CONFIG.themeMode])) self.tbTheme.setToolTip(trConst(nwLabels.THEME_MODE_LABEL[CONFIG.themeMode]))
+43 -20
View File
@@ -57,23 +57,23 @@ STYLES_MIN_TOOLBUTTON = "minimalToolButton"
STYLES_BIG_TOOLBUTTON = "bigToolButton" STYLES_BIG_TOOLBUTTON = "bigToolButton"
STANDARD_BUTTONS = { STANDARD_BUTTONS = {
nwStandardButton.OK: (QT_TRANSLATE_NOOP("Button", "OK"), "btn_ok", "blue"), nwStandardButton.OK: (QT_TRANSLATE_NOOP("Button", "OK"), "btn_ok", "action"),
nwStandardButton.CANCEL: (QT_TRANSLATE_NOOP("Button", "Cancel"), "btn_cancel", "red"), nwStandardButton.CANCEL: (QT_TRANSLATE_NOOP("Button", "Cancel"), "btn_cancel", "reject"),
nwStandardButton.YES: (QT_TRANSLATE_NOOP("Button", "&Yes"), "btn_yes", "green"), nwStandardButton.YES: (QT_TRANSLATE_NOOP("Button", "&Yes"), "btn_yes", "accept"),
nwStandardButton.NO: (QT_TRANSLATE_NOOP("Button", "&No"), "btn_no", "red"), nwStandardButton.NO: (QT_TRANSLATE_NOOP("Button", "&No"), "btn_no", "reject"),
nwStandardButton.OPEN: (QT_TRANSLATE_NOOP("Button", "Open"), "btn_open", "blue"), nwStandardButton.OPEN: (QT_TRANSLATE_NOOP("Button", "Open"), "btn_open", "action"),
nwStandardButton.CLOSE: (QT_TRANSLATE_NOOP("Button", "Close"), "btn_close", "faded"), nwStandardButton.CLOSE: (QT_TRANSLATE_NOOP("Button", "Close"), "btn_close", "destroy"),
nwStandardButton.SAVE: (QT_TRANSLATE_NOOP("Button", "Save"), "btn_save", "blue"), nwStandardButton.SAVE: (QT_TRANSLATE_NOOP("Button", "Save"), "btn_save", "action"),
nwStandardButton.BROWSE: (QT_TRANSLATE_NOOP("Button", "Browse"), "btn_browse", "yellow"), nwStandardButton.BROWSE: (QT_TRANSLATE_NOOP("Button", "Browse"), "btn_browse", "systemio"),
nwStandardButton.LIST: (QT_TRANSLATE_NOOP("Button", "List"), "btn_list", "blue"), nwStandardButton.LIST: (QT_TRANSLATE_NOOP("Button", "List"), "btn_list", "action"),
nwStandardButton.NEW: (QT_TRANSLATE_NOOP("Button", "New"), "btn_new", "green"), nwStandardButton.NEW: (QT_TRANSLATE_NOOP("Button", "New"), "btn_new", "apply"),
nwStandardButton.CREATE: (QT_TRANSLATE_NOOP("Button", "Create"), "btn_create", "yellow"), nwStandardButton.CREATE: (QT_TRANSLATE_NOOP("Button", "Create"), "btn_create", "create"),
nwStandardButton.RESET: (QT_TRANSLATE_NOOP("Button", "Reset"), "btn_reset", "green"), nwStandardButton.RESET: (QT_TRANSLATE_NOOP("Button", "Reset"), "btn_reset", "reset"),
nwStandardButton.INSERT: (QT_TRANSLATE_NOOP("Button", "Insert"), "btn_insert", "blue"), nwStandardButton.INSERT: (QT_TRANSLATE_NOOP("Button", "Insert"), "btn_insert", "action"),
nwStandardButton.APPLY: (QT_TRANSLATE_NOOP("Button", "Apply"), "btn_apply", "blue"), nwStandardButton.APPLY: (QT_TRANSLATE_NOOP("Button", "Apply"), "btn_apply", "apply"),
nwStandardButton.BUILD: (QT_TRANSLATE_NOOP("Button", "Build"), "btn_build", "blue"), nwStandardButton.BUILD: (QT_TRANSLATE_NOOP("Button", "Build"), "btn_build", "action"),
nwStandardButton.PRINT: (QT_TRANSLATE_NOOP("Button", "Print"), "btn_print", "blue"), nwStandardButton.PRINT: (QT_TRANSLATE_NOOP("Button", "Print"), "btn_print", "action"),
nwStandardButton.PREVIEW: (QT_TRANSLATE_NOOP("Button", "Preview"), "btn_preview", "blue"), nwStandardButton.PREVIEW: (QT_TRANSLATE_NOOP("Button", "Preview"), "btn_preview", "action"),
} }
@@ -357,6 +357,29 @@ class GuiTheme:
self._setBaseColor("inactive", self._readColor(parser, sec, "inactive")) self._setBaseColor("inactive", self._readColor(parser, sec, "inactive"))
self._setBaseColor("disabled", self._readColor(parser, sec, "disabled")) self._setBaseColor("disabled", self._readColor(parser, sec, "disabled"))
# Icon
sec = "Icon"
if parser.has_section(sec):
self._setBaseColor("tool", self._readColor(parser, sec, "tool"))
self._setBaseColor("sidebar", self._readColor(parser, sec, "sidebar"))
self._setBaseColor("accept", self._readColor(parser, sec, "accept"))
self._setBaseColor("reject", self._readColor(parser, sec, "reject"))
self._setBaseColor("action", self._readColor(parser, sec, "action"))
self._setBaseColor("altaction", self._readColor(parser, sec, "altaction"))
self._setBaseColor("apply", self._readColor(parser, sec, "apply"))
self._setBaseColor("create", self._readColor(parser, sec, "create"))
self._setBaseColor("destroy", self._readColor(parser, sec, "destroy"))
self._setBaseColor("reset", self._readColor(parser, sec, "reset"))
self._setBaseColor("add", self._readColor(parser, sec, "add"))
self._setBaseColor("change", self._readColor(parser, sec, "change"))
self._setBaseColor("remove", self._readColor(parser, sec, "remove"))
self._setBaseColor("shortcode", self._readColor(parser, sec, "shortcode"))
self._setBaseColor("markdown", self._readColor(parser, sec, "markdown"))
self._setBaseColor("systemio", self._readColor(parser, sec, "systemio"))
self._setBaseColor("info", self._readColor(parser, sec, "info"))
self._setBaseColor("warning", self._readColor(parser, sec, "warning"))
self._setBaseColor("error", self._readColor(parser, sec, "error"))
# Palette # Palette
sec = "Palette" sec = "Palette"
if parser.has_section(sec): if parser.has_section(sec):
@@ -767,7 +790,7 @@ class GuiIcons:
# Access Functions # Access Functions
## ##
def getIcon(self, name: str, color: str | None = None, w: int = 24, h: int = 24) -> QIcon: def getIcon(self, name: str, color: str, w: int = 24, h: int = 24) -> QIcon:
"""Return an icon from the icon buffer, or load it.""" """Return an icon from the icon buffer, or load it."""
variant = f"{name}-{color}" if color else name variant = f"{name}-{color}" if color else name
if (key := f"{variant}-{w}x{h}") in self._qIcons: if (key := f"{variant}-{w}x{h}") in self._qIcons:
@@ -778,7 +801,7 @@ class GuiIcons:
logger.debug("Icon: %s", key) logger.debug("Icon: %s", key)
return icon return icon
def getToggleIcon(self, name: str, size: tuple[int, int], color: str | None = None) -> QIcon: def getToggleIcon(self, name: str, size: tuple[int, int], color: str) -> QIcon:
"""Return a toggle icon from the icon buffer, or load it.""" """Return a toggle icon from the icon buffer, or load it."""
if name in self.TOGGLE_ICON_KEYS: if name in self.TOGGLE_ICON_KEYS:
pOne = self.getPixmap(self.TOGGLE_ICON_KEYS[name][0], size, color) pOne = self.getPixmap(self.TOGGLE_ICON_KEYS[name][0], size, color)
@@ -830,7 +853,7 @@ class GuiIcons:
doesn't exist, return an empty QPixmap. doesn't exist, return an empty QPixmap.
""" """
w, h = size w, h = size
return self.getIcon(name, color, w, h).pixmap(w, h, QIcon.Mode.Normal) return self.getIcon(name, color or "default", w, h).pixmap(w, h, QIcon.Mode.Normal)
def getStandardButton(self, button: nwStandardButton, parent: QWidget) -> NPushButton: def getStandardButton(self, button: nwStandardButton, parent: QWidget) -> NPushButton:
"""Return a standard button with icon and text.""" """Return a standard button with icon and text."""
+4 -4
View File
@@ -514,16 +514,16 @@ class _GuiAlert(QMessageBox):
pSz = 2*self._theme.baseIconHeight pSz = 2*self._theme.baseIconHeight
if level == self.INFO: if level == self.INFO:
self.setIconPixmap(self._theme.getPixmap("alert_info", (pSz, pSz), "blue")) self.setIconPixmap(self._theme.getPixmap("alert_info", (pSz, pSz), "info"))
self.setWindowTitle(self.tr("Information")) self.setWindowTitle(self.tr("Information"))
elif level == self.WARN: elif level == self.WARN:
self.setIconPixmap(self._theme.getPixmap("alert_warn", (pSz, pSz), "orange")) self.setIconPixmap(self._theme.getPixmap("alert_warn", (pSz, pSz), "warning"))
self.setWindowTitle(self.tr("Warning")) self.setWindowTitle(self.tr("Warning"))
elif level == self.ERROR: elif level == self.ERROR:
self.setIconPixmap(self._theme.getPixmap("alert_error", (pSz, pSz), "red")) self.setIconPixmap(self._theme.getPixmap("alert_error", (pSz, pSz), "error"))
self.setWindowTitle(self.tr("Error")) self.setWindowTitle(self.tr("Error"))
elif level == self.ASK: elif level == self.ASK:
self.setIconPixmap(self._theme.getPixmap("alert_question", (pSz, pSz), "blue")) self.setIconPixmap(self._theme.getPixmap("alert_question", (pSz, pSz), "info"))
self.setWindowTitle(self.tr("Question")) self.setWindowTitle(self.tr("Question"))
@pyqtSlot() @pyqtSlot()
+3 -3
View File
@@ -79,10 +79,10 @@ class GuiDictionaries(NNonBlockingDialog):
self.huInfo.setOpenExternalLinks(True) self.huInfo.setOpenExternalLinks(True)
self.huInfo.setWordWrap(True) self.huInfo.setWordWrap(True)
self.huInput = QLineEdit(self) self.huInput = QLineEdit(self)
self.huBrowse = NIconToolButton(self, iSz, "browse") self.huBrowse = NIconToolButton(self, iSz, "browse", "systemio")
self.huBrowse.clicked.connect(self._doBrowseHunspell) self.huBrowse.clicked.connect(self._doBrowseHunspell)
self.huImport = QPushButton(self.tr("Add Dictionary"), self) self.huImport = QPushButton(self.tr("Add Dictionary"), self)
self.huImport.setIcon(SHARED.theme.getIcon("add", "green")) self.huImport.setIcon(SHARED.theme.getIcon("add", "add"))
self.huImport.clicked.connect(self._doImportHunspell) self.huImport.clicked.connect(self._doImportHunspell)
self.huPathBox = QHBoxLayout() self.huPathBox = QHBoxLayout()
@@ -97,7 +97,7 @@ class GuiDictionaries(NNonBlockingDialog):
self.inInfo = QLabel(self.tr("Dictionary install location"), self) self.inInfo = QLabel(self.tr("Dictionary install location"), self)
self.inPath = QLineEdit(self) self.inPath = QLineEdit(self)
self.inPath.setReadOnly(True) self.inPath.setReadOnly(True)
self.inBrowse = NIconToolButton(self, iSz, "browse") self.inBrowse = NIconToolButton(self, iSz, "browse", "systemio")
self.inBrowse.clicked.connect(self._doOpenInstallLocation) self.inBrowse.clicked.connect(self._doOpenInstallLocation)
self.inBox = QHBoxLayout() self.inBox = QHBoxLayout()
+1 -1
View File
@@ -59,7 +59,7 @@ class GuiLipsum(NDialog):
# Icon # Icon
self.docIcon = QLabel(self) self.docIcon = QLabel(self)
self.docIcon.setPixmap(SHARED.theme.getPixmap("text", (64, 64), "blue")) self.docIcon.setPixmap(SHARED.theme.getPixmap("text", (64, 64), "info"))
self.leftBox = QVBoxLayout() self.leftBox = QVBoxLayout()
self.leftBox.setSpacing(4) self.leftBox.setSpacing(4)
+9 -11
View File
@@ -43,7 +43,7 @@ from novelwriter.core.item import NWItem
from novelwriter.enum import nwBuildFmt, nwStandardButton from novelwriter.enum import nwBuildFmt, nwStandardButton
from novelwriter.extensions.modified import NDialog, NIconToolButton, NPushButton from novelwriter.extensions.modified import NDialog, NIconToolButton, NPushButton
from novelwriter.extensions.progressbars import NProgressSimple from novelwriter.extensions.progressbars import NProgressSimple
from novelwriter.types import QtAlignCenter, QtRoleAction, QtRoleDestruct, QtRoleReject, QtUserRole from novelwriter.types import QtAlignCenter, QtRoleAction, QtRoleDestruct, QtUserRole
if TYPE_CHECKING: if TYPE_CHECKING:
from PyQt6.QtGui import QCloseEvent from PyQt6.QtGui import QCloseEvent
@@ -143,7 +143,7 @@ class GuiManuscriptBuild(NDialog):
# Build Path # Build Path
self.lblPath = QLabel(self.tr("Path"), self) self.lblPath = QLabel(self.tr("Path"), self)
self.buildPath = QLineEdit(self) self.buildPath = QLineEdit(self)
self.btnBrowse = NIconToolButton(self, iSz, "browse") self.btnBrowse = NIconToolButton(self, iSz, "browse", "systemio")
self.pathBox = QHBoxLayout() self.pathBox = QHBoxLayout()
self.pathBox.addWidget(self.buildPath) self.pathBox.addWidget(self.buildPath)
@@ -153,7 +153,7 @@ class GuiManuscriptBuild(NDialog):
# Build Name # Build Name
self.lblName = QLabel(self.tr("File Name"), self) self.lblName = QLabel(self.tr("File Name"), self)
self.buildName = QLineEdit(self) self.buildName = QLineEdit(self)
self.btnReset = NIconToolButton(self, iSz, "revert", "green") self.btnReset = NIconToolButton(self, iSz, "revert", "reset")
self.btnReset.setToolTip(self.tr("Reset file name to default")) self.btnReset.setToolTip(self.tr("Reset file name to default"))
self.nameBox = QHBoxLayout() self.nameBox = QHBoxLayout()
@@ -178,7 +178,7 @@ class GuiManuscriptBuild(NDialog):
self.buildBox.setVerticalSpacing(4) self.buildBox.setVerticalSpacing(4)
# Dialog Buttons # Dialog Buttons
self.btnOpen = NPushButton(self, self.tr("Open Folder"), bSz, "browse", "yellow") self.btnOpen = NPushButton(self, self.tr("Open Folder"), bSz, "browse", "systemio")
self.btnOpen.setAutoDefault(False) self.btnOpen.setAutoDefault(False)
self.btnBuild = SHARED.theme.getStandardButton(nwStandardButton.BUILD, self) self.btnBuild = SHARED.theme.getStandardButton(nwStandardButton.BUILD, self)
@@ -260,13 +260,11 @@ class GuiManuscriptBuild(NDialog):
@pyqtSlot("QAbstractButton*") @pyqtSlot("QAbstractButton*")
def _dialogButtonClicked(self, button: QAbstractButton) -> None: def _dialogButtonClicked(self, button: QAbstractButton) -> None:
"""Handle button clicks from the dialog button box.""" """Handle button clicks from the dialog button box."""
role = self.btnBox.buttonRole(button) if button == self.btnBuild:
if role == QtRoleAction: self._runBuild()
if button == self.btnBuild: elif button == self.btnOpen:
self._runBuild() self._openOutputFolder()
elif button == self.btnOpen: elif button == self.btnClose:
self._openOutputFolder()
elif role == QtRoleReject:
self.close() self.close()
@pyqtSlot() @pyqtSlot()
+8 -8
View File
@@ -271,10 +271,10 @@ class GuiManuscript(NToolDialog):
self.btnBuild.updateIcon() self.btnBuild.updateIcon()
self.btnClose.updateIcon() self.btnClose.updateIcon()
self.tbAdd.setThemeIcon("add", "green") self.tbAdd.setThemeIcon("add", "add")
self.tbDel.setThemeIcon("remove", "red") self.tbDel.setThemeIcon("remove", "remove")
self.tbCopy.setThemeIcon("copy", "blue") self.tbCopy.setThemeIcon("copy", "accept")
self.tbEdit.setThemeIcon("edit", "green") self.tbEdit.setThemeIcon("edit", "change")
buttonStyle = SHARED.theme.getStyleSheet(STYLES_MIN_TOOLBUTTON) buttonStyle = SHARED.theme.getStyleSheet(STYLES_MIN_TOOLBUTTON)
self.tbAdd.setStyleSheet(buttonStyle) self.tbAdd.setStyleSheet(buttonStyle)
@@ -484,7 +484,7 @@ class GuiManuscript(NToolDialog):
for key, name in self._builds.builds(): for key, name in self._builds.builds():
bItem = QListWidgetItem() bItem = QListWidgetItem()
bItem.setText(name) bItem.setText(name)
bItem.setIcon(SHARED.theme.getIcon("build_settings", "blue")) bItem.setIcon(SHARED.theme.getIcon("build_settings", "action"))
bItem.setData(self.D_KEY, key) bItem.setData(self.D_KEY, key)
self.buildList.addItem(bItem) self.buildList.addItem(bItem)
self._buildMap[key] = bItem self._buildMap[key] = bItem
@@ -574,8 +574,8 @@ class _DetailsWidget(QWidget):
self.listView.clear() self.listView.clear()
on = SHARED.theme.getIcon("bullet-on", "blue") on = SHARED.theme.getIcon("bullet-on", "action")
off = SHARED.theme.getIcon("bullet-off", "blue") off = SHARED.theme.getIcon("bullet-off", "action")
# Name # Name
item = QTreeWidgetItem() item = QTreeWidgetItem()
@@ -991,7 +991,7 @@ class _StatsWidget(QWidget):
def updateTheme(self) -> None: def updateTheme(self) -> None:
"""Update theme elements.""" """Update theme elements."""
logger.debug("Theme Update: _StatsWidget") logger.debug("Theme Update: _StatsWidget")
self.toggleButton.setThemeIcon("unfold") self.toggleButton.setThemeIcon("unfold", "default")
## ##
# Private Slots # Private Slots
+21 -22
View File
@@ -52,7 +52,7 @@ from novelwriter.extensions.switch import NSwitch
from novelwriter.extensions.switchbox import NSwitchBox from novelwriter.extensions.switchbox import NSwitchBox
from novelwriter.types import ( from novelwriter.types import (
QtAlignCenter, QtAlignLeft, QtHeaderFixed, QtHeaderStretch, QtRoleAccept, QtAlignCenter, QtAlignLeft, QtHeaderFixed, QtHeaderStretch, QtRoleAccept,
QtRoleApply, QtRoleDestruct, QtRoleReject, QtUserRole QtRoleApply, QtRoleDestruct, QtUserRole
) )
if TYPE_CHECKING: if TYPE_CHECKING:
@@ -229,15 +229,14 @@ class GuiBuildSettings(NToolDialog):
@pyqtSlot("QAbstractButton*") @pyqtSlot("QAbstractButton*")
def _dialogButtonClicked(self, button: QAbstractButton) -> None: def _dialogButtonClicked(self, button: QAbstractButton) -> None:
"""Handle button clicks from the dialog button box.""" """Handle button clicks from the dialog button box."""
role = self.btnBox.buttonRole(button) if button == self.btnApply:
if role == QtRoleApply:
self._applyChanges() self._applyChanges()
self._emitBuildData() self._emitBuildData()
elif role == QtRoleAccept: elif button == self.btnSave:
self._applyChanges() self._applyChanges()
self._emitBuildData() self._emitBuildData()
self.close() self.close()
elif role == QtRoleReject: elif button == self.btnClose:
self._build.resetChangedState() self._build.resetChangedState()
self.close() self.close()
@@ -302,9 +301,9 @@ class _FilterTab(NFixedPage):
self._statusFlags: dict[int, QIcon] = { self._statusFlags: dict[int, QIcon] = {
self.F_NONE: QIcon(), self.F_NONE: QIcon(),
self.F_FILTERED: SHARED.theme.getIcon("filter", "orange"), self.F_FILTERED: SHARED.theme.getIcon("filter", "altaction"),
self.F_INCLUDED: SHARED.theme.getIcon("pin", "blue"), self.F_INCLUDED: SHARED.theme.getIcon("pin", "action"),
self.F_EXCLUDED: SHARED.theme.getIcon("exclude", "red"), self.F_EXCLUDED: SHARED.theme.getIcon("exclude", "reject"),
} }
self._trIncluded = self.tr("Included in manuscript") self._trIncluded = self.tr("Included in manuscript")
@@ -410,14 +409,14 @@ class _FilterTab(NFixedPage):
logger.debug("Theme Update: _FilterTab, init=%s", init) logger.debug("Theme Update: _FilterTab, init=%s", init)
if not init: if not init:
self._statusFlags[self.F_FILTERED] = SHARED.theme.getIcon("filter", "orange") self._statusFlags[self.F_FILTERED] = SHARED.theme.getIcon("filter", "altaction")
self._statusFlags[self.F_INCLUDED] = SHARED.theme.getIcon("pin", "blue") self._statusFlags[self.F_INCLUDED] = SHARED.theme.getIcon("pin", "action")
self._statusFlags[self.F_EXCLUDED] = SHARED.theme.getIcon("exclude", "red") self._statusFlags[self.F_EXCLUDED] = SHARED.theme.getIcon("exclude", "reject")
self.loadContent() self.loadContent()
self.includedButton.setIcon(self._statusFlags[self.F_INCLUDED]) self.includedButton.setIcon(self._statusFlags[self.F_INCLUDED])
self.excludedButton.setIcon(self._statusFlags[self.F_EXCLUDED]) self.excludedButton.setIcon(self._statusFlags[self.F_EXCLUDED])
self.resetButton.setThemeIcon("revert", "green") self.resetButton.setThemeIcon("revert", "reset")
## ##
# Slots # Slots
@@ -492,7 +491,7 @@ class _FilterTab(NFixedPage):
default=self._build.getBool("filter.includeNotes") default=self._build.getBool("filter.includeNotes")
) )
self.filterOpt.addItem( self.filterOpt.addItem(
SHARED.theme.getIcon("unchecked", "red"), SHARED.theme.getIcon("unchecked", "reject"),
self._build.getLabel("filter.includeInactive"), self._build.getLabel("filter.includeInactive"),
"doc:filter.includeInactive", "doc:filter.includeInactive",
default=self._build.getBool("filter.includeInactive") default=self._build.getBool("filter.includeInactive")
@@ -811,12 +810,12 @@ class _HeadingsTab(NScrollablePage):
"""Update theme elements.""" """Update theme elements."""
logger.debug("Theme Update: _HeadingsTab") logger.debug("Theme Update: _HeadingsTab")
self.btnPart.setThemeIcon("edit", "green") self.btnPart.setThemeIcon("edit", "change")
self.btnChapter.setThemeIcon("edit", "green") self.btnChapter.setThemeIcon("edit", "change")
self.btnUnnumbered.setThemeIcon("edit", "green") self.btnUnnumbered.setThemeIcon("edit", "change")
self.btnScene.setThemeIcon("edit", "green") self.btnScene.setThemeIcon("edit", "change")
self.btnAScene.setThemeIcon("edit", "green") self.btnAScene.setThemeIcon("edit", "change")
self.btnSection.setThemeIcon("edit", "green") self.btnSection.setThemeIcon("edit", "change")
self.formSyntax.initHighlighter() self.formSyntax.initHighlighter()
self.formSyntax.rehighlight() self.formSyntax.rehighlight()
@@ -1318,9 +1317,9 @@ class _FormattingTab(NScrollableForm):
"""Update theme elements.""" """Update theme elements."""
logger.debug("Theme Update: _FormattingTab") logger.debug("Theme Update: _FormattingTab")
self.ignoredKeywordsButton.setThemeIcon("add", "green") self.ignoredKeywordsButton.setThemeIcon("add", "add")
self.btnTextFont.setThemeIcon("font") self.btnTextFont.setThemeIcon("font", "tool")
self.btnPageHeader.setThemeIcon("revert", "green") self.btnPageHeader.setThemeIcon("revert", "reset")
iPx = SHARED.theme.baseIconHeight iPx = SHARED.theme.baseIconHeight
self.pixT.setPixmap(SHARED.theme.getPixmap("margin_top", (iPx, iPx))) self.pixT.setPixmap(SHARED.theme.getPixmap("margin_top", (iPx, iPx)))
+6 -6
View File
@@ -258,7 +258,7 @@ class _OpenProjectPage(QWidget):
# Info / Tool # Info / Tool
self.aMissing = QAction(self) self.aMissing = QAction(self)
self.aMissing.setIcon(SHARED.theme.getIcon("alert_warn", "orange")) self.aMissing.setIcon(SHARED.theme.getIcon("alert_warn", "warning"))
self.aMissing.setToolTip(self.tr("The project path is not reachable.")) self.aMissing.setToolTip(self.tr("The project path is not reachable."))
self.selectedPath = QLineEdit(self) self.selectedPath = QLineEdit(self)
@@ -534,7 +534,7 @@ class _NewProjectForm(QWidget):
self.projPath = QLineEdit(self) self.projPath = QLineEdit(self)
self.projPath.setReadOnly(True) self.projPath.setReadOnly(True)
self.browsePath = NIconToolButton(self, iSz, "browse") self.browsePath = NIconToolButton(self, iSz, "browse", "systemio")
self.browsePath.clicked.connect(self._doBrowse) self.browsePath.clicked.connect(self._doBrowse)
self.pathBox = QHBoxLayout() self.pathBox = QHBoxLayout()
@@ -545,20 +545,20 @@ class _NewProjectForm(QWidget):
self.projFill = QLineEdit(self) self.projFill = QLineEdit(self)
self.projFill.setReadOnly(True) self.projFill.setReadOnly(True)
self.browseFill = NIconToolButton(self, iSz, "document_add", "blue") self.browseFill = NIconToolButton(self, iSz, "document_add", "add")
self.fillMenu = QMenu(self.browseFill) self.fillMenu = QMenu(self.browseFill)
self.fillBlank = qtAddAction(self.fillMenu, self.tr("Create a fresh project")) self.fillBlank = qtAddAction(self.fillMenu, self.tr("Create a fresh project"))
self.fillBlank.setIcon(SHARED.theme.getIcon("document")) self.fillBlank.setIcon(SHARED.theme.getIcon("document", "file"))
self.fillBlank.triggered.connect(self._setFillBlank) self.fillBlank.triggered.connect(self._setFillBlank)
self.fillSample = qtAddAction(self.fillMenu, self.tr("Create an example project")) self.fillSample = qtAddAction(self.fillMenu, self.tr("Create an example project"))
self.fillSample.setIcon(SHARED.theme.getIcon("document_add", "blue")) self.fillSample.setIcon(SHARED.theme.getIcon("document_add", "add"))
self.fillSample.triggered.connect(self._setFillSample) self.fillSample.triggered.connect(self._setFillSample)
self.fillCopy = qtAddAction(self.fillMenu, self.tr("Copy an existing project")) self.fillCopy = qtAddAction(self.fillMenu, self.tr("Copy an existing project"))
self.fillCopy.setIcon(SHARED.theme.getIcon("project_copy", "green")) self.fillCopy.setIcon(SHARED.theme.getIcon("project_copy", "action"))
self.fillCopy.triggered.connect(self._setFillCopy) self.fillCopy.triggered.connect(self._setFillCopy)
self.browseFill.setMenu(self.fillMenu) self.browseFill.setMenu(self.fillMenu)
+1 -1
View File
@@ -292,7 +292,7 @@ class GuiWritingStats(NToolDialog):
self.saveMenu.addAction(self.saveJSON) self.saveMenu.addAction(self.saveJSON)
self.saveMenu.addAction(self.saveCSV) self.saveMenu.addAction(self.saveCSV)
self.btnSave = NPushButton(self, self.tr("Save As"), bSz, "btn_save", "blue") self.btnSave = NPushButton(self, self.tr("Save As"), bSz, "btn_save", "action")
self.btnSave.setAutoDefault(False) self.btnSave.setAutoDefault(False)
self.btnSave.setMenu(self.saveMenu) self.btnSave.setMenu(self.saveMenu)
+3 -3
View File
@@ -185,13 +185,13 @@ def testExtModified_NClickableLabel(qtbot):
@pytest.mark.gui @pytest.mark.gui
def testExtModified_ToolButtons(qtbot): def testExtModified_ToolButtons(qtbot, mockGUI):
"""Test the NIconToolButton and NIconToggleButton classes.""" """Test the NIconToolButton and NIconToggleButton classes."""
dialog = SimpleDialog(None) dialog = SimpleDialog(None)
size = QSize(16, 16) size = QSize(16, 16)
button1 = NIconToolButton(dialog, size, "add", "green") button1 = NIconToolButton(dialog, size, "add", "add")
button2 = NIconToggleButton(dialog, size, "bullet") button2 = NIconToggleButton(dialog, size, "bullet", "action")
assert button1.iconSize() == size assert button1.iconSize() == size
assert button2.iconSize() == size assert button2.iconSize() == size
+13 -8
View File
@@ -421,36 +421,36 @@ def testGuiTheme_LoadIcons():
# ========== # ==========
# Load an unknown icon # Load an unknown icon
qIcon = iconCache.getIcon("stuff") qIcon = iconCache.getIcon("stuff", "tool")
assert isinstance(qIcon, QIcon) assert isinstance(qIcon, QIcon)
assert qIcon == iconCache._noIcon assert qIcon == iconCache._noIcon
# Load an icon, it is likely already cached # Load an icon, it is likely already cached
qIcon = iconCache.getIcon("add") qIcon = iconCache.getIcon("add", "tool")
assert isinstance(qIcon, QIcon) assert isinstance(qIcon, QIcon)
assert qIcon.isNull() is False assert qIcon.isNull() is False
# Load it as a pixmap with a size # Load it as a pixmap with a size
# If this part of the test fails, you may need to set the # If this part of the test fails, you may need to set the
# environment variable: QT_SCALE_FACTOR=1 # environment variable: QT_SCALE_FACTOR=1
qPix = iconCache.getPixmap("add", (50, 50)) qPix = iconCache.getPixmap("add", (50, 50), "tool")
assert isinstance(qPix, QPixmap) assert isinstance(qPix, QPixmap)
assert qPix.isNull() is False assert qPix.isNull() is False
assert qPix.width() == 50, "If this fails, make sure QT_SCALE_FACTOR=1" assert qPix.width() == 50, "If this fails, make sure QT_SCALE_FACTOR=1"
assert qPix.height() == 50, "If this fails, make sure QT_SCALE_FACTOR=1" assert qPix.height() == 50, "If this fails, make sure QT_SCALE_FACTOR=1"
# Load app icon # Load app icon
qIcon = iconCache.getIcon("novelwriter") qIcon = iconCache.getIcon("novelwriter", "tool")
assert isinstance(qIcon, QIcon) assert isinstance(qIcon, QIcon)
assert qIcon != iconCache._noIcon assert qIcon != iconCache._noIcon
# Load mime icon # Load mime icon
qIcon = iconCache.getIcon("proj_nwx") qIcon = iconCache.getIcon("proj_nwx", "tool")
assert isinstance(qIcon, QIcon) assert isinstance(qIcon, QIcon)
assert qIcon != iconCache._noIcon assert qIcon != iconCache._noIcon
# Toggle icon # Toggle icon
qIcon = iconCache.getToggleIcon("bullet", (24, 24)) qIcon = iconCache.getToggleIcon("bullet", (24, 24), "tool")
assert isinstance(qIcon, QIcon) assert isinstance(qIcon, QIcon)
assert qIcon != iconCache._noIcon assert qIcon != iconCache._noIcon
pOn = qIcon.pixmap(24, 24, QIcon.Mode.Normal, QIcon.State.On) pOn = qIcon.pixmap(24, 24, QIcon.Mode.Normal, QIcon.State.On)
@@ -458,7 +458,7 @@ def testGuiTheme_LoadIcons():
assert pOn != pOff assert pOn != pOff
# Unknown toggle icon # Unknown toggle icon
qIcon = iconCache.getToggleIcon("stuff", (24, 24)) qIcon = iconCache.getToggleIcon("stuff", (24, 24), "tool")
assert isinstance(qIcon, QIcon) assert isinstance(qIcon, QIcon)
assert qIcon == iconCache._noIcon assert qIcon == iconCache._noIcon
@@ -610,7 +610,7 @@ def testGuiTheme_CheckTheme(theme):
parser = ConfigParser() parser = ConfigParser()
parser.read(current.path, encoding="utf-8") parser.read(current.path, encoding="utf-8")
sections = ["Main", "Base", "Project", "Palette", "GUI", "Syntax"] sections = ["Main", "Base", "Project", "Icon", "Palette", "GUI", "Syntax"]
assert sorted(parser.sections()) == sorted(sections) assert sorted(parser.sections()) == sorted(sections)
structure = { structure = {
@@ -625,6 +625,11 @@ def testGuiTheme_CheckTheme(theme):
"root", "folder", "file", "title", "chapter", "scene", "note", "root", "folder", "file", "title", "chapter", "scene", "note",
"active", "inactive", "disabled", "active", "inactive", "disabled",
], ],
"Icon": [
"tool", "sidebar", "accept", "reject", "action", "altaction",
"apply", "create", "destroy", "reset", "add", "change", "remove",
"shortcode", "markdown", "systemio", "info", "warning", "error",
],
"Palette": [ "Palette": [
"window", "windowtext", "base", "alternatebase", "text", "window", "windowtext", "base", "alternatebase", "text",
"tooltipbase", "tooltiptext", "button", "buttontext", "brighttext", "tooltipbase", "tooltiptext", "button", "buttontext", "brighttext",