Compare commits
2 Commits
1bdd6f0c1e
...
92ad7efaad
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
92ad7efaad | ||
|
|
f68e6c65cc |
@@ -1,15 +1,18 @@
|
|||||||
from typing import Any, cast
|
from typing import Any, cast
|
||||||
|
|
||||||
from PySide6.QtCore import (
|
from PySide6.QtCore import (
|
||||||
|
QByteArray,
|
||||||
QDate,
|
QDate,
|
||||||
QModelIndex,
|
QModelIndex,
|
||||||
QPersistentModelIndex,
|
QPersistentModelIndex,
|
||||||
QPoint,
|
QPoint,
|
||||||
|
QSettings,
|
||||||
Qt,
|
Qt,
|
||||||
Signal,
|
Signal,
|
||||||
Slot,
|
Slot,
|
||||||
)
|
)
|
||||||
from PySide6.QtGui import (
|
from PySide6.QtGui import (
|
||||||
|
QCloseEvent,
|
||||||
QColor,
|
QColor,
|
||||||
)
|
)
|
||||||
from PySide6.QtSql import QSqlTableModel
|
from PySide6.QtSql import QSqlTableModel
|
||||||
@@ -22,7 +25,7 @@ from PySide6.QtWidgets import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
from docketModel import docketModel
|
from docketModel import docketModel
|
||||||
from lib.utils import QStyleOptionViewItemInit
|
from lib.utils import QStyleOptionViewItemInit, readGeometry, writeGeometry
|
||||||
from ui.MainWindow import Ui_MainWindow
|
from ui.MainWindow import Ui_MainWindow
|
||||||
from workers import updateThread
|
from workers import updateThread
|
||||||
|
|
||||||
@@ -118,10 +121,10 @@ class MainWindow(QMainWindow, Ui_MainWindow):
|
|||||||
def __init__(self) -> None:
|
def __init__(self) -> None:
|
||||||
super(MainWindow, self).__init__()
|
super(MainWindow, self).__init__()
|
||||||
self.setupUi(self)
|
self.setupUi(self)
|
||||||
|
readGeometry(self)
|
||||||
|
|
||||||
model = casesModel()
|
model = casesModel()
|
||||||
model.setTable("cases")
|
model.setTable("cases")
|
||||||
# model.sort(1, Qt.SortOrder.AscendingOrder)
|
|
||||||
model.setFilter(
|
model.setFilter(
|
||||||
"1=1 ORDER BY SUBSTRING(docket_id, 1, 3), CAST(SUBSTRING(docket_id,4) AS INTEGER)"
|
"1=1 ORDER BY SUBSTRING(docket_id, 1, 3), CAST(SUBSTRING(docket_id,4) AS INTEGER)"
|
||||||
)
|
)
|
||||||
@@ -166,10 +169,12 @@ class MainWindow(QMainWindow, Ui_MainWindow):
|
|||||||
self.docketView.horizontalHeader().setSectionResizeMode(
|
self.docketView.horizontalHeader().setSectionResizeMode(
|
||||||
1, QHeaderView.ResizeMode.Stretch
|
1, QHeaderView.ResizeMode.Stretch
|
||||||
)
|
)
|
||||||
# self.docketView.resizeRowsToContents()
|
|
||||||
# self.docketView.setItemDelegateForColumn(1, documentDelegate())
|
|
||||||
return
|
return
|
||||||
|
|
||||||
|
def closeEvent(self, event: QCloseEvent) -> None:
|
||||||
|
writeGeometry(self)
|
||||||
|
super().closeEvent(event)
|
||||||
|
return
|
||||||
@Slot(QModelIndex) # type: ignore
|
@Slot(QModelIndex) # type: ignore
|
||||||
def rowClicked(self, index: QModelIndex) -> None:
|
def rowClicked(self, index: QModelIndex) -> None:
|
||||||
if not index.isValid():
|
if not index.isValid():
|
||||||
|
|||||||
23
lib/utils.py
23
lib/utils.py
@@ -1,6 +1,6 @@
|
|||||||
from typing import NoReturn, cast
|
from typing import NoReturn, cast
|
||||||
|
|
||||||
from PySide6.QtCore import QCoreApplication, QObject, QRect, Signal
|
from PySide6.QtCore import QByteArray, QCoreApplication, QObject, QRect, QSettings, Signal
|
||||||
from PySide6.QtGui import QColor, QFont
|
from PySide6.QtGui import QColor, QFont
|
||||||
from PySide6.QtSql import QSqlQuery
|
from PySide6.QtSql import QSqlQuery
|
||||||
from PySide6.QtWidgets import QStyleOptionViewItem, QWidget
|
from PySide6.QtWidgets import QStyleOptionViewItem, QWidget
|
||||||
@@ -28,3 +28,24 @@ class QStyleOptionViewItemInit(QStyleOptionViewItem):
|
|||||||
widget: QWidget
|
widget: QWidget
|
||||||
font: QFont
|
font: QFont
|
||||||
text: str
|
text: str
|
||||||
|
|
||||||
|
def openSettings(group:str|None = None) -> QSettings:
|
||||||
|
settings = QSettings("Troglodite Services", "SCOTUS Watch")
|
||||||
|
if group is not None:
|
||||||
|
settings.beginGroup(group)
|
||||||
|
return settings
|
||||||
|
|
||||||
|
def readGeometry(widget:QWidget) -> None:
|
||||||
|
settings = openSettings(widget.objectName())
|
||||||
|
geometry = settings.value('geometry', QByteArray())
|
||||||
|
assert isinstance(geometry, QByteArray)
|
||||||
|
if not geometry.isEmpty():
|
||||||
|
widget.restoreGeometry(geometry)
|
||||||
|
settings.endGroup()
|
||||||
|
return
|
||||||
|
|
||||||
|
def writeGeometry(widget: QWidget) -> None:
|
||||||
|
settings = openSettings(widget.objectName())
|
||||||
|
settings.setValue('geometry', widget.saveGeometry())
|
||||||
|
settings.endGroup()
|
||||||
|
return
|
||||||
|
|||||||
11
pdfView.py
11
pdfView.py
@@ -1,10 +1,12 @@
|
|||||||
import math
|
import math
|
||||||
|
|
||||||
from PySide6.QtCore import QFile, QModelIndex, QPoint, Signal, Slot
|
from PySide6.QtCore import QFile, QModelIndex, QPoint, Signal, Slot
|
||||||
|
from PySide6.QtGui import QCloseEvent
|
||||||
from PySide6.QtPdf import QPdfBookmarkModel, QPdfDocument
|
from PySide6.QtPdf import QPdfBookmarkModel, QPdfDocument
|
||||||
from PySide6.QtPdfWidgets import QPdfView
|
from PySide6.QtPdfWidgets import QPdfView
|
||||||
from PySide6.QtWidgets import QComboBox, QDialog, QMenuBar, QSpinBox, QWidget
|
from PySide6.QtWidgets import QComboBox, QDialog, QMenuBar, QSpinBox, QWidget
|
||||||
|
|
||||||
|
from lib.utils import readGeometry, writeGeometry
|
||||||
from ui.pdfViewer import Ui_pdfViewer
|
from ui.pdfViewer import Ui_pdfViewer
|
||||||
|
|
||||||
ZOOM_MULTIPLIER = math.sqrt(2.0)
|
ZOOM_MULTIPLIER = math.sqrt(2.0)
|
||||||
@@ -81,7 +83,9 @@ class PDFViewer(QDialog, Ui_pdfViewer):
|
|||||||
def __init__(self, parent: QWidget | None) -> None:
|
def __init__(self, parent: QWidget | None) -> None:
|
||||||
super(PDFViewer, self).__init__(parent)
|
super(PDFViewer, self).__init__(parent)
|
||||||
self.setupUi(self)
|
self.setupUi(self)
|
||||||
|
self.setObjectName('PDFViewer')
|
||||||
|
readGeometry(self)
|
||||||
|
print(self.objectName())
|
||||||
self.zoomSelector = ZoomSelector(self)
|
self.zoomSelector = ZoomSelector(self)
|
||||||
self.pageSelector = QSpinBox(self)
|
self.pageSelector = QSpinBox(self)
|
||||||
self.document = QPdfDocument(self)
|
self.document = QPdfDocument(self)
|
||||||
@@ -113,6 +117,11 @@ class PDFViewer(QDialog, Ui_pdfViewer):
|
|||||||
)
|
)
|
||||||
return
|
return
|
||||||
|
|
||||||
|
def closeEvent(self, event: QCloseEvent) -> None:
|
||||||
|
writeGeometry(self)
|
||||||
|
super().closeEvent(event)
|
||||||
|
return
|
||||||
|
|
||||||
@Slot(QFile) # type: ignore
|
@Slot(QFile) # type: ignore
|
||||||
def open(self, file: QFile) -> None:
|
def open(self, file: QFile) -> None:
|
||||||
# assert file.exists()
|
# assert file.exists()
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
import faulthandler
|
import faulthandler
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
|
from PySide6.QtCore import QSettings
|
||||||
from PySide6.QtSql import (
|
from PySide6.QtSql import (
|
||||||
QSqlDatabase,
|
QSqlDatabase,
|
||||||
)
|
)
|
||||||
@@ -9,6 +10,8 @@ from PySide6.QtWidgets import (
|
|||||||
QApplication,
|
QApplication,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
from lib.utils import openSettings
|
||||||
|
|
||||||
faulthandler.enable()
|
faulthandler.enable()
|
||||||
|
|
||||||
from MainWindow import MainWindow
|
from MainWindow import MainWindow
|
||||||
@@ -17,11 +20,13 @@ from MainWindow import MainWindow
|
|||||||
def main() -> int:
|
def main() -> int:
|
||||||
#
|
#
|
||||||
app = QApplication(sys.argv)
|
app = QApplication(sys.argv)
|
||||||
|
settings = openSettings('database')
|
||||||
db = QSqlDatabase.addDatabase("QMYSQL")
|
db = QSqlDatabase.addDatabase("QMYSQL")
|
||||||
db.setHostName("ceph5")
|
db.setHostName(settings.value("hostname"))
|
||||||
db.setDatabaseName("scotus")
|
db.setDatabaseName(settings.value("databasename","scotus")) # type: ignore
|
||||||
db.setUserName("scotus")
|
db.setUserName(settings.value("user","scotus")) # type: ignore
|
||||||
db.setPassword("lechOtvirf8Om/")
|
db.setPassword(settings.value("password"))
|
||||||
|
settings.endGroup()
|
||||||
db.open()
|
db.open()
|
||||||
import lib.dbConfig
|
import lib.dbConfig
|
||||||
|
|
||||||
|
|||||||
@@ -1,3 +0,0 @@
|
|||||||
#+AUTHOR: Christopher T. Johnson
|
|
||||||
#+STARTUP: indent
|
|
||||||
#+OPTIONS: num:nil toc:nil
|
|
||||||
Reference in New Issue
Block a user