mirror of
https://github.com/ciromattia/kcc
synced 2026-08-26 21:47:05 +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 row="0" column="1">
|
||||
<widget class="QPushButton" name="labelSpreadsButton">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>30</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Label Spreads</string>
|
||||
</property>
|
||||
|
||||
@@ -730,13 +730,14 @@ class KCCGUI(KCC_ui.Ui_mainWindow):
|
||||
dst.save(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)
|
||||
dlg.setWindowTitle(job)
|
||||
if dlg.exec() == 1:
|
||||
with open(job+'.json', "w") as fp:
|
||||
# TODO: not very clean to grab index from filename
|
||||
spreads = [int(filename[6:10]) for filename in spreads]
|
||||
json.dump({'spreads': sorted(set(spreads))} , fp)
|
||||
if images:
|
||||
dlg = LabelSpreadsDialog(APP.primaryScreen().availableGeometry().height(), images, spreads)
|
||||
dlg.setWindowTitle(job)
|
||||
if dlg.exec() == 1:
|
||||
with open(job+'.json', "w") as fp:
|
||||
# TODO: not very clean to grab index from filename
|
||||
spreads = [int(filename[6:10]) for filename in spreads]
|
||||
json.dump({'spreads': sorted(set(spreads))} , fp)
|
||||
rmtree(path, True)
|
||||
rmtree(workdir, True)
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@ import os
|
||||
|
||||
from PySide6.QtCore import (Qt)
|
||||
from PySide6.QtGui import (QKeyEvent, QPixmap)
|
||||
from PySide6.QtWidgets import (QDialogButtonBox, QHBoxLayout, QLabel, QDialog)
|
||||
from PySide6.QtWidgets import (QHBoxLayout, QLabel, QDialog)
|
||||
|
||||
class LabelSpreadsDialog(QDialog):
|
||||
def __init__(self, available_height, images, spreads):
|
||||
@@ -17,14 +17,6 @@ class LabelSpreadsDialog(QDialog):
|
||||
# self.setMaximumSize(APP.primaryScreen().availableSize())
|
||||
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()
|
||||
self.setLayout(layout)
|
||||
|
||||
@@ -37,14 +29,14 @@ class LabelSpreadsDialog(QDialog):
|
||||
label2.setText("not a spread")
|
||||
|
||||
help_text = [
|
||||
"Press Yes to save labels to file.",
|
||||
"Use arrows to change index.",
|
||||
"Use space bar to confirm spreads.",
|
||||
"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))
|
||||
layout.addWidget(buttonLabel)
|
||||
layout.addWidget(self.buttonBox)
|
||||
# print(label.size())
|
||||
# print(label.maximumSize())
|
||||
# l, t, r, b = layout.getContentsMargins()
|
||||
@@ -59,6 +51,7 @@ class LabelSpreadsDialog(QDialog):
|
||||
# label2.setPixmap(pixmap2)
|
||||
#label2.setScaledContents(True)
|
||||
#self.resize(pixmap2.width(), pixmap2.height())
|
||||
|
||||
def keyReleaseEvent(self, event):
|
||||
# t = 20
|
||||
# b = 20
|
||||
@@ -85,8 +78,14 @@ class LabelSpreadsDialog(QDialog):
|
||||
# pixmap2 = QPixmap(images[self.index]).scaledToHeight(self.frameGeometry().height() - t - b - t - b)
|
||||
# self.label2.setPixmap(pixmap2)
|
||||
elif event.key() == Qt.Key.Key_Space:
|
||||
self.spreads.append(os.path.basename(self.images[self.index]))
|
||||
self.label2.setText('spread')
|
||||
if self.label2.text() == "not a 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:
|
||||
super().keyReleaseEvent(event)
|
||||
else:
|
||||
|
||||
@@ -390,6 +390,7 @@ class Ui_mainWindow(object):
|
||||
|
||||
self.labelSpreadsButton = QPushButton(self.toolWidget)
|
||||
self.labelSpreadsButton.setObjectName(u"labelSpreadsButton")
|
||||
self.labelSpreadsButton.setMinimumSize(QSize(0, 30))
|
||||
|
||||
self.gridLayout_6.addWidget(self.labelSpreadsButton, 0, 1, 1, 1)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user