mirror of
https://github.com/ciromattia/kcc
synced 2026-10-19 16:02:33 +00:00
fix label feature on Windows (#1413)
This commit is contained in:
@@ -773,6 +773,12 @@ Keeping this file may crash some readers like the Kobo native CBZ reader.</strin
|
|||||||
</item>
|
</item>
|
||||||
<item row="0" column="1">
|
<item row="0" column="1">
|
||||||
<widget class="QPushButton" name="labelSpreadsButton">
|
<widget class="QPushButton" name="labelSpreadsButton">
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>0</width>
|
||||||
|
<height>30</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Label Spreads</string>
|
<string>Label Spreads</string>
|
||||||
</property>
|
</property>
|
||||||
|
|||||||
@@ -730,13 +730,14 @@ class KCCGUI(KCC_ui.Ui_mainWindow):
|
|||||||
dst.save(os.path.join(workdir, f'label-{i:04}.png'))
|
dst.save(os.path.join(workdir, f'label-{i:04}.png'))
|
||||||
images.append(os.path.join(workdir, f'label-{i:04}.png'))
|
images.append(os.path.join(workdir, f'label-{i:04}.png'))
|
||||||
|
|
||||||
dlg = LabelSpreadsDialog(APP.primaryScreen().availableGeometry().height(), images, spreads)
|
if images:
|
||||||
dlg.setWindowTitle(job)
|
dlg = LabelSpreadsDialog(APP.primaryScreen().availableGeometry().height(), images, spreads)
|
||||||
if dlg.exec() == 1:
|
dlg.setWindowTitle(job)
|
||||||
with open(job+'.json', "w") as fp:
|
if dlg.exec() == 1:
|
||||||
# TODO: not very clean to grab index from filename
|
with open(job+'.json', "w") as fp:
|
||||||
spreads = [int(filename[6:10]) for filename in spreads]
|
# TODO: not very clean to grab index from filename
|
||||||
json.dump({'spreads': sorted(set(spreads))} , fp)
|
spreads = [int(filename[6:10]) for filename in spreads]
|
||||||
|
json.dump({'spreads': sorted(set(spreads))} , fp)
|
||||||
rmtree(path, True)
|
rmtree(path, True)
|
||||||
rmtree(workdir, True)
|
rmtree(workdir, True)
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ import os
|
|||||||
|
|
||||||
from PySide6.QtCore import (Qt)
|
from PySide6.QtCore import (Qt)
|
||||||
from PySide6.QtGui import (QKeyEvent, QPixmap)
|
from PySide6.QtGui import (QKeyEvent, QPixmap)
|
||||||
from PySide6.QtWidgets import (QDialogButtonBox, QHBoxLayout, QLabel, QDialog)
|
from PySide6.QtWidgets import (QHBoxLayout, QLabel, QDialog)
|
||||||
|
|
||||||
class LabelSpreadsDialog(QDialog):
|
class LabelSpreadsDialog(QDialog):
|
||||||
def __init__(self, available_height, images, spreads):
|
def __init__(self, available_height, images, spreads):
|
||||||
@@ -17,14 +17,6 @@ class LabelSpreadsDialog(QDialog):
|
|||||||
# self.setMaximumSize(APP.primaryScreen().availableSize())
|
# self.setMaximumSize(APP.primaryScreen().availableSize())
|
||||||
self.available_height = available_height
|
self.available_height = available_height
|
||||||
|
|
||||||
QBtn = (
|
|
||||||
QDialogButtonBox.Yes | QDialogButtonBox.No
|
|
||||||
)
|
|
||||||
|
|
||||||
self.buttonBox = QDialogButtonBox(QBtn)
|
|
||||||
self.buttonBox.accepted.connect(self.accept)
|
|
||||||
self.buttonBox.rejected.connect(self.reject)
|
|
||||||
|
|
||||||
layout = QHBoxLayout()
|
layout = QHBoxLayout()
|
||||||
self.setLayout(layout)
|
self.setLayout(layout)
|
||||||
|
|
||||||
@@ -37,14 +29,14 @@ class LabelSpreadsDialog(QDialog):
|
|||||||
label2.setText("not a spread")
|
label2.setText("not a spread")
|
||||||
|
|
||||||
help_text = [
|
help_text = [
|
||||||
"Press Yes to save labels to file.",
|
|
||||||
"Use arrows to change index.",
|
"Use arrows to change index.",
|
||||||
"Use space bar to confirm spreads.",
|
"Use space bar to confirm spreads.",
|
||||||
"Use spread shift option to offset by 1.",
|
"Use spread shift option to offset by 1.",
|
||||||
|
"Use enter key to confirm all spreads."
|
||||||
|
"Close window to cancel."
|
||||||
]
|
]
|
||||||
buttonLabel = QLabel('\n'.join(help_text))
|
buttonLabel = QLabel('\n'.join(help_text))
|
||||||
layout.addWidget(buttonLabel)
|
layout.addWidget(buttonLabel)
|
||||||
layout.addWidget(self.buttonBox)
|
|
||||||
# print(label.size())
|
# print(label.size())
|
||||||
# print(label.maximumSize())
|
# print(label.maximumSize())
|
||||||
# l, t, r, b = layout.getContentsMargins()
|
# l, t, r, b = layout.getContentsMargins()
|
||||||
@@ -59,6 +51,7 @@ class LabelSpreadsDialog(QDialog):
|
|||||||
# label2.setPixmap(pixmap2)
|
# label2.setPixmap(pixmap2)
|
||||||
#label2.setScaledContents(True)
|
#label2.setScaledContents(True)
|
||||||
#self.resize(pixmap2.width(), pixmap2.height())
|
#self.resize(pixmap2.width(), pixmap2.height())
|
||||||
|
|
||||||
def keyReleaseEvent(self, event):
|
def keyReleaseEvent(self, event):
|
||||||
# t = 20
|
# t = 20
|
||||||
# b = 20
|
# b = 20
|
||||||
@@ -85,8 +78,14 @@ class LabelSpreadsDialog(QDialog):
|
|||||||
# pixmap2 = QPixmap(images[self.index]).scaledToHeight(self.frameGeometry().height() - t - b - t - b)
|
# pixmap2 = QPixmap(images[self.index]).scaledToHeight(self.frameGeometry().height() - t - b - t - b)
|
||||||
# self.label2.setPixmap(pixmap2)
|
# self.label2.setPixmap(pixmap2)
|
||||||
elif event.key() == Qt.Key.Key_Space:
|
elif event.key() == Qt.Key.Key_Space:
|
||||||
self.spreads.append(os.path.basename(self.images[self.index]))
|
if self.label2.text() == "not a spread":
|
||||||
self.label2.setText('spread')
|
self.spreads.append(os.path.basename(self.images[self.index]))
|
||||||
|
self.label2.setText('spread')
|
||||||
|
else:
|
||||||
|
self.spreads.remove(os.path.basename(self.images[self.index]))
|
||||||
|
self.label2.setText('not a spread')
|
||||||
|
elif event.key() == Qt.Key.Key_Return or event.key() == Qt.Key.Key_Enter:
|
||||||
|
self.accept()
|
||||||
else:
|
else:
|
||||||
super().keyReleaseEvent(event)
|
super().keyReleaseEvent(event)
|
||||||
else:
|
else:
|
||||||
|
|||||||
@@ -390,6 +390,7 @@ class Ui_mainWindow(object):
|
|||||||
|
|
||||||
self.labelSpreadsButton = QPushButton(self.toolWidget)
|
self.labelSpreadsButton = QPushButton(self.toolWidget)
|
||||||
self.labelSpreadsButton.setObjectName(u"labelSpreadsButton")
|
self.labelSpreadsButton.setObjectName(u"labelSpreadsButton")
|
||||||
|
self.labelSpreadsButton.setMinimumSize(QSize(0, 30))
|
||||||
|
|
||||||
self.gridLayout_6.addWidget(self.labelSpreadsButton, 0, 1, 1, 1)
|
self.gridLayout_6.addWidget(self.labelSpreadsButton, 0, 1, 1, 1)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user