Added custom hide/unhide password buttons

This commit is contained in:
Christoph Stahl 2024-10-06 02:20:27 +02:00
parent dd17c9a91b
commit b7809c94b8
5 changed files with 2550 additions and 5 deletions

View file

@ -0,0 +1,91 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="512"
height="512"
viewBox="0 0 135.46666 135.46667"
version="1.1"
id="svg1"
inkscape:version="1.3.2 (091e20ef0f, 2023-11-25, custom)"
sodipodi:docname="eye_clear.svg"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview1"
pagecolor="#ffffff"
bordercolor="#999999"
borderopacity="1"
inkscape:showpageshadow="0"
inkscape:pageopacity="0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:document-units="mm"
inkscape:zoom="0.80792474"
inkscape:cx="-106.44556"
inkscape:cy="176.99668"
inkscape:window-width="2560"
inkscape:window-height="1374"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="layer1" />
<defs
id="defs1">
<symbol
id="DreamSpeaking">
<title
id="title9">Dream Speaking</title>
<path
d="M 170,60 C 152,46 119,49 108,67 76,48 51,103 86,123 c -30,10 -30,50 3,57 -2,30 53,29 59,8 10,23 47,29 60,9 14,10 36,5 43,-9 11,25 41,21 50,1 35,4 40,-31 29,-50 24,-9 22,-39 3,-48 C 349,65 316,33 294,62 281,47.7 247,48 238,63 222,44 185,42 170,60 Z"
style="stroke:none"
id="path9" />
<path
d="m 160,180 c -33,35 58,-6 -53,96 57.1,-21 93,-56 111,-102"
style="stroke:none"
id="path10" />
<path
d="M 165,55 C 147,41 114,44 103,62 71,43 46,98 81,118 c -30,10 -30,50 3,57 -2,30 53,29 59,8 10,23 47,29 60,9 14,10 36,5 43,-9 11,25 41,21 50,1 35,4 40,-31 29,-50 24,-9 22,-39 3,-48 C 344,60 311,28 289,57 276,42.7 242,43 233,58 217,39 180,37 165,55 Z"
style="fill:#eeeeee;stroke-width:3.5"
id="path11" />
<path
d="m 155,176 c -33,35 58,-6 -53,96 57.1,-21 93,-56 111,-102"
style="fill:#eeeeee;stroke-width:3.5"
id="path12" />
<path
d="M 163,58 C 146,46 115,47 105,64 68,50 59,106 88,117 c -33,14 -20,48 2,50 -5,29 47,29 53,7 10,25 43,24 58,8 13,9 34,4 40,-8 10,22 41,19 48,1 31,7 37,-28 27,-43 23,-7 21,-38 3,-46 C 333,60 304,34 289,64 270,48.4 246,41 230,63 215,43 179,40 163,58 Z"
style="fill:#ffffff;stroke:none"
id="path13" />
<path
d="m 150,168 c -31,33 67,1 -38,97 56,-37 78,-67 93,-102"
style="fill:#ffffff;stroke:none"
id="path14" />
</symbol>
<symbol
id="station_solar"
viewBox="0 0 504.42743 512.16327">
<title
id="title6">Power station (solar)</title>
<path
d="M 347.55397,0.00113108 A 10.001,10.001 0 0 0 337.70436,10.143709 v 47.853516 a 10.001,10.001 0 1 0 20,0 V 10.143709 A 10.001,10.001 0 0 0 347.55397,0.00113108 Z M 277.99147,16.508944 a 10.001,10.001 0 0 0 -8.83204,14.757812 l 22.16211,42.414063 a 10.001,10.001 0 1 0 17.72461,-9.263672 L 286.88404,22.003084 a 10.001,10.001 0 0 0 -8.89257,-5.49414 z m 140.28711,1.736328 a 10.001,10.001 0 0 0 -8.59375,5.490234 l -22.16211,42.414063 a 10.001,10.001 0 1 0 17.72656,9.261718 L 427.41139,32.997225 A 10.001,10.001 0 0 0 418.27858,18.245272 Z M 221.75514,69.251131 a 10.001,10.001 0 0 0 -4.80664,18.578126 l 40.71875,25.142583 A 10.001,10.001 0 1 0 268.17506,95.954257 L 227.45631,70.811678 a 10.001,10.001 0 0 0 -5.70117,-1.560547 z m 252.75781,1.72461 a 10.001,10.001 0 0 0 -5.39844,1.566406 l -40.71875,25.14258 a 10.001,10.001 0 1 0 10.50782,17.017583 L 479.62233,89.559727 A 10.001,10.001 0 0 0 474.51295,70.975741 Z M 348.86647,82.727697 c -39.95383,0 -72.45118,32.497353 -72.45118,72.451173 0,39.95383 32.49735,72.44922 72.45118,72.44922 39.95382,0 72.44922,-32.49539 72.44922,-72.44922 0,-39.95382 -32.4954,-72.451173 -72.44922,-72.451173 z m -98.74805,62.359383 -47.85352,0.0918 a 10.001,10.001 0 1 0 0.0371,20 l 47.85547,-0.0918 a 10.001,10.001 0 1 0 -0.0391,-20 z m 244.14844,0.98437 -47.85352,0.0918 a 10.001,10.001 0 1 0 0.0371,20 l 47.85547,-0.0918 a 10.001,10.001 0 1 0 -0.0391,-20 z m -231.20117,50.64063 a 10.001,10.001 0 0 0 -5.39844,1.5664 l -40.71875,25.14258 a 10.001,10.001 0 1 0 10.50781,17.01562 l 40.71875,-25.14062 a 10.001,10.001 0 0 0 -5.10937,-18.58398 z m 170.13671,0.004 a 10.001,10.001 0 0 0 -4.80664,18.58008 l 40.71875,25.14062 a 10.001,10.001 0 1 0 10.50782,-17.01562 l -40.71875,-25.14258 a 10.001,10.001 0 0 0 -5.70118,-1.5625 z m -36.84765,35.35938 a 10.001,10.001 0 0 0 -8.83203,14.75586 l 22.16211,42.41406 a 10.001,10.001 0 1 0 17.72656,-9.26172 L 405.24928,237.5696 a 10.001,10.001 0 0 0 -8.89453,-5.49414 z m -96.44141,0.004 a 10.001,10.001 0 0 0 -8.5918,5.49024 l -22.16211,42.41386 a 10.001,10.001 0 1 0 17.72461,9.26172 l 22.16211,-42.41406 a 10.001,10.001 0 0 0 -9.13281,-14.75196 z m 48.80274,7.03125 a 10.001,10.001 0 0 0 -9.81836,9.28516 10.001,10.001 0 0 0 -1.19336,4.85547 v 47.85547 a 10.001,10.001 0 0 0 19.9707,0.85547 10.001,10.001 0 0 0 1.19141,-4.85547 V 249.25134 A 10.001,10.001 0 0 0 348.71608,239.11051 Z M 48.61061,360.05387 c -6.18495,-0.009 -12.106888,4.46701 -13.785156,10.41992 l -6.541016,23.06055 H 90.00123 l 4.10156,-33.48047 z m 69.36718,0 -4.10351,33.48047 h 73.43359 l 2.2168,-33.48047 z m 95.23633,0 -2.21875,33.48047 h 69.92188 l -2.21875,-33.48047 z m 89.17383,0 2.2168,33.48047 h 73.43359 l -4.10351,-33.48047 z m 95.42188,0 4.10156,33.48047 h 61.7168 l -6.54102,-23.06055 c -1.67827,-5.95291 -7.6002,-10.42799 -13.78516,-10.41992 z M 23.591082,412.45622 13.575457,447.93473 h 70.033202 l 4.35938,-35.47851 z m 88.251958,0 -4.36133,35.47851 h 76.38867 l 2.32813,-35.47851 z m 98.04492,0 -2.32812,35.47851 h 76.79296 l -2.32812,-35.47851 z m 95.82617,0 2.32813,35.47851 h 76.38867 l -4.36133,-35.47851 z m 98.23047,0 4.35938,35.47851 h 70.0332 L 468.32155,412.45622 Z M 7.514911,469.22184 0.530536,493.9445 c -1.20612,4.23593 -0.324707,9.01356 2.328125,12.52929 2.652834,3.51572 7.015632,5.68695 11.419922,5.68946 h 61.457031 l 5.28515,-42.94141 z m 97.343749,0 -5.248046,42.94141 h 80.009766 l 2.84571,-42.94141 z m 101.29688,0 -2.8457,42.94141 h 85.29296 l -2.8457,-42.94141 z m 103.29101,0 2.84571,42.94141 h 80.00976 l -5.24804,-42.94141 z m 101.44532,0 5.28515,42.94141 h 61.45703 c 4.40428,-0.002 8.7671,-2.17374 11.41993,-5.68946 2.65284,-3.51573 3.53424,-8.29336 2.32812,-12.52929 l -6.98437,-24.72266 z"
id="path7" />
</symbol>
</defs>
<g
inkscape:label="Ebene 1"
inkscape:groupmode="layer"
id="layer1">
<path
id="path2"
style="fill:#ffffff;stroke:#000000;stroke-width:6.61458333;stroke-dasharray:none;stroke-opacity:1;fill-opacity:1"
d="M 67.707723,31.564976 A 75.317235,75.317235 0 0 0 3.4889451,67.733563 75.317235,75.317235 0 0 0 67.707723,103.90169 75.317235,75.317235 0 0 0 131.97772,67.638091 75.317235,75.317235 0 0 0 67.707723,31.564976 Z" />
<circle
style="fill:#ffffff;stroke:#000000;stroke-width:6.61458333;stroke-dasharray:none;stroke-opacity:1;fill-opacity:1"
id="path3"
cx="67.73333"
cy="67.733337"
r="19.061646" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 7.1 KiB

View file

@ -0,0 +1,99 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="512"
height="512"
viewBox="0 0 135.46666 135.46667"
version="1.1"
id="svg1"
sodipodi:docname="eye_strike.svg"
inkscape:version="1.3.2 (091e20ef0f, 2023-11-25, custom)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview1"
pagecolor="#ffffff"
bordercolor="#999999"
borderopacity="1"
inkscape:showpageshadow="0"
inkscape:pageopacity="0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:document-units="mm"
inkscape:zoom="0.80792474"
inkscape:cx="740.16795"
inkscape:cy="206.70242"
inkscape:window-width="2560"
inkscape:window-height="1374"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="layer1" />
<defs
id="defs1">
<symbol
id="DreamSpeaking">
<title
id="title9">Dream Speaking</title>
<path
d="M 170,60 C 152,46 119,49 108,67 76,48 51,103 86,123 c -30,10 -30,50 3,57 -2,30 53,29 59,8 10,23 47,29 60,9 14,10 36,5 43,-9 11,25 41,21 50,1 35,4 40,-31 29,-50 24,-9 22,-39 3,-48 C 349,65 316,33 294,62 281,47.7 247,48 238,63 222,44 185,42 170,60 Z"
style="stroke:none"
id="path9" />
<path
d="m 160,180 c -33,35 58,-6 -53,96 57.1,-21 93,-56 111,-102"
style="stroke:none"
id="path10" />
<path
d="M 165,55 C 147,41 114,44 103,62 71,43 46,98 81,118 c -30,10 -30,50 3,57 -2,30 53,29 59,8 10,23 47,29 60,9 14,10 36,5 43,-9 11,25 41,21 50,1 35,4 40,-31 29,-50 24,-9 22,-39 3,-48 C 344,60 311,28 289,57 276,42.7 242,43 233,58 217,39 180,37 165,55 Z"
style="fill:#eeeeee;stroke-width:3.5"
id="path11" />
<path
d="m 155,176 c -33,35 58,-6 -53,96 57.1,-21 93,-56 111,-102"
style="fill:#eeeeee;stroke-width:3.5"
id="path12" />
<path
d="M 163,58 C 146,46 115,47 105,64 68,50 59,106 88,117 c -33,14 -20,48 2,50 -5,29 47,29 53,7 10,25 43,24 58,8 13,9 34,4 40,-8 10,22 41,19 48,1 31,7 37,-28 27,-43 23,-7 21,-38 3,-46 C 333,60 304,34 289,64 270,48.4 246,41 230,63 215,43 179,40 163,58 Z"
style="fill:#ffffff;stroke:none"
id="path13" />
<path
d="m 150,168 c -31,33 67,1 -38,97 56,-37 78,-67 93,-102"
style="fill:#ffffff;stroke:none"
id="path14" />
</symbol>
<symbol
id="station_solar"
viewBox="0 0 504.42743 512.16327">
<title
id="title6">Power station (solar)</title>
<path
d="M 347.55397,0.00113108 A 10.001,10.001 0 0 0 337.70436,10.143709 v 47.853516 a 10.001,10.001 0 1 0 20,0 V 10.143709 A 10.001,10.001 0 0 0 347.55397,0.00113108 Z M 277.99147,16.508944 a 10.001,10.001 0 0 0 -8.83204,14.757812 l 22.16211,42.414063 a 10.001,10.001 0 1 0 17.72461,-9.263672 L 286.88404,22.003084 a 10.001,10.001 0 0 0 -8.89257,-5.49414 z m 140.28711,1.736328 a 10.001,10.001 0 0 0 -8.59375,5.490234 l -22.16211,42.414063 a 10.001,10.001 0 1 0 17.72656,9.261718 L 427.41139,32.997225 A 10.001,10.001 0 0 0 418.27858,18.245272 Z M 221.75514,69.251131 a 10.001,10.001 0 0 0 -4.80664,18.578126 l 40.71875,25.142583 A 10.001,10.001 0 1 0 268.17506,95.954257 L 227.45631,70.811678 a 10.001,10.001 0 0 0 -5.70117,-1.560547 z m 252.75781,1.72461 a 10.001,10.001 0 0 0 -5.39844,1.566406 l -40.71875,25.14258 a 10.001,10.001 0 1 0 10.50782,17.017583 L 479.62233,89.559727 A 10.001,10.001 0 0 0 474.51295,70.975741 Z M 348.86647,82.727697 c -39.95383,0 -72.45118,32.497353 -72.45118,72.451173 0,39.95383 32.49735,72.44922 72.45118,72.44922 39.95382,0 72.44922,-32.49539 72.44922,-72.44922 0,-39.95382 -32.4954,-72.451173 -72.44922,-72.451173 z m -98.74805,62.359383 -47.85352,0.0918 a 10.001,10.001 0 1 0 0.0371,20 l 47.85547,-0.0918 a 10.001,10.001 0 1 0 -0.0391,-20 z m 244.14844,0.98437 -47.85352,0.0918 a 10.001,10.001 0 1 0 0.0371,20 l 47.85547,-0.0918 a 10.001,10.001 0 1 0 -0.0391,-20 z m -231.20117,50.64063 a 10.001,10.001 0 0 0 -5.39844,1.5664 l -40.71875,25.14258 a 10.001,10.001 0 1 0 10.50781,17.01562 l 40.71875,-25.14062 a 10.001,10.001 0 0 0 -5.10937,-18.58398 z m 170.13671,0.004 a 10.001,10.001 0 0 0 -4.80664,18.58008 l 40.71875,25.14062 a 10.001,10.001 0 1 0 10.50782,-17.01562 l -40.71875,-25.14258 a 10.001,10.001 0 0 0 -5.70118,-1.5625 z m -36.84765,35.35938 a 10.001,10.001 0 0 0 -8.83203,14.75586 l 22.16211,42.41406 a 10.001,10.001 0 1 0 17.72656,-9.26172 L 405.24928,237.5696 a 10.001,10.001 0 0 0 -8.89453,-5.49414 z m -96.44141,0.004 a 10.001,10.001 0 0 0 -8.5918,5.49024 l -22.16211,42.41386 a 10.001,10.001 0 1 0 17.72461,9.26172 l 22.16211,-42.41406 a 10.001,10.001 0 0 0 -9.13281,-14.75196 z m 48.80274,7.03125 a 10.001,10.001 0 0 0 -9.81836,9.28516 10.001,10.001 0 0 0 -1.19336,4.85547 v 47.85547 a 10.001,10.001 0 0 0 19.9707,0.85547 10.001,10.001 0 0 0 1.19141,-4.85547 V 249.25134 A 10.001,10.001 0 0 0 348.71608,239.11051 Z M 48.61061,360.05387 c -6.18495,-0.009 -12.106888,4.46701 -13.785156,10.41992 l -6.541016,23.06055 H 90.00123 l 4.10156,-33.48047 z m 69.36718,0 -4.10351,33.48047 h 73.43359 l 2.2168,-33.48047 z m 95.23633,0 -2.21875,33.48047 h 69.92188 l -2.21875,-33.48047 z m 89.17383,0 2.2168,33.48047 h 73.43359 l -4.10351,-33.48047 z m 95.42188,0 4.10156,33.48047 h 61.7168 l -6.54102,-23.06055 c -1.67827,-5.95291 -7.6002,-10.42799 -13.78516,-10.41992 z M 23.591082,412.45622 13.575457,447.93473 h 70.033202 l 4.35938,-35.47851 z m 88.251958,0 -4.36133,35.47851 h 76.38867 l 2.32813,-35.47851 z m 98.04492,0 -2.32812,35.47851 h 76.79296 l -2.32812,-35.47851 z m 95.82617,0 2.32813,35.47851 h 76.38867 l -4.36133,-35.47851 z m 98.23047,0 4.35938,35.47851 h 70.0332 L 468.32155,412.45622 Z M 7.514911,469.22184 0.530536,493.9445 c -1.20612,4.23593 -0.324707,9.01356 2.328125,12.52929 2.652834,3.51572 7.015632,5.68695 11.419922,5.68946 h 61.457031 l 5.28515,-42.94141 z m 97.343749,0 -5.248046,42.94141 h 80.009766 l 2.84571,-42.94141 z m 101.29688,0 -2.8457,42.94141 h 85.29296 l -2.8457,-42.94141 z m 103.29101,0 2.84571,42.94141 h 80.00976 l -5.24804,-42.94141 z m 101.44532,0 5.28515,42.94141 h 61.45703 c 4.40428,-0.002 8.7671,-2.17374 11.41993,-5.68946 2.65284,-3.51573 3.53424,-8.29336 2.32812,-12.52929 l -6.98437,-24.72266 z"
id="path7" />
</symbol>
</defs>
<g
inkscape:label="Ebene 1"
inkscape:groupmode="layer"
id="layer1">
<path
id="path2"
style="fill:#ffffff;stroke:#000000;stroke-width:6.61458333;stroke-dasharray:none;stroke-opacity:1;fill-opacity:1"
d="M 67.707723,31.564976 A 75.317235,75.317235 0 0 0 3.4889451,67.733563 75.317235,75.317235 0 0 0 67.707723,103.90169 75.317235,75.317235 0 0 0 131.97772,67.638091 75.317235,75.317235 0 0 0 67.707723,31.564976 Z" />
<circle
style="fill:#ffffff;stroke:#000000;stroke-width:6.61458333;stroke-dasharray:none;stroke-opacity:1;fill-opacity:1"
id="path3"
cx="67.73333"
cy="67.733337"
r="19.061646" />
<rect
style="fill:#070707;fill-opacity:1;stroke:#fcfcfc;stroke-width:6.61458;stroke-dasharray:none;stroke-opacity:1"
id="rect4"
width="13.266691"
height="124.49303"
x="-6.6333461"
y="33.542885"
transform="rotate(-45)" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 7.4 KiB

7
resources/resources.qrc Normal file
View file

@ -0,0 +1,7 @@
<RCC>
<qresource prefix="/">
<file>icons/eye_strike.svg</file>
<file>icons/eye_clear.svg</file>
<file>icons/syng.ico</file>
</qresource>
</RCC>

View file

@ -48,6 +48,7 @@ from yaml import dump, load, Loader, Dumper
from qrcode.main import QRCode from qrcode.main import QRCode
import platformdirs import platformdirs
from . import resources # noqa
from .client import create_async_and_start_client, default_config from .client import create_async_and_start_client, default_config
from .sources import available_sources from .sources import available_sources
@ -90,7 +91,8 @@ class OptionFrame(QWidget):
if is_password: if is_password:
self.string_options[name].setEchoMode(QLineEdit.EchoMode.Password) self.string_options[name].setEchoMode(QLineEdit.EchoMode.Password)
action = self.string_options[name].addAction( action = self.string_options[name].addAction(
QIcon.fromTheme("dialog-password"), QLineEdit.ActionPosition.TrailingPosition QIcon(":/icons/eye_strike.svg"),
QLineEdit.ActionPosition.TrailingPosition,
) )
if action is not None: if action is not None:
action.triggered.connect( action.triggered.connect(
@ -391,9 +393,7 @@ class SyngGui(QMainWindow):
self.setWindowTitle("Syng") self.setWindowTitle("Syng")
if os.name != "nt": if os.name != "nt":
rel_path = os.path.dirname(__file__) self.setWindowIcon(QIcon(":/icons/syng.ico"))
qt_img = QPixmap(os.path.join(rel_path, "static", "syng.png"))
self.setWindowIcon(QIcon(qt_img))
self.syng_server: Optional[Process] = None self.syng_server: Optional[Process] = None
self.syng_client: Optional[Process] = None self.syng_client: Optional[Process] = None
@ -570,7 +570,7 @@ def run_gui() -> None:
signal.signal(signal.SIGINT, signal.SIG_DFL) signal.signal(signal.SIGINT, signal.SIG_DFL)
app = QApplication([]) app = QApplication([])
app.setWindowIcon(QIcon(os.path.join(base_dir, "syng.ico"))) app.setWindowIcon(QIcon(":/icons/syng.ico"))
app.setApplicationName("Syng") app.setApplicationName("Syng")
app.setDesktopFileName("rocks.syng.Syng") app.setDesktopFileName("rocks.syng.Syng")
window = SyngGui() window = SyngGui()

2348
syng/resources.py Normal file

File diff suppressed because it is too large Load diff