Compare commits
2 Commits
be07589f24
...
a6316f27f6
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a6316f27f6 | ||
|
|
6129258f1b |
@@ -1,3 +1,4 @@
|
||||
import enum
|
||||
from typing import Any, cast
|
||||
|
||||
from PySide6.QtCore import (
|
||||
@@ -79,11 +80,19 @@ class activeDelegate(QStyledItemDelegate):
|
||||
|
||||
|
||||
class casesModel(QSqlTableModel):
|
||||
class ColumnNames(enum.IntEnum):
|
||||
case_id = 0
|
||||
docket_id = 1
|
||||
petitioners = 2
|
||||
respondents = 3
|
||||
date = 4
|
||||
active = 5
|
||||
|
||||
def flags(self, index: QModelIndex | QPersistentModelIndex) -> Qt.ItemFlag:
|
||||
if not index.isValid():
|
||||
return Qt.ItemFlag.NoItemFlags
|
||||
flags = super(casesModel, self).flags(index)
|
||||
if index.column() == 5:
|
||||
if index.column() == casesModel.ColumnNames.active:
|
||||
flags = (
|
||||
Qt.ItemFlag.ItemIsEnabled
|
||||
| Qt.ItemFlag.ItemIsEditable
|
||||
@@ -98,7 +107,7 @@ class casesModel(QSqlTableModel):
|
||||
) -> Any:
|
||||
if not index.isValid():
|
||||
return None
|
||||
if index.column() == 5:
|
||||
if index.column() == casesModel.ColumnNames.active:
|
||||
if role == Qt.ItemDataRole.CheckStateRole:
|
||||
value = super(casesModel, self).data(index)
|
||||
return (
|
||||
@@ -116,7 +125,10 @@ class casesModel(QSqlTableModel):
|
||||
value: Any,
|
||||
role: int = Qt.ItemDataRole.DisplayRole,
|
||||
) -> bool:
|
||||
if role == Qt.ItemDataRole.CheckStateRole and index.column() == 5:
|
||||
if (
|
||||
role == Qt.ItemDataRole.CheckStateRole
|
||||
and index.column() == casesModel.ColumnNames.active
|
||||
):
|
||||
super(casesModel, self).setData(index, 1 if value else 0)
|
||||
return True
|
||||
return super().setData(index, value, role)
|
||||
@@ -139,11 +151,27 @@ class MainWindow(QMainWindow, Ui_MainWindow):
|
||||
"1=1 ORDER BY SUBSTRING(docket_id, 1, 3), CAST(SUBSTRING(docket_id,4) AS INTEGER)"
|
||||
)
|
||||
model.select()
|
||||
model.setHeaderData(1, Qt.Orientation.Horizontal, "Docket")
|
||||
model.setHeaderData(2, Qt.Orientation.Horizontal, "Petitioners")
|
||||
model.setHeaderData(3, Qt.Orientation.Horizontal, "Respondents")
|
||||
model.setHeaderData(4, Qt.Orientation.Horizontal, "Date")
|
||||
model.setHeaderData(5, Qt.Orientation.Horizontal, "Active")
|
||||
model.setHeaderData(
|
||||
casesModel.ColumnNames.docket_id,
|
||||
Qt.Orientation.Horizontal,
|
||||
"Docket",
|
||||
)
|
||||
model.setHeaderData(
|
||||
casesModel.ColumnNames.petitioners,
|
||||
Qt.Orientation.Horizontal,
|
||||
"Petitioners",
|
||||
)
|
||||
model.setHeaderData(
|
||||
casesModel.ColumnNames.respondents,
|
||||
Qt.Orientation.Horizontal,
|
||||
"Respondents",
|
||||
)
|
||||
model.setHeaderData(
|
||||
casesModel.ColumnNames.date, Qt.Orientation.Horizontal, "Date"
|
||||
)
|
||||
model.setHeaderData(
|
||||
casesModel.ColumnNames.active, Qt.Orientation.Horizontal, "Active"
|
||||
)
|
||||
self.casesView.setModel(model)
|
||||
|
||||
self.casesView.setSelectionMode(
|
||||
@@ -152,23 +180,33 @@ class MainWindow(QMainWindow, Ui_MainWindow):
|
||||
self.casesView.setSelectionBehavior(
|
||||
QAbstractItemView.SelectionBehavior.SelectRows
|
||||
)
|
||||
self.casesView.hideColumn(0)
|
||||
self.casesView.hideColumn(casesModel.ColumnNames.case_id)
|
||||
self.casesView.setItemDelegate(activeDelegate())
|
||||
self.casesView.setItemDelegateForColumn(4, dateDelegate())
|
||||
self.casesView.resizeColumnToContents(1)
|
||||
self.casesView.resizeColumnToContents(4)
|
||||
self.casesView.setItemDelegateForColumn(
|
||||
casesModel.ColumnNames.date, dateDelegate()
|
||||
)
|
||||
self.casesView.resizeColumnToContents(casesModel.ColumnNames.docket_id)
|
||||
self.casesView.resizeColumnToContents(casesModel.ColumnNames.date)
|
||||
header = self.casesView.horizontalHeader()
|
||||
header.setSectionResizeMode(2, QHeaderView.ResizeMode.Fixed)
|
||||
header.setSectionResizeMode(3, QHeaderView.ResizeMode.Fixed)
|
||||
header.setSectionResizeMode(
|
||||
casesModel.ColumnNames.petitioners, QHeaderView.ResizeMode.Fixed
|
||||
)
|
||||
header.setSectionResizeMode(
|
||||
casesModel.ColumnNames.respondents, QHeaderView.ResizeMode.Fixed
|
||||
)
|
||||
self.show()
|
||||
remaining = (
|
||||
self.casesView.width()
|
||||
- header.sectionSize(1)
|
||||
- header.sectionSize(4)
|
||||
- header.sectionSize(casesModel.ColumnNames.docket_id)
|
||||
- header.sectionSize(casesModel.ColumnNames.date)
|
||||
- 5
|
||||
)
|
||||
self.casesView.setColumnWidth(2, int(remaining * 0.5))
|
||||
self.casesView.setColumnWidth(3, int(remaining * 0.5))
|
||||
self.casesView.setColumnWidth(
|
||||
casesModel.ColumnNames.petitioners, int(remaining * 0.5)
|
||||
)
|
||||
self.casesView.setColumnWidth(
|
||||
casesModel.ColumnNames.respondents, int(remaining * 0.5)
|
||||
)
|
||||
self.casesView.verticalHeader().hide()
|
||||
self.casesView.resizeRowsToContents()
|
||||
self.casesView.doubleClicked.connect(self.rowClicked)
|
||||
|
||||
@@ -1,10 +1,9 @@
|
||||
import datetime
|
||||
from typing import Any, cast
|
||||
import enum
|
||||
from typing import Any
|
||||
|
||||
from PySide6.QtCore import (
|
||||
QAbstractTableModel,
|
||||
QDate,
|
||||
QDateTime,
|
||||
QModelIndex,
|
||||
QPersistentModelIndex,
|
||||
Qt,
|
||||
@@ -18,6 +17,10 @@ from lib.utils import query_error
|
||||
class docketModel(QAbstractTableModel):
|
||||
entries: list[list[str | None]] = []
|
||||
|
||||
class ColumnNames(enum.IntEnum):
|
||||
date = 0
|
||||
text = 1
|
||||
|
||||
def __init__(self, case_id: int | None = None) -> None:
|
||||
super(docketModel, self).__init__()
|
||||
if case_id == None:
|
||||
|
||||
@@ -34,6 +34,7 @@ from PySide6.QtWidgets import (
|
||||
QWidget,
|
||||
)
|
||||
|
||||
from docketModel import docketModel
|
||||
from pdfView import PDFViewer
|
||||
|
||||
|
||||
@@ -84,6 +85,7 @@ class docketEntry(QTextEdit):
|
||||
|
||||
|
||||
class docketTableView(QTableView):
|
||||
|
||||
manager: QNetworkAccessManager
|
||||
clickedEvent = Signal(QPoint)
|
||||
anchorSignal = Signal(QModelIndex, str)
|
||||
@@ -139,7 +141,7 @@ class docketTableView(QTableView):
|
||||
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, docketModel.ColumnNames.text)
|
||||
widget = docketEntry()
|
||||
widget.setHtml(model.data(index, Qt.ItemDataRole.DisplayRole))
|
||||
widget.setAutoFillBackground(False)
|
||||
|
||||
Reference in New Issue
Block a user