commitb7dcadf359Author: Julian Freeman <freemanjulian372@gmail.com> Date: Fri Feb 2 17:55:23 2024 -0400 v1.0.0 commitd84b107177Author: Julian Freeman <freemanjulian372@gmail.com> Date: Fri Feb 2 09:35:56 2024 -0400 dev 02020935 commita69ba157a5Author: Julian Freeman <freemanjulian372@gmail.com> Date: Thu Feb 1 21:49:26 2024 -0400 dev 02012149 commit38d98dee94Author: Julian Freeman <freemanjulian372@gmail.com> Date: Thu Feb 1 18:12:45 2024 -0400 dev 02011812 commit3e17def627Author: Julian Freeman <freemanjulian372@gmail.com> Date: Thu Feb 1 11:27:24 2024 -0400 dev 02011127 commit06327f3bfcAuthor: Julian Freeman <freemanjulian372@gmail.com> Date: Thu Feb 1 00:44:45 2024 -0400 dev 24.01.31
93 lines
3.6 KiB
Python
93 lines
3.6 KiB
Python
# coding: utf8
|
|
from PySide6 import QtWidgets, QtCore, QtGui
|
|
from util_func import (
|
|
get_isp_name,
|
|
get_win_manufacturer,
|
|
get_win_license,
|
|
)
|
|
|
|
|
|
class UiWgBasic(object):
|
|
|
|
def __init__(self, window: QtWidgets.QWidget):
|
|
self.vly_m = QtWidgets.QVBoxLayout()
|
|
window.setLayout(self.vly_m)
|
|
|
|
self.gbx_isp = QtWidgets.QGroupBox("网络运营商", window)
|
|
self.vly_m.addWidget(self.gbx_isp)
|
|
self.vly_gbx_isp = QtWidgets.QVBoxLayout()
|
|
self.gbx_isp.setLayout(self.vly_gbx_isp)
|
|
|
|
self.lne_isp = QtWidgets.QLineEdit(self.gbx_isp)
|
|
self.lne_isp.setReadOnly(True)
|
|
self.vly_gbx_isp.addWidget(self.lne_isp)
|
|
|
|
self.gbx_manu = QtWidgets.QGroupBox("系统制造商", window)
|
|
self.vly_m.addWidget(self.gbx_manu)
|
|
self.hly_gbx_manu = QtWidgets.QHBoxLayout()
|
|
self.gbx_manu.setLayout(self.hly_gbx_manu)
|
|
self.lb_model = QtWidgets.QLabel("型号:", self.gbx_manu)
|
|
self.lne_model = QtWidgets.QLineEdit(self.gbx_manu)
|
|
self.lne_model.setReadOnly(True)
|
|
self.lb_manufacturer = QtWidgets.QLabel("制造商:", self.gbx_manu)
|
|
self.lne_manufacturer = QtWidgets.QLineEdit(self.gbx_manu)
|
|
self.lne_manufacturer.setReadOnly(True)
|
|
self.hly_gbx_manu.addWidget(self.lb_model)
|
|
self.hly_gbx_manu.addWidget(self.lne_model)
|
|
self.hly_gbx_manu.addWidget(self.lb_manufacturer)
|
|
self.hly_gbx_manu.addWidget(self.lne_manufacturer)
|
|
|
|
self.gbx_license = QtWidgets.QGroupBox("许可证", window)
|
|
self.vly_m.addWidget(self.gbx_license)
|
|
self.vly_gbx_license = QtWidgets.QVBoxLayout()
|
|
self.gbx_license.setLayout(self.vly_gbx_license)
|
|
self.pte_license = QtWidgets.QPlainTextEdit(self.gbx_license)
|
|
self.vly_gbx_license.addWidget(self.pte_license)
|
|
self.pte_license.setReadOnly(True)
|
|
|
|
|
|
class WgBasic(QtWidgets.QWidget):
|
|
|
|
def __init__(self, parent=None):
|
|
super().__init__(parent)
|
|
self.ui = UiWgBasic(self)
|
|
|
|
self.ui.lne_isp.setText(get_isp_name())
|
|
model, manufacturer = get_win_manufacturer()
|
|
self.ui.lne_model.setText(model)
|
|
self.ui.lne_manufacturer.setText(manufacturer)
|
|
|
|
self.ui.pte_license.setPlainText(get_win_license())
|
|
|
|
def update_safe(self, isp_safe_info: dict, manu_safe_info: dict):
|
|
|
|
def set_palette(is_safe: bool | None, lne_w: QtWidgets.QLineEdit):
|
|
pal = lne_w.palette()
|
|
if is_safe is True:
|
|
pal.setColor(QtGui.QPalette.ColorRole.Text, QtCore.Qt.GlobalColor.blue)
|
|
elif is_safe is False:
|
|
pal.setColor(QtGui.QPalette.ColorRole.Text, QtCore.Qt.GlobalColor.red)
|
|
else:
|
|
pal.setColor(QtGui.QPalette.ColorRole.Text, QtCore.Qt.GlobalColor.black)
|
|
lne_w.setPalette(pal)
|
|
|
|
isp_text = self.ui.lne_isp.text()
|
|
if isp_text in isp_safe_info:
|
|
is_isp_safe = isp_safe_info[isp_text]["safe"]
|
|
set_palette(is_isp_safe, self.ui.lne_isp)
|
|
|
|
manu_text = self.ui.lne_manufacturer.text()
|
|
if manu_text in manu_safe_info:
|
|
is_manu_safe = manu_safe_info[manu_text]["safe"]
|
|
set_palette(is_manu_safe, self.ui.lne_manufacturer)
|
|
|
|
def export_unknown(self) -> dict:
|
|
unknown = {}
|
|
text_role = QtGui.QPalette.ColorRole.Text
|
|
black = QtCore.Qt.GlobalColor.black
|
|
if self.ui.lne_isp.palette().color(text_role) == black:
|
|
unknown["isp"] = self.ui.lne_isp.text()
|
|
if self.ui.lne_manufacturer.palette().color(text_role) == black:
|
|
unknown["manufacturer"] = self.ui.lne_manufacturer.text()
|
|
return unknown
|