diff --git a/ui/designer/components/ocrQueue.ui b/ui/designer/components/ocrQueue.ui index 3c85a0e..e6deb4b 100644 --- a/ui/designer/components/ocrQueue.ui +++ b/ui/designer/components/ocrQueue.ui @@ -13,182 +13,193 @@ OcrQueue - + - - - queue.title - - - - - - iccOptionsGroupBox - - - - - - icc.ignore - - - - - - - icc.usePIL - - - true - - - - - - - icc.tryFix - - - - - - - - - - queue.addImageButton - - - - - - - true - - - queue.removeSelected - - - - - - - true - - - queue.removeAll - - - - - - - Qt::Vertical - - - - 20 - 40 - - - - - - - - queue.startOcrButton - - - - - - - - + - - - QAbstractItemView::DoubleClicked|QAbstractItemView::EditKeyPressed - - - QAbstractItemView::MultiSelection - - - QAbstractItemView::SelectRows - - - QAbstractItemView::ScrollPerPixel - - - QAbstractItemView::ScrollPerPixel + + + queue.title + + + + + iccOptionsGroupBox + + + + + + icc.ignore + + + + + + + icc.usePIL + + + true + + + + + + + icc.tryFix + + + + + + + + + + queue.addImageButton + + + + + + + true + + + queue.removeSelected + + + + + + + true + + + queue.removeAll + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + queue.startOcrButton + + + + - - - 0 - - - 0 - - - 0 - - - Qt::AlignCenter - - - %v/%m - %p% + + + + + QAbstractItemView::DoubleClicked|QAbstractItemView::EditKeyPressed + + + QAbstractItemView::MultiSelection + + + QAbstractItemView::SelectRows + + + QAbstractItemView::ScrollPerPixel + + + QAbstractItemView::ScrollPerPixel + + + + + + + 0 + + + 0 + + + 0 + + + Qt::AlignCenter + + + %v/%m - %p% + + + + + + + + + results + + + + + true + + + results.acceptSelectedButton + + + + + + + results.acceptAllButton + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + results.ignoreValidate + + + + - - - results + + + - - - - - true - - - results.acceptSelectedButton - - - - - - - results.acceptAllButton - - - - - - - Qt::Vertical - - - - 20 - 40 - - - - - - - - results.ignoreValidate - - - - diff --git a/ui/designer/components/ocrQueue_ui.py b/ui/designer/components/ocrQueue_ui.py index 2155d22..459bb67 100644 --- a/ui/designer/components/ocrQueue_ui.py +++ b/ui/designer/components/ocrQueue_ui.py @@ -16,9 +16,9 @@ from PySide6.QtGui import (QBrush, QColor, QConicalGradient, QCursor, QImage, QKeySequence, QLinearGradient, QPainter, QPalette, QPixmap, QRadialGradient, QTransform) from PySide6.QtWidgets import (QAbstractItemView, QApplication, QCheckBox, QGroupBox, - QHBoxLayout, QHeaderView, QProgressBar, QPushButton, - QRadioButton, QSizePolicy, QSpacerItem, QTableView, - QVBoxLayout, QWidget) + QHBoxLayout, QHeaderView, QLabel, QProgressBar, + QPushButton, QRadioButton, QSizePolicy, QSpacerItem, + QTableView, QVBoxLayout, QWidget) class Ui_OcrQueue(object): def setupUi(self, OcrQueue): @@ -26,8 +26,10 @@ class Ui_OcrQueue(object): OcrQueue.setObjectName(u"OcrQueue") OcrQueue.resize(650, 400) OcrQueue.setWindowTitle(u"OcrQueue") - self.horizontalLayout_2 = QHBoxLayout(OcrQueue) - self.horizontalLayout_2.setObjectName(u"horizontalLayout_2") + self.verticalLayout_5 = QVBoxLayout(OcrQueue) + self.verticalLayout_5.setObjectName(u"verticalLayout_5") + self.horizontalLayout = QHBoxLayout() + self.horizontalLayout.setObjectName(u"horizontalLayout") self.groupBox_3 = QGroupBox(OcrQueue) self.groupBox_3.setObjectName(u"groupBox_3") self.verticalLayout_2 = QVBoxLayout(self.groupBox_3) @@ -82,7 +84,7 @@ class Ui_OcrQueue(object): self.verticalLayout_2.addWidget(self.ocr_startButton) - self.horizontalLayout_2.addWidget(self.groupBox_3) + self.horizontalLayout.addWidget(self.groupBox_3) self.verticalLayout_3 = QVBoxLayout() self.verticalLayout_3.setObjectName(u"verticalLayout_3") @@ -107,7 +109,7 @@ class Ui_OcrQueue(object): self.verticalLayout_3.addWidget(self.progressBar) - self.horizontalLayout_2.addLayout(self.verticalLayout_3) + self.horizontalLayout.addLayout(self.verticalLayout_3) self.groupBox_5 = QGroupBox(OcrQueue) self.groupBox_5.setObjectName(u"groupBox_5") @@ -134,7 +136,15 @@ class Ui_OcrQueue(object): self.verticalLayout_4.addWidget(self.ocr_ignoreValidateCheckBox) - self.horizontalLayout_2.addWidget(self.groupBox_5) + self.horizontalLayout.addWidget(self.groupBox_5) + + + self.verticalLayout_5.addLayout(self.horizontalLayout) + + self.statusLabel = QLabel(OcrQueue) + self.statusLabel.setObjectName(u"statusLabel") + + self.verticalLayout_5.addWidget(self.statusLabel) self.retranslateUi(OcrQueue) @@ -156,6 +166,7 @@ class Ui_OcrQueue(object): self.ocr_acceptSelectedButton.setText(QCoreApplication.translate("OcrQueue", u"results.acceptSelectedButton", None)) self.ocr_acceptAllButton.setText(QCoreApplication.translate("OcrQueue", u"results.acceptAllButton", None)) self.ocr_ignoreValidateCheckBox.setText(QCoreApplication.translate("OcrQueue", u"results.ignoreValidate", None)) + self.statusLabel.setText("") pass # retranslateUi diff --git a/ui/implements/components/ocrQueue.py b/ui/implements/components/ocrQueue.py index 1b97087..7afcef8 100644 --- a/ui/implements/components/ocrQueue.py +++ b/ui/implements/components/ocrQueue.py @@ -43,6 +43,10 @@ class OcrQueue(Ui_OcrQueue, QWidget): self.iccOptionButtonGroup.addButton(self.iccTryFixRadioButton, 2) self.updateIccOption() + self.statusLabelClearTimer = QTimer(self) + self.statusLabelClearTimer.setSingleShot(True) + self.statusLabelClearTimer.timeout.connect(self.clearStatusMessage) + def model(self): return self.__model @@ -88,6 +92,13 @@ class OcrQueue(Ui_OcrQueue, QWidget): if self.model(): self.model().iccOption = self.iccOptionButtonGroup.checkedId() + def showStatusMessage(self, message: str): + self.statusLabel.setText(message) + self.statusLabelClearTimer.start() + + def clearStatusMessage(self): + self.statusLabel.setText("") + def resizeTableView(self): self.tableView.resizeRowsToContents() self.tableView.resizeColumnsToContents() diff --git a/ui/implements/tabs/tabOcr/tabOcr_Device.py b/ui/implements/tabs/tabOcr/tabOcr_Device.py index 52a4aad..dc40980 100644 --- a/ui/implements/tabs/tabOcr/tabOcr_Device.py +++ b/ui/implements/tabs/tabOcr/tabOcr_Device.py @@ -7,7 +7,7 @@ from arcaea_offline_ocr.device.v1.definition import DeviceV1 from arcaea_offline_ocr.device.v2.definition import DeviceV2 from arcaea_offline_ocr.sift_db import SIFTDatabase from PySide6.QtCore import Qt, Slot -from PySide6.QtWidgets import QFileDialog, QWidget +from PySide6.QtWidgets import QApplication, QFileDialog, QWidget from ui.designer.tabs.tabOcr.tabOcr_Device_ui import Ui_TabOcr_Device from ui.extends.components.ocrQueue import OcrQueueModel @@ -101,6 +101,7 @@ class TabOcr_Device(Ui_TabOcr_Device, QWidget): ) for file in files: self.ocrQueueModel.addItem(file) + QApplication.processEvents() self.ocrQueue.resizeTableView() @Slot()