asdf
This commit is contained in:
42
lib/gui.py
42
lib/gui.py
@@ -2,14 +2,31 @@ from PySide6.QtWidgets import QApplication, QWidget, QMainWindow, QTableWidget,
|
||||
from PySide6.QtWebEngineWidgets import QWebEngineView
|
||||
from PySide6.QtCore import QUrl,Qt,QSortFilterProxyModel, qDebug, QSize,QObject,QThread,Signal
|
||||
from PySide6.QtSql import QSqlDatabase, QSqlTableModel, QSqlQueryModel, QSqlQuery
|
||||
|
||||
from PySide6 import QtGui
|
||||
from db import addFineFilter
|
||||
import sysparse
|
||||
import sys
|
||||
import db as db
|
||||
|
||||
DBFILE = "../db/sqlite3.db"
|
||||
|
||||
Cantons = ["AG","ZH","BE","SG","SO"]
|
||||
|
||||
class TableModel(QAbstractTableModel):
|
||||
def __init__(self, data):
|
||||
super(TableModel, self).__init__()
|
||||
self._data = data
|
||||
def data(self, index, role):
|
||||
if role == Qt.BackgroundRole:
|
||||
return QtGui.QColor('#9C0006')
|
||||
|
||||
class ValidationWorker(QObject):
|
||||
finished = Signal()
|
||||
|
||||
def run(self):
|
||||
ret = db.isStillValid(DBFILE,0)
|
||||
if ret == 0:
|
||||
self.finished.emit()
|
||||
class Worker(QObject):
|
||||
pwprompt = Signal()
|
||||
pw = Signal(str)
|
||||
@@ -56,6 +73,8 @@ class MainWindow(QMainWindow):
|
||||
self.setProxyViewSettings()
|
||||
self.view.clicked.connect(self.cell_clicked)
|
||||
|
||||
self.PValidate = QPushButton("links valid")
|
||||
self.PValidate.clicked.connect(self.runValidation)
|
||||
|
||||
self.PsyncDB = QPushButton("Perform sync acording to config file")
|
||||
self.PsyncDB.clicked.connect(self.runWorker)
|
||||
@@ -64,6 +83,7 @@ class MainWindow(QMainWindow):
|
||||
self.layout.addWidget(self.b_canton)
|
||||
self.layout.addWidget(self.EditQuery)
|
||||
self.layout.addWidget(self.PsyncDB)
|
||||
self.layout.addWidget(self.PValidate)
|
||||
self.layout2.addLayout(self.layout)
|
||||
self.layout2.addWidget(self.browser)
|
||||
|
||||
@@ -90,9 +110,25 @@ class MainWindow(QMainWindow):
|
||||
self.worker.pwprompt.connect(self.showDialog)
|
||||
self.worker.finished.connect(self.thread.quit)
|
||||
self.worker.finished.connect(self.enable_PsyncDB)
|
||||
|
||||
|
||||
self.thread.start()
|
||||
def runValidation(self):
|
||||
self.validationThread = QThread()
|
||||
self.validationWorker = ValidationWorker()
|
||||
|
||||
self.validationWorker.moveToThread(self.validationThread)
|
||||
|
||||
self.validationThread.started.connect(self.disableValidationButton)
|
||||
self.validationThread.started.connect(self.validationWorker.run)
|
||||
|
||||
self.validationThread.start()
|
||||
self.validationWorker.finished.connect(self.validationThread.quit)
|
||||
self.validationWorker.finished.connect(self.enableValidationButton)
|
||||
|
||||
def enableValidationButton(self):
|
||||
self.PValidate.setEnabled(True)
|
||||
def disableValidationButton(self):
|
||||
self.PValidate.setEnabled(False)
|
||||
|
||||
def disable_PsyncDB(self):
|
||||
self.PsyncDB.setText("Sync Running...")
|
||||
self.PsyncDB.setEnabled(False)
|
||||
|
||||
Reference in New Issue
Block a user