Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/keepassxreboot/keepassxc.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--share/icons/application/scalable/apps/keepassxc-dark.svg77
-rw-r--r--share/icons/application/scalable/apps/keepassxc-locked.svg98
-rw-r--r--share/icons/application/scalable/apps/keepassxc-monochrome-dark-locked.svg1
-rw-r--r--share/icons/application/scalable/apps/keepassxc-monochrome-dark.svg1
-rw-r--r--share/icons/application/scalable/apps/keepassxc-monochrome-light-locked.svg1
-rw-r--r--share/icons/application/scalable/apps/keepassxc-monochrome-light.svg1
-rw-r--r--share/icons/application/scalable/apps/keepassxc-unlocked.svg78
-rw-r--r--share/icons/application/scalable/apps/keepassxc.svg78
-rw-r--r--share/icons/icons.qrc5
-rw-r--r--src/core/Config.cpp5
-rw-r--r--src/core/Config.h2
-rw-r--r--src/core/Resources.cpp39
-rw-r--r--src/core/Resources.h2
-rw-r--r--src/gui/ApplicationSettingsWidget.cpp15
-rw-r--r--src/gui/ApplicationSettingsWidgetGeneral.ui83
-rw-r--r--src/gui/MainWindow.cpp9
-rw-r--r--src/gui/MainWindow.h4
-rw-r--r--src/gui/styles/base/BaseStyle.cpp1
18 files changed, 144 insertions, 356 deletions
diff --git a/share/icons/application/scalable/apps/keepassxc-dark.svg b/share/icons/application/scalable/apps/keepassxc-dark.svg
deleted file mode 100644
index d296e68ff..000000000
--- a/share/icons/application/scalable/apps/keepassxc-dark.svg
+++ /dev/null
@@ -1,77 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg
- xmlns:osb="http://www.openswatchbook.org/uri/2009/osb"
- xmlns:dc="http://purl.org/dc/elements/1.1/"
- xmlns:cc="http://creativecommons.org/ns#"
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:svg="http://www.w3.org/2000/svg"
- xmlns="http://www.w3.org/2000/svg"
- xmlns:xlink="http://www.w3.org/1999/xlink"
- width="100"
- height="100"
- viewBox="0 0 99.999997 100"
- id="svg2"
- version="1.1">
- <defs
- id="defs4">
- <linearGradient
- id="linearGradient4257">
- <stop
- style="stop-color:#808080;stop-opacity:1"
- offset="0"
- id="stop4259" />
- <stop
- style="stop-color:#4d4d4d;stop-opacity:1"
- offset="1"
- id="stop4261" />
- </linearGradient>
- <linearGradient
- id="linearGradient4153"
- osb:paint="solid">
- <stop
- style="stop-color:#b3b3b3;stop-opacity:1;"
- offset="0"
- id="stop4155" />
- </linearGradient>
- <linearGradient
- xlink:href="#linearGradient4257"
- id="linearGradient4263"
- x1="50.09866"
- y1="86.831215"
- x2="49.526104"
- y2="8.6772995"
- gradientUnits="userSpaceOnUse" />
- </defs>
- <metadata
- id="metadata7">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:title></dc:title>
- </cc:Work>
- </rdf:RDF>
- </metadata>
- <circle
- cy="50"
- cx="50"
- id="path5201"
- style="opacity:0.87099998;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:3.13186812;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.78431373"
- r="45.934067" />
- <circle
- r="42.32143"
- cy="50.000023"
- cx="50"
- id="path3336"
- style="opacity:1;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
- <path
- id="path4264"
- d="M 50,6.3242189 A 43.676472,43.676472 0 0 0 6.3242189,50 43.676472,43.676472 0 0 0 50,93.675781 43.676472,43.676472 0 0 0 93.675781,50 43.676472,43.676472 0 0 0 50,6.3242189 Z m 0,6.7109371 c 2.26423,0.0083 4.523397,0.224904 6.748047,0.646485 0.10716,0.48368 0.167969,0.98402 0.167969,1.5 0,3.82265 -3.097269,6.918015 -6.917969,6.916015 -3.82069,0.0022 -6.916016,-3.091382 -6.916016,-6.914062 0,-0.5181 0.06204,-1.02034 0.169922,-1.50586 C 45.476743,13.257569 47.7359,13.042035 50,13.035156 Z m -18.994141,5.298828 c -0.24053,1.21916 -0.371333,2.474142 -0.371093,3.763672 0,7.71966 4.528393,14.367959 11.064453,17.480469 l 0,35.089844 8.298828,8.298828 8.300781,-8.300781 -0.476562,-7.34961 3.914062,-3.912109 -3.914062,-3.912109 5.871093,-5.867188 -5.871093,-5.871094 0.476562,-8.177734 c 6.53802,-3.11057 11.066406,-9.758856 11.066406,-17.478516 0,-1.28696 -0.133397,-2.540982 -0.373046,-3.757812 C 80.124647,25.007387 86.946634,37.023584 86.964844,50 86.964304,70.414588 70.41459,86.964292 50,86.964844 29.58541,86.964292 13.035701,70.414589 13.035156,50 13.050706,37.021755 19.872279,25.003208 31.005859,18.333984 Z m 13.458985,25.898438 2.767578,0 0,27.666016 -2.765625,0 -0.002,-27.664063 0,-0.002 z"
- style="opacity:1;fill:#f9f9f9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
- <path
- id="path3336-3-2-7"
- d="m 56.747561,13.681815 c 0.107159,0.48368 0.16838,0.98465 0.16838,1.50063 0,3.822651 -3.097351,6.917921 -6.91805,6.915921 -3.82069,0.0022 -6.91594,-3.09115 -6.91594,-6.913831 0,-0.5181 0.0626,-1.02142 0.17048,-1.50694 C 45.477221,13.25743 47.7359,13.042554 50,13.035675 c 2.26423,0.0083 4.52291,0.224559 6.74756,0.64614 z m -26.11261,8.416551 c 0,7.71966 4.528179,14.36677 11.064239,17.47928 l 0,35.091179 8.2987,8.2987 8.30082,-8.3008 -0.47566,-7.3495 3.91258,-3.9126 -3.91258,-3.9126 5.86992,-5.867799 -5.86992,-5.8699 0.47565,-8.17878 c 6.53802,-3.11057 11.06635,-9.75752 11.06635,-17.47718 0,-1.28696 -0.13288,-2.54209 -0.37253,-3.75892 11.132459,6.667543 17.953549,18.684164 17.97176,31.66058 C 86.96374,70.414615 70.414591,86.963775 50,86.964325 29.58541,86.963775 13.03626,70.414615 13.03572,50.000026 c 0.0155,-12.978245 6.83607,-24.997676 17.96965,-31.6669 -0.24053,1.21916 -0.37066,2.47571 -0.37042,3.76524 z m 13.829769,22.13472 2.76764,0 0,27.665839 -2.76554,0 -0.002,-27.663749 0,-0.002 z"
- style="opacity:0.94;fill:url(#linearGradient4263);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.80000001;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
-</svg>
diff --git a/share/icons/application/scalable/apps/keepassxc-locked.svg b/share/icons/application/scalable/apps/keepassxc-locked.svg
index 82e766940..0f0cc55cb 100644
--- a/share/icons/application/scalable/apps/keepassxc-locked.svg
+++ b/share/icons/application/scalable/apps/keepassxc-locked.svg
@@ -1,97 +1 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg
- xmlns:osb="http://www.openswatchbook.org/uri/2009/osb"
- xmlns:dc="http://purl.org/dc/elements/1.1/"
- xmlns:cc="http://creativecommons.org/ns#"
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:svg="http://www.w3.org/2000/svg"
- xmlns="http://www.w3.org/2000/svg"
- xmlns:xlink="http://www.w3.org/1999/xlink"
- width="100"
- height="100"
- viewBox="0 0 99.999997 100"
- id="svg2"
- version="1.1">
- <defs
- id="defs4">
- <linearGradient
- id="linearGradient5771"
- osb:paint="solid">
- <stop
- style="stop-color:#ff4300;stop-opacity:1;"
- offset="0"
- id="stop5773" />
- </linearGradient>
- <linearGradient
- id="linearGradient4321"
- osb:paint="solid">
- <stop
- style="stop-color:#000000;stop-opacity:1;"
- offset="0"
- id="stop4323" />
- </linearGradient>
- <linearGradient
- id="linearGradient4257">
- <stop
- style="stop-color:#808080;stop-opacity:1"
- offset="0"
- id="stop4259" />
- <stop
- style="stop-color:#4d4d4d;stop-opacity:1"
- offset="1"
- id="stop4261" />
- </linearGradient>
- <linearGradient
- id="linearGradient4153"
- osb:paint="solid">
- <stop
- style="stop-color:#b3b3b3;stop-opacity:1;"
- offset="0"
- id="stop4155" />
- </linearGradient>
- <linearGradient
- xlink:href="#linearGradient4257"
- id="linearGradient4263"
- x1="50.09866"
- y1="86.831215"
- x2="49.526104"
- y2="8.6772995"
- gradientUnits="userSpaceOnUse" />
- </defs>
- <metadata
- id="metadata7">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:title></dc:title>
- </cc:Work>
- </rdf:RDF>
- </metadata>
- <circle
- cy="50"
- cx="50"
- id="path5201"
- style="opacity:0.87099998;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:3.13186812;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.78431373"
- r="45.934067" />
- <circle
- r="42.32143"
- cy="50.000023"
- cx="50"
- id="path3336"
- style="opacity:1;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
- <path
- id="path4264"
- d="M 50,6.3242189 A 43.676472,43.676472 0 0 0 6.3242189,50 43.676472,43.676472 0 0 0 50,93.675781 43.676472,43.676472 0 0 0 93.675781,50 43.676472,43.676472 0 0 0 50,6.3242189 Z m 0,6.7109371 c 2.26423,0.0083 4.523397,0.224904 6.748047,0.646485 0.10716,0.48368 0.167969,0.98402 0.167969,1.5 0,3.82265 -3.097269,6.918015 -6.917969,6.916015 -3.82069,0.0022 -6.916016,-3.091382 -6.916016,-6.914062 0,-0.5181 0.06204,-1.02034 0.169922,-1.50586 C 45.476743,13.257569 47.7359,13.042035 50,13.035156 Z m -18.994141,5.298828 c -0.24053,1.21916 -0.371333,2.474142 -0.371093,3.763672 0,7.71966 4.528393,14.367959 11.064453,17.480469 l 0,35.089844 8.298828,8.298828 8.300781,-8.300781 -0.476562,-7.34961 3.914062,-3.912109 -3.914062,-3.912109 5.871093,-5.867188 -5.871093,-5.871094 0.476562,-8.177734 c 6.53802,-3.11057 11.066406,-9.758856 11.066406,-17.478516 0,-1.28696 -0.133397,-2.540982 -0.373046,-3.757812 C 80.124647,25.007387 86.946634,37.023584 86.964844,50 86.964304,70.414588 70.41459,86.964292 50,86.964844 29.58541,86.964292 13.035701,70.414589 13.035156,50 13.050706,37.021755 19.872279,25.003208 31.005859,18.333984 Z m 13.458985,25.898438 2.767578,0 0,27.666016 -2.765625,0 -0.002,-27.664063 0,-0.002 z"
- style="opacity:1;fill:#f9f9f9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
- <path
- id="path3336-3-2-7"
- d="m 56.747561,13.681815 c 0.107159,0.48368 0.16838,0.98465 0.16838,1.50063 0,3.822651 -3.097351,6.917921 -6.91805,6.915921 -3.82069,0.0022 -6.91594,-3.09115 -6.91594,-6.913831 0,-0.5181 0.0626,-1.02142 0.17048,-1.50694 C 45.477221,13.25743 47.7359,13.042554 50,13.035675 c 2.26423,0.0083 4.52291,0.224559 6.74756,0.64614 z m -26.11261,8.416551 c 0,7.71966 4.528179,14.36677 11.064239,17.47928 l 0,35.091179 8.2987,8.2987 8.30082,-8.3008 -0.47566,-7.3495 3.91258,-3.9126 -3.91258,-3.9126 5.86992,-5.867799 -5.86992,-5.8699 0.47565,-8.17878 c 6.53802,-3.11057 11.06635,-9.75752 11.06635,-17.47718 0,-1.28696 -0.13288,-2.54209 -0.37253,-3.75892 11.132459,6.667543 17.953549,18.684164 17.97176,31.66058 C 86.96374,70.414615 70.414591,86.963775 50,86.964325 29.58541,86.963775 13.03626,70.414615 13.03572,50.000026 c 0.0155,-12.978245 6.83607,-24.997676 17.96965,-31.6669 -0.24053,1.21916 -0.37066,2.47571 -0.37042,3.76524 z m 13.829769,22.13472 2.76764,0 0,27.665839 -2.76554,0 -0.002,-27.663749 0,-0.002 z"
- style="opacity:0.94;fill:url(#linearGradient4263);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.80000001;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
- <path
- style="clip-rule:evenodd;fill:#ff6600;fill-rule:evenodd;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke:none;stroke-opacity:1;stroke-linejoin:round;opacity:0.99999999"
- d="m 92.663118,96.834263 -27.995661,0 c -1.93315,0 -3.498582,-1.568935 -3.498582,-3.503838 l 0,-17.520917 c 0,-1.934902 1.567183,-3.505586 3.498582,-3.505586 l 1.749292,0 0,-5.254878 c 0,-6.77303 5.484262,-12.264297 12.248534,-12.264297 6.764282,0 12.248545,5.491267 12.248545,12.264297 l 0,5.254878 1.74929,0 c 1.933144,0 3.498575,1.568932 3.498575,3.505586 l 0,17.520917 c 0,1.93315 -1.567175,3.503838 -3.498575,3.503838 z M 85.664201,67.049044 c 0,-3.869803 -3.134367,-7.00767 -6.998918,-7.00767 -3.864549,0 -6.998909,3.137867 -6.998909,7.00767 l 0,5.254878 13.997827,0 0,-5.254878 z"
- id="path3" />
-</svg>
+<svg id="svg2" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:osb="http://www.openswatchbook.org/uri/2009/osb" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 100 100" style="enable-background:new 0 0 100 100"><style>.st0{fill-rule:evenodd;clip-rule:evenodd;fill:#fff;stroke:#515151;stroke-width:3.1319;stroke-linecap:round;stroke-linejoin:round}.st1{fill:none}.st2{fill:url(#path3336-3-2-7_1_)}.st3{fill:url(#SVGID_1_)}.st4{fill:#fff}</style><circle id="path5201" class="st0" cx="50" cy="50" r="45.9"/><circle id="path3336" class="st1" cx="50" cy="50" r="42.3"/><linearGradient id="path3336-3-2-7_1_" gradientUnits="userSpaceOnUse" x1="50.2693" y1="1570.83" x2="49.6968" y2="1492.676" gradientTransform="matrix(1 0 0 1 0 -1484)"><stop offset="0" style="stop-color:gray"/><stop offset="1" style="stop-color:#4d4d4d"/></linearGradient><path id="path3336-3-2-7" class="st2" d="M56.7 13.7c.1.5.2 1 .2 1.5.0 3.8-3.1 6.9-6.9 6.9-3.8.0-6.9-3.1-6.9-6.9.0-.5.1-1 .2-1.5 2.2-.4 4.5-.6 6.7-.6C52.3 13 54.5 13.3 56.7 13.7zM30.6 22.1c0 7.7 4.5 14.4 11.1 17.5v35.1L50 83l8.3-8.3-.5-7.3 3.9-3.9-3.9-3.9 5.9-5.9-5.9-5.9.5-8.2c6.5-3.1 11.1-9.8 11.1-17.5.0-1.3-.1-2.5-.4-3.8C80.1 25 86.9 37 87 50c0 20.4-16.5 37-37 37-20.4.0-37-16.5-37-37 0-13 6.8-25 18-31.7C30.8 19.6 30.6 20.8 30.6 22.1zM44.5 44.2h2.8v27.7h-2.8V44.2v0 0z"/><linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="73.8" y1="-690.2484" x2="73.8" y2="-732.114" gradientTransform="matrix(1 0 0 -1 0 -642.1102)"><stop offset="0" style="stop-color:#d69029"/><stop offset="1" style="stop-color:#af7125"/></linearGradient><path class="st3" d="M59.6 94.8c-3.7.0-6.7-3-6.7-6.7V67.6c0-3.3 2.5-6.1 5.7-6.6v-4.1c0-8.4 6.8-15.2 15.2-15.2S89 48.5 89 56.9V61c3.2.5 5.7 3.3 5.7 6.6v20.5c0 3.7-3 6.7-6.7 6.7.0.0-28.4.0-28.4.0zM79.7 61v-5c0-3.2-2.6-5.9-5.9-5.9S68 52.7 68 56v5H79.7z"/><path class="st4" d="M73.8 42.7c7.8.0 14.2 6.4 14.2 14.2V62c3.1.0 5.7 2.6 5.7 5.7v20.5c0 3.1-2.6 5.7-5.7 5.7H59.6c-3.1.0-5.7-2.6-5.7-5.7V67.6c0-3.1 2.6-5.7 5.7-5.7v-5.1C59.6 49.1 66 42.7 73.8 42.7M67 62h13.7v-6c0-3.8-3.1-6.9-6.9-6.9C70 49.1 67 52.2 67 56v6M73.8 40.7c-8.9.0-16.2 7.3-16.2 16.2v3.3c-3.3.9-5.7 3.9-5.7 7.4v20.5c0 4.2 3.4 7.7 7.7 7.7H88c4.2.0 7.7-3.4 7.7-7.7V67.6c0-3.5-2.4-6.5-5.7-7.4v-3.3C90 48 82.7 40.7 73.8 40.7v0zM69 60v-4c0-2.7 2.2-4.9 4.9-4.9 2.7.0 4.9 2.2 4.9 4.9v4H69v0z"/></svg> \ No newline at end of file
diff --git a/share/icons/application/scalable/apps/keepassxc-monochrome-dark-locked.svg b/share/icons/application/scalable/apps/keepassxc-monochrome-dark-locked.svg
new file mode 100644
index 000000000..3cd212d6e
--- /dev/null
+++ b/share/icons/application/scalable/apps/keepassxc-monochrome-dark-locked.svg
@@ -0,0 +1 @@
+<svg id="svg2" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:osb="http://www.openswatchbook.org/uri/2009/osb" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 100 100" style="enable-background:new 0 0 100 100"><path d="M50 2.5C23.8 2.5 2.5 23.8 2.5 50S23.8 97.5 50 97.5c6.5.0 12.7-1.3 18.4-3.7h-8.8c-.3.0-.5.0-.7-.1.0.0-.1.0-.1.0-.2.0-.5-.1-.7-.2.0.0.0.0.0.0-2.6.5-5.3.7-8 .7C25.6 94.3 5.7 74.4 5.7 50S25.6 5.7 50 5.7 94.3 25.6 94.3 50c0 4.8-.8 9.4-2.2 13.8.4.4.7.8.9 1.3.0.0.0.0.0.0.1.1.2.3.2.5.0.0.0.1.0.1.1.1.1.3.2.4.0.1.0.1.0.2.0.1.1.2.1.4.0.1.0.2.0.3.0.1.0.2.0.3.0.2.0.4.0.6v.9c2.4-5.7 3.8-12 3.8-18.6C97.5 23.8 76.2 2.5 50 2.5z"/><path d="M44.5 44.2h2.8v27.7H44.5z"/><path d="M59.6 61.4V57.8L57.8 59.6z"/><path d="M73.8 49.1C70 49.1 67 52.2 67 56v6h13.7v-6C80.7 52.2 77.6 49.1 73.8 49.1z"/><path d="M58.3 39.6l-.5 8.2 3.1 3.1c2.3-4.9 7.2-8.3 12.9-8.3 5.9.0 11 3.8 13.2 9 0-.5.0-1.1.0-1.6-.1-13-6.9-25-18-31.7.3 1.3.4 2.5.4 3.8C69.4 29.8 64.8 36.5 58.3 39.6z"/><path d="M50 83l-8.3-8.3V39.6c-6.6-3.1-11.1-9.8-11.1-17.5.0-1.3.2-2.5.4-3.8C19.8 25 13 37 13 50c0 20.5 16.6 37 37 37 1.3.0 2.6-.1 3.9-.2v-7.7L50 83z"/><path d="M50 13.1c-2.2.0-4.5.2-6.7.6-.1.5-.2 1-.2 1.5.0 3.8 3.1 6.9 6.9 6.9s6.9-3.1 6.9-6.9c0-.5-.1-1-.2-1.5C54.5 13.3 52.3 13 50 13.1z"/><path d="M73.8 42.7c7.8.0 14.2 6.4 14.2 14.2V62c3.1.0 5.7 2.6 5.7 5.7v20.5c0 3.1-2.6 5.7-5.7 5.7H59.6c-3.1.0-5.7-2.6-5.7-5.7V67.6c0-3.1 2.6-5.7 5.7-5.7v-5.1C59.6 49.1 66 42.7 73.8 42.7M67 62h13.7v-6c0-3.8-3.1-6.9-6.9-6.9C70 49.1 67 52.2 67 56v6M73.8 40.7c-8.9.0-16.2 7.3-16.2 16.2v3.3c-3.3.9-5.7 3.9-5.7 7.4v20.5c0 4.2 3.4 7.7 7.7 7.7H88c4.2.0 7.7-3.4 7.7-7.7V67.6c0-3.5-2.4-6.5-5.7-7.4v-3.3C90 48 82.7 40.7 73.8 40.7v0zM69 60v-4c0-2.7 2.2-4.9 4.9-4.9 2.7.0 4.9 2.2 4.9 4.9v4H69v0z"/></svg> \ No newline at end of file
diff --git a/share/icons/application/scalable/apps/keepassxc-monochrome-dark.svg b/share/icons/application/scalable/apps/keepassxc-monochrome-dark.svg
new file mode 100644
index 000000000..28c4754a5
--- /dev/null
+++ b/share/icons/application/scalable/apps/keepassxc-monochrome-dark.svg
@@ -0,0 +1 @@
+<svg id="svg2" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:osb="http://www.openswatchbook.org/uri/2009/osb" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 100 100" style="enable-background:new 0 0 100 100"><style>.st0{enable-background:new}</style><path class="st0" d="M50 97.5C23.8 97.5 2.5 76.2 2.5 50S23.8 2.5 50 2.5 97.5 23.8 97.5 50 76.2 97.5 50 97.5zM50 5.7C25.6 5.7 5.7 25.6 5.7 50c0 24.4 19.9 44.3 44.3 44.3 24.4.0 44.3-19.9 44.3-44.3C94.3 25.6 74.4 5.7 50 5.7z"/><path id="path3336-3-2-7" d="M56.7 13.7c.1.5.2 1 .2 1.5.0 3.8-3.1 6.9-6.9 6.9-3.8.0-6.9-3.1-6.9-6.9.0-.5.1-1 .2-1.5 2.2-.4 4.5-.6 6.7-.6C52.3 13 54.5 13.3 56.7 13.7zM30.6 22.1c0 7.7 4.5 14.4 11.1 17.5v35.1L50 83l8.3-8.3-.5-7.3 3.9-3.9-3.9-3.9 5.9-5.9-5.9-5.9.5-8.2c6.5-3.1 11.1-9.8 11.1-17.5.0-1.3-.1-2.5-.4-3.8C80.1 25 86.9 37 87 50c0 20.4-16.5 37-37 37-20.4.0-37-16.5-37-37 0-13 6.8-25 18-31.7C30.8 19.6 30.6 20.8 30.6 22.1zM44.5 44.2h2.8v27.7h-2.8V44.2v0 0z"/></svg> \ No newline at end of file
diff --git a/share/icons/application/scalable/apps/keepassxc-monochrome-light-locked.svg b/share/icons/application/scalable/apps/keepassxc-monochrome-light-locked.svg
new file mode 100644
index 000000000..71b77ac92
--- /dev/null
+++ b/share/icons/application/scalable/apps/keepassxc-monochrome-light-locked.svg
@@ -0,0 +1 @@
+<svg id="svg2" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:osb="http://www.openswatchbook.org/uri/2009/osb" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 100 100" style="enable-background:new 0 0 100 100"><style>.st0{fill:none}.st1{fill:#fff}</style><path class="st0" d="M44.5 44.2h2.8v27.7H44.5z"/><path class="st0" d="M50 13.1c-2.2.0-4.5.2-6.7.6-.1.5-.2 1-.2 1.5.0 3.8 3.1 6.9 6.9 6.9s6.9-3.1 6.9-6.9c0-.5-.1-1-.2-1.5C54.5 13.3 52.3 13 50 13.1z"/><path class="st1" d="M91.6 64.4c-1-1.3-2.5-2.1-4.2-2.1v-4.9c0-1.3-.2-2.6-.6-3.9-1.6 17.2-15 30.9-32 33.1v.6c0 3 2.5 5.4 5.4 5.4h.4C75.1 89.1 86.8 78.3 91.6 64.4z"/><path class="st1" d="M50 1.5C23.3 1.5 1.5 23.3 1.5 50S23.3 98.5 50 98.5c4.9.0 9.6-.7 14.1-2.1H59c-.4.0-.7.0-1-.1-2.6.4-5.2.7-8 .7C24.1 97 3 75.9 3 50S24.1 3 50 3s47 21.1 47 47c0 4.9-.7 9.6-2.1 14 .4.7.7 1.4.9 2.1 1.8-5.1 2.8-10.5 2.8-16.1C98.5 23.3 76.7 1.5 50 1.5z"/><path class="st1" d="M92.7 72.9v-3.4C88 79.8 79.8 88 69.6 92.7H73C81.3 88.2 88.2 81.3 92.7 72.9z"/><path class="st1" d="M50 6C25.7 6 6 25.7 6 50s19.7 44 44 44c1.2.0 2.3-.1 3.5-.1-1.2-1.3-1.9-3-1.9-4.9v-2c-.5.0-1.1.0-1.6.0-20.4.0-37-16.5-37-37 0-13 6.8-25 18-31.7-.2 1.3-.4 2.5-.4 3.8.0 7.7 4.5 14.4 11.1 17.5v35.1L50 83l1.6-1.6V67.6c0-3.5 2.6-6.5 5.9-7.2v-4c0-2.6.6-5 1.7-7.2l-1.4-1.4.5-8.2c6.5-3.1 11.1-9.8 11.1-17.5.0-1.3-.1-2.5-.4-3.8C79.2 24.5 85.8 35.1 86.8 47c2 2.7 3.2 6 3.2 9.5v4c.9.2 1.7.5 2.5 1C93.5 57.9 94 54 94 50 94 25.7 74.3 6 50 6zM47.3 71.9h-2.8V44.2h2.8V71.9zM50 22.1c-3.8.0-6.9-3.1-6.9-6.9.0-.5.1-1 .2-1.5 2.2-.4 4.5-.6 6.7-.6 2.3-.1 4.5.2 6.7.6.1.5.2 1 .2 1.5C56.9 19 53.8 22.1 50 22.1z"/><path class="st1" d="M63.7 53.7l-2.2-2.2c-.8 1.7-1.3 3.6-1.3 5.7l3.5-3.5z"/><path class="st1" d="M60.2 62v.2c-3 0-5.4 2.5-5.4 5.4v10.6l3.5-3.5-.5-7.3 3.9-3.9L60.2 62z"/><path class="st1" d="M73.8 43.9c7.4.0 13.6 6.1 13.6 13.6v4.9c3 0 5.4 2.5 5.4 5.4v19.6c0 3-2.5 5.4-5.4 5.4H60.2c-3 0-5.4-2.5-5.4-5.4V67.6c0-3 2.5-5.4 5.4-5.4v-4.9C60.2 50 66.4 43.9 73.8 43.9M67.6 62h12.5v-5.5c0-3.5-2.8-6.3-6.3-6.3s-6.2 2.8-6.2 6.3V62"/></svg> \ No newline at end of file
diff --git a/share/icons/application/scalable/apps/keepassxc-monochrome-light.svg b/share/icons/application/scalable/apps/keepassxc-monochrome-light.svg
new file mode 100644
index 000000000..4516274d9
--- /dev/null
+++ b/share/icons/application/scalable/apps/keepassxc-monochrome-light.svg
@@ -0,0 +1 @@
+<svg id="svg2" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:osb="http://www.openswatchbook.org/uri/2009/osb" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 100 100" style="enable-background:new 0 0 100 100"><style>.st0{fill:#fff}</style><path class="st0" d="M50 1.5C23.3 1.5 1.5 23.3 1.5 50S23.3 98.5 50 98.5 98.5 76.7 98.5 50 76.7 1.5 50 1.5zM50 97C24.1 97 3 75.9 3 50S24.1 3 50 3s47 21.1 47 47S75.9 97 50 97zM50 6C25.7 6 6 25.7 6 50s19.7 44 44 44 44-19.7 44-44S74.3 6 50 6zM43.3 13.7c2.2-.4 4.5-.6 6.7-.6 2.3-.1 4.5.2 6.7.6.1.5.2 1 .2 1.5.0 3.8-3.1 6.9-6.9 6.9s-6.9-3.1-6.9-6.9C43.1 14.7 43.2 14.2 43.3 13.7zM47.3 44.2v27.7h-2.8V44.2H47.3zM50 87c-20.4.0-37-16.5-37-37 0-13 6.8-25 18-31.7-.2 1.3-.4 2.5-.4 3.8.0 7.7 4.5 14.4 11.1 17.5v35.1L50 83l8.3-8.3-.5-7.3 3.9-3.9-3.9-3.9 5.9-5.9-5.9-5.9.5-8.2c6.5-3.1 11.1-9.8 11.1-17.5.0-1.3-.1-2.5-.4-3.8C80.1 25 86.9 37 87 50 87 70.4 70.5 87 50 87z"/></svg> \ No newline at end of file
diff --git a/share/icons/application/scalable/apps/keepassxc-unlocked.svg b/share/icons/application/scalable/apps/keepassxc-unlocked.svg
index c2d5758f0..a4df192d1 100644
--- a/share/icons/application/scalable/apps/keepassxc-unlocked.svg
+++ b/share/icons/application/scalable/apps/keepassxc-unlocked.svg
@@ -1,77 +1 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg
- xmlns:osb="http://www.openswatchbook.org/uri/2009/osb"
- xmlns:dc="http://purl.org/dc/elements/1.1/"
- xmlns:cc="http://creativecommons.org/ns#"
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:svg="http://www.w3.org/2000/svg"
- xmlns="http://www.w3.org/2000/svg"
- xmlns:xlink="http://www.w3.org/1999/xlink"
- version="1.1"
- id="svg2"
- viewBox="0 0 99.999997 100"
- height="100"
- width="100">
- <defs
- id="defs4">
- <linearGradient
- id="linearGradient4316">
- <stop
- id="stop4318"
- offset="0"
- style="stop-color:#226e23;stop-opacity:1" />
- <stop
- id="stop4320"
- offset="1"
- style="stop-color:#63ab3a;stop-opacity:1" />
- </linearGradient>
- <linearGradient
- osb:paint="solid"
- id="linearGradient4153">
- <stop
- id="stop4155"
- offset="0"
- style="stop-color:#b3b3b3;stop-opacity:1;" />
- </linearGradient>
- <linearGradient
- xlink:href="#linearGradient4316"
- id="linearGradient5199"
- x1="53.238865"
- y1="12.753036"
- x2="53.238865"
- y2="86.356995"
- gradientUnits="userSpaceOnUse" />
- </defs>
- <metadata
- id="metadata7">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:title></dc:title>
- </cc:Work>
- </rdf:RDF>
- </metadata>
- <circle
- r="45.934067"
- style="opacity:0.87099998;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:3.13186812;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.78431373"
- id="path5201"
- cx="50"
- cy="50" />
- <circle
- style="opacity:1;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- id="path3336"
- cx="50"
- cy="50.000023"
- r="42.32143" />
- <path
- style="opacity:1;fill:#f9f9f9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- d="M 50,6.3242189 A 43.676472,43.676472 0 0 0 6.3242189,50 43.676472,43.676472 0 0 0 50,93.675781 43.676472,43.676472 0 0 0 93.675781,50 43.676472,43.676472 0 0 0 50,6.3242189 Z m 0,6.7109371 c 2.26423,0.0083 4.523397,0.224904 6.748047,0.646485 0.10716,0.48368 0.167969,0.98402 0.167969,1.5 0,3.82265 -3.097269,6.918015 -6.917969,6.916015 -3.82069,0.0022 -6.916016,-3.091382 -6.916016,-6.914062 0,-0.5181 0.06204,-1.02034 0.169922,-1.50586 C 45.476743,13.257569 47.7359,13.042035 50,13.035156 Z m -18.994141,5.298828 c -0.24053,1.21916 -0.371333,2.474142 -0.371093,3.763672 0,7.71966 4.528393,14.367959 11.064453,17.480469 l 0,35.089844 8.298828,8.298828 8.300781,-8.300781 -0.476562,-7.34961 3.914062,-3.912109 -3.914062,-3.912109 5.871093,-5.867188 -5.871093,-5.871094 0.476562,-8.177734 c 6.53802,-3.11057 11.066406,-9.758856 11.066406,-17.478516 0,-1.28696 -0.133397,-2.540982 -0.373046,-3.757812 C 80.124647,25.007387 86.946634,37.023584 86.964844,50 86.964304,70.414588 70.41459,86.964292 50,86.964844 29.58541,86.964292 13.035701,70.414589 13.035156,50 13.050706,37.021755 19.872279,25.003208 31.005859,18.333984 Z m 13.458985,25.898438 2.767578,0 0,27.666016 -2.765625,0 -0.002,-27.664063 0,-0.002 z"
- id="path4264" />
- <path
- style="opacity:0.94;fill:url(#linearGradient5199);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.80000001;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- d="m 56.747561,13.681815 c 0.107159,0.48368 0.16838,0.98465 0.16838,1.50063 0,3.822651 -3.097351,6.917921 -6.91805,6.915921 -3.82069,0.0022 -6.91594,-3.09115 -6.91594,-6.913831 0,-0.5181 0.0626,-1.02142 0.17048,-1.50694 C 45.477221,13.25743 47.7359,13.042554 50,13.035675 c 2.26423,0.0083 4.52291,0.224559 6.74756,0.64614 z m -26.11261,8.416551 c 0,7.71966 4.528179,14.36677 11.064239,17.47928 l 0,35.091179 8.2987,8.2987 8.30082,-8.3008 -0.47566,-7.3495 3.91258,-3.9126 -3.91258,-3.9126 5.86992,-5.867799 -5.86992,-5.8699 0.47565,-8.17878 c 6.53802,-3.11057 11.06635,-9.75752 11.06635,-17.47718 0,-1.28696 -0.13288,-2.54209 -0.37253,-3.75892 11.132459,6.667543 17.953549,18.684164 17.97176,31.66058 C 86.96374,70.414615 70.414591,86.963775 50,86.964325 29.58541,86.963775 13.03626,70.414615 13.03572,50.000026 c 0.0155,-12.978245 6.83607,-24.997676 17.96965,-31.6669 -0.24053,1.21916 -0.37066,2.47571 -0.37042,3.76524 z m 13.829769,22.13472 2.76764,0 0,27.665839 -2.76554,0 -0.002,-27.663749 0,-0.002 z"
- id="path3336-3-2-7" />
-</svg>
+<svg id="svg2" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:osb="http://www.openswatchbook.org/uri/2009/osb" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 100 100" style="enable-background:new 0 0 100 100"><style>.st0{fill-rule:evenodd;clip-rule:evenodd;fill:#fff;stroke:#515151;stroke-width:3.1319;stroke-linecap:round;stroke-linejoin:round;enable-background:new}.st1{fill:none}.st2{opacity:.94;fill:url(#path3336-3-2-7_1_);enable-background:new}</style><circle id="path5201" class="st0" cx="50" cy="50" r="45.9"/><circle id="path3336" class="st1" cx="50" cy="50" r="42.3"/><linearGradient id="path3336-3-2-7_1_" gradientUnits="userSpaceOnUse" x1="50" y1="87.1367" x2="50" y2="13.5328" gradientTransform="matrix(1 0 0 -1 0 99.8898)"><stop offset="0" style="stop-color:#226e23"/><stop offset="1" style="stop-color:#63ab3a"/></linearGradient><path id="path3336-3-2-7" class="st2" d="M56.7 13.7c.1.5.2 1 .2 1.5.0 3.8-3.1 6.9-6.9 6.9-3.8.0-6.9-3.1-6.9-6.9.0-.5.1-1 .2-1.5 2.2-.4 4.5-.6 6.7-.6C52.3 13 54.5 13.3 56.7 13.7zM30.6 22.1c0 7.7 4.5 14.4 11.1 17.5v35.1L50 83l8.3-8.3-.5-7.3 3.9-3.9-3.9-3.9 5.9-5.9-5.9-5.9.5-8.2c6.5-3.1 11.1-9.8 11.1-17.5.0-1.3-.1-2.5-.4-3.8C80.1 25 86.9 37 87 50c0 20.4-16.5 37-37 37-20.4.0-37-16.5-37-37 0-13 6.8-25 18-31.7C30.8 19.6 30.6 20.8 30.6 22.1zM44.5 44.2h2.8v27.7h-2.8V44.2v0 0z"/></svg> \ No newline at end of file
diff --git a/share/icons/application/scalable/apps/keepassxc.svg b/share/icons/application/scalable/apps/keepassxc.svg
index c2d5758f0..a4df192d1 100644
--- a/share/icons/application/scalable/apps/keepassxc.svg
+++ b/share/icons/application/scalable/apps/keepassxc.svg
@@ -1,77 +1 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg
- xmlns:osb="http://www.openswatchbook.org/uri/2009/osb"
- xmlns:dc="http://purl.org/dc/elements/1.1/"
- xmlns:cc="http://creativecommons.org/ns#"
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:svg="http://www.w3.org/2000/svg"
- xmlns="http://www.w3.org/2000/svg"
- xmlns:xlink="http://www.w3.org/1999/xlink"
- version="1.1"
- id="svg2"
- viewBox="0 0 99.999997 100"
- height="100"
- width="100">
- <defs
- id="defs4">
- <linearGradient
- id="linearGradient4316">
- <stop
- id="stop4318"
- offset="0"
- style="stop-color:#226e23;stop-opacity:1" />
- <stop
- id="stop4320"
- offset="1"
- style="stop-color:#63ab3a;stop-opacity:1" />
- </linearGradient>
- <linearGradient
- osb:paint="solid"
- id="linearGradient4153">
- <stop
- id="stop4155"
- offset="0"
- style="stop-color:#b3b3b3;stop-opacity:1;" />
- </linearGradient>
- <linearGradient
- xlink:href="#linearGradient4316"
- id="linearGradient5199"
- x1="53.238865"
- y1="12.753036"
- x2="53.238865"
- y2="86.356995"
- gradientUnits="userSpaceOnUse" />
- </defs>
- <metadata
- id="metadata7">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:title></dc:title>
- </cc:Work>
- </rdf:RDF>
- </metadata>
- <circle
- r="45.934067"
- style="opacity:0.87099998;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:3.13186812;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.78431373"
- id="path5201"
- cx="50"
- cy="50" />
- <circle
- style="opacity:1;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- id="path3336"
- cx="50"
- cy="50.000023"
- r="42.32143" />
- <path
- style="opacity:1;fill:#f9f9f9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- d="M 50,6.3242189 A 43.676472,43.676472 0 0 0 6.3242189,50 43.676472,43.676472 0 0 0 50,93.675781 43.676472,43.676472 0 0 0 93.675781,50 43.676472,43.676472 0 0 0 50,6.3242189 Z m 0,6.7109371 c 2.26423,0.0083 4.523397,0.224904 6.748047,0.646485 0.10716,0.48368 0.167969,0.98402 0.167969,1.5 0,3.82265 -3.097269,6.918015 -6.917969,6.916015 -3.82069,0.0022 -6.916016,-3.091382 -6.916016,-6.914062 0,-0.5181 0.06204,-1.02034 0.169922,-1.50586 C 45.476743,13.257569 47.7359,13.042035 50,13.035156 Z m -18.994141,5.298828 c -0.24053,1.21916 -0.371333,2.474142 -0.371093,3.763672 0,7.71966 4.528393,14.367959 11.064453,17.480469 l 0,35.089844 8.298828,8.298828 8.300781,-8.300781 -0.476562,-7.34961 3.914062,-3.912109 -3.914062,-3.912109 5.871093,-5.867188 -5.871093,-5.871094 0.476562,-8.177734 c 6.53802,-3.11057 11.066406,-9.758856 11.066406,-17.478516 0,-1.28696 -0.133397,-2.540982 -0.373046,-3.757812 C 80.124647,25.007387 86.946634,37.023584 86.964844,50 86.964304,70.414588 70.41459,86.964292 50,86.964844 29.58541,86.964292 13.035701,70.414589 13.035156,50 13.050706,37.021755 19.872279,25.003208 31.005859,18.333984 Z m 13.458985,25.898438 2.767578,0 0,27.666016 -2.765625,0 -0.002,-27.664063 0,-0.002 z"
- id="path4264" />
- <path
- style="opacity:0.94;fill:url(#linearGradient5199);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.80000001;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- d="m 56.747561,13.681815 c 0.107159,0.48368 0.16838,0.98465 0.16838,1.50063 0,3.822651 -3.097351,6.917921 -6.91805,6.915921 -3.82069,0.0022 -6.91594,-3.09115 -6.91594,-6.913831 0,-0.5181 0.0626,-1.02142 0.17048,-1.50694 C 45.477221,13.25743 47.7359,13.042554 50,13.035675 c 2.26423,0.0083 4.52291,0.224559 6.74756,0.64614 z m -26.11261,8.416551 c 0,7.71966 4.528179,14.36677 11.064239,17.47928 l 0,35.091179 8.2987,8.2987 8.30082,-8.3008 -0.47566,-7.3495 3.91258,-3.9126 -3.91258,-3.9126 5.86992,-5.867799 -5.86992,-5.8699 0.47565,-8.17878 c 6.53802,-3.11057 11.06635,-9.75752 11.06635,-17.47718 0,-1.28696 -0.13288,-2.54209 -0.37253,-3.75892 11.132459,6.667543 17.953549,18.684164 17.97176,31.66058 C 86.96374,70.414615 70.414591,86.963775 50,86.964325 29.58541,86.963775 13.03626,70.414615 13.03572,50.000026 c 0.0155,-12.978245 6.83607,-24.997676 17.96965,-31.6669 -0.24053,1.21916 -0.37066,2.47571 -0.37042,3.76524 z m 13.829769,22.13472 2.76764,0 0,27.665839 -2.76554,0 -0.002,-27.663749 0,-0.002 z"
- id="path3336-3-2-7" />
-</svg>
+<svg id="svg2" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:osb="http://www.openswatchbook.org/uri/2009/osb" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 100 100" style="enable-background:new 0 0 100 100"><style>.st0{fill-rule:evenodd;clip-rule:evenodd;fill:#fff;stroke:#515151;stroke-width:3.1319;stroke-linecap:round;stroke-linejoin:round;enable-background:new}.st1{fill:none}.st2{opacity:.94;fill:url(#path3336-3-2-7_1_);enable-background:new}</style><circle id="path5201" class="st0" cx="50" cy="50" r="45.9"/><circle id="path3336" class="st1" cx="50" cy="50" r="42.3"/><linearGradient id="path3336-3-2-7_1_" gradientUnits="userSpaceOnUse" x1="50" y1="87.1367" x2="50" y2="13.5328" gradientTransform="matrix(1 0 0 -1 0 99.8898)"><stop offset="0" style="stop-color:#226e23"/><stop offset="1" style="stop-color:#63ab3a"/></linearGradient><path id="path3336-3-2-7" class="st2" d="M56.7 13.7c.1.5.2 1 .2 1.5.0 3.8-3.1 6.9-6.9 6.9-3.8.0-6.9-3.1-6.9-6.9.0-.5.1-1 .2-1.5 2.2-.4 4.5-.6 6.7-.6C52.3 13 54.5 13.3 56.7 13.7zM30.6 22.1c0 7.7 4.5 14.4 11.1 17.5v35.1L50 83l8.3-8.3-.5-7.3 3.9-3.9-3.9-3.9 5.9-5.9-5.9-5.9.5-8.2c6.5-3.1 11.1-9.8 11.1-17.5.0-1.3-.1-2.5-.4-3.8C80.1 25 86.9 37 87 50c0 20.4-16.5 37-37 37-20.4.0-37-16.5-37-37 0-13 6.8-25 18-31.7C30.8 19.6 30.6 20.8 30.6 22.1zM44.5 44.2h2.8v27.7h-2.8V44.2v0 0z"/></svg> \ No newline at end of file
diff --git a/share/icons/icons.qrc b/share/icons/icons.qrc
index a02106d21..cb11f9068 100644
--- a/share/icons/icons.qrc
+++ b/share/icons/icons.qrc
@@ -74,7 +74,10 @@
<file>application/scalable/apps/freedesktop.svg</file>
<file>application/scalable/apps/internet-web-browser.svg</file>
<file>application/scalable/apps/keepassxc.svg</file>
- <file>application/scalable/apps/keepassxc-dark.svg</file>
+ <file>application/scalable/apps/keepassxc-monochrome-dark.svg</file>
+ <file>application/scalable/apps/keepassxc-monochrome-dark-locked.svg</file>
+ <file>application/scalable/apps/keepassxc-monochrome-light.svg</file>
+ <file>application/scalable/apps/keepassxc-monochrome-light-locked.svg</file>
<file>application/scalable/apps/keepassxc-locked.svg</file>
<file>application/scalable/apps/keepassxc-unlocked.svg</file>
<file>application/scalable/apps/preferences-desktop-icons.svg</file>
diff --git a/src/core/Config.cpp b/src/core/Config.cpp
index b413d460e..bd4d0a7dd 100644
--- a/src/core/Config.cpp
+++ b/src/core/Config.cpp
@@ -93,7 +93,7 @@ static const QHash<Config::ConfigKey, ConfigDirective> configStrings = {
{Config::GUI_HidePreviewPanel, {QS("GUI/HidePreviewPanel"), Roaming, false}},
{Config::GUI_ToolButtonStyle, {QS("GUI/ToolButtonStyle"), Roaming, Qt::ToolButtonIconOnly}},
{Config::GUI_ShowTrayIcon, {QS("GUI/ShowTrayIcon"), Roaming, false}},
- {Config::GUI_DarkTrayIcon, {QS("GUI/DarkTrayIcon"), Roaming, false}},
+ {Config::GUI_TrayIconAppearance, {QS("GUI/TrayIconAppearance"), Roaming, {}}},
{Config::GUI_MinimizeToTray, {QS("GUI/MinimizeToTray"), Roaming, false}},
{Config::GUI_MinimizeOnStartup, {QS("GUI/MinimizeOnStartup"), Roaming, false}},
{Config::GUI_MinimizeOnClose, {QS("GUI/MinimizeOnClose"), Roaming, false}},
@@ -345,7 +345,8 @@ static const QHash<QString, Config::ConfigKey> deprecationMap = {
{QS("generator/WordCase"), Config::PasswordGenerator_WordCase},
{QS("generator/Type"), Config::PasswordGenerator_Type},
{QS("QtErrorMessageShown"), Config::Messages_Qt55CompatibilityWarning},
- {QS("GUI/HidePasswords"), Config::Deleted}};
+ {QS("GUI/HidePasswords"), Config::Deleted},
+ {QS("GUI/DarkTrayIcon"), Config::Deleted}};
/**
* Migrate settings from previous versions.
diff --git a/src/core/Config.h b/src/core/Config.h
index 8d4609a21..b3dc0fb85 100644
--- a/src/core/Config.h
+++ b/src/core/Config.h
@@ -76,7 +76,7 @@ public:
GUI_HidePreviewPanel,
GUI_ToolButtonStyle,
GUI_ShowTrayIcon,
- GUI_DarkTrayIcon,
+ GUI_TrayIconAppearance,
GUI_MinimizeToTray,
GUI_MinimizeOnStartup,
GUI_MinimizeOnClose,
diff --git a/src/core/Resources.cpp b/src/core/Resources.cpp
index c4f747232..608e02dcf 100644
--- a/src/core/Resources.cpp
+++ b/src/core/Resources.cpp
@@ -28,6 +28,7 @@
#include "core/Config.h"
#include "core/Global.h"
#include "gui/MainWindow.h"
+#include "gui/osutils/OSUtils.h"
Resources* Resources::m_instance(nullptr);
@@ -100,19 +101,48 @@ QIcon Resources::applicationIcon()
return icon("keepassxc", false);
}
+QString Resources::getTrayIconAppearance() const
+{
+ auto iconAppearance = config()->get(Config::GUI_TrayIconAppearance).toString();
+ if (iconAppearance.isNull()) {
+#ifdef Q_OS_MACOS
+ iconAppearance = osUtils->isDarkMode() ? "monochrome-light" : "monochrome-dark";
+#else
+ iconAppearance = "monochrome-light";
+#endif
+ }
+ return iconAppearance;
+}
+
QIcon Resources::trayIcon()
{
- return useDarkIcon() ? icon("keepassxc-dark", false) : icon("keepassxc", false);
+ return trayIconUnlocked();
}
QIcon Resources::trayIconLocked()
{
+ auto iconApperance = getTrayIconAppearance();
+
+ if (iconApperance == "monochrome-light") {
+ return icon("keepassxc-monochrome-light-locked", false);
+ }
+ if (iconApperance == "monochrome-dark") {
+ return icon("keepassxc-monochrome-dark-locked", false);
+ }
return icon("keepassxc-locked", false);
}
QIcon Resources::trayIconUnlocked()
{
- return useDarkIcon() ? icon("keepassxc-dark", false) : icon("keepassxc-unlocked", false);
+ auto iconApperance = getTrayIconAppearance();
+
+ if (iconApperance == "monochrome-light") {
+ return icon("keepassxc-monochrome-light", false);
+ }
+ if (iconApperance == "monochrome-dark") {
+ return icon("keepassxc-monochrome-dark", false);
+ }
+ return icon("keepassxc", false);
}
QIcon Resources::icon(const QString& name, bool recolor, const QColor& overrideColor)
@@ -223,11 +253,6 @@ bool Resources::testResourceDir(const QString& dir)
return false;
}
-bool Resources::useDarkIcon()
-{
- return config()->get(Config::GUI_DarkTrayIcon).toBool();
-}
-
Resources* Resources::instance()
{
if (!m_instance) {
diff --git a/src/core/Resources.h b/src/core/Resources.h
index 97a994aa1..11302a5b6 100644
--- a/src/core/Resources.h
+++ b/src/core/Resources.h
@@ -40,9 +40,9 @@ public:
static Resources* instance();
private:
+ QString getTrayIconAppearance() const;
Resources();
bool testResourceDir(const QString& dir);
- bool useDarkIcon();
static Resources* m_instance;
diff --git a/src/gui/ApplicationSettingsWidget.cpp b/src/gui/ApplicationSettingsWidget.cpp
index 896fd8898..e44ded9f3 100644
--- a/src/gui/ApplicationSettingsWidget.cpp
+++ b/src/gui/ApplicationSettingsWidget.cpp
@@ -238,7 +238,6 @@ void ApplicationSettingsWidget::loadSettings()
m_generalUi->systrayShowCheckBox->setChecked(config()->get(Config::GUI_ShowTrayIcon).toBool());
systrayToggled(m_generalUi->systrayShowCheckBox->isChecked());
- m_generalUi->systrayDarkIconCheckBox->setChecked(config()->get(Config::GUI_DarkTrayIcon).toBool());
m_generalUi->systrayMinimizeToTrayCheckBox->setChecked(config()->get(Config::GUI_MinimizeToTray).toBool());
m_generalUi->minimizeOnCloseCheckBox->setChecked(config()->get(Config::GUI_MinimizeOnClose).toBool());
m_generalUi->systrayMinimizeOnStartup->setChecked(config()->get(Config::GUI_MinimizeOnStartup).toBool());
@@ -261,6 +260,15 @@ void ApplicationSettingsWidget::loadSettings()
m_generalUi->autoTypeStartDelaySpinBox->setValue(config()->get(Config::AutoTypeStartDelay).toInt());
}
+ m_generalUi->trayIconAppearance->clear();
+ m_generalUi->trayIconAppearance->addItem(tr("Monochrome (light)"), QStringLiteral("monochrome-light"));
+ m_generalUi->trayIconAppearance->addItem(tr("Monochrome (dark)"), QStringLiteral("monochrome-dark"));
+ m_generalUi->trayIconAppearance->addItem(tr("Colored"), QStringLiteral("colored"));
+ int trayIconIndex = m_generalUi->trayIconAppearance->findData(config()->get(Config::GUI_TrayIconAppearance));
+ if (trayIconIndex > 0) {
+ m_generalUi->trayIconAppearance->setCurrentIndex(trayIconIndex);
+ }
+
m_secUi->clearClipboardCheckBox->setChecked(config()->get(Config::Security_ClearClipboard).toBool());
m_secUi->clearClipboardSpinBox->setValue(config()->get(Config::Security_ClearClipboardTimeout).toInt());
@@ -341,7 +349,7 @@ void ApplicationSettingsWidget::saveSettings()
config()->set(Config::GUI_ToolButtonStyle, m_generalUi->toolButtonStyleComboBox->currentData().toString());
config()->set(Config::GUI_ShowTrayIcon, m_generalUi->systrayShowCheckBox->isChecked());
- config()->set(Config::GUI_DarkTrayIcon, m_generalUi->systrayDarkIconCheckBox->isChecked());
+ config()->set(Config::GUI_TrayIconAppearance, m_generalUi->trayIconAppearance->currentData().toString());
config()->set(Config::GUI_MinimizeToTray, m_generalUi->systrayMinimizeToTrayCheckBox->isChecked());
config()->set(Config::GUI_MinimizeOnClose, m_generalUi->minimizeOnCloseCheckBox->isChecked());
config()->set(Config::GUI_MinimizeOnStartup, m_generalUi->systrayMinimizeOnStartup->isChecked());
@@ -468,7 +476,8 @@ void ApplicationSettingsWidget::hideWindowOnCopyCheckBoxToggled(bool checked)
void ApplicationSettingsWidget::systrayToggled(bool checked)
{
- m_generalUi->systrayDarkIconCheckBox->setEnabled(checked);
+ m_generalUi->trayIconAppearance->setEnabled(checked);
+ m_generalUi->trayIconAppearanceLabel->setEnabled(checked);
m_generalUi->systrayMinimizeToTrayCheckBox->setEnabled(checked);
}
diff --git a/src/gui/ApplicationSettingsWidgetGeneral.ui b/src/gui/ApplicationSettingsWidgetGeneral.ui
index 12a5cc57d..fea7481aa 100644
--- a/src/gui/ApplicationSettingsWidgetGeneral.ui
+++ b/src/gui/ApplicationSettingsWidgetGeneral.ui
@@ -401,6 +401,9 @@
<property name="text">
<string>Favicon download timeout:</string>
</property>
+ <property name="buddy">
+ <cstring>faviconTimeoutSpinBox</cstring>
+ </property>
</widget>
</item>
<item>
@@ -508,6 +511,9 @@
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
+ <property name="buddy">
+ <cstring>appThemeSelection</cstring>
+ </property>
</widget>
</item>
<item row="1" column="1">
@@ -540,6 +546,9 @@
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
+ <property name="buddy">
+ <cstring>languageComboBox</cstring>
+ </property>
</widget>
</item>
<item row="2" column="0">
@@ -562,6 +571,9 @@
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
+ <property name="buddy">
+ <cstring>toolButtonStyleComboBox</cstring>
+ </property>
</widget>
</item>
<item row="2" column="1">
@@ -646,14 +658,14 @@
</widget>
</item>
<item>
- <layout class="QHBoxLayout" name="horizontalLayout_4">
- <property name="spacing">
- <number>0</number>
- </property>
+ <layout class="QGridLayout" name="gridLayout_2">
<property name="sizeConstraint">
<enum>QLayout::SetMaximumSize</enum>
</property>
- <item>
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <item row="0" column="0">
<spacer name="horizontalSpacer_3">
<property name="orientation">
<enum>Qt::Horizontal</enum>
@@ -669,16 +681,61 @@
</property>
</spacer>
</item>
- <item>
- <widget class="QCheckBox" name="systrayDarkIconCheckBox">
+ <item row="0" column="3">
+ <widget class="QComboBox" name="trayIconAppearance">
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QLabel" name="trayIconAppearanceLabel">
<property name="enabled">
<bool>false</bool>
</property>
<property name="text">
- <string>Dark system tray icon</string>
+ <string>Tray icon type:</string>
+ </property>
+ <property name="buddy">
+ <cstring>trayIconAppearance</cstring>
</property>
</widget>
</item>
+ <item row="0" column="4">
+ <spacer name="horizontalSpacer_4">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="0" column="2">
+ <spacer name="verticalSpacer_6">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>QSizePolicy::Fixed</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>6</width>
+ <height>0</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
</layout>
</item>
<item>
@@ -885,6 +942,9 @@
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
+ <property name="buddy">
+ <cstring>autoTypeDelaySpinBox</cstring>
+ </property>
</widget>
</item>
<item row="0" column="1">
@@ -964,6 +1024,9 @@
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
+ <property name="buddy">
+ <cstring>autoTypeShortcutWidget</cstring>
+ </property>
</widget>
</item>
<item row="1" column="0">
@@ -974,6 +1037,9 @@
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
+ <property name="buddy">
+ <cstring>autoTypeStartDelaySpinBox</cstring>
+ </property>
</widget>
</item>
<item row="0" column="2">
@@ -1050,7 +1116,6 @@
<tabstop>monospaceNotesCheckBox</tabstop>
<tabstop>minimizeOnCloseCheckBox</tabstop>
<tabstop>systrayShowCheckBox</tabstop>
- <tabstop>systrayDarkIconCheckBox</tabstop>
<tabstop>systrayMinimizeToTrayCheckBox</tabstop>
<tabstop>resetSettingsButton</tabstop>
<tabstop>autoTypeEntryTitleMatchCheckBox</tabstop>
diff --git a/src/gui/MainWindow.cpp b/src/gui/MainWindow.cpp
index 1cf4d46f0..18e8ac0dc 100644
--- a/src/gui/MainWindow.cpp
+++ b/src/gui/MainWindow.cpp
@@ -392,6 +392,7 @@ MainWindow::MainWindow()
connect(m_ui->tabWidget, SIGNAL(currentChanged(int)), SLOT(updateWindowTitle()));
connect(m_ui->tabWidget, SIGNAL(currentChanged(int)), SLOT(databaseTabChanged(int)));
connect(m_ui->tabWidget, SIGNAL(currentChanged(int)), SLOT(setMenuActionState()));
+ connect(m_ui->tabWidget, SIGNAL(currentChanged(int)), SLOT(updateTrayIcon()));
connect(m_ui->tabWidget, SIGNAL(databaseLocked(DatabaseWidget*)), SLOT(databaseStatusChanged(DatabaseWidget*)));
connect(m_ui->tabWidget, SIGNAL(databaseUnlocked(DatabaseWidget*)), SLOT(databaseStatusChanged(DatabaseWidget*)));
connect(m_ui->tabWidget, SIGNAL(tabVisibilityChanged(bool)), SLOT(updateToolbarSeparatorVisibility()));
@@ -1227,7 +1228,7 @@ void MainWindow::updateTrayIcon()
auto* actionToggle = new QAction(tr("Toggle window"), menu);
menu->addAction(actionToggle);
- actionToggle->setIcon(resources()->icon("keepassxc-dark", false));
+ actionToggle->setIcon(resources()->icon("keepassxc-monochrome-dark"));
menu->addAction(m_ui->actionLockDatabases);
@@ -1250,7 +1251,10 @@ void MainWindow::updateTrayIcon()
m_trayIcon->setIcon(resources()->trayIcon());
m_trayIcon->show();
}
- if (m_ui->tabWidget->hasLockableDatabases()) {
+
+ if (m_ui->tabWidget->count() == 0) {
+ m_trayIcon->setIcon(resources()->trayIcon());
+ } else if (m_ui->tabWidget->hasLockableDatabases()) {
m_trayIcon->setIcon(resources()->trayIconUnlocked());
} else {
m_trayIcon->setIcon(resources()->trayIconLocked());
@@ -1259,7 +1263,6 @@ void MainWindow::updateTrayIcon()
if (m_trayIcon) {
m_trayIcon->hide();
delete m_trayIcon;
- m_trayIcon = nullptr;
}
}
}
diff --git a/src/gui/MainWindow.h b/src/gui/MainWindow.h
index b901ef54c..f5d58d75e 100644
--- a/src/gui/MainWindow.h
+++ b/src/gui/MainWindow.h
@@ -136,6 +136,9 @@ private slots:
void releaseContextFocusLock();
void agentEnabled(bool enabled);
+private slots:
+ void updateTrayIcon();
+
private:
static void setShortcut(QAction* action, QKeySequence::StandardKey standard, int fallback = 0);
@@ -143,7 +146,6 @@ private:
void saveWindowInformation();
bool saveLastDatabases();
- void updateTrayIcon();
bool isTrayIconEnabled() const;
void customOpenUrl(QString url);
diff --git a/src/gui/styles/base/BaseStyle.cpp b/src/gui/styles/base/BaseStyle.cpp
index 3997cadff..3b3c60411 100644
--- a/src/gui/styles/base/BaseStyle.cpp
+++ b/src/gui/styles/base/BaseStyle.cpp
@@ -32,6 +32,7 @@
#include <QMainWindow>
#include <QMenu>
#include <QPainter>
+#include <QPainterPath>
#include <QPoint>
#include <QPolygon>
#include <QPushButton>