Lint
This commit is contained in:
@@ -111,7 +111,7 @@ class MainWindow(QMainWindow, Ui_MainWindow):
|
||||
self.docketView.horizontalHeader().setSectionResizeMode(
|
||||
1, QHeaderView.ResizeMode.Stretch
|
||||
)
|
||||
#self.docketView.resizeRowsToContents()
|
||||
# self.docketView.resizeRowsToContents()
|
||||
# self.docketView.setItemDelegateForColumn(1, documentDelegate())
|
||||
return
|
||||
|
||||
|
||||
@@ -36,23 +36,32 @@ from PySide6.QtWidgets import (
|
||||
|
||||
from pdfView import PDFViewer
|
||||
|
||||
|
||||
class docketEntryDelegate(QStyledItemDelegate):
|
||||
def __init__(self, view: QAbstractItemView, parent: QWidget|None = None) -> None:
|
||||
def __init__(
|
||||
self, view: QAbstractItemView, parent: QWidget | None = None
|
||||
) -> None:
|
||||
super(docketEntryDelegate, self).__init__(parent)
|
||||
self.view = view
|
||||
return
|
||||
|
||||
def sizeHint(self, _: QStyleOptionViewItem, index: QModelIndex | QPersistentModelIndex) -> QSize:
|
||||
def sizeHint(
|
||||
self,
|
||||
_: QStyleOptionViewItem,
|
||||
index: QModelIndex | QPersistentModelIndex,
|
||||
) -> QSize:
|
||||
widget = self.view.indexWidget(index)
|
||||
return widget.sizeHint()
|
||||
|
||||
|
||||
|
||||
class docketEntry(QTextEdit):
|
||||
def __init__(self, parent: QWidget|None = None) -> None:
|
||||
def __init__(self, parent: QWidget | None = None) -> None:
|
||||
super(docketEntry, self).__init__(parent)
|
||||
self.setSizePolicy(QSizePolicy.Policy.Preferred ,
|
||||
QSizePolicy.Policy.Fixed)
|
||||
self.setSizePolicy(
|
||||
QSizePolicy.Policy.Preferred, QSizePolicy.Policy.Fixed
|
||||
)
|
||||
return
|
||||
|
||||
|
||||
def mousePressEvent(self, e: QMouseEvent) -> None:
|
||||
super().mousePressEvent(e)
|
||||
anchor = self.anchorAt(e.pos())
|
||||
@@ -73,6 +82,7 @@ class docketEntry(QTextEdit):
|
||||
docSize = doc.size()
|
||||
return QSize(size.width(), int(docSize.height()))
|
||||
|
||||
|
||||
class docketTableView(QTableView):
|
||||
manager: QNetworkAccessManager
|
||||
clickedEvent = Signal(QPoint)
|
||||
@@ -81,7 +91,7 @@ class docketTableView(QTableView):
|
||||
|
||||
def __init__(self, parent: QWidget | None = None) -> None:
|
||||
super(docketTableView, self).__init__(parent)
|
||||
self.setItemDelegateForColumn(1,docketEntryDelegate(self))
|
||||
self.setItemDelegateForColumn(1, docketEntryDelegate(self))
|
||||
self.anchorSignal.connect(self.doAnchor)
|
||||
self.manager = QNetworkAccessManager()
|
||||
self.manager.finished.connect(self.getDone)
|
||||
@@ -114,10 +124,10 @@ class docketTableView(QTableView):
|
||||
path = "/".join(dirs)
|
||||
currentDir.mkpath(path)
|
||||
print(f"Checking for .{url.path()} existance.")
|
||||
if not hasattr(self, 'pdf'):
|
||||
if not hasattr(self, "pdf"):
|
||||
self.pdf = PDFViewer(self)
|
||||
if QFile("." + url.path()).exists():
|
||||
self.pdf.open(QFile('.' + url.path()))
|
||||
self.pdf.open(QFile("." + url.path()))
|
||||
self.pdf.show()
|
||||
else:
|
||||
print(f"Fetching {url}")
|
||||
|
||||
@@ -21,10 +21,10 @@ def query_error(query: QSqlQuery) -> NoReturn:
|
||||
)
|
||||
raise Exception(translate("MainWindow", "SQL Error"))
|
||||
|
||||
|
||||
class QStyleOptionViewItemInit(QStyleOptionViewItem):
|
||||
backgroundBrush: QColor
|
||||
rect: QRect
|
||||
widget: QWidget
|
||||
font: QFont
|
||||
text: str
|
||||
|
||||
|
||||
71
pdfView.py
71
pdfView.py
@@ -4,35 +4,54 @@ from PySide6.QtCore import QFile, QModelIndex, QPoint, Signal, Slot
|
||||
from PySide6.QtPdf import QPdfBookmarkModel, QPdfDocument
|
||||
from PySide6.QtPdfWidgets import QPdfView
|
||||
from PySide6.QtWidgets import QComboBox, QDialog, QMenuBar, QSpinBox, QWidget
|
||||
|
||||
from ui.pdfViewer import Ui_pdfViewer
|
||||
|
||||
ZOOM_MULTIPLIER = math.sqrt(2.0)
|
||||
|
||||
|
||||
class ZoomSelector(QComboBox):
|
||||
zoom_mode_changed = Signal(QPdfView.ZoomMode)
|
||||
zoom_factor_changed = Signal(float)
|
||||
|
||||
def __init__(self, parent: QWidget|None = None) -> None:
|
||||
|
||||
def __init__(self, parent: QWidget | None = None) -> None:
|
||||
super(ZoomSelector, self).__init__(parent)
|
||||
self.setEditable(True)
|
||||
|
||||
for text in [ 'Fit Width', 'Fit Page', '12%', '25%', '33%', '50%', '66%', '75%', '100%', '125%', '150%', '200%', '400%']:
|
||||
for text in [
|
||||
"Fit Width",
|
||||
"Fit Page",
|
||||
"12%",
|
||||
"25%",
|
||||
"33%",
|
||||
"50%",
|
||||
"66%",
|
||||
"75%",
|
||||
"100%",
|
||||
"125%",
|
||||
"150%",
|
||||
"200%",
|
||||
"400%",
|
||||
]:
|
||||
self.addItem(text)
|
||||
self.currentTextChanged.connect(self.on_current_text_changed)
|
||||
lineEdit = self.lineEdit()
|
||||
assert lineEdit is not None
|
||||
lineEdit.editingFinished.connect(self._editing_finished)
|
||||
return
|
||||
@Slot(float) # type: ignore
|
||||
|
||||
@Slot(float) # type: ignore
|
||||
def set_zoom_factor(self, zoomFactor: float) -> None:
|
||||
percent = int(zoomFactor * 100)
|
||||
self.setCurrentText(f"{percent}%")
|
||||
return
|
||||
|
||||
@Slot()
|
||||
def reset(self) -> None:
|
||||
self.setCurrentIndex(8) # 100%
|
||||
self.setCurrentIndex(8) # 100%
|
||||
return
|
||||
@Slot(str) # type: ignore
|
||||
|
||||
@Slot(str) # type: ignore
|
||||
def on_current_text_changed(self, text: str) -> None:
|
||||
if text == "Fit Width":
|
||||
self.zoom_mode_changed.emit(QPdfView.ZoomMode.FitToWidth)
|
||||
@@ -44,13 +63,14 @@ class ZoomSelector(QComboBox):
|
||||
self.zoom_mode_changed.emit(QPdfView.ZoomMode.Custom)
|
||||
self.zoom_factor_changed.emit(factor)
|
||||
return
|
||||
|
||||
@Slot()
|
||||
def _editing_finished(self) -> None:
|
||||
lineEdit = self.lineEdit()
|
||||
assert lineEdit is not None
|
||||
self.on_current_text_changed(lineEdit.text())
|
||||
return
|
||||
|
||||
|
||||
|
||||
class PDFViewer(QDialog, Ui_pdfViewer):
|
||||
menubar: QMenuBar
|
||||
@@ -75,7 +95,9 @@ class PDFViewer(QDialog, Ui_pdfViewer):
|
||||
nav.backAvailableChanged.connect(self.actionBack.setEnabled)
|
||||
nav.forwardAvailableChanged.connect(self.actionForward.setEnabled)
|
||||
self.zoomSelector.zoom_mode_changed.connect(self.pdfView.setZoomMode)
|
||||
self.zoomSelector.zoom_factor_changed.connect(self.pdfView.setZoomFactor)
|
||||
self.zoomSelector.zoom_factor_changed.connect(
|
||||
self.pdfView.setZoomFactor
|
||||
)
|
||||
self.zoomSelector.reset()
|
||||
|
||||
bookmark_model = QPdfBookmarkModel(self)
|
||||
@@ -84,25 +106,29 @@ class PDFViewer(QDialog, Ui_pdfViewer):
|
||||
self.bookmarkView.setModel(bookmark_model)
|
||||
self.bookmarkView.activated.connect(self.bookmark_selected)
|
||||
|
||||
self.tabWidget.setTabEnabled(1, False) # disable pages tabwidget
|
||||
self.tabWidget.setTabEnabled(1, False) # disable pages tabwidget
|
||||
self.pdfView.setDocument(self.document)
|
||||
self.pdfView.zoomFactorChanged.connect(self.zoomSelector.set_zoom_factor)
|
||||
self.pdfView.zoomFactorChanged.connect(
|
||||
self.zoomSelector.set_zoom_factor
|
||||
)
|
||||
return
|
||||
|
||||
@Slot(QFile) # type: ignore
|
||||
@Slot(QFile) # type: ignore
|
||||
def open(self, file: QFile) -> None:
|
||||
#assert file.exists()
|
||||
#if not file.isOpen():
|
||||
#file.open(QFile.OpenModeFlag.ReadOnly)
|
||||
#self.document.load(file)
|
||||
# assert file.exists()
|
||||
# if not file.isOpen():
|
||||
# file.open(QFile.OpenModeFlag.ReadOnly)
|
||||
# self.document.load(file)
|
||||
self.document.load(file.fileName())
|
||||
document_title = self.document.metaData(QPdfDocument.MetaDataField.Title)
|
||||
document_title = self.document.metaData(
|
||||
QPdfDocument.MetaDataField.Title
|
||||
)
|
||||
self.setWindowTitle(document_title if document_title else "PDF Viewer")
|
||||
self.page_selected(0)
|
||||
self.pageSelector.setMaximum(self.document.pageCount() -1 )
|
||||
self.pageSelector.setMaximum(self.document.pageCount() - 1)
|
||||
return
|
||||
|
||||
@Slot(QModelIndex) # type: ignore
|
||||
@Slot(QModelIndex) # type: ignore
|
||||
def bookmark_selected(self, index: QModelIndex) -> None:
|
||||
if not index.isValid():
|
||||
return
|
||||
@@ -114,7 +140,7 @@ class PDFViewer(QDialog, Ui_pdfViewer):
|
||||
nav.jump(page, QPoint(), zoom_level)
|
||||
return
|
||||
|
||||
@Slot(int) # type: ignore
|
||||
@Slot(int) # type: ignore
|
||||
def page_selected(self, page: int) -> None:
|
||||
nav = self.pdfView.pageNavigator()
|
||||
nav.jump(page, QPoint(), nav.currentZoom())
|
||||
@@ -157,7 +183,11 @@ class PDFViewer(QDialog, Ui_pdfViewer):
|
||||
@Slot()
|
||||
def on_actionContinuous_triggered(self) -> None:
|
||||
cont_checked = self.actionContinuous.isChecked()
|
||||
mode = QPdfView.PageMode.MultiPage if cont_checked else QPdfView.PageMode.SinglePage
|
||||
mode = (
|
||||
QPdfView.PageMode.MultiPage
|
||||
if cont_checked
|
||||
else QPdfView.PageMode.SinglePage
|
||||
)
|
||||
self.pdfView.setPageMode(mode)
|
||||
return
|
||||
|
||||
@@ -170,4 +200,3 @@ class PDFViewer(QDialog, Ui_pdfViewer):
|
||||
def on_actionForward_triggered(self) -> None:
|
||||
self.pdfView.pageNavigator().forward()
|
||||
return
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
#!venv/bin/python3
|
||||
import sys
|
||||
import faulthandler
|
||||
import sys
|
||||
|
||||
from PySide6.QtSql import (
|
||||
QSqlDatabase,
|
||||
)
|
||||
@@ -12,6 +13,7 @@ faulthandler.enable()
|
||||
|
||||
from MainWindow import MainWindow
|
||||
|
||||
|
||||
def main() -> int:
|
||||
#
|
||||
app = QApplication(sys.argv)
|
||||
|
||||
Reference in New Issue
Block a user