Linting
This commit is contained in:
@@ -1,14 +1,43 @@
|
||||
from typing import Any, Self, cast
|
||||
from PySide6.QtCore import QDate, QEvent, QModelIndex, QObject, QPersistentModelIndex, QPoint, QRect, QSize, Signal, Qt, Slot
|
||||
from PySide6.QtGui import QColor, QFont, QPainter, QTextDocument, QTextDocumentFragment
|
||||
|
||||
from PySide6.QtCore import (
|
||||
QDate,
|
||||
QEvent,
|
||||
QModelIndex,
|
||||
QObject,
|
||||
QPersistentModelIndex,
|
||||
QPoint,
|
||||
QRect,
|
||||
QSize,
|
||||
Qt,
|
||||
Signal,
|
||||
Slot,
|
||||
)
|
||||
from PySide6.QtGui import (
|
||||
QColor,
|
||||
QFont,
|
||||
QPainter,
|
||||
QTextDocument,
|
||||
QTextDocumentFragment,
|
||||
)
|
||||
from PySide6.QtSql import QSqlTableModel
|
||||
from PySide6.QtWidgets import QAbstractItemView, QHeaderView, QMainWindow, QStyle, QStyleOptionViewItem, QStyledItemDelegate, QTableView, QWidget
|
||||
from PySide6.QtWidgets import (
|
||||
QAbstractItemView,
|
||||
QHeaderView,
|
||||
QMainWindow,
|
||||
QStyle,
|
||||
QStyledItemDelegate,
|
||||
QStyleOptionViewItem,
|
||||
QTableView,
|
||||
QWidget,
|
||||
)
|
||||
|
||||
from docketModel import docketModel
|
||||
from dockettableview import documentDelegate
|
||||
from ui.MainWindow import Ui_MainWindow
|
||||
from workers import loadCases, updateThread
|
||||
|
||||
|
||||
class QStyleOptionViewItemInit(QStyleOptionViewItem):
|
||||
backgroundBrush: QColor
|
||||
rect: QRect
|
||||
@@ -16,6 +45,7 @@ class QStyleOptionViewItemInit(QStyleOptionViewItem):
|
||||
font: QFont
|
||||
text: str
|
||||
|
||||
|
||||
class dateDelegate(QStyledItemDelegate):
|
||||
def displayText(self, value: QDate, _: Any) -> str:
|
||||
return value.toString("MMMM d, yyyy")
|
||||
@@ -49,7 +79,6 @@ class activeDelegate(QStyledItemDelegate):
|
||||
return
|
||||
|
||||
|
||||
|
||||
class MainWindow(QMainWindow, Ui_MainWindow):
|
||||
show_entries = Signal(int)
|
||||
|
||||
@@ -58,9 +87,9 @@ class MainWindow(QMainWindow, Ui_MainWindow):
|
||||
def __init__(self) -> None:
|
||||
super(MainWindow, self).__init__()
|
||||
self.setupUi(self)
|
||||
#self.loadThread = loadCases()
|
||||
#self.loadThread.finished.connect(self.updateDone)
|
||||
#self.loadThread.start()
|
||||
# self.loadThread = loadCases()
|
||||
# self.loadThread.finished.connect(self.updateDone)
|
||||
# self.loadThread.start()
|
||||
|
||||
model = QSqlTableModel()
|
||||
model.setTable("cases")
|
||||
@@ -105,7 +134,7 @@ class MainWindow(QMainWindow, Ui_MainWindow):
|
||||
1, QHeaderView.ResizeMode.Stretch
|
||||
)
|
||||
self.docketView.resizeRowsToContents()
|
||||
#self.docketView.setItemDelegateForColumn(1, documentDelegate())
|
||||
# self.docketView.setItemDelegateForColumn(1, documentDelegate())
|
||||
return
|
||||
|
||||
@Slot(QModelIndex) # type: ignore
|
||||
@@ -135,12 +164,13 @@ class MainWindow(QMainWindow, Ui_MainWindow):
|
||||
self.updateThread.start()
|
||||
return
|
||||
|
||||
@Slot()
|
||||
def clickedEvent(self, pos:QPoint) -> None:
|
||||
@Slot(QPoint) # type: ignore
|
||||
def clickedEvent(self, pos: QPoint) -> None:
|
||||
print(pos)
|
||||
viewport = self.docketView.viewport()
|
||||
print(viewport,viewport.children())
|
||||
print(viewport, viewport.children())
|
||||
return
|
||||
|
||||
@Slot()
|
||||
def updateDone(self) -> None:
|
||||
self.updateThread = None
|
||||
|
||||
@@ -24,7 +24,7 @@ class docketModel(QAbstractTableModel):
|
||||
return
|
||||
self.newCase(case_id)
|
||||
return
|
||||
|
||||
|
||||
def newCase(self, case_id: int) -> None:
|
||||
self.beginResetModel()
|
||||
self.entries = []
|
||||
@@ -48,7 +48,9 @@ class docketModel(QAbstractTableModel):
|
||||
query_error(q2)
|
||||
row = []
|
||||
while q2.next():
|
||||
row.append(f'<a href="{q2.value("url")}">{q2.value("name")}</a>')
|
||||
row.append(
|
||||
f'<a href="{q2.value("url")}">{q2.value("name")}</a>'
|
||||
)
|
||||
if len(row) > 0:
|
||||
self.entries.append([None, " ".join(row)])
|
||||
self.endResetModel()
|
||||
|
||||
@@ -1,10 +1,49 @@
|
||||
from typing import cast
|
||||
from PySide6.QtCore import QAbstractItemModel, QDir, QEvent, QFile, QModelIndex, QObject, QPersistentModelIndex, QPoint, QRect, QSize, QUrl, Signal, Qt, Slot
|
||||
from PySide6.QtGui import QColor, QFont, QMouseEvent, QPainter, QPalette, QShowEvent, QTextDocument
|
||||
from PySide6.QtWidgets import QApplication, QSizePolicy, QStyle, QStyleOptionViewItem, QStyledItemDelegate, QTableView, QTextEdit, QWidget
|
||||
from PySide6.QtNetwork import QNetworkAccessManager, QNetworkReply, QNetworkRequest
|
||||
from typing import Any, cast
|
||||
|
||||
from PySide6.QtCore import (
|
||||
QAbstractItemModel,
|
||||
QDir,
|
||||
QEvent,
|
||||
QFile,
|
||||
QModelIndex,
|
||||
QObject,
|
||||
QPersistentModelIndex,
|
||||
QPoint,
|
||||
QRect,
|
||||
QSize,
|
||||
Qt,
|
||||
QUrl,
|
||||
Signal,
|
||||
Slot,
|
||||
)
|
||||
from PySide6.QtGui import (
|
||||
QColor,
|
||||
QFont,
|
||||
QMouseEvent,
|
||||
QPainter,
|
||||
QPalette,
|
||||
QShowEvent,
|
||||
QTextDocument,
|
||||
)
|
||||
from PySide6.QtNetwork import (
|
||||
QNetworkAccessManager,
|
||||
QNetworkReply,
|
||||
QNetworkRequest,
|
||||
)
|
||||
from PySide6.QtWidgets import (
|
||||
QApplication,
|
||||
QSizePolicy,
|
||||
QStyle,
|
||||
QStyledItemDelegate,
|
||||
QStyleOptionViewItem,
|
||||
QTableView,
|
||||
QTextEdit,
|
||||
QWidget,
|
||||
)
|
||||
|
||||
from pdfView import PDFViewer
|
||||
|
||||
|
||||
class QStyleOptionViewItemInit(QStyleOptionViewItem):
|
||||
backgroundBrush: QColor
|
||||
rect: QRect
|
||||
@@ -12,6 +51,7 @@ class QStyleOptionViewItemInit(QStyleOptionViewItem):
|
||||
font: QFont
|
||||
text: str
|
||||
|
||||
|
||||
class documentDelegate(QStyledItemDelegate):
|
||||
def initStyleOption(
|
||||
self,
|
||||
@@ -71,14 +111,14 @@ class docketEntry(QTextEdit):
|
||||
print(f"self.size(): {self.size()}")
|
||||
if anchor:
|
||||
print(f"Anchors away: {anchor}")
|
||||
obj = self
|
||||
obj = cast(QObject, self)
|
||||
while not isinstance(obj, docketTableView) and obj is not None:
|
||||
obj = obj.parent()
|
||||
assert obj is not None
|
||||
index = obj.indexAt(obj.mapFromGlobal(self.mapToGlobal(e.pos())))
|
||||
obj.anchorSignal.emit(index, anchor)
|
||||
return
|
||||
|
||||
|
||||
def sizeHint(self) -> QSize:
|
||||
size = self.size()
|
||||
doc = QTextDocument()
|
||||
@@ -94,21 +134,22 @@ class docketTableView(QTableView):
|
||||
clickedEvent = Signal(QPoint)
|
||||
anchorSignal = Signal(QModelIndex, str)
|
||||
|
||||
def __init__(self, parent: QWidget|None = None) -> None:
|
||||
super(docketTableView,self).__init__(parent)
|
||||
def __init__(self, parent: QWidget | None = None) -> None:
|
||||
super(docketTableView, self).__init__(parent)
|
||||
self.anchorSignal.connect(self.doAnchor)
|
||||
self.manager.finished.connect(self.getDone)
|
||||
return
|
||||
|
||||
|
||||
def setModel(self, model: QAbstractItemModel | None) -> None:
|
||||
assert model is not None
|
||||
super().setModel(model)
|
||||
self.model().modelReset.connect(self.modelReset)
|
||||
print("Setting Model")
|
||||
return
|
||||
@Slot(QNetworkReply) # type: ignore
|
||||
def getDone(self, reply:QNetworkReply) -> None:
|
||||
dest = QFile('.'+reply.url().path())
|
||||
|
||||
@Slot(QNetworkReply) # type: ignore
|
||||
def getDone(self, reply: QNetworkReply) -> None:
|
||||
dest = QFile("." + reply.url().path())
|
||||
dest.open(QFile.OpenModeFlag.WriteOnly)
|
||||
dest.write(reply.readAll())
|
||||
dest.close()
|
||||
@@ -117,33 +158,34 @@ class docketTableView(QTableView):
|
||||
self.pdf.load_pdf(dest)
|
||||
self.pdf.show()
|
||||
return
|
||||
|
||||
@Slot(QModelIndex, str) # type: ignore
|
||||
|
||||
@Slot(QModelIndex, str) # type: ignore
|
||||
def doAnchor(self, index: QModelIndex, anchor: str) -> None:
|
||||
url = QUrl(anchor)
|
||||
print(f"{index.row()}, {index.column()} -> {url.path()}")
|
||||
dirs = url.path().split('/')
|
||||
dirs = url.path().split("/")
|
||||
dirs.pop()
|
||||
dirs.pop(0)
|
||||
currentDir = QDir()
|
||||
path = '/'.join(dirs)
|
||||
path = "/".join(dirs)
|
||||
currentDir.mkpath(path)
|
||||
if QDir('.'+url.path()).exists():
|
||||
file = QFile('.'+url.path())
|
||||
if QDir("." + url.path()).exists():
|
||||
file = QFile("." + url.path())
|
||||
self.pdf = PDFViewer(self)
|
||||
self.pdf.load_pdf(file)
|
||||
self.pdf.show()
|
||||
else:
|
||||
self.manager.get(QNetworkRequest(url))
|
||||
return
|
||||
|
||||
def modelReset(self) -> None:
|
||||
model = self.model()
|
||||
red = QPalette()
|
||||
red.setColor(QPalette.ColorRole.Base, Qt.GlobalColor.red)
|
||||
for row in range(0, model.rowCount()):
|
||||
index = model.index(row,1)
|
||||
index = model.index(row, 1)
|
||||
widget = docketEntry()
|
||||
widget.setHtml(model.data(index,Qt.ItemDataRole.DisplayRole))
|
||||
widget.setHtml(model.data(index, Qt.ItemDataRole.DisplayRole))
|
||||
widget.setAutoFillBackground(False)
|
||||
widget.setReadOnly(True)
|
||||
widget.setPalette(red)
|
||||
|
||||
@@ -1,12 +1,13 @@
|
||||
from PySide6.QtCore import QFile
|
||||
from PySide6.QtWidgets import QDialog, QVBoxLayout, QWidget
|
||||
from PySide6.QtPdfWidgets import QPdfView
|
||||
from PySide6.QtPdf import QPdfDocument
|
||||
from PySide6.QtPdfWidgets import QPdfView
|
||||
from PySide6.QtWidgets import QDialog, QVBoxLayout, QWidget
|
||||
|
||||
|
||||
class PDFViewer(QDialog):
|
||||
pdf_view: QPdfView
|
||||
pdf_document: QPdfDocument
|
||||
|
||||
|
||||
def __init__(self, parent: QWidget) -> None:
|
||||
super(PDFViewer, self).__init__(parent)
|
||||
|
||||
|
||||
@@ -10,6 +10,7 @@ from PySide6.QtWidgets import (
|
||||
|
||||
from MainWindow import MainWindow
|
||||
|
||||
|
||||
def main() -> int:
|
||||
#
|
||||
app = QApplication(sys.argv)
|
||||
|
||||
Reference in New Issue
Block a user