mirror of
https://github.com/arsenetar/dupeguru.git
synced 2026-02-02 03:21:39 +00:00
More updates for pyqt6
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
from typing import Tuple, List, Union
|
||||
from PyQt5.QtGui import QImage
|
||||
from PyQt6.QtGui import QImage
|
||||
|
||||
_block = Tuple[int, int, int]
|
||||
|
||||
|
||||
@@ -6,8 +6,9 @@
|
||||
# which should be included with this package. The terms are also available at
|
||||
# http://www.gnu.org/licenses/gpl-3.0.html
|
||||
|
||||
from PyQt5.QtCore import Qt
|
||||
from PyQt5.QtWidgets import (
|
||||
from PyQt6.QtCore import Qt
|
||||
from PyQt6.QtGui import QShowEvent
|
||||
from PyQt6.QtWidgets import (
|
||||
QDialog,
|
||||
QVBoxLayout,
|
||||
QHBoxLayout,
|
||||
@@ -17,8 +18,10 @@ from PyQt5.QtWidgets import (
|
||||
QLabel,
|
||||
QTableView,
|
||||
QAbstractItemView,
|
||||
QWidget,
|
||||
)
|
||||
|
||||
from core.gui.problem_dialog import ProblemDialog as ProblemDiaglogModel
|
||||
from qt.util import move_to_screen_center
|
||||
from hscommon.trans import trget
|
||||
from qt.problem_table import ProblemTable
|
||||
@@ -27,52 +30,56 @@ tr = trget("ui")
|
||||
|
||||
|
||||
class ProblemDialog(QDialog):
|
||||
def __init__(self, parent, model, **kwargs):
|
||||
flags = Qt.CustomizeWindowHint | Qt.WindowTitleHint | Qt.WindowSystemMenuHint
|
||||
def __init__(self, parent: QWidget, model: ProblemDiaglogModel, **kwargs) -> None:
|
||||
flags = Qt.WindowType.CustomizeWindowHint | Qt.WindowType.WindowTitleHint | Qt.WindowType.WindowSystemMenuHint
|
||||
super().__init__(parent, flags, **kwargs)
|
||||
self._setupUi()
|
||||
self.model = model
|
||||
self.model.view = self
|
||||
self.table = ProblemTable(self.model.problem_table, view=self.tableView)
|
||||
self.table_view = QTableView(self)
|
||||
self.table = ProblemTable(self.model.problem_table, view=self.table_view)
|
||||
self._setupUi()
|
||||
|
||||
self.revealButton.clicked.connect(self.model.reveal_selected_dupe)
|
||||
self.closeButton.clicked.connect(self.accept)
|
||||
|
||||
def _setupUi(self):
|
||||
def _setupUi(self) -> None:
|
||||
self.setWindowTitle(tr("Problems!"))
|
||||
self.resize(413, 323)
|
||||
self.verticalLayout = QVBoxLayout(self)
|
||||
self.label = QLabel(self)
|
||||
main_layout = QVBoxLayout(self)
|
||||
notice_label = QLabel(self)
|
||||
msg = tr(
|
||||
"There were problems processing some (or all) of the files. The cause of "
|
||||
"these problems are described in the table below. Those files were not "
|
||||
"removed from your results."
|
||||
)
|
||||
self.label.setText(msg)
|
||||
self.label.setWordWrap(True)
|
||||
self.verticalLayout.addWidget(self.label)
|
||||
self.tableView = QTableView(self)
|
||||
self.tableView.setEditTriggers(QAbstractItemView.NoEditTriggers)
|
||||
self.tableView.setSelectionMode(QAbstractItemView.SingleSelection)
|
||||
self.tableView.setSelectionBehavior(QAbstractItemView.SelectRows)
|
||||
self.tableView.setShowGrid(False)
|
||||
self.tableView.horizontalHeader().setStretchLastSection(True)
|
||||
self.tableView.verticalHeader().setDefaultSectionSize(18)
|
||||
self.tableView.verticalHeader().setHighlightSections(False)
|
||||
self.verticalLayout.addWidget(self.tableView)
|
||||
self.horizontalLayout = QHBoxLayout()
|
||||
self.revealButton = QPushButton(self)
|
||||
self.revealButton.setText(tr("Reveal Selected"))
|
||||
self.horizontalLayout.addWidget(self.revealButton)
|
||||
spacer_item = QSpacerItem(40, 20, QSizePolicy.Expanding, QSizePolicy.Minimum)
|
||||
self.horizontalLayout.addItem(spacer_item)
|
||||
self.closeButton = QPushButton(self)
|
||||
self.closeButton.setText(tr("Close"))
|
||||
self.closeButton.setDefault(True)
|
||||
self.horizontalLayout.addWidget(self.closeButton)
|
||||
self.verticalLayout.addLayout(self.horizontalLayout)
|
||||
notice_label.setText(msg)
|
||||
notice_label.setWordWrap(True)
|
||||
main_layout.addWidget(notice_label)
|
||||
|
||||
def showEvent(self, event):
|
||||
self.table_view.setEditTriggers(QAbstractItemView.EditTrigger.NoEditTriggers)
|
||||
self.table_view.setSelectionMode(QAbstractItemView.SelectionMode.SingleSelection)
|
||||
self.table_view.setSelectionBehavior(QAbstractItemView.SelectionBehavior.SelectRows)
|
||||
self.table_view.setShowGrid(False)
|
||||
self.table_view.horizontalHeader().setStretchLastSection(True)
|
||||
self.table_view.verticalHeader().setDefaultSectionSize(18)
|
||||
self.table_view.verticalHeader().setHighlightSections(False)
|
||||
main_layout.addWidget(self.table_view)
|
||||
|
||||
button_layout = QHBoxLayout()
|
||||
reveal_button = QPushButton(self)
|
||||
reveal_button.setText(tr("Reveal Selected"))
|
||||
button_layout.addWidget(reveal_button)
|
||||
|
||||
spacer_item = QSpacerItem(40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum)
|
||||
button_layout.addItem(spacer_item)
|
||||
|
||||
close_button = QPushButton(self)
|
||||
close_button.setText(tr("Close"))
|
||||
close_button.setDefault(True)
|
||||
button_layout.addWidget(close_button)
|
||||
|
||||
main_layout.addLayout(button_layout)
|
||||
|
||||
reveal_button.clicked.connect(self.model.reveal_selected_dupe)
|
||||
close_button.clicked.connect(self.accept)
|
||||
|
||||
def showEvent(self, event: QShowEvent) -> None:
|
||||
# have to do this here as the frameGeometry is not correct until shown
|
||||
move_to_screen_center(self)
|
||||
super().showEvent(event)
|
||||
|
||||
Reference in New Issue
Block a user