Files
DailyCheck/da_ext_settings.py
Julian Freeman 356ebc123b Squashed commit of the following:
commit b7dcadf359
Author: Julian Freeman <freemanjulian372@gmail.com>
Date:   Fri Feb 2 17:55:23 2024 -0400

    v1.0.0

commit d84b107177
Author: Julian Freeman <freemanjulian372@gmail.com>
Date:   Fri Feb 2 09:35:56 2024 -0400

    dev 02020935

commit a69ba157a5
Author: Julian Freeman <freemanjulian372@gmail.com>
Date:   Thu Feb 1 21:49:26 2024 -0400

    dev 02012149

commit 38d98dee94
Author: Julian Freeman <freemanjulian372@gmail.com>
Date:   Thu Feb 1 18:12:45 2024 -0400

    dev 02011812

commit 3e17def627
Author: Julian Freeman <freemanjulian372@gmail.com>
Date:   Thu Feb 1 11:27:24 2024 -0400

    dev 02011127

commit 06327f3bfc
Author: Julian Freeman <freemanjulian372@gmail.com>
Date:   Thu Feb 1 00:44:45 2024 -0400

    dev 24.01.31
2024-02-02 17:57:20 -04:00

160 lines
6.4 KiB
Python

# coding: utf8
from PySide6 import QtWidgets, QtCore
class PushButtonWithId(QtWidgets.QPushButton):
clicked_with_id = QtCore.Signal(str)
def __init__(self, ids: str, parent: QtWidgets.QWidget = None, title: str = ""):
super().__init__(title, parent)
self.ids = ids
self.clicked.connect(self.on_self_clicked)
def on_self_clicked(self):
self.clicked_with_id.emit(self.ids)
class DaExtSettings(QtWidgets.QDialog):
def __init__(self, parent: QtWidgets.QWidget = None):
super().__init__(parent)
self.setWindowTitle("设置")
self.vly_m = QtWidgets.QVBoxLayout()
self.setLayout(self.vly_m)
self.gbx_exec = QtWidgets.QGroupBox("执行文件路径", self)
self.vly_m.addWidget(self.gbx_exec)
self.gly_gbx_exec = QtWidgets.QGridLayout()
self.gbx_exec.setLayout(self.gly_gbx_exec)
self.lb_exec_chrome = QtWidgets.QLabel("Chrome", self)
self.lb_exec_edge = QtWidgets.QLabel("Edge", self)
self.lb_exec_brave = QtWidgets.QLabel("Brave", self)
self.lne_exec_chrome = QtWidgets.QLineEdit(self)
self.lne_exec_edge = QtWidgets.QLineEdit(self)
self.lne_exec_brave = QtWidgets.QLineEdit(self)
self.pbn_exec_chrome = PushButtonWithId("ChromeExec", self, "选择")
self.pbn_exec_edge = PushButtonWithId("EdgeExec", self, "选择")
self.pbn_exec_brave = PushButtonWithId("BraveExec", self, "选择")
self.gly_gbx_exec.addWidget(self.lb_exec_chrome, 0, 0)
self.gly_gbx_exec.addWidget(self.lb_exec_edge, 1, 0)
self.gly_gbx_exec.addWidget(self.lb_exec_brave, 2, 0)
self.gly_gbx_exec.addWidget(self.lne_exec_chrome, 0, 1)
self.gly_gbx_exec.addWidget(self.lne_exec_edge, 1, 1)
self.gly_gbx_exec.addWidget(self.lne_exec_brave, 2, 1)
self.gly_gbx_exec.addWidget(self.pbn_exec_chrome, 0, 2)
self.gly_gbx_exec.addWidget(self.pbn_exec_edge, 1, 2)
self.gly_gbx_exec.addWidget(self.pbn_exec_brave, 2, 2)
self.gbx_data = QtWidgets.QGroupBox("用户数据路径", self)
self.vly_m.addWidget(self.gbx_data)
self.gly_gbx_data = QtWidgets.QGridLayout()
self.gbx_data.setLayout(self.gly_gbx_data)
self.lb_data_chrome = QtWidgets.QLabel("Chrome", self)
self.lb_data_edge = QtWidgets.QLabel("Edge", self)
self.lb_data_brave = QtWidgets.QLabel("Brave", self)
self.lne_data_chrome = QtWidgets.QLineEdit(self)
self.lne_data_edge = QtWidgets.QLineEdit(self)
self.lne_data_brave = QtWidgets.QLineEdit(self)
self.pbn_data_chrome = PushButtonWithId("ChromeData", self, "选择")
self.pbn_data_edge = PushButtonWithId("EdgeData", self, "选择")
self.pbn_data_brave = PushButtonWithId("BraveData", self, "选择")
self.gly_gbx_data.addWidget(self.lb_data_chrome, 0, 0)
self.gly_gbx_data.addWidget(self.lb_data_edge, 1, 0)
self.gly_gbx_data.addWidget(self.lb_data_brave, 2, 0)
self.gly_gbx_data.addWidget(self.lne_data_chrome, 0, 1)
self.gly_gbx_data.addWidget(self.lne_data_edge, 1, 1)
self.gly_gbx_data.addWidget(self.lne_data_brave, 2, 1)
self.gly_gbx_data.addWidget(self.pbn_data_chrome, 0, 2)
self.gly_gbx_data.addWidget(self.pbn_data_edge, 1, 2)
self.gly_gbx_data.addWidget(self.pbn_data_brave, 2, 2)
self.hly_bot = QtWidgets.QHBoxLayout()
self.pbn_save = QtWidgets.QPushButton("保存", self)
self.pbn_cancel = QtWidgets.QPushButton("取消", self)
self.hly_bot.addStretch(1)
self.hly_bot.addWidget(self.pbn_save)
self.hly_bot.addWidget(self.pbn_cancel)
self.vly_m.addLayout(self.hly_bot)
self.vly_m.addStretch(1)
self.pbn_save.clicked.connect(self.on_pbn_save_clicked)
self.pbn_cancel.clicked.connect(self.on_pbn_cancel_clicked)
self.pbn_exec_chrome.clicked_with_id.connect(self.on_pbn_exec_n_clicked_with_id)
self.pbn_exec_edge.clicked_with_id.connect(self.on_pbn_exec_n_clicked_with_id)
self.pbn_exec_brave.clicked_with_id.connect(self.on_pbn_exec_n_clicked_with_id)
self.pbn_data_chrome.clicked_with_id.connect(self.on_pbn_data_n_clicked_with_id)
self.pbn_data_edge.clicked_with_id.connect(self.on_pbn_data_n_clicked_with_id)
self.pbn_data_brave.clicked_with_id.connect(self.on_pbn_data_n_clicked_with_id)
self.read_settings()
def sizeHint(self):
return QtCore.QSize(540, 140)
def read_settings(self):
us = QtCore.QSettings()
chrome_exec = str(us.value("ChromeExec", ""))
edge_exec = str(us.value("EdgeExec", ""))
brave_exec = str(us.value("BraveExec", ""))
chrome_data = str(us.value("ChromeData", ""))
edge_data = str(us.value("EdgeData", ""))
brave_data = str(us.value("BraveData", ""))
self.lne_exec_chrome.setText(chrome_exec)
self.lne_exec_edge.setText(edge_exec)
self.lne_exec_brave.setText(brave_exec)
self.lne_data_chrome.setText(chrome_data)
self.lne_data_edge.setText(edge_data)
self.lne_data_brave.setText(brave_data)
def on_pbn_exec_n_clicked_with_id(self, ids: str):
filename, _ = QtWidgets.QFileDialog.getOpenFileName(self, f"选择 {ids}")
if len(filename) == 0:
return
if ids == "ChromeExec":
self.lne_exec_chrome.setText(filename)
elif ids == "EdgeExec":
self.lne_exec_edge.setText(filename)
elif ids == "BraveExec":
self.lne_exec_brave.setText(filename)
def on_pbn_data_n_clicked_with_id(self, ids: str):
dirname = QtWidgets.QFileDialog.getExistingDirectory(self, f"选择 {ids}")
if len(dirname) == 0:
return
if ids == "ChromeData":
self.lne_data_chrome.setText(dirname)
elif ids == "EdgeData":
self.lne_data_edge.setText(dirname)
elif ids == "BraveData":
self.lne_data_brave.setText(dirname)
def on_pbn_save_clicked(self):
us = QtCore.QSettings()
us.setValue("ChromeExec", self.lne_exec_chrome.text())
us.setValue("EdgeExec", self.lne_exec_edge.text())
us.setValue("BraveExec", self.lne_exec_brave.text())
us.setValue("ChromeData", self.lne_data_chrome.text())
us.setValue("EdgeData", self.lne_data_edge.text())
us.setValue("BraveData", self.lne_data_brave.text())
self.accept()
def on_pbn_cancel_clicked(self):
self.reject()