add config and change logo
This commit is contained in:
25
common/config.py
Normal file
25
common/config.py
Normal file
@@ -0,0 +1,25 @@
|
||||
from pathlib import Path
|
||||
from qfluentwidgets import (
|
||||
QConfig, qconfig, Theme, BoolValidator, ConfigItem,
|
||||
SmoothMode, OptionsValidator, EnumSerializer, OptionsConfigItem,
|
||||
)
|
||||
from common.utils import get_app_dir
|
||||
|
||||
|
||||
class Config(QConfig):
|
||||
|
||||
switch_animation = ConfigItem("Personalize", "SwitchAnimation", True,
|
||||
BoolValidator(), restart=True)
|
||||
smooth_mode = OptionsConfigItem("Personalize", "SmoothMode", SmoothMode.CONSTANT,
|
||||
OptionsValidator(SmoothMode), EnumSerializer(SmoothMode), restart=True)
|
||||
|
||||
|
||||
VERSION = "1.0.0"
|
||||
ORG_NAME = "Oranje"
|
||||
APP_NAME = "SafeMarksClient"
|
||||
ZH_APP_NAME = "安全标记客户端"
|
||||
APP_DIR = get_app_dir(ORG_NAME, APP_NAME)
|
||||
|
||||
cfg = Config()
|
||||
cfg.themeMode.value = Theme.LIGHT
|
||||
qconfig.load(str(Path(APP_DIR) / "config.json"), cfg)
|
||||
@@ -6,272 +6,124 @@
|
||||
from PySide6 import QtCore
|
||||
|
||||
qt_resource_data = b"\
|
||||
\x00\x00\x10v\
|
||||
\x00\x00\x074\
|
||||
\x89\
|
||||
PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\
|
||||
\x00\x00\x80\x00\x00\x00\x80\x08\x03\x00\x00\x00\xf4\xe0\x91\xf9\
|
||||
\x00\x00\x03\x00PLTEGpL\x04\x06\x03\x00\x00\
|
||||
\x00\x00\x00\x00\x00\x00\x00z\xabh\x00\x00\x00\x1b=E\
|
||||
\x01\x02\x01\x10!%\x00\x03\x04\x00\x00\x00\x01\x02\x01\x00\
|
||||
\x00\x00\x03\x08\x07a\xaf\xc1\x04\x06\x03!\xaf\xe6\x02\x03\
|
||||
\x01\x00\x00\x00(O\x1a\x03\x04\x02\x00g\x8f\x00\x00\x00\
|
||||
\x05\x09\x04\x00\x00\x00\x00\x00\x00\x04\x08\x03\x02\x05\x02*\
|
||||
U\x1b-\x5c\x1c\x05\x09\x03\x00Gb}\xda\xfa\x07@\
|
||||
W\x08\x12\x05\x11$\x0b'j\x82\x92\xd4n\x9f\xe5\xfb\
|
||||
\xa1\xe6\xfb%j\x82\x1b7\x11\x84\xdb\xf6.t\x8b\x00\
|
||||
D^&n\x86E\xa6\x94T\xae\x96}\xd9\xf6k\xd0\
|
||||
\xf2#;\x1b\x0a\x9d\xcf\x15J;\x00D]#G\x16\
|
||||
#6\x1c2S&Jz8\x01FaV\xb2\x9c/\
|
||||
z\x93'q\x8b,v\x90\x00Ie0{\x955\x82\
|
||||
\x9dY\x91D\x00E`H\xaa\x9bCk4d\xa3M\
|
||||
\x0aCK#\x86\x92z\xaeb7\x87\xa2.\xbf\xf5\x00\
|
||||
\xa3\xe1\x00Fb\x02\xa7\xe6\x1cIE\x00\xa1\xdf\x13[\
|
||||
u\x00Gb\x00\xa1\xdf\x00\xa2\xe0\x00\xa3\xe2\xab\xdb\x91\
|
||||
\xd0\xea\xc2\xcc\xe3\xc29S0\x9d\xd6}\xa0\xde}\x99\
|
||||
\xd8s[\x89J\x0b\x15\x08=\x8e\xa9j\xcd\xed+S\
|
||||
\x1c-X\x1d.[\x1e\x00=V\x00Fb\x00C]\
|
||||
\x00;S\x00E_\x00AZ*P\x1cw\xbb]\x80\
|
||||
\xc2h\x00?X,W\x1dz\xbea\x83\xc4l\x00\x93\
|
||||
\xccx\xbc_-Z\x1d~\xc0e,V\x1d+U\x1d\
|
||||
\x00\x9e\xdb\x00\x8e\xc5\x00\x91\xca*R\x1c\x00Ie\x85\
|
||||
\xc5m\x00\x8c\xc2\x00\x9a\xd6)M\x1b\x00B\x5c\x00:\
|
||||
P\x00\x9c\xd8\x00\x94\xce\x82\xc3j\x89\xc8r\x00\x97\xd2\
|
||||
.]\x1e(K\x1b&F\x1a\x00\x8a\xbf\x00\xa3\xe1\x00\
|
||||
\xa0\xdeg\xb0L\x7f\xc1gm\xb5S}\xbfd\x00\x99\
|
||||
\xd3/^\x1e\x11\x22\x0c0`\x1e\x00\x8f\xc7t\xba[\
|
||||
o\xb6U\x00\xa5\xe4\x00\x88\xbc\x008N{\xbfc)\
|
||||
N\x1c/_\x1e\x86\xc6o\x9e\xd7\x890b\x1f%B\
|
||||
\x1a\x00\x83\xb5\x00\x85\xb9k\xb3Qq\xb7W'H\x1b\
|
||||
i\xb2O\x8e\xccx\x88\xc7p\x00\xa7\xe7\x006L\x9a\
|
||||
\xd4\x85s\xb8Yr\xb8X\x92\xce{\x8c\xcau\x94\xd0\
|
||||
~\x8a\xc9s\x00\x16\x1e\x97\xd2\x81\x15(\x0e\x00\xa9\xe9\
|
||||
\x00\x96\xd0\x00~\xb0\x00\xaa\xec\x18.\x11\x8b\xc9u\x0b\
|
||||
\x15\x07%D\x19\x00&3\x00\x1e*\x00\xac\xee\x03\xb0\
|
||||
\xf2\x0e\x1c\x0a\x00->\x1c4\x14\x00\xae\xf0>]2\
|
||||
P|@\xa4\xedx/`\x1eQ\xc4\xed\x013FO\
|
||||
x@\x86\xc6n\x1f9\x16#>\x19PtC \xa9\
|
||||
\xdb;U1d\x94O>\xbb\xe9\x01Qo\x00Wy\
|
||||
7Z)/G&\x01`\x831c\x1f\x0bCG0\
|
||||
T\x22\x10\xa6\xdf\x0aJ]\x10Ne\x92\xca{\x89\xc7\
|
||||
d\xa8\xde\x93D\xa0\x89\x1d\xa0\xd1Gn3n\xa1R\
|
||||
\x9e\xe2w%\xb8\xf0\x17\x97\xc7\x18Xn$q~?\
|
||||
k>3O's\xadU\x0d)\x1d\x0b51c\xc2\
|
||||
\xa1\x82\xbea[\x87C\x02p\x96`\x9fs;zY\
|
||||
\x09u\x9d\x18J8\x12=7\x1dPF.bJp\
|
||||
\xc2y\x00\xff\x00z\x00\x04,;\xc9\x0b\x00\x00\x01\x00\
|
||||
tRNS\x00\x17\x11%\x09\x19\x0d\x01\x06\x03K,\
|
||||
\x1c3!\x09U\x0e{9\xf9C\xfefq^>\x97\
|
||||
\x88\xf9\xf9\xa5\xecq\xfd\xb9\xcc\xef\xfeiW\xdf\xe0D\
|
||||
\xf9\xec\xd1\xfb\xf61\x1f\xadd\xf6h\xee\x96\xc1\xdd\xaa\
|
||||
\xf7\xc4\xad\xb9\xf7\xf7\xfa\xec\x88\xfb\xcd\xf6\xf5\xfe\xfd\xfd\
|
||||
n\xb9\xcft;\xef\xa4\x0f\xdf\xd0\xa2\x8f\x83u2\xab\
|
||||
\xbb\xcb\xce\xdc\xfd\x14\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
|
||||
\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
|
||||
\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
|
||||
\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
|
||||
\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
|
||||
\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
|
||||
\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
|
||||
\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
|
||||
\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
|
||||
\xff\xff\xff\xfe\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
|
||||
\xff\xff\x09\x193o\xbfu\x00\x00\x0c%IDAT\
|
||||
x\xda\xec\x9aiT\x14W\x1a\x86U\x10hDQ\x14\
|
||||
\x04\xb7$\xe8`\xc6IF'\x1a5\x893C\xc6h\
|
||||
\xd4$\x93\xcc\xbeo(6\xb2)\xa2\x12\x05\x89\xf4\xa8\
|
||||
\x11P\xd1\x91\x88#.\x19\x04Y\x04\xc1\xd6F\x81\x06\
|
||||
\x8c\xa0\x10C\x0b\xad\x88\xa22\xda\x86(q\xc1}M\
|
||||
r\xce|\xf7\xdeZnU\xdd\xc2\xaa\xfe1\xbfx\xe9\
|
||||
\xe6\x1c\xff\xf8<\xdf[\xf7\xd6\xad\xd6\xee\xd1\xa3;\xdd\
|
||||
\xe9Nw\xba\xd3\x1d.\xee\x8a\xfc\x1f\xe1\xde\xef\xbf\xfb\
|
||||
\xee\x0bBF\xbf0\x9a\xcf\x8b\xa3_\xe4\xf3\x03>?\
|
||||
\xe2\xf2\x0a\xce? \x03p\xbcUc\x90E9\xde\x80\
|
||||
#G\x8e\x1c\x83\x1f\x94\xaf\x8f|Mr\x1a\xe7\x0b\xb5\
|
||||
\x9c\xfe\xe24\x97w^B\xf9\x9e\x98\xef\xf3\xf9!\x9f\
|
||||
\x1f\xe3\xfc\x14\xe7'8\xbf|\xe3\x8d\xb7$\x02\x98\x0e\
|
||||
\x12\x9f\xa1\x94\x97\x97\x1f<\x08\xaf\x83\x07\xf7\xec\xd9\xf3\
|
||||
o\x94\xb5k\xd7\xfe\x97\xcfI\xf4#\xe6\xf4\xdfo\x5c\
|
||||
\xc7\xb9t\xfd\x12\x97\x8b\x97.\xa2\x18/\x1a\x8dI\xc6\
|
||||
\xa4@cRxRRx8\xfc\x12~\xc3\xaf\xa4\x97\
|
||||
\x15\x0d\x1c;\xc6\xd1\xcb\x09Z\x84\xaf]\xb7v\xdd\xba\
|
||||
u\x1fB\xfe\x09\xf9\x08\xf2/\x94\x8f?>t\xe8\xd0\
|
||||
\xc9w\x02\x0b33\x0b\x0b\x0b\xe1m\xca\xc41\x99L\
|
||||
a\xa6\xb00\xfc\x0e\x0b%\x89\xe6\x13N$\xe4\x02<\
|
||||
\xbf\x9c\xe2\x0bxD\xc7\xf8\x0f9\xfcG\x98\x0e\xf8\x95\
|
||||
+W\x22\x01.\x99<?\xcc\x84\xd9\x08O\x04\xa2C\
|
||||
\xe5|\xa3Q&\x80\xf9\xe5\xf2\xf1\x05\xbc||\x1eO\
|
||||
\x0b\x08\xe3\x9b$\xfc0j\xfep\x91/\x118&\x8e\
|
||||
\xafl\xbf\xab\xf1W.\x5cv\xf2g\x81\xea|\xe9\xf4\
|
||||
b\xfdF\x85\xc0gZ\xc6W\xe2\x17.[\xc8\x09d\
|
||||
R\xfc0\x81\x1fF.\x7f\xa8\xbc~\xb9\x00k\xf1i\
|
||||
h\x1f\xf8\xcb\x96}\x85\x05\x18\xe3s\xcbO( \x5c\
|
||||
\xca\x9f'\x15\xe0\xf0:\x16\x1f\xc1s\x02]\xf0\x99\xf5\
|
||||
\x1b\xe7\xcd\x93\x088\xd5>\xe6o\xde\x0c\x02\xec\xfa\x95\
|
||||
\xf3S\xe3+\x05\x9e\xbd\xf8\x84\x9d/\x8e\xbfy\xb3(\
|
||||
\xc0\x1a?T\xad~\x94\xe7%\x02N\xb5\x8f\xf8K\xbf\
|
||||
z3Z\x13_R?d.-\xa0o\xf1-\x14\xc7\
|
||||
_\xba\x94\x13\xe8\x0a\xcf\xa8\x1f\xf8R\x01][\x9f\xc6\
|
||||
/MD\x02\xba\xeb\x07\xbeD@\xdf\xd6\xa7\xf8\x89\x89\
|
||||
H@\x7f\xfds\x95\x02z\xb6\xbe8>\xe4\xda\x9b\xa1\
|
||||
\xfa\xebW\x08\xe8Z|\x9b\xc5\xf1\x13\x13S\xaf\xe1\x06\
|
||||
t\xd6/\x17\xd0\xb9\xf5)|*i@S\xfdF\x1a\
|
||||
\xaf\x10\xd0\xb3\xf5\xf9\xf6SQ\xae\xbd\x14\xaa\xbf~H\
|
||||
\x82D@\xdf\xd6\x17\xc6OM\xdd\xbaU\x14\xd0^\x7f\
|
||||
\xf0\xf3?\x97<\x92y\xff\xf6\xbd\xf7~\xf3\xeb_h\
|
||||
\xde\xfa\xe2\xf8[)\x81g\xd5\xff2\x82\xbe5\xd1\xf3\
|
||||
\x03\x97_\xa1\xa7p\xd6\x93\xf9\x80W\xde\xd7\xb4\xf5\xc5\
|
||||
\xf1\x91\xc0\x8dPm\xf5O\xecax\xf6\x87\x83\x09\xaa\
|
||||
\xf8\xec\xb2\xb2\xecDI\xfb\x98\x9f\x9dM\x044\xd4?\
|
||||
Q\xcb'\x84\x09\xaa[\xdf\xaf\xa1\xb6\xfa\xf0\x81\xc3\xd5\
|
||||
\xb5\x85a\xc6\x84\x963\xe7\xfc\x1e<\x06\xa5l$\x10\
|
||||
\x0d\x8f\x9f\x85\x0d\x0d\xb5\xb5\xb5\xd5\xd5\xd5&\xd5\xd5\xaf\
|
||||
M@\xb5}\xbf\xe8Ld \x0b\x08\x99\x1a\xaa\x0f\xe3\
|
||||
T\xe3\xccP\xbd\xf9i\x16`/>\xbf\xe8PS\x83\
|
||||
LA\xc4\xd6ri\xa8\x0dT]\xfd\x1a\x05\xd4\xb6>\
|
||||
\x08@\xd1`pX\xc4cp\x03\x09y.4\x99\x02\
|
||||
Uo>\xda\x04T\xb7\xbe_xh\xa8)\xb3P(\
|
||||
\x81\xe0\x1b2\xf1]\x10/>\xe0\x02/P\xed\xec\x99\
|
||||
[]\xf3\xb7\x91#\x9f\x1b\xea\xe3\xef\xdf\xdf\xf7\x83?\
|
||||
\xf6\xf6\xf6f}J\x9d\xa0\xba\xf5\xfd\xc2\xa1\x82L\xb4\
|
||||
\xd6p\x09\xc0\xaf\xad-4E\x1b\xc9\xdf\x9f\x80\xd3\x92\
|
||||
\xd0\xd2\x12\xacz\xf3\xab\xae\xacI/\xadhlj\xed\
|
||||
<U\x87rJ\xbc\x15x\xff\xe1\xf7\xbf\xfb\xd3\x9f\xff\
|
||||
\x12\xd4\xf1\xf9]\xd5\xad\xef\x97\xc4\x0b\xc0Z?|\x00\
|
||||
\xc6o\xc8\x8c\x9e\x0bD\x923-gH\x82\xd5\xee\xfd\
|
||||
\x09O\x11\x1a\xd8g\xcf\x9emk\x8b\x88\x88\x18$\x0e\
|
||||
\xde\xfbK>wUo\xbc\x94\x002\x80\xf1C\xe7%\
|
||||
p\xd4s\xe7\xe0\xc5%\x98Y?\x12\xf8\x06q\xb7o\
|
||||
_\xb1\x1dG*\xf0)\x9f\xbbj\xa7~\xaa\x9f\x11\xaf\
|
||||
\xc2\x0b\xdf|\xfb\xed\xcd\x9b7\xaf\xc0\xfb\xd1\xa3G7\
|
||||
\xe7\xfc\xe8<\x08V;{\x12\x9e$''\xafX\
|
||||
!\xf0\xb7K\x05\xbe\xe4\x04\xd4N\xfd\xd4\x99\x0f\x1f>\
|
||||
\x8c\x09\xfa\x1c\xd2\xd1\x11\x14t\x19%\x08\xae\x19\xfas\
|
||||
\xd0\xfe\xef\xbe{\xd8\xde\xde>s\xe6\xcc\xc7\x8f\x83\x99\
|
||||
|\xb4B^\x95\xf0\xd9\x0d\x14\xddU9\xf5SS\xa7\
|
||||
\x99\xcd\x16\x8b\xc3a\xb1\x98?-*\xea\xe8\xc0hI\
|
||||
\x82\xf6\xcf\xba\xda\x5c\x7fs\x86\x12\x9f@\xd6\xe8\xab\xc9\
|
||||
4\x9e)P\x04\x0d\xa8\x1d{\xd3\xf2\xf3\xf3\xf7\xe5[\
|
||||
\xf7\xe1\xe4;\x1c\x0e\xab\xb5\xc4\x5cb)\xb2t8f\
|
||||
]\xbdo\xaf\xeb\xeclm\xcdM\xa9\xca\x9a\xc1\xac\x1f\
|
||||
\x0bH\xf9\xf1\x0a\x81\x22\x18m\x8a\xda\xa9O\x04 \xd6\
|
||||
\xfd\xfb\xf7\xaf^]PP\xb0\x13r\xe2\xc4\x89\x82}\
|
||||
\xf6\xdc,\x9c*\xf4\xae\x9a\xc1\xac\x9f\x08P\xf8\x88x\
|
||||
\x85\x00\xe2\x17MQ;\xf5\x91\x00\xc2[\x11\x9e\xf0O\
|
||||
,_\xbe<&&\xa6\xc0\xde\x94\xc5\xa7\x0a\x090\xc7\
|
||||
G\x02\xf4\xf8\xf1\xf1!2\x01\xccG\x02\xecS?{\
|
||||
\x9a\xc8'\xe3s\xfcU;\xed\x14>%\xe5\x02\xeb\xf2\
|
||||
\x8b\x02\x22_*PD\xf8 o\x9f;\xf5\xb3\xc7\
|
||||
*\xf9\x08\xbfJ\x14\xc0|N@1>\x11\x10\xf0\xc0\
|
||||
\x975\x80\xf1E\x96)\xac\xf6\x11\x1f\x04\x18\xf5\x03?\
|
||||
j\xb9\x9d\xc2\x13\x01\xc6\xf8p\x9f~B\x8f/\x13(\
|
||||
*\x12\x05\x94\xed\xa3\xec\x1a\xcb\xaa\x1f\xf8\x9c\x00\xcfG\
|
||||
\x02\xca\xcb\x0f\xa7D\xc2\xbc'R~\x9cR\xc0b\xb1\
|
||||
\x8cc\xb5\x0f\xf8] \xc0\xa8\x1f\xf8Q1v\x9a\x0f\
|
||||
\x02r\xfc\xdc\xe8\xc2;wn\x97V\x9c\x0a\xa1\xf0!\
|
||||
qJ\x01\xd8\xd3H@\xd9\xfe.\x94\xb1\x22\x9f\x1a?\
|
||||
**\x0d\x04D|J\xee\x05\x8ao45\xdc\xb9}\
|
||||
;\x1d\xa5\xb4\xf4(\x12\x10\xc6\x8fS\x0aXP\xc6\xb1\
|
||||
\xda'\x02\xac\xfa\x81\x0f\x024\x9f\x13\x88\x86G\x97\xdb\
|
||||
55\xe9\xf0\x22\xf8\x8a\x8a\xc6\xba\x10\x9a\xbfd\x89T\
|
||||
\xc0b\x11\x04\x14\xed\xa3\x94\x8de\xd5\x9f\x96\x96\xb6x\
|
||||
\x95\x9d\xc2\xe7\xe6>\x85G\xc4\x03\x95\x95\x955\x955\
|
||||
(\xe95\x04\x7f\xf4hS]\x88X?\xf0\xa5\x02\x04\
|
||||
o6\x8fc\x8f\xbf\xab\xacl,\xab\xfe\xb4\xc5\x8bA\
|
||||
\x80\xe6\xe7\x96\x226\x0e\xe6\xf3\xf8\xc6\xa6,\x10\x10\xea\
|
||||
\x07\xfe\xfc\xe1\x94\x00\xcf7\x8fc\x8f\x0fi\x97\xed>\
|
||||
\x9e\xbf\x91\x17\xc8\xcd\xe5\x05\x98\xfc\xa6\xdc\xba8j\xfc\
|
||||
\xf9\xf3\x95\x02fN@\xba\xf8v\x95\x01\x1f^\xed\xac\
|
||||
\xfa\x81\xcf\x0bp\xfc\xe4\xf4J\xd1\x80\xf0\x01\xdf(\x08\
|
||||
\xc4\x09\xfc\xd92\x01\xb3\x99\x08P\xedgs\xe3\x93\x06\
|
||||
X\xf5\x03\x7f[\x94\x9d\xe6\xf3\x02\xfc\xf8\xa8\x00r\x05\
|
||||
Z\xeb\x96H\xf82\x01\xc277?\xbdp\xf1\xfa\xb9\
|
||||
\x07e\xd4\xf8\x18\x0f\x02\xac\xfa\x81\xbf-\xcdN\xe1\x93\
|
||||
\x93K\x85\xea\x11\x1a\xd8\x00om\xc5\xcf\x82q!\x14\
|
||||
^&@\xf0%%\xcdM\x8dG+J\xe1\xe7\xce\x85\
|
||||
\x8b- \x22\xa6\x1d\xe3c\xa4\xf5o\xdb\xb6`\x01\x08\
|
||||
P\xfc\xe4\x0a\x09;\x8b<\x02\xc3c\xa8l|\x99\x00\
|
||||
\xcf/i\xce\xca\xe2\x14P\xd2\xd3o\x0b\x22\xed\xac\xfa\
|
||||
\x81\x0f\x024?\xf9h\x85\xd09a\xb7\xb5\x85\x84H\
|
||||
W\x1f\xc6\xcf^\xa4\x10(A\x02pS!\x0a\x98O\
|
||||
\xee\x22\xe9H\xe4\x11\xab~\xe0/Xl\xa7\xf0\xc9\xc9\
|
||||
\x8d\xb8\xf2N\xfc\xf8\xdd\x16\x12\x1fO\xdf\xfb$|\xb9\
|
||||
@I\x09/P\xd5\x84\x0c*\x04\x01\x22a\x93\xf3\x09\
|
||||
>6\x96\x08\xf0\xfc\xed\xe4r\x9fm\x8b\x90\x1d=\x0a\
|
||||
\xbeL\x00\xe3\xf3\xf3I\x03M\x8d\xd8 \x9d\x8e\x8dU\
|
||||
?\xf0c7\xdaE<<vB\xe3\x11\xd2\x07\x0fV\
|
||||
\xfd\x8b\x16\xcd\x99#\x11\xc0xN\x00\x1a\x80\x0aP\xe8\
|
||||
\x1al\xac\xfac\x89\x00\xc5\x97>w\xaa\x8f?G*\
|
||||
P\xc2\x15\x90\xdf\x9c\x92RU\xd5v\xf6\x0a\x0e4\xd9\
|
||||
\xd9\x0a+\x02{\xd8X\xf5\xc7\xc6FFn\xb4+\xf8\
|
||||
\xca\xfa\x97P|\x82\x97\x0b\xa0\xf1!\xb3\x9a\xaf\xde\xbb\
|
||||
|\xef\xde\xde[W\xaf67\xdf\xbf__\x8f=:\
|
||||
;s\xb3\xeae\xbb\x8f\xe7Gn\xb3;3\xbe\xb2\x81\
|
||||
|\x12G\x09<\xf2\x9b\x1d%\xfb\x82.\xdf\x8b\xbc\xc5\
|
||||
{\xd8\xae\x5cif\xd5\x0f\xfc\xc8\x05\xf6g\x8d\xcf\xe6\
|
||||
\xaf\x915\x80\xc3=xZ\xad\xf9\x0e\xab\xc3Q\x02\x1a\
|
||||
\x05\xbc\xc7-V\xfd\x90\x0cN\x80=~\x88*~\x8d\
|
||||
D@\xc0K>w\x14\xac\xb6ZW;\x1c\xf9\xa8\x8e\
|
||||
\xcb\xf7\x98\xfc\x8c\x8c\x8cX\x9b\x13\xf5\x03\x7f\x93B\x80\
|
||||
\xfd\xb9#&f\xf9\xce\x82\x9dVk\x01\xab\xfe\x0cN\
|
||||
@[\xfd\x8bx>\xc2o\xda4B&\xa0\xf2\xb9\x83\
|
||||
\xbb\xf7G\xa5\xb1\xea\x87\xec\x8d\xb5\xad\xd0_?\xf0w\
|
||||
H\x05\xf6\xc9\xf8\xb2\xa3O\xa5~\xe0c\x01\xdd\xf5\x03\
|
||||
_*\xc0\xae\x7f\x95\xda\xcdG\x18\x7f\xef\xde\xe2H\xdb\
|
||||
\x0a)>^\xcb\xf8;v\x1c\xa7\x05\xba\xaa_\xca\x8f\
|
||||
\x95\xf2\x8b\x8bwG\xda\x9c\x19\x7f\xc7\xf1O\xa4\x02V\
|
||||
\xb5\xcf\x1d]\xd6\x0f|\x22\xa0y\xf3#<\xe1K\x04\
|
||||
\xac\xf4\xee\xd3Q?\xf0\xb7d\xd8\xf4\xae>\x8c\xff\xe4\
|
||||
?\x12\x01'\xeb\x07>\x12\xd0_?\xf0%\x02\xce\xd6\
|
||||
\x0f\xfc-{m*G\x8f*\xfe8\xc2\xcb\x04\xd4\xeb\
|
||||
_\xdcU\xfd\x90\x0dD@\xef\xf82\x01\x84/p\xa2\
|
||||
~\xe0\x13\x01'\xf8\xe7i\x01g\xeb\x07\xfe\x86b\x9b\
|
||||
\xde\xd5\x87\xf1\xe7\xcf\x8fp\xa7\x05\xb4\xd7O\xf17\xa0\
|
||||
\x14\xd7;3>\x12\xf00\x88\x02zn~\xf4\xf8\x1b\
|
||||
rrv\xd7k:z\xa8\xd5\x87\xf1 \xe0\xe6\xc1u\
|
||||
\xe0\xde\x9b\xaf?Fg\xfd\xc0\x07\x01'\xea\xc7\x02=\
|
||||
]\x0d\x82\x80\x93\xf5\x03?gK\xbd\x13\xf5#\xfex\
|
||||
/7\x22\xe0n\xe8\xa9\xa3\xfeb\xc9\xf899yX\
|
||||
@/~\xc4\xa8a\x9e}\xf8\x06\xdc\x0d\xfd\xa8\xfa\xa3\
|
||||
\xf4\xd4\x9f\x93\x97\x87\x04t\x8e?i\xd4P\x9f\x00\xcf\
|
||||
\xbe\xfdzy\x08\x02\xce\xd6\x9f\x87\x05\x9ey\xf4P\xab\
|
||||
\xef\xf8\xa4Q\xcf\x0d\xf3\x0f\xf0\x1c\xd8\xc7\xab\x97\xab\x81\
|
||||
[\x84\x06\xafU\xba\xeb\x17\xf8y\x1b\xea\xb5\xdf\xfb\xc6\
|
||||
\x8c\x1c:\xccgp\x7f_\xc0\xf7t\xf3\xe0\xf9=\x0c\
|
||||
\xae.\xfd'\xffu\x96Z\xfd\x91\xea\xf5\xe7\xe5\xad_\
|
||||
\x0f\x02\x9a\xf8\xc39\xba\xe7\x90\xbe.\x80w\x15\xf9=\
|
||||
\xdc=\xdcz\xba\x0c\xf4\xf4\x9f<}j\xac\xbe\xfa\x81\
|
||||
\x0f\x02]\x1f=\x08\x7f\x9c\xa3\x07x\xc2\xf0\x1c\xde@\
|
||||
\xfd\xff\xb9\x01\x0c\xbc\x5c\xfa\x0e\xf1\xec?x\xf2\xf8\xe9\
|
||||
o/\xd0\x5c\xffz\x22\xd0\xf5\xf8;&\x8dBt\xff\
|
||||
\x004<\xc2\xf7r\x95\xf1\xc1\xc0\xe0\xe1\xea\xd6\xabg\
|
||||
?\x97\xbe\x03}\xfb\x07\xf8O~\xed\xf5[]\xd7\x9f\
|
||||
\xc3\xe3\x91@W\xfc5\xb0\xe88\xba\xef@\x82wS\
|
||||
\xe0\xc9V0x`\x09/\x97>\xb8\x8aa\xe3\xa7O\
|
||||
\xdd\x9d\xd1\xf5\xe5\xe7\x05\xd4\xf0\xc3\xc7\x10:\x5cx\xdf\
|
||||
!\x22\xde\xc3\xa0\xf6\x95aw\xae\x09\xaf~X\x02W\
|
||||
\xf1vW\xf5\x13\x016\x7f\xd0\x98\x91\x84\xce\x0d\x8f\xf0\
|
||||
j\xe3+$\xc8\xf5\xe83\xd0\xd73`\xb0\xcfx\xb0\
|
||||
P\xa9_\x14\x90\x1e=k&\xd1\xf4!\x18\xdf\xcfK\
|
||||
\x0b^&\xc1_\x0f\x7ftA\xf2\x18\xe3\xf3\x02\xf4\xf8\
|
||||
s`\xd1\x09t\x19^\x1b\x9f|\xd3[X\x14p=\
|
||||
\xd0\xd2\x1c\xec3\xf4\xb5\xd7\xa7\xe6\xc9\xf9X@\xe4\xcf\
|
||||
\x1e#\xd2\xd1\xf04\xdeU;^)\x81\xaf\x07\xae\x02\
|
||||
.\xc8z\xa9\x80\xf8O\x0e\x02\x9d\x1f\x9e\xc7\xf3\x8bO\
|
||||
\xf7\x17\xd6\x91\x03'\x81\x16\x05Y\x9a>C\xe1\x82H\
|
||||
\x04\x10}\x10Z\xf2<\x1d\x86W\xe2\x0dN~_\xfe\
|
||||
\x7f\xed\x9b1\x0e\x830\x0cEE\x14\xa5\x80P\x07\xa4\
|
||||
\x0e\x9dz9\x8e\xc0!{,\xfe\xb7\xdd\x8a\xb4\x88\x81\
|
||||
\xa4e\xf1\xbb\xc0{\xb1a\xf4:\xc2>\x8a;F\xf1\
|
||||
\xc0B,`\x9am\xed\x9c<\xed:\xfb\x95>\x1e\xd7\
|
||||
oG\xe8>0\x0a,\xe4\xa9\x7f\xbb\xad\xbd\xb7\xb7\xd3\
|
||||
\x9e\xe9\x8b\xcf\x05^\x0dY\x04F1\x8eo\xf7\x8d\x0f\
|
||||
\x87\x1br\xb1\x8b\xbeh\xfa\xfb\x11W\xad\xe8\xeds\x13\
|
||||
/\xcdpCN{e\xfdV\x04*\xd4(\x0cBC\
|
||||
\x82\xd8U_\xfdX\xc3\x1a\x18\x91R\xf8$\x091\xd2\
|
||||
\xdev\x95\x9f\xff\x1d!\x1d9\xad\xa1\xe7\x1c\xbf=\x8c\
|
||||
\xe9v\xf9\xdf\xa5\xcc\xe5\xd4\x1b\x1d\xc7q\x1c\xc7)c\
|
||||
\x01\xf8\x0eHZ\xe9\xd3K\x9a\x00\x00\x00\x00IEN\
|
||||
D\xaeB`\x82\
|
||||
\x00\x00\x00\x04gAMA\x00\x00\xb1\x8f\x0b\xfca\x05\
|
||||
\x00\x00\x00\x01sRGB\x00\xae\xce\x1c\xe9\x00\x00\x02\
|
||||
\xafPLTE\x00\x00\x00\x00\xd1j\x00\xd2i\x00\xd1\
|
||||
j\x00\xd1j\x00\xd1i\x00\xd1i\x00\xd1i\x00\xd1i\
|
||||
\x00\xd2j\x00\xd2i\x00\xd2j\x00\xd1i\x00\xd1j\x00\
|
||||
\xd1j\x00\xd1i\x00\xd1j\x00\xd1i\x00\xd2i\x00\xd1\
|
||||
i\x00\xd2i\x00\xd2i\x00\xd2j\x00\xd1j\x00\xd1i\
|
||||
\x00\xd1i\x00\xd2i\x00\xd2j\x00\xd1j\x00\xd2i\x00\
|
||||
\xd2j\x00\xd2i\x00\xd1i\x00\xd1i\x00\xd2i\x00\xd2\
|
||||
j\x00\xd1j\x00\xd1i\x00\xd1i\x00\xd1i\x00\xd0h\
|
||||
\x00\xd2j\x00\xd2i\x00\xd1j\x00\xd1i\x00\xd2i\x00\
|
||||
\xd1i\x00\xd2i\x00\xd1i\x00\xd1i\x00\xd1j\x00\xd1\
|
||||
i\x00\xd1j\x00\xd2j\x00\xd2i\x00\xd1j\x00\xd1i\
|
||||
\x00\xd2j\xf4\xf4\xf4\xf3\xf3\xf3\xec\xf2\xef\xef\xf3\xf1\xf1\
|
||||
\xf3\xf2\xf2\xf3\xf3\x01\xd2j\xed\xf3\xf0\xe8\xf2\xed\xf0\xf3\
|
||||
\xf2\x01\xd2kW\xde\x9b\xee\xf3\xf0I\xdc\x93 \xd6|\
|
||||
\x04\xd2l\xea\xf2\xee\xf2\xf3\xf2\x0a\xd3o0\xd8\x85\x03\
|
||||
\xd2k\x02\xd2k3\xd9\x87?\xda\x8dg\xe0\xa4\xe0\xf1\
|
||||
\xe9\x98\xe7\xc0\x80\xe3\xb2\xf3\xf4\xf3\xcf\xee\xdfP\xdd\x97\
|
||||
\xf0\xf3\xf1\xde\xf1\xe8#\xd6}\x07\xd3n-\xd8\x83\xe2\
|
||||
\xf1\xeao\xe1\xa9*\xd7\x82\xe4\xf1\xeb6\xd9\x88i\xe0\
|
||||
\xa5j\xe0\xa6c\xdf\xa2(\xd7\x80\x1e\xd6{B\xdb\x8f\
|
||||
\xa7\xe9\xc8w\xe2\xad\xa0\xe8\xc4%\xd7\x7f.\xd8\x84E\
|
||||
\xdb\x91\x95\xe6\xbel\xe1\xa7s\xe2\xab\x05\xd2m\x9c\xe7\
|
||||
\xc2\xd6\xef\xe3\x8c\xe5\xb9\xdd\xf0\xe7\xe7\xf2\xec\xaa\xe9\xca\
|
||||
S\xdd\x99!\xd6|L\xdc\x955\xd9\x88\xe9\xf2\xeeT\
|
||||
\xdd\x99^\xdf\x9f\xeb\xf2\xefX\xde\x9b\x03\xd2l\xde\xf0\
|
||||
\xe7b\xdf\xa1\xac\xea\xcb<\xda\x8cH\xdc\x93\xd4\xef\xe2\
|
||||
J\xdc\x93m\xe1\xa8\x84\xe4\xb4\x8f\xe5\xbb\xe6\xf2\xec\x93\
|
||||
\xe6\xbd\xe5\xf2\xec\x9b\xe7\xc1\x9f\xe8\xc42\xd9\x86$\xd7\
|
||||
~\x84\xe4\xb5\x87\xe4\xb6\x90\xe6\xbb\x91\xe6\xbcZ\xde\x9c\
|
||||
q\xe1\xaa\xc8\xee\xdb\x06\xd2m\xbe\xec\xd5\x89\xe5\xb7\xe3\
|
||||
\xf1\xea\x09\xd3o?\xda\x8e{\xe3\xb0\x08\xd3n\x88\xe5\
|
||||
\xb7{\xe3\xaf\x5c\xde\x9e\xec\xf3\xef\xc1\xed\xd77\xd9\x89\
|
||||
\xd9\xf0\xe5_\xdf\xa0\xda\xf0\xe5Z\xde\x9d\xe5\xf2\xeb[\
|
||||
\xde\x9d\xb4\xeb\xd0\xce\xee\xde\xc4\xed\xd9e\xe0\xa38\xd9\
|
||||
\x8af\xe0\xa3a\xdf\xa1\xd8\xf0\xe49\xda\x8a\xd9\xf0\xe4\
|
||||
_\xdf\x9f\xdf\xf1\xe8\x8d\xe5\xb9\xc8\xed\xdb\x97\xe7\xbfF\
|
||||
\xdb\x91#\xd6~\xb8\xeb\xd2\xe5\xf1\xebO\xdd\x97\x94\xe6\
|
||||
\xbeU\xdd\x9a\xe1\xf1\xe9\xc2\xed\xd8s\xe1\xab\xcb\xee\xdc\
|
||||
\xdb\xf0\xe5\xa3\xe8\xc6C\xdb\x8fn\xe1\xa8+\xd8\x82\xa4\
|
||||
\xe8\xc6\x83\xe4\xb4;\xda\x8b\xdc\xf0\xe6<\xda\x8br\xe1\
|
||||
\xaa\xae\xea\xcc|\xe3\xb0\xe2\xf1\xe99\xd9\x8aM\xdc\x95\
|
||||
\xc5\xed\xd9\x1b\xd5y(\xd7\x81\xbf\xec\xd6\x9e\xe8\xc3\xb1\
|
||||
\xea\xce\xdb\xf0\xe6\x7f\xe3\xb2k\xe0\xa6&\xd7\x7fv\xe2\
|
||||
\xac\x08\xd3ojw\xeb\x85\x00\x00\x009tRNS\
|
||||
\x00\xeb\xeb\xd3$Y\x9d\x09%\xfb\xcb\xfa$\xf6\x9b\xcc\
|
||||
\xea\x8c\x0e\xfa\x9b\xd3\xea\x0e1\x9c\xf5\x8c\x8c\xea1\x9d\
|
||||
\x0f\xea\x9a\xf5Z&\x9bZ\x0e\x9d\x09\xfa\x9e\xfa\xfb\x0f\
|
||||
\x0e\xf5\xcc\xd3\xfb\xd3\xf6\x8b0\x97\xc0Q*\x00\x00\x03\
|
||||
\xdeIDATx\xda\xed\x9b\xf5S\x1bA\x14\xc7\x03\
|
||||
$\x84\xe0\xd2\x02-\xa5\xee\xee\xed^ \x81\xe0^\x0a\
|
||||
\xd4\x80B\x81\xd2\x16\xda\xa25\xa4Pwwwww\
|
||||
www\xf9C\xcaP\x0a\xc9\xdb\xbb\x90\x99\xdc\xbd0\
|
||||
\xd3\xfd\xfexw\xb3\x9f\xcfD\xee\xde\xbe\xdb\x95\xc9X\
|
||||
XXX\xa8tT8\xbbXu'\x22Ge\xe5\xd2\
|
||||
\xa4CK\x13\xf0v\xb6\xbd\x88dq\xea\xda\xae\x1e|\
|
||||
\xe7f\x1eD\xd2tsS\x1a\xe3\xcb\xfb\x11\xc9\xd3G\
|
||||
.\xcc\xf7v%\x08\xf1l.\xc4w\xf4%(\xf1\x15\
|
||||
\xf8\x0c\x946\x04)6\xfc\xbf\x83f\x04-n\xbc\xff\
|
||||
?\x07<\x81.v<\x02\x9d\x08bZ\xd0\xfc\x1eN\
|
||||
\x98\x02m\xbc(\x81\xb6\x045\x0aJ\xc0\x19W\xa0\x11\
|
||||
%\xd0\x1bW\xc0\x9e\x12\xb0\xc2\x15\xb0\xa6\x04T\xb8\x02\
|
||||
*J\x80 \x87\x090\x01&\xc0\x04\x98\xc0\xff\x22\xb0\
|
||||
3\xff\xae\x9f\xdf\x89\xb4m\x96\x12\x18s\x9f\xab\xce\xf1\
|
||||
p\xcb\x08\x94\x14s5\x19\x1am\x09\x81k\xe7\xb9\xda\
|
||||
\x14X@`\xfc\x83:>w\x19_ {\xb2\x1e\x9f\
|
||||
\x0bD\x17H\x1f\xa1\xcf\xe7t\xd8\x02\xa9\x09\x06|\xee\
|
||||
:\xb2@\xccHC>\x17\x82+0h\x14\xe0\xcf\x09\
|
||||
@\x15\xc88\x02\xf8\xc7\xa2QoD\xef\xa6\x00\xfe\xd7\
|
||||
\xdf\xa8\xb7\xe2\x97:\xc0\x7f\x9d\x82\xfa0\x8a/\x07\xfc\
|
||||
\xa9\x9bP\x9f\x86c#\x01\x7f\x5c!\xea\xe3x\xa2\x1f\
|
||||
\xe0?\x8c@\xad\x07\xc2\x02\x01?w&jAR\x1a\
|
||||
\x0a\xf8E\xb1\xa8\x15\xd10\x7f\xc0O\x8cC-\xc9\xa6\
|
||||
\x0d\x07\xfc[\xc1\xa85aH\x10\xe0\xaf\x0d0\xb7(\
|
||||
-\x09\x0b\x0b7\x99\x7fT\x03\xf8\x93\xcc\xad\x8a\xf7\x7f\
|
||||
\x1e\xc2q\xea\xcde\xa6\xf1/D\x01\xfe.s\xcb\xf2\
|
||||
\xe95\xbf(\xff\xdb\xa6\xf0Gk\x01\x7f\x91\xb9\xf3\x82\
|
||||
U\xb5w\x14\xcd\xfa\xfa\xf9\x83\xd5\x80\x9fd\xf6\xc4$\
|
||||
\xafn0ME}\xa3\xfd\x80\xfc\x1d\xe6\xcf\x8c\x0e\xe8\
|
||||
\x0d\xa7=c|\xb04\xc0W\xe7\x88053\xf8M\
|
||||
kO\x1a\x1b\xab\x00\xf2\xef\x8917\x9ce8f\xa6\
|
||||
\xf0P9C\x00\xff\xb1(\x93\xd3/`\xd4\x85B#\
|
||||
\xbd\x01_\xbf:K\x9c\xd9\xf1\x04p_S\xbf\xe2\x1f\
|
||||
(\x09\xf0\xb5\xa7\xc5\x9a\x9eg\xc2o\xf6\x17\xdf8\xab\
|
||||
!\x7f\xb6x\xfd\x81|\xf8\xdf\xdaM_\xb3\x05\x5c\x12\
|
||||
UA\xc4\x13\xa0\xef.\xdf\xc1\x05\x01\x97\xc0\x05\x9a\xc3\
|
||||
\xe2vH\xa8\xfb\xeb3C\xfe:p:(D\xec\x16\
|
||||
\xcdA\xf8\x84Y\xa3w28\x0f\x9c\xf4\x9f&~\x8f\
|
||||
h\x8f\xf036.\x11\xf2oJ\xd1\xa4\x9a\x01\xab\x8c\
|
||||
\xc55UFl\x118\x11Z*M\x97l:\xac\xb3\
|
||||
\x96V\xd7Y\x11\xb9\xe0p\xe0<\xa9\xdatT\xa5y\
|
||||
\xa5\xaa\xd2\x8cx\x0a\x0e\xfaM\x94\xaeO\xf8\x1e\xd6\xda\
|
||||
\xcbc\x0b\xc7\x81C\x91c\xa5lT.\x80\xb3\x8d\x15\
|
||||
S\xc1\x81\xf2xi;\xa5W\xe1|\x0bD\xf7\x5c\xea\
|
||||
V\xed\xa3Jc\xfc%\xa7\xa4\xef\x15o\x8f\x14\xe6\xdf\
|
||||
(#\xd2\x0b\x90\xb9:!\xfe\xd6\x958\xdd\xf2sS\
|
||||
\xf8\xf9oc\xb0\xda\xf5\x19\xcb\xf8\xf8\x09\xa9x\xef\x0b\
|
||||
\xa8\xde[UF\xa4c\xbe\xb0\xa0\xba\x8f\xdc\x8bl\xdc\
|
||||
7&\x13\xee\x18\xf2\x0f\x8d'\xb8\x02\xe4\xc9E}\xfe\
|
||||
\xd9d\x82-@>\xe9\xf5\xe0\x8b\xc3\x09\xbe\x00\xf9\xf9\
|
||||
\xed\x1f\x7f\xfe\x18b\x09\x01\x92<\xf4/\x7f\xe3Gb\
|
||||
\x19\x01\x12\xbd\xe1\xc3\xde\xca}Y)\xc4R\x02\x22\x85\
|
||||
\x090\x01&\xc0\x04\x98@\xc3\x13\xe8\x8b\xcbW5\xbc\
|
||||
%\x9d.\xb8\x02\xf4\xa2\xd6\xf6\xb8\x02\xf4\xb2^\x05\xae\
|
||||
\x00\xbd\xb0\xd9\xbd?&\xbf\xa9;\xbd\xb8\xdc\x16S\xc0\
|
||||
\xd6\xc2\xcb\xfb=\xf8\x96\xf7\xcb\xdc\xf0\x04|\xf8\xb7x\
|
||||
4\xc6\xe2\x0bl\xf1\x90\xc9[\xe1\xf0]\x057\xfa\x0c\
|
||||
\xf4D\xe1{\x0bo4rD\xd8h\xd3Xnl\xab\
|
||||
\x95r\x80\xc4\xff\x05\x07\x1fe=\xbb\xcd\x1c\x9b4\x95\
|
||||
\x0e\xefdkg\xc2~\xbb\x9e\x8a\xd6\xf6\xd6\xa2o7\
|
||||
PY\xdb;+\xbc\xd8fJ\x16\x16\x16:\x7f\x00\xb9\
|
||||
\xef\xfa\xb4{\xe2\xad\x7f\x00\x00\x00\x00IEND\xae\
|
||||
B`\x82\
|
||||
"
|
||||
|
||||
qt_resource_name = b"\
|
||||
@@ -285,7 +137,7 @@ qt_resource_struct = b"\
|
||||
\x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x01\
|
||||
\x00\x00\x00\x00\x00\x00\x00\x00\
|
||||
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\
|
||||
\x00\x00\x01\x99\xf9l\xfe\x95\
|
||||
\x00\x00\x01\x99\xfa]\xed\xe2\
|
||||
"
|
||||
|
||||
def qInitResources():
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
import os
|
||||
import sys
|
||||
from pathlib import Path
|
||||
from PySide6.QtWidgets import QWidget
|
||||
from qfluentwidgets import (
|
||||
InfoBarIcon, MessageBox,
|
||||
@@ -44,3 +47,21 @@ def accept_warning(widget: QWidget, condition: bool,
|
||||
if not mb.exec():
|
||||
return True
|
||||
return False
|
||||
|
||||
|
||||
def get_log_dir() -> str | None:
|
||||
if sys.platform == "win32":
|
||||
log_dir = Path(os.path.expanduser("~"), "AppData", "Roaming")
|
||||
elif sys.platform == "darwin":
|
||||
log_dir = Path(os.path.expanduser("~"), "Library", "Application Support")
|
||||
else:
|
||||
return None
|
||||
if not log_dir.exists():
|
||||
log_dir.mkdir(parents=True, exist_ok=True)
|
||||
return str(log_dir)
|
||||
|
||||
|
||||
def get_app_dir(org_name: str, app_name: str):
|
||||
app_dir = Path(get_log_dir(), org_name, app_name)
|
||||
app_dir.mkdir(parents=True, exist_ok=True)
|
||||
return str(app_dir)
|
||||
|
||||
@@ -3,10 +3,11 @@ from zoneinfo import ZoneInfo
|
||||
from PySide6.QtWidgets import QWidget, QVBoxLayout, QHBoxLayout, QAbstractItemView
|
||||
from PySide6.QtCore import QAbstractTableModel, QModelIndex, Qt, QSortFilterProxyModel
|
||||
from qfluentwidgets import (
|
||||
PushButton, TableView, FluentIcon as Fi, PillPushButton
|
||||
TableView, FluentIcon as Fi, PillPushButton, PrimaryPushButton
|
||||
)
|
||||
|
||||
from common.utils import SAFE_MAP_ICON, SAFE_MAP
|
||||
from common.config import cfg
|
||||
|
||||
# dict[str, str | int] 就是
|
||||
# {
|
||||
@@ -104,9 +105,9 @@ class MainInterface(QWidget):
|
||||
self.setLayout(self.vly_m)
|
||||
|
||||
self.hly_top = QHBoxLayout()
|
||||
self.pbn_refresh = PushButton(Fi.SYNC, "刷新", self)
|
||||
self.pbn_add = PushButton(Fi.ADD, "添加", self)
|
||||
self.pbn_delete = PushButton(Fi.DELETE, "删除", self)
|
||||
self.pbn_refresh = PrimaryPushButton(Fi.SYNC, "刷新", self)
|
||||
self.pbn_add = PrimaryPushButton(Fi.ADD, "添加", self)
|
||||
self.pbn_delete = PrimaryPushButton(Fi.DELETE, "删除", self)
|
||||
|
||||
safe_checks = [
|
||||
("安全", 1), ("未知", 0), ("不安全", -1), ("未记录", -2),
|
||||
@@ -146,6 +147,7 @@ class MainInterface(QWidget):
|
||||
self.tbv_m.setColumnWidth(0, 250)
|
||||
self.tbv_m.setColumnWidth(1, 200)
|
||||
self.tbv_m.setColumnWidth(3, 180)
|
||||
self.tbv_m.scrollDelagate.verticalSmoothScroll.setSmoothMode(cfg.get(cfg.smooth_mode))
|
||||
|
||||
self.vly_m.addWidget(self.tbv_m)
|
||||
|
||||
|
||||
@@ -1,30 +1,39 @@
|
||||
from PySide6.QtWidgets import QApplication
|
||||
from PySide6.QtCore import Qt, QThread, QModelIndex
|
||||
from PySide6.QtGui import QIcon
|
||||
from qfluentwidgets import MSFluentWindow, setTheme, Theme, InfoBar, FluentIcon as Fi, InfoBarPosition
|
||||
|
||||
from qfluentwidgets import (
|
||||
MSFluentWindow, setTheme, InfoBar, FluentIcon as Fi, InfoBarPosition,
|
||||
NavigationItemPosition, setThemeColor
|
||||
)
|
||||
from common.utils import show_quick_tip, accept_warning
|
||||
from common.api_worker import ApiWorker
|
||||
from components.ext_dialog import ExtensionDialog
|
||||
from components.main_interface import MainInterface
|
||||
from components.settings_interface import SettingsInterface
|
||||
from common.config import cfg
|
||||
|
||||
|
||||
class MainWindow(MSFluentWindow):
|
||||
|
||||
def __init__(self):
|
||||
def __init__(self, title: str, width: int, height: int):
|
||||
super().__init__()
|
||||
self.setWindowTitle("插件安全标记")
|
||||
self.setWindowTitle(title)
|
||||
self.setWindowIcon(QIcon(":/logo.png"))
|
||||
# self.navigationInterface.hide()
|
||||
self.resize(1000, 760)
|
||||
self.resize(width, height)
|
||||
desktop = QApplication.screens()[0].availableGeometry()
|
||||
w, h = desktop.width(), desktop.height()
|
||||
self.move(w // 2 - self.width() // 2, h // 2 - self.height() // 2)
|
||||
setTheme(Theme.LIGHT)
|
||||
setTheme(cfg.theme)
|
||||
setThemeColor(cfg.get(cfg.themeColor))
|
||||
|
||||
# --- UI ---
|
||||
self.main_interface = MainInterface(parent=self)
|
||||
self.settings_interface = SettingsInterface(name="settings", parent=self)
|
||||
self.addSubInterface(self.main_interface, Fi.HOME, "主页", Fi.HOME_FILL)
|
||||
self.addSubInterface(self.settings_interface, Fi.SETTING, "设置",
|
||||
position=NavigationItemPosition.BOTTOM)
|
||||
|
||||
self.stackedWidget.setAnimationEnabled(cfg.get(cfg.switch_animation))
|
||||
|
||||
# --- 初始化后台工作线程和 QObject ---
|
||||
self.thread = QThread()
|
||||
|
||||
71
components/settings_interface.py
Normal file
71
components/settings_interface.py
Normal file
@@ -0,0 +1,71 @@
|
||||
from PySide6.QtCore import Qt
|
||||
from PySide6.QtWidgets import QWidget
|
||||
from qfluentwidgets import (
|
||||
ScrollArea, ExpandLayout, SettingCardGroup,
|
||||
OptionsSettingCard, CustomColorSettingCard, setTheme, setThemeColor,
|
||||
SwitchSettingCard, InfoBar, InfoBarPosition
|
||||
)
|
||||
from qfluentwidgets import FluentIcon as Fi
|
||||
from common.config import cfg
|
||||
|
||||
|
||||
class SettingsInterface(ScrollArea):
|
||||
|
||||
def __init__(self, name: str, parent=None):
|
||||
super().__init__(parent)
|
||||
self.setObjectName(name.replace(" ", "-"))
|
||||
self.cw = QWidget(self)
|
||||
self.ely = ExpandLayout(self.cw)
|
||||
self.setWidget(self.cw)
|
||||
self.setWidgetResizable(True)
|
||||
self.setHorizontalScrollBarPolicy(Qt.ScrollBarPolicy.ScrollBarAlwaysOff)
|
||||
self.enableTransparentBackground()
|
||||
|
||||
self.personal_group = SettingCardGroup("个性化", self.cw)
|
||||
self.theme_card = OptionsSettingCard(
|
||||
cfg.themeMode,
|
||||
Fi.BRUSH,
|
||||
"应用主题",
|
||||
"修改应用的外观",
|
||||
texts=["浅色", "深色", "跟随系统"],
|
||||
parent=self.personal_group,
|
||||
)
|
||||
self.theme_color_card = CustomColorSettingCard(
|
||||
cfg.themeColor,
|
||||
Fi.PALETTE,
|
||||
"主题色",
|
||||
"修改应用的主题颜色",
|
||||
parent=self.personal_group,
|
||||
)
|
||||
self.switch_animation_card = SwitchSettingCard(
|
||||
Fi.SCROLL,
|
||||
"切换动画",
|
||||
"切换不同页面时是否显示动画",
|
||||
configItem=cfg.switch_animation,
|
||||
parent=self.personal_group,
|
||||
)
|
||||
self.smooth_mode_card = OptionsSettingCard(
|
||||
cfg.smooth_mode,
|
||||
Fi.LEAF,
|
||||
"滚动模式",
|
||||
"修改视图滚动模式",
|
||||
texts=["无滚动", "匀速滚动", "线性滚动", "二次缓动", "余弦平滑"],
|
||||
parent=self.personal_group,
|
||||
)
|
||||
|
||||
self.personal_group.addSettingCard(self.theme_card)
|
||||
self.personal_group.addSettingCard(self.theme_color_card)
|
||||
self.personal_group.addSettingCard(self.switch_animation_card)
|
||||
self.personal_group.addSettingCard(self.smooth_mode_card)
|
||||
|
||||
self.ely.setSpacing(28)
|
||||
self.ely.setContentsMargins(20, 20, 20, 20)
|
||||
self.ely.addWidget(self.personal_group)
|
||||
|
||||
cfg.themeChanged.connect(setTheme)
|
||||
cfg.appRestartSig.connect(self.show_restart_tip)
|
||||
self.theme_color_card.colorChanged.connect(lambda c: setThemeColor(c))
|
||||
|
||||
def show_restart_tip(self):
|
||||
InfoBar.warning("", "设置已更新,重启应用生效。", duration=5000,
|
||||
position=InfoBarPosition.BOTTOM_RIGHT, parent=self.window())
|
||||
BIN
logo.ico
BIN
logo.ico
Binary file not shown.
|
Before Width: | Height: | Size: 178 KiB After Width: | Height: | Size: 177 KiB |
7
main.py
7
main.py
@@ -5,15 +5,20 @@ from PySide6.QtCore import QLocale
|
||||
from qfluentwidgets import FluentTranslator
|
||||
|
||||
from components.main_window import MainWindow
|
||||
from common.config import VERSION, ZH_APP_NAME, ORG_NAME, APP_NAME
|
||||
import common.resources
|
||||
|
||||
|
||||
# --- 运行 GUI ---
|
||||
def main():
|
||||
app = QApplication(sys.argv)
|
||||
app.setOrganizationName(ORG_NAME)
|
||||
app.setApplicationName(APP_NAME)
|
||||
|
||||
translator = FluentTranslator(QLocale(QLocale.Language.Chinese, QLocale.Country.China))
|
||||
app.installTranslator(translator)
|
||||
win = MainWindow()
|
||||
|
||||
win = MainWindow(title=f"插件安全标记 {VERSION}", width=1000, height=760)
|
||||
win.show()
|
||||
return app.exec()
|
||||
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 4.1 KiB After Width: | Height: | Size: 1.8 KiB |
Reference in New Issue
Block a user