mirror of
https://github.com/283375/arcaea-offline-pyside-ui.git
synced 2025-07-01 12:26:26 +00:00
init
This commit is contained in:
73
ui/implements/settings/settingsDefault.py
Normal file
73
ui/implements/settings/settingsDefault.py
Normal file
@ -0,0 +1,73 @@
|
||||
from arcaea_offline.database import Database
|
||||
from PySide6.QtCore import Slot
|
||||
from PySide6.QtWidgets import QWidget
|
||||
|
||||
from ui.designer.settings.settingsDefault_ui import Ui_SettingsDefault
|
||||
from ui.extends.ocr import load_devices_json
|
||||
from ui.extends.settings import *
|
||||
|
||||
|
||||
class SettingsDefault(Ui_SettingsDefault, QWidget):
|
||||
def __init__(self, parent=None):
|
||||
super().__init__(parent)
|
||||
self.setupUi(self)
|
||||
|
||||
self.settings = Settings(self)
|
||||
|
||||
self.devicesJsonFileSelector.filesSelected.connect(self.fillDevicesComboBox)
|
||||
self.devicesJsonFileResetButton.clicked.connect(self.resetDevicesJsonFile)
|
||||
self.deviceUuidResetButton.clicked.connect(self.resetDeviceUuid)
|
||||
|
||||
devicesJsonPath = self.settings.devicesJsonFile()
|
||||
self.devicesJsonFileSelector.selectFile(devicesJsonPath)
|
||||
tesseractPath = self.settings.tesseractPath()
|
||||
self.tesseractFileSelector.selectFile(tesseractPath)
|
||||
|
||||
self.devicesJsonFileSelector.accepted.connect(
|
||||
self.on_devicesJsonFileSelector_accepted
|
||||
)
|
||||
self.tesseractFileSelector.accepted.connect(
|
||||
self.on_tesseractFileSelector_accepted
|
||||
)
|
||||
|
||||
def setDevicesJsonFile(self):
|
||||
try:
|
||||
filename = self.devicesJsonFileSelector.selectedFiles()[0]
|
||||
devices = load_devices_json(filename)
|
||||
assert isinstance(devices, list)
|
||||
self.settings.setDevicesJsonFile(filename)
|
||||
except Exception as e:
|
||||
print(e)
|
||||
# QMessageBox
|
||||
return
|
||||
|
||||
def resetDevicesJsonFile(self):
|
||||
self.devicesJsonFileSelector.reset()
|
||||
self.settings.resetDevicesJsonFile()
|
||||
|
||||
def on_devicesJsonFileSelector_accepted(self):
|
||||
self.setDevicesJsonFile()
|
||||
|
||||
def fillDevicesComboBox(self):
|
||||
devicesJsonPath = self.devicesJsonFileSelector.selectedFiles()[0]
|
||||
self.devicesComboBox.loadDevicesJson(devicesJsonPath)
|
||||
|
||||
storedDeviceUuid = self.settings.deviceUuid()
|
||||
self.devicesComboBox.selectDevice(storedDeviceUuid)
|
||||
|
||||
@Slot()
|
||||
def on_devicesComboBox_activated(self):
|
||||
device = self.devicesComboBox.currentData()
|
||||
if device:
|
||||
self.settings.setDeviceUuid(device.uuid)
|
||||
|
||||
def resetDeviceUuid(self):
|
||||
self.devicesComboBox.setCurrentIndex(-1)
|
||||
self.settings.resetDeviceUuid()
|
||||
|
||||
def setTesseractFile(self):
|
||||
file = self.tesseractFileSelector.selectedFiles()[0]
|
||||
self.settings.setTesseractPath(file)
|
||||
|
||||
def on_tesseractFileSelector_accepted(self):
|
||||
self.setTesseractFile()
|
Reference in New Issue
Block a user