From de2aad0b9ce34a64d835bb0e1502016957fc2261 Mon Sep 17 00:00:00 2001
From: Antonio Panariello <108940513+antopanav@users.noreply.github.com>
Date: Sun, 30 Mar 2025 05:23:09 +0200
Subject: [PATCH] Add split size controls to GUI (#884)
* Add split size GUI widget
* Set split size and save GUI widget state in settings
* Set max split size in GUI to 600 MB
* Move chunk size control in middle column and widget on panel below.
Added warning label and tooltip
* Fix chunk size incorrectly enabled when webtoon active and format change
* add 'on older ereaders'
---------
Co-authored-by: Alex Xu
---
gui/KCC.ui | 701 ++++++++++++++++++--------------
kindlecomicconverter/KCC_gui.py | 21 +-
kindlecomicconverter/KCC_rc.py | 38 +-
kindlecomicconverter/KCC_ui.py | 492 ++++++++++++----------
4 files changed, 707 insertions(+), 545 deletions(-)
diff --git a/gui/KCC.ui b/gui/KCC.ui
index 6fdfd99..d7af4f6 100644
--- a/gui/KCC.ui
+++ b/gui/KCC.ui
@@ -6,8 +6,8 @@
0
0
- 482
- 448
+ 519
+ 572
@@ -22,6 +22,350 @@
5
+ -
+
+
+
+
+
+ QAbstractItemView::SelectionMode::NoSelection
+
+
+ QAbstractItemView::ScrollMode::ScrollPerPixel
+
+
+ QAbstractItemView::ScrollMode::ScrollPerPixel
+
+
+
+ -
+
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
-
+
+
+
+ 0
+ 30
+
+
+
+ <html><head/><body><p style='white-space:pre'>Shift+Click to edit directory.</p></body></html>
+
+
+ Metadata Editor
+
+
+
+ :/Other/icons/editor.png:/Other/icons/editor.png
+
+
+
+ -
+
+
+
+ 0
+ 30
+
+
+
+ Wiki
+
+
+
+ :/Other/icons/wiki.png:/Other/icons/wiki.png
+
+
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
-
+
+
+
+ 0
+ 30
+
+
+
+ <html><head/><body><p style='white-space:pre'>Add directory containing JPG, PNG or GIF files to queue.<br/><span style=" font-weight:600;">CBR, CBZ and CB7 files inside will not be processed!</span></p></body></html>
+
+
+ Add directory
+
+
+
+ :/Other/icons/folder_new.png:/Other/icons/folder_new.png
+
+
+
+ -
+
+
+
+ 0
+ 30
+
+
+
+ <html><head/><body><p style='white-space:pre'>Add CBR, CBZ, CB7 or PDF file to queue.</p></body></html>
+
+
+ Add file
+
+
+
+ :/Other/icons/document_new.png:/Other/icons/document_new.png
+
+
+
+ -
+
+
+
+ 0
+ 28
+
+
+
+ <html><head/><body><p style='white-space:pre'>Target device.</p></body></html>
+
+
+
+ -
+
+
+
+ 0
+ 28
+
+
+
+ <html><head/><body><p style='white-space:pre'>Output format.</p></body></html>
+
+
+
+ -
+
+
+
+ 0
+ 30
+
+
+
+
+ true
+
+
+
+ <html><head/><body><p style='white-space:pre'>Shift+Click to select the output directory.</p></body></html>
+
+
+ Convert
+
+
+
+ :/Other/icons/convert.png:/Other/icons/convert.png
+
+
+
+ -
+
+
+
+ 0
+ 30
+
+
+
+ Clear list
+
+
+
+ :/Other/icons/clear.png:/Other/icons/clear.png
+
+
+
+
+ directoryButton
+ clearButton
+ fileButton
+ deviceBox
+ convertButton
+ formatBox
+
+
+ -
+
+
+
+ 0
+ 30
+
+
+
+
+ true
+
+
+
+ false
+
+
+ Qt::AlignmentFlag::AlignJustify|Qt::AlignmentFlag::AlignVCenter
+
+
+
+ -
+
+
+ false
+
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
-
+
+
+
+ 0
+ 0
+
+
+
+ <html><head/><body><p style='white-space:pre'>Resolution of the target device.</p></body></html>
+
+
+ Custom height:
+
+
+
+ -
+
+
+ <html><head/><body><p style='white-space:pre'>Resolution of the target device.</p></body></html>
+
+
+ 2160
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ <html><head/><body><p style='white-space:pre'>Resolution of the target device.</p></body></html>
+
+
+ Custom width:
+
+
+
+ -
+
+
+ <html><head/><body><p style='white-space:pre'>Resolution of the target device.</p></body></html>
+
+
+ 3840
+
+
+
+
+
+
+ -
+
+
+ false
+
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
-
+
+
+ Cropping power:
+
+
+
+ -
+
+
+ 300
+
+
+ 1
+
+
+ Qt::Orientation::Horizontal
+
+
+
+
+
+
-
@@ -260,10 +604,20 @@
+ -
+
+
+ <html><head/><body><p><span style=" font-weight:700; text-decoration: underline;">Unchecked<br/></span>Maximal output file size is 100 MB for Webtoon, 400 MB for others before split occurs.</p><p><span style=" font-weight:700; text-decoration: underline;">Checked</span><br/>Output file size specified in "Chunk size MB" before split occurs.</p></body></html>
+
+
+ Chunk size
+
+
+
- -
+
-
false
@@ -304,188 +658,24 @@
- -
-
-
- false
-
-
-
- 0
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
-
- Cropping power:
-
-
-
- -
-
-
- 300
-
-
- 1
-
-
- Qt::Orientation::Horizontal
-
-
-
-
-
-
- -
-
+
-
+
-
+
0
0
-
-
+
+ false
+
+
+ <html><head/><body><p>Warning: chunk size greater than default may cause<br/>performance/battery issues, especially on older devices.</p></body></html>
+
+
+
0
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
-
-
- 0
- 30
-
-
-
- <html><head/><body><p style='white-space:pre'>Add directory containing JPG, PNG or GIF files to queue.<br/><span style=" font-weight:600;">CBR, CBZ and CB7 files inside will not be processed!</span></p></body></html>
-
-
- Add directory
-
-
-
- :/Other/icons/folder_new.png:/Other/icons/folder_new.png
-
-
-
- -
-
-
-
- 0
- 30
-
-
-
- <html><head/><body><p style='white-space:pre'>Add CBR, CBZ, CB7 or PDF file to queue.</p></body></html>
-
-
- Add file
-
-
-
- :/Other/icons/document_new.png:/Other/icons/document_new.png
-
-
-
- -
-
-
-
- 0
- 28
-
-
-
- <html><head/><body><p style='white-space:pre'>Target device.</p></body></html>
-
-
-
- -
-
-
-
- 0
- 28
-
-
-
- <html><head/><body><p style='white-space:pre'>Output format.</p></body></html>
-
-
-
- -
-
-
-
- 0
- 30
-
-
-
-
- true
-
-
-
- <html><head/><body><p style='white-space:pre'>Shift+Click to select the output directory.</p></body></html>
-
-
- Convert
-
-
-
- :/Other/icons/convert.png:/Other/icons/convert.png
-
-
-
- -
-
-
-
- 0
- 30
-
-
-
- Clear list
-
-
-
- :/Other/icons/clear.png:/Other/icons/clear.png
-
-
-
-
- directoryButton
- clearButton
- fileButton
- deviceBox
- convertButton
- formatBox
-
-
- -
-
-
0
@@ -499,149 +689,41 @@
0
-
-
-
-
- 0
- 30
-
-
-
- <html><head/><body><p style='white-space:pre'>Shift+Click to edit directory.</p></body></html>
+
+
+
+ 0
+ 0
+
- Metadata Editor
-
-
-
- :/Other/icons/editor.png:/Other/icons/editor.png
+ Chunk size MB:
-
-
-
-
- 0
- 30
-
+
+
+ 100
-
- Wiki
+
+ 600
-
-
- :/Other/icons/wiki.png:/Other/icons/wiki.png
+
+ 400
-
-
-
- -
-
-
-
-
-
- QAbstractItemView::SelectionMode::NoSelection
-
-
- QAbstractItemView::ScrollMode::ScrollPerPixel
-
-
- QAbstractItemView::ScrollMode::ScrollPerPixel
-
-
-
- -
-
-
-
- 0
- 30
-
-
-
-
- true
-
-
-
- false
-
-
- Qt::AlignmentFlag::AlignJustify|Qt::AlignmentFlag::AlignVCenter
-
-
-
- -
-
-
- false
-
-
-
- 0
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
+
-
+
-
+
0
0
-
- <html><head/><body><p style='white-space:pre'>Resolution of the target device.</p></body></html>
-
- Custom height:
-
-
-
- -
-
-
- <html><head/><body><p style='white-space:pre'>Resolution of the target device.</p></body></html>
-
-
- 2160
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
- <html><head/><body><p style='white-space:pre'>Resolution of the target device.</p></body></html>
-
-
- Custom width:
-
-
-
- -
-
-
- <html><head/><body><p style='white-space:pre'>Resolution of the target device.</p></body></html>
-
-
- 3840
+ Greater than default may cause performance issues on older ereaders.
@@ -672,18 +754,23 @@
borderBox
outputSplit
colorBox
- croppingBox
mozJpegBox
maximizeStrips
+ croppingBox
+ spreadShiftBox
deleteBox
disableProcessingBox
+ chunkSizeBox
+ noRotateBox
+ interPanelCropBox
+ reduceRainbowBox
+ heightBox
+ croppingPowerSlider
editorButton
wikiButton
jobList
gammaSlider
widthBox
- heightBox
- croppingPowerSlider
diff --git a/kindlecomicconverter/KCC_gui.py b/kindlecomicconverter/KCC_gui.py
index 457d42f..db299b5 100644
--- a/kindlecomicconverter/KCC_gui.py
+++ b/kindlecomicconverter/KCC_gui.py
@@ -278,6 +278,8 @@ class WorkerThread(QThread):
options.output = GUI.targetDirectory
if GUI.authorEdit.text():
options.author = str(GUI.authorEdit.text())
+ if GUI.chunkSizeCheckBox.isChecked():
+ options.targetsize = int(GUI.chunkSizeBox.value())
for i in range(GUI.jobList.count()):
# Make sure that we don't consider any system message as job to do
@@ -605,6 +607,8 @@ class KCCGUI(KCC_ui.Ui_mainWindow):
GUI.rotateBox.setChecked(False)
GUI.upscaleBox.setEnabled(False)
GUI.upscaleBox.setChecked(True)
+ GUI.chunkSizeCheckBox.setEnabled(False)
+ GUI.chunkSizeCheckBox.setChecked(False)
else:
profile = GUI.profiles[str(GUI.deviceBox.currentText())]
if profile['PVOptions']:
@@ -612,6 +616,7 @@ class KCCGUI(KCC_ui.Ui_mainWindow):
GUI.mangaBox.setEnabled(True)
GUI.rotateBox.setEnabled(True)
GUI.upscaleBox.setEnabled(True)
+ GUI.chunkSizeCheckBox.setEnabled(True)
def togglequalityBox(self, value):
profile = GUI.profiles[str(GUI.deviceBox.currentText())]
@@ -624,6 +629,9 @@ class KCCGUI(KCC_ui.Ui_mainWindow):
else:
GUI.upscaleBox.setEnabled(True)
GUI.upscaleBox.setChecked(profile['DefaultUpscale'])
+
+ def togglechunkSizeCheckBox(self, value):
+ GUI.chunkSizeWidget.setVisible(value)
def changeGamma(self, value):
valueRaw = int(5 * round(float(value) / 5))
@@ -677,6 +685,12 @@ class KCCGUI(KCC_ui.Ui_mainWindow):
else:
GUI.outputSplit.setEnabled(False)
GUI.outputSplit.setChecked(False)
+ if (GUI.formats[str(GUI.formatBox.currentText())]['format'] == 'EPUB-200MB' or
+ GUI.formats[str(GUI.formatBox.currentText())]['format'] == 'MOBI+EPUB-200MB'):
+ GUI.chunkSizeCheckBox.setEnabled(False)
+ GUI.chunkSizeCheckBox.setChecked(False)
+ elif not GUI.webtoonBox.isChecked():
+ GUI.chunkSizeCheckBox.setEnabled(True)
def stripTags(self, html):
s = HTMLStripper()
@@ -804,7 +818,9 @@ class KCCGUI(KCC_ui.Ui_mainWindow):
'spreadShiftBox': GUI.spreadShiftBox.checkState().value,
'noRotateBox': GUI.noRotateBox.checkState().value,
'maximizeStrips': GUI.maximizeStrips.checkState().value,
- 'gammaSlider': float(self.gammaValue) * 100})
+ 'gammaSlider': float(self.gammaValue) * 100,
+ 'chunkSizeCheckBox': GUI.chunkSizeCheckBox.checkState().value,
+ 'chunkSizeBox': GUI.chunkSizeBox.value()})
self.settings.sync()
self.tray.hide()
@@ -1090,6 +1106,7 @@ class KCCGUI(KCC_ui.Ui_mainWindow):
GUI.croppingPowerSlider.valueChanged.connect(self.changeCroppingPower)
GUI.webtoonBox.stateChanged.connect(self.togglewebtoonBox)
GUI.qualityBox.stateChanged.connect(self.togglequalityBox)
+ GUI.chunkSizeCheckBox.stateChanged.connect(self.togglechunkSizeCheckBox)
GUI.deviceBox.activated.connect(self.changeDevice)
GUI.formatBox.activated.connect(self.changeFormat)
MW.progressBarTick.connect(self.updateProgressbar)
@@ -1142,6 +1159,8 @@ class KCCGUI(KCC_ui.Ui_mainWindow):
if GUI.croppingPowerSlider.isEnabled():
GUI.croppingPowerSlider.setValue(int(self.options[option]))
self.changeCroppingPower(int(self.options[option]))
+ elif str(option) == "chunkSizeBox":
+ GUI.chunkSizeBox.setValue(int(self.options[option]))
else:
try:
if getattr(GUI, option).isEnabled():
diff --git a/kindlecomicconverter/KCC_rc.py b/kindlecomicconverter/KCC_rc.py
index fd040f5..6ba25c0 100644
--- a/kindlecomicconverter/KCC_rc.py
+++ b/kindlecomicconverter/KCC_rc.py
@@ -11612,51 +11612,51 @@ qt_resource_struct = b"\
\x00\x00\x00X\x00\x02\x00\x00\x00\x04\x00\x00\x00\x07\
\x00\x00\x00\x00\x00\x00\x00\x00\
\x00\x00\x01\xc0\x00\x00\x00\x00\x00\x01\x00\x02.\xed\
-\x00\x00\x01\x95\x8bV),\
+\x00\x00\x01\x95\xcf\xe3\x00\xfc\
\x00\x00\x01\xfe\x00\x00\x00\x00\x00\x01\x00\x02\x83\x87\
-\x00\x00\x01\x95\x8bV)&\
+\x00\x00\x01\x95\xcf\xe3\x00\xfb\
\x00\x00\x01\xea\x00\x00\x00\x00\x00\x01\x00\x02Y\x8c\
-\x00\x00\x01\x95\x8bV)&\
+\x00\x00\x01\x95\xcf\xe3\x00\xfb\
\x00\x00\x01\xd6\x00\x00\x00\x00\x00\x01\x00\x02N)\
-\x00\x00\x01\x95\x8bV),\
+\x00\x00\x01\x95\xcf\xe3\x00\xfb\
\x00\x00\x00X\x00\x02\x00\x00\x00\x04\x00\x00\x00\x0c\
\x00\x00\x00\x00\x00\x00\x00\x00\
\x00\x00\x00\xa6\x00\x00\x00\x00\x00\x01\x00\x01(\x97\
-\x00\x00\x01\x95\x8bV),\
+\x00\x00\x01\x95\xcf\xe3\x00\xfc\
\x00\x00\x00\xbc\x00\x00\x00\x00\x00\x01\x00\x011\xef\
-\x00\x00\x01\x95\x8bV)5\
+\x00\x00\x01\x95\xcf\xe3\x00\xfd\
\x00\x00\x00\x8c\x00\x00\x00\x00\x00\x01\x00\x01\x1d\x90\
-\x00\x00\x01\x95\x8bV),\
+\x00\x00\x01\x95\xcf\xe3\x00\xfc\
\x00\x00\x00\xd0\x00\x00\x00\x00\x00\x01\x00\x01:\x05\
-\x00\x00\x01\x95\x8bV)4\
+\x00\x00\x01\x95\xcf\xe3\x00\xfd\
\x00\x00\x00X\x00\x02\x00\x00\x00\x03\x00\x00\x00\x11\
\x00\x00\x00\x00\x00\x00\x00\x00\
\x00\x00\x02B\x00\x00\x00\x00\x00\x01\x00\x02\xb5\xd3\
-\x00\x00\x01\x95\x8bV)b\
+\x00\x00\x01\x95\xcf\xe3\x01\x0c\
\x00\x00\x02\x14\x00\x00\x00\x00\x00\x01\x00\x02\x9f\xd6\
-\x00\x00\x01\x95\x8bV)Y\
+\x00\x00\x01\x95\xcf\xe3\x01\x0a\
\x00\x00\x02*\x00\x00\x00\x00\x00\x01\x00\x02\xa93\
-\x00\x00\x01\x95\x8bV)Y\
+\x00\x00\x01\x95\xcf\xe3\x01\x09\
\x00\x00\x00X\x00\x02\x00\x00\x00\x07\x00\x00\x00\x15\
\x00\x00\x00\x00\x00\x00\x00\x00\
\x00\x00\x01\x1c\x00\x00\x00\x00\x00\x01\x00\x01P\xb1\
-\x00\x00\x01\x95\x8bV)b\
+\x00\x00\x01\x95\xcf\xe3\x01\x0c\
\x00\x00\x012\x00\x00\x00\x00\x00\x01\x00\x01yY\
-\x00\x00\x01\x95\x8bV)Y\
+\x00\x00\x01\x95\xcf\xe3\x01\x0a\
\x00\x00\x01\x94\x00\x00\x00\x00\x00\x01\x00\x01\xd2-\
-\x00\x00\x01\x95\x8bV)Y\
+\x00\x00\x01\x95\xcf\xe3\x01\x0a\
\x00\x00\x01z\x00\x00\x00\x00\x00\x01\x00\x01\x8c\xe6\
-\x00\x00\x01\x95\x8bV)Y\
+\x00\x00\x01\x95\xcf\xe3\x01\x09\
\x00\x00\x01\x04\x00\x00\x00\x00\x00\x01\x00\x01LR\
-\x00\x00\x01\x95\x8bV)@\
+\x00\x00\x01\x95\xcf\xe3\x01\x02\
\x00\x00\x00\xe8\x00\x00\x00\x00\x00\x01\x00\x01?\xe9\
-\x00\x00\x01\x95\x8bV)Q\
+\x00\x00\x01\x95\xcf\xe3\x01\x08\
\x00\x00\x01T\x00\x00\x00\x00\x00\x01\x00\x01\x82\xb0\
-\x00\x00\x01\x95\x8bV)Y\
+\x00\x00\x01\x95\xcf\xe3\x01\x09\
\x00\x00\x00X\x00\x02\x00\x00\x00\x01\x00\x00\x00\x1d\
\x00\x00\x00\x00\x00\x00\x00\x00\
\x00\x00\x00h\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\
-\x00\x00\x01\x95\x8bV)Q\
+\x00\x00\x01\x95\xcf\xe3\x01\x08\
"
def qInitResources():
diff --git a/kindlecomicconverter/KCC_ui.py b/kindlecomicconverter/KCC_ui.py
index 5bf443f..c9a2976 100644
--- a/kindlecomicconverter/KCC_ui.py
+++ b/kindlecomicconverter/KCC_ui.py
@@ -26,7 +26,7 @@ class Ui_mainWindow(object):
def setupUi(self, mainWindow):
if not mainWindow.objectName():
mainWindow.setObjectName(u"mainWindow")
- mainWindow.resize(482, 448)
+ mainWindow.resize(519, 572)
icon = QIcon()
icon.addFile(u":/Icon/icons/comic2ebook.png", QSize(), QIcon.Mode.Normal, QIcon.State.Off)
mainWindow.setWindowIcon(icon)
@@ -35,6 +35,180 @@ class Ui_mainWindow(object):
self.gridLayout = QGridLayout(self.centralWidget)
self.gridLayout.setObjectName(u"gridLayout")
self.gridLayout.setContentsMargins(-1, -1, -1, 5)
+ self.jobList = QListWidget(self.centralWidget)
+ self.jobList.setObjectName(u"jobList")
+ self.jobList.setStyleSheet(u"")
+ self.jobList.setSelectionMode(QAbstractItemView.SelectionMode.NoSelection)
+ self.jobList.setVerticalScrollMode(QAbstractItemView.ScrollMode.ScrollPerPixel)
+ self.jobList.setHorizontalScrollMode(QAbstractItemView.ScrollMode.ScrollPerPixel)
+
+ self.gridLayout.addWidget(self.jobList, 2, 0, 1, 2)
+
+ self.toolWidget = QWidget(self.centralWidget)
+ self.toolWidget.setObjectName(u"toolWidget")
+ self.horizontalLayout = QHBoxLayout(self.toolWidget)
+ self.horizontalLayout.setObjectName(u"horizontalLayout")
+ self.horizontalLayout.setContentsMargins(0, 0, 0, 0)
+ self.editorButton = QPushButton(self.toolWidget)
+ self.editorButton.setObjectName(u"editorButton")
+ self.editorButton.setMinimumSize(QSize(0, 30))
+ icon1 = QIcon()
+ icon1.addFile(u":/Other/icons/editor.png", QSize(), QIcon.Mode.Normal, QIcon.State.Off)
+ self.editorButton.setIcon(icon1)
+
+ self.horizontalLayout.addWidget(self.editorButton)
+
+ self.wikiButton = QPushButton(self.toolWidget)
+ self.wikiButton.setObjectName(u"wikiButton")
+ self.wikiButton.setMinimumSize(QSize(0, 30))
+ icon2 = QIcon()
+ icon2.addFile(u":/Other/icons/wiki.png", QSize(), QIcon.Mode.Normal, QIcon.State.Off)
+ self.wikiButton.setIcon(icon2)
+
+ self.horizontalLayout.addWidget(self.wikiButton)
+
+
+ self.gridLayout.addWidget(self.toolWidget, 0, 0, 1, 2)
+
+ self.buttonWidget = QWidget(self.centralWidget)
+ self.buttonWidget.setObjectName(u"buttonWidget")
+ sizePolicy = QSizePolicy(QSizePolicy.Policy.Preferred, QSizePolicy.Policy.Fixed)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.buttonWidget.sizePolicy().hasHeightForWidth())
+ self.buttonWidget.setSizePolicy(sizePolicy)
+ self.gridLayout_4 = QGridLayout(self.buttonWidget)
+ self.gridLayout_4.setObjectName(u"gridLayout_4")
+ self.gridLayout_4.setContentsMargins(0, 0, 0, 0)
+ self.directoryButton = QPushButton(self.buttonWidget)
+ self.directoryButton.setObjectName(u"directoryButton")
+ self.directoryButton.setMinimumSize(QSize(0, 30))
+ icon3 = QIcon()
+ icon3.addFile(u":/Other/icons/folder_new.png", QSize(), QIcon.Mode.Normal, QIcon.State.Off)
+ self.directoryButton.setIcon(icon3)
+
+ self.gridLayout_4.addWidget(self.directoryButton, 0, 0, 1, 1)
+
+ self.fileButton = QPushButton(self.buttonWidget)
+ self.fileButton.setObjectName(u"fileButton")
+ self.fileButton.setMinimumSize(QSize(0, 30))
+ icon4 = QIcon()
+ icon4.addFile(u":/Other/icons/document_new.png", QSize(), QIcon.Mode.Normal, QIcon.State.Off)
+ self.fileButton.setIcon(icon4)
+
+ self.gridLayout_4.addWidget(self.fileButton, 0, 3, 1, 1)
+
+ self.deviceBox = QComboBox(self.buttonWidget)
+ self.deviceBox.setObjectName(u"deviceBox")
+ self.deviceBox.setMinimumSize(QSize(0, 28))
+
+ self.gridLayout_4.addWidget(self.deviceBox, 1, 0, 1, 1)
+
+ self.formatBox = QComboBox(self.buttonWidget)
+ self.formatBox.setObjectName(u"formatBox")
+ self.formatBox.setMinimumSize(QSize(0, 28))
+
+ self.gridLayout_4.addWidget(self.formatBox, 1, 3, 1, 1)
+
+ self.convertButton = QPushButton(self.buttonWidget)
+ self.convertButton.setObjectName(u"convertButton")
+ self.convertButton.setMinimumSize(QSize(0, 30))
+ font = QFont()
+ font.setBold(True)
+ self.convertButton.setFont(font)
+ icon5 = QIcon()
+ icon5.addFile(u":/Other/icons/convert.png", QSize(), QIcon.Mode.Normal, QIcon.State.Off)
+ self.convertButton.setIcon(icon5)
+
+ self.gridLayout_4.addWidget(self.convertButton, 1, 2, 1, 1)
+
+ self.clearButton = QPushButton(self.buttonWidget)
+ self.clearButton.setObjectName(u"clearButton")
+ self.clearButton.setMinimumSize(QSize(0, 30))
+ icon6 = QIcon()
+ icon6.addFile(u":/Other/icons/clear.png", QSize(), QIcon.Mode.Normal, QIcon.State.Off)
+ self.clearButton.setIcon(icon6)
+
+ self.gridLayout_4.addWidget(self.clearButton, 0, 2, 1, 1)
+
+ self.directoryButton.raise_()
+ self.clearButton.raise_()
+ self.fileButton.raise_()
+ self.deviceBox.raise_()
+ self.convertButton.raise_()
+ self.formatBox.raise_()
+
+ self.gridLayout.addWidget(self.buttonWidget, 3, 0, 1, 2)
+
+ self.progressBar = QProgressBar(self.centralWidget)
+ self.progressBar.setObjectName(u"progressBar")
+ self.progressBar.setMinimumSize(QSize(0, 30))
+ self.progressBar.setFont(font)
+ self.progressBar.setVisible(False)
+ self.progressBar.setAlignment(Qt.AlignmentFlag.AlignJustify|Qt.AlignmentFlag.AlignVCenter)
+
+ self.gridLayout.addWidget(self.progressBar, 1, 0, 1, 2)
+
+ self.customWidget = QWidget(self.centralWidget)
+ self.customWidget.setObjectName(u"customWidget")
+ self.customWidget.setVisible(False)
+ self.gridLayout_3 = QGridLayout(self.customWidget)
+ self.gridLayout_3.setObjectName(u"gridLayout_3")
+ self.gridLayout_3.setContentsMargins(0, 0, 0, 0)
+ self.hLabel = QLabel(self.customWidget)
+ self.hLabel.setObjectName(u"hLabel")
+ sizePolicy1 = QSizePolicy(QSizePolicy.Policy.Fixed, QSizePolicy.Policy.Preferred)
+ sizePolicy1.setHorizontalStretch(0)
+ sizePolicy1.setVerticalStretch(0)
+ sizePolicy1.setHeightForWidth(self.hLabel.sizePolicy().hasHeightForWidth())
+ self.hLabel.setSizePolicy(sizePolicy1)
+
+ self.gridLayout_3.addWidget(self.hLabel, 0, 2, 1, 1)
+
+ self.widthBox = QSpinBox(self.customWidget)
+ self.widthBox.setObjectName(u"widthBox")
+ self.widthBox.setMaximum(2160)
+
+ self.gridLayout_3.addWidget(self.widthBox, 0, 1, 1, 1)
+
+ self.wLabel = QLabel(self.customWidget)
+ self.wLabel.setObjectName(u"wLabel")
+ sizePolicy1.setHeightForWidth(self.wLabel.sizePolicy().hasHeightForWidth())
+ self.wLabel.setSizePolicy(sizePolicy1)
+
+ self.gridLayout_3.addWidget(self.wLabel, 0, 0, 1, 1)
+
+ self.heightBox = QSpinBox(self.customWidget)
+ self.heightBox.setObjectName(u"heightBox")
+ self.heightBox.setMaximum(3840)
+
+ self.gridLayout_3.addWidget(self.heightBox, 0, 3, 1, 1)
+
+
+ self.gridLayout.addWidget(self.customWidget, 8, 0, 1, 2)
+
+ self.croppingWidget = QWidget(self.centralWidget)
+ self.croppingWidget.setObjectName(u"croppingWidget")
+ self.croppingWidget.setVisible(False)
+ self.horizontalLayout_3 = QHBoxLayout(self.croppingWidget)
+ self.horizontalLayout_3.setObjectName(u"horizontalLayout_3")
+ self.horizontalLayout_3.setContentsMargins(0, 0, 0, 0)
+ self.croppingPowerLabel = QLabel(self.croppingWidget)
+ self.croppingPowerLabel.setObjectName(u"croppingPowerLabel")
+
+ self.horizontalLayout_3.addWidget(self.croppingPowerLabel)
+
+ self.croppingPowerSlider = QSlider(self.croppingWidget)
+ self.croppingPowerSlider.setObjectName(u"croppingPowerSlider")
+ self.croppingPowerSlider.setMaximum(300)
+ self.croppingPowerSlider.setSingleStep(1)
+ self.croppingPowerSlider.setOrientation(Qt.Orientation.Horizontal)
+
+ self.horizontalLayout_3.addWidget(self.croppingPowerSlider)
+
+
+ self.gridLayout.addWidget(self.croppingWidget, 9, 0, 1, 2)
+
self.optionWidget = QWidget(self.centralWidget)
self.optionWidget.setObjectName(u"optionWidget")
self.gridLayout_2 = QGridLayout(self.optionWidget)
@@ -102,11 +276,11 @@ class Ui_mainWindow(object):
self.authorEdit = QLineEdit(self.optionWidget)
self.authorEdit.setObjectName(u"authorEdit")
- sizePolicy = QSizePolicy(QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Fixed)
- sizePolicy.setHorizontalStretch(0)
- sizePolicy.setVerticalStretch(0)
- sizePolicy.setHeightForWidth(self.authorEdit.sizePolicy().hasHeightForWidth())
- self.authorEdit.setSizePolicy(sizePolicy)
+ sizePolicy2 = QSizePolicy(QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Fixed)
+ sizePolicy2.setHorizontalStretch(0)
+ sizePolicy2.setVerticalStretch(0)
+ sizePolicy2.setHeightForWidth(self.authorEdit.sizePolicy().hasHeightForWidth())
+ self.authorEdit.setSizePolicy(sizePolicy2)
self.authorEdit.setFocusPolicy(Qt.FocusPolicy.ClickFocus)
self.authorEdit.setClearButtonEnabled(False)
@@ -149,6 +323,11 @@ class Ui_mainWindow(object):
self.gridLayout_2.addWidget(self.reduceRainbowBox, 7, 2, 1, 1)
+ self.chunkSizeCheckBox = QCheckBox(self.optionWidget)
+ self.chunkSizeCheckBox.setObjectName(u"chunkSizeCheckBox")
+
+ self.gridLayout_2.addWidget(self.chunkSizeCheckBox, 7, 1, 1, 1)
+
self.gridLayout.addWidget(self.optionWidget, 5, 0, 1, 2)
@@ -172,181 +351,44 @@ class Ui_mainWindow(object):
self.horizontalLayout_2.addWidget(self.gammaSlider)
- self.gridLayout.addWidget(self.gammaWidget, 6, 0, 1, 2)
+ self.gridLayout.addWidget(self.gammaWidget, 7, 0, 1, 2)
- self.croppingWidget = QWidget(self.centralWidget)
- self.croppingWidget.setObjectName(u"croppingWidget")
- self.croppingWidget.setVisible(False)
- self.horizontalLayout_3 = QHBoxLayout(self.croppingWidget)
- self.horizontalLayout_3.setObjectName(u"horizontalLayout_3")
- self.horizontalLayout_3.setContentsMargins(0, 0, 0, 0)
- self.croppingPowerLabel = QLabel(self.croppingWidget)
- self.croppingPowerLabel.setObjectName(u"croppingPowerLabel")
+ self.chunkSizeWidget = QWidget(self.centralWidget)
+ self.chunkSizeWidget.setObjectName(u"chunkSizeWidget")
+ sizePolicy2.setHeightForWidth(self.chunkSizeWidget.sizePolicy().hasHeightForWidth())
+ self.chunkSizeWidget.setSizePolicy(sizePolicy2)
+ self.chunkSizeWidget.setVisible(False)
+ self.horizontalLayout_4 = QHBoxLayout(self.chunkSizeWidget)
+ self.horizontalLayout_4.setSpacing(0)
+ self.horizontalLayout_4.setObjectName(u"horizontalLayout_4")
+ self.horizontalLayout_4.setContentsMargins(0, 0, 0, 0)
+ self.chunkSizeLabel = QLabel(self.chunkSizeWidget)
+ self.chunkSizeLabel.setObjectName(u"chunkSizeLabel")
+ sizePolicy3 = QSizePolicy(QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Preferred)
+ sizePolicy3.setHorizontalStretch(0)
+ sizePolicy3.setVerticalStretch(0)
+ sizePolicy3.setHeightForWidth(self.chunkSizeLabel.sizePolicy().hasHeightForWidth())
+ self.chunkSizeLabel.setSizePolicy(sizePolicy3)
- self.horizontalLayout_3.addWidget(self.croppingPowerLabel)
+ self.horizontalLayout_4.addWidget(self.chunkSizeLabel)
- self.croppingPowerSlider = QSlider(self.croppingWidget)
- self.croppingPowerSlider.setObjectName(u"croppingPowerSlider")
- self.croppingPowerSlider.setMaximum(300)
- self.croppingPowerSlider.setSingleStep(1)
- self.croppingPowerSlider.setOrientation(Qt.Orientation.Horizontal)
+ self.chunkSizeBox = QSpinBox(self.chunkSizeWidget)
+ self.chunkSizeBox.setObjectName(u"chunkSizeBox")
+ self.chunkSizeBox.setMinimum(100)
+ self.chunkSizeBox.setMaximum(600)
+ self.chunkSizeBox.setValue(400)
- self.horizontalLayout_3.addWidget(self.croppingPowerSlider)
+ self.horizontalLayout_4.addWidget(self.chunkSizeBox)
+
+ self.chunkSizeWarnLabel = QLabel(self.chunkSizeWidget)
+ self.chunkSizeWarnLabel.setObjectName(u"chunkSizeWarnLabel")
+ sizePolicy3.setHeightForWidth(self.chunkSizeWarnLabel.sizePolicy().hasHeightForWidth())
+ self.chunkSizeWarnLabel.setSizePolicy(sizePolicy3)
+
+ self.horizontalLayout_4.addWidget(self.chunkSizeWarnLabel)
- self.gridLayout.addWidget(self.croppingWidget, 8, 0, 1, 2)
-
- self.buttonWidget = QWidget(self.centralWidget)
- self.buttonWidget.setObjectName(u"buttonWidget")
- sizePolicy1 = QSizePolicy(QSizePolicy.Policy.Preferred, QSizePolicy.Policy.Fixed)
- sizePolicy1.setHorizontalStretch(0)
- sizePolicy1.setVerticalStretch(0)
- sizePolicy1.setHeightForWidth(self.buttonWidget.sizePolicy().hasHeightForWidth())
- self.buttonWidget.setSizePolicy(sizePolicy1)
- self.gridLayout_4 = QGridLayout(self.buttonWidget)
- self.gridLayout_4.setObjectName(u"gridLayout_4")
- self.gridLayout_4.setContentsMargins(0, 0, 0, 0)
- self.directoryButton = QPushButton(self.buttonWidget)
- self.directoryButton.setObjectName(u"directoryButton")
- self.directoryButton.setMinimumSize(QSize(0, 30))
- icon1 = QIcon()
- icon1.addFile(u":/Other/icons/folder_new.png", QSize(), QIcon.Mode.Normal, QIcon.State.Off)
- self.directoryButton.setIcon(icon1)
-
- self.gridLayout_4.addWidget(self.directoryButton, 0, 0, 1, 1)
-
- self.fileButton = QPushButton(self.buttonWidget)
- self.fileButton.setObjectName(u"fileButton")
- self.fileButton.setMinimumSize(QSize(0, 30))
- icon2 = QIcon()
- icon2.addFile(u":/Other/icons/document_new.png", QSize(), QIcon.Mode.Normal, QIcon.State.Off)
- self.fileButton.setIcon(icon2)
-
- self.gridLayout_4.addWidget(self.fileButton, 0, 3, 1, 1)
-
- self.deviceBox = QComboBox(self.buttonWidget)
- self.deviceBox.setObjectName(u"deviceBox")
- self.deviceBox.setMinimumSize(QSize(0, 28))
-
- self.gridLayout_4.addWidget(self.deviceBox, 1, 0, 1, 1)
-
- self.formatBox = QComboBox(self.buttonWidget)
- self.formatBox.setObjectName(u"formatBox")
- self.formatBox.setMinimumSize(QSize(0, 28))
-
- self.gridLayout_4.addWidget(self.formatBox, 1, 3, 1, 1)
-
- self.convertButton = QPushButton(self.buttonWidget)
- self.convertButton.setObjectName(u"convertButton")
- self.convertButton.setMinimumSize(QSize(0, 30))
- font = QFont()
- font.setBold(True)
- self.convertButton.setFont(font)
- icon3 = QIcon()
- icon3.addFile(u":/Other/icons/convert.png", QSize(), QIcon.Mode.Normal, QIcon.State.Off)
- self.convertButton.setIcon(icon3)
-
- self.gridLayout_4.addWidget(self.convertButton, 1, 2, 1, 1)
-
- self.clearButton = QPushButton(self.buttonWidget)
- self.clearButton.setObjectName(u"clearButton")
- self.clearButton.setMinimumSize(QSize(0, 30))
- icon4 = QIcon()
- icon4.addFile(u":/Other/icons/clear.png", QSize(), QIcon.Mode.Normal, QIcon.State.Off)
- self.clearButton.setIcon(icon4)
-
- self.gridLayout_4.addWidget(self.clearButton, 0, 2, 1, 1)
-
- self.directoryButton.raise_()
- self.clearButton.raise_()
- self.fileButton.raise_()
- self.deviceBox.raise_()
- self.convertButton.raise_()
- self.formatBox.raise_()
-
- self.gridLayout.addWidget(self.buttonWidget, 3, 0, 1, 2)
-
- self.toolWidget = QWidget(self.centralWidget)
- self.toolWidget.setObjectName(u"toolWidget")
- self.horizontalLayout = QHBoxLayout(self.toolWidget)
- self.horizontalLayout.setObjectName(u"horizontalLayout")
- self.horizontalLayout.setContentsMargins(0, 0, 0, 0)
- self.editorButton = QPushButton(self.toolWidget)
- self.editorButton.setObjectName(u"editorButton")
- self.editorButton.setMinimumSize(QSize(0, 30))
- icon5 = QIcon()
- icon5.addFile(u":/Other/icons/editor.png", QSize(), QIcon.Mode.Normal, QIcon.State.Off)
- self.editorButton.setIcon(icon5)
-
- self.horizontalLayout.addWidget(self.editorButton)
-
- self.wikiButton = QPushButton(self.toolWidget)
- self.wikiButton.setObjectName(u"wikiButton")
- self.wikiButton.setMinimumSize(QSize(0, 30))
- icon6 = QIcon()
- icon6.addFile(u":/Other/icons/wiki.png", QSize(), QIcon.Mode.Normal, QIcon.State.Off)
- self.wikiButton.setIcon(icon6)
-
- self.horizontalLayout.addWidget(self.wikiButton)
-
-
- self.gridLayout.addWidget(self.toolWidget, 0, 0, 1, 2)
-
- self.jobList = QListWidget(self.centralWidget)
- self.jobList.setObjectName(u"jobList")
- self.jobList.setStyleSheet(u"")
- self.jobList.setSelectionMode(QAbstractItemView.SelectionMode.NoSelection)
- self.jobList.setVerticalScrollMode(QAbstractItemView.ScrollMode.ScrollPerPixel)
- self.jobList.setHorizontalScrollMode(QAbstractItemView.ScrollMode.ScrollPerPixel)
-
- self.gridLayout.addWidget(self.jobList, 2, 0, 1, 2)
-
- self.progressBar = QProgressBar(self.centralWidget)
- self.progressBar.setObjectName(u"progressBar")
- self.progressBar.setMinimumSize(QSize(0, 30))
- self.progressBar.setFont(font)
- self.progressBar.setVisible(False)
- self.progressBar.setAlignment(Qt.AlignmentFlag.AlignJustify|Qt.AlignmentFlag.AlignVCenter)
-
- self.gridLayout.addWidget(self.progressBar, 1, 0, 1, 2)
-
- self.customWidget = QWidget(self.centralWidget)
- self.customWidget.setObjectName(u"customWidget")
- self.customWidget.setVisible(False)
- self.gridLayout_3 = QGridLayout(self.customWidget)
- self.gridLayout_3.setObjectName(u"gridLayout_3")
- self.gridLayout_3.setContentsMargins(0, 0, 0, 0)
- self.hLabel = QLabel(self.customWidget)
- self.hLabel.setObjectName(u"hLabel")
- sizePolicy2 = QSizePolicy(QSizePolicy.Policy.Fixed, QSizePolicy.Policy.Preferred)
- sizePolicy2.setHorizontalStretch(0)
- sizePolicy2.setVerticalStretch(0)
- sizePolicy2.setHeightForWidth(self.hLabel.sizePolicy().hasHeightForWidth())
- self.hLabel.setSizePolicy(sizePolicy2)
-
- self.gridLayout_3.addWidget(self.hLabel, 0, 2, 1, 1)
-
- self.widthBox = QSpinBox(self.customWidget)
- self.widthBox.setObjectName(u"widthBox")
- self.widthBox.setMaximum(2160)
-
- self.gridLayout_3.addWidget(self.widthBox, 0, 1, 1, 1)
-
- self.wLabel = QLabel(self.customWidget)
- self.wLabel.setObjectName(u"wLabel")
- sizePolicy2.setHeightForWidth(self.wLabel.sizePolicy().hasHeightForWidth())
- self.wLabel.setSizePolicy(sizePolicy2)
-
- self.gridLayout_3.addWidget(self.wLabel, 0, 0, 1, 1)
-
- self.heightBox = QSpinBox(self.customWidget)
- self.heightBox.setObjectName(u"heightBox")
- self.heightBox.setMaximum(3840)
-
- self.gridLayout_3.addWidget(self.heightBox, 0, 3, 1, 1)
-
-
- self.gridLayout.addWidget(self.customWidget, 7, 0, 1, 2)
+ self.gridLayout.addWidget(self.chunkSizeWidget, 6, 0, 1, 1)
mainWindow.setCentralWidget(self.centralWidget)
self.statusBar = QStatusBar(mainWindow)
@@ -367,18 +409,23 @@ class Ui_mainWindow(object):
QWidget.setTabOrder(self.gammaBox, self.borderBox)
QWidget.setTabOrder(self.borderBox, self.outputSplit)
QWidget.setTabOrder(self.outputSplit, self.colorBox)
- QWidget.setTabOrder(self.colorBox, self.croppingBox)
- QWidget.setTabOrder(self.croppingBox, self.mozJpegBox)
+ QWidget.setTabOrder(self.colorBox, self.mozJpegBox)
QWidget.setTabOrder(self.mozJpegBox, self.maximizeStrips)
- QWidget.setTabOrder(self.maximizeStrips, self.deleteBox)
+ QWidget.setTabOrder(self.maximizeStrips, self.croppingBox)
+ QWidget.setTabOrder(self.croppingBox, self.spreadShiftBox)
+ QWidget.setTabOrder(self.spreadShiftBox, self.deleteBox)
QWidget.setTabOrder(self.deleteBox, self.disableProcessingBox)
- QWidget.setTabOrder(self.disableProcessingBox, self.editorButton)
+ QWidget.setTabOrder(self.disableProcessingBox, self.chunkSizeBox)
+ QWidget.setTabOrder(self.chunkSizeBox, self.noRotateBox)
+ QWidget.setTabOrder(self.noRotateBox, self.interPanelCropBox)
+ QWidget.setTabOrder(self.interPanelCropBox, self.reduceRainbowBox)
+ QWidget.setTabOrder(self.reduceRainbowBox, self.heightBox)
+ QWidget.setTabOrder(self.heightBox, self.croppingPowerSlider)
+ QWidget.setTabOrder(self.croppingPowerSlider, self.editorButton)
QWidget.setTabOrder(self.editorButton, self.wikiButton)
QWidget.setTabOrder(self.wikiButton, self.jobList)
QWidget.setTabOrder(self.jobList, self.gammaSlider)
QWidget.setTabOrder(self.gammaSlider, self.widthBox)
- QWidget.setTabOrder(self.widthBox, self.heightBox)
- QWidget.setTabOrder(self.heightBox, self.croppingPowerSlider)
self.retranslateUi(mainWindow)
@@ -387,6 +434,45 @@ class Ui_mainWindow(object):
def retranslateUi(self, mainWindow):
mainWindow.setWindowTitle(QCoreApplication.translate("mainWindow", u"Kindle Comic Converter", None))
+#if QT_CONFIG(tooltip)
+ self.editorButton.setToolTip(QCoreApplication.translate("mainWindow", u"Shift+Click to edit directory.
", None))
+#endif // QT_CONFIG(tooltip)
+ self.editorButton.setText(QCoreApplication.translate("mainWindow", u"Metadata Editor", None))
+ self.wikiButton.setText(QCoreApplication.translate("mainWindow", u"Wiki", None))
+#if QT_CONFIG(tooltip)
+ self.directoryButton.setToolTip(QCoreApplication.translate("mainWindow", u"Add directory containing JPG, PNG or GIF files to queue.
CBR, CBZ and CB7 files inside will not be processed!
", None))
+#endif // QT_CONFIG(tooltip)
+ self.directoryButton.setText(QCoreApplication.translate("mainWindow", u"Add directory", None))
+#if QT_CONFIG(tooltip)
+ self.fileButton.setToolTip(QCoreApplication.translate("mainWindow", u" Add CBR, CBZ, CB7 or PDF file to queue.
", None))
+#endif // QT_CONFIG(tooltip)
+ self.fileButton.setText(QCoreApplication.translate("mainWindow", u"Add file", None))
+#if QT_CONFIG(tooltip)
+ self.deviceBox.setToolTip(QCoreApplication.translate("mainWindow", u"Target device.
", None))
+#endif // QT_CONFIG(tooltip)
+#if QT_CONFIG(tooltip)
+ self.formatBox.setToolTip(QCoreApplication.translate("mainWindow", u"Output format.
", None))
+#endif // QT_CONFIG(tooltip)
+#if QT_CONFIG(tooltip)
+ self.convertButton.setToolTip(QCoreApplication.translate("mainWindow", u" Shift+Click to select the output directory.
", None))
+#endif // QT_CONFIG(tooltip)
+ self.convertButton.setText(QCoreApplication.translate("mainWindow", u"Convert", None))
+ self.clearButton.setText(QCoreApplication.translate("mainWindow", u"Clear list", None))
+#if QT_CONFIG(tooltip)
+ self.hLabel.setToolTip(QCoreApplication.translate("mainWindow", u"Resolution of the target device.
", None))
+#endif // QT_CONFIG(tooltip)
+ self.hLabel.setText(QCoreApplication.translate("mainWindow", u"Custom height:", None))
+#if QT_CONFIG(tooltip)
+ self.widthBox.setToolTip(QCoreApplication.translate("mainWindow", u" Resolution of the target device.
", None))
+#endif // QT_CONFIG(tooltip)
+#if QT_CONFIG(tooltip)
+ self.wLabel.setToolTip(QCoreApplication.translate("mainWindow", u" Resolution of the target device.
", None))
+#endif // QT_CONFIG(tooltip)
+ self.wLabel.setText(QCoreApplication.translate("mainWindow", u"Custom width:", None))
+#if QT_CONFIG(tooltip)
+ self.heightBox.setToolTip(QCoreApplication.translate("mainWindow", u"
Resolution of the target device.
", None))
+#endif // QT_CONFIG(tooltip)
+ self.croppingPowerLabel.setText(QCoreApplication.translate("mainWindow", u"Cropping power:", None))
#if QT_CONFIG(tooltip)
self.croppingBox.setToolTip(QCoreApplication.translate("mainWindow", u"Unchecked - Disabled
Disabled
Indeterminate - Margins
Margins
Checked - Margins + page numbers
Margins +page numbers
", None))
#endif // QT_CONFIG(tooltip)
@@ -463,45 +549,15 @@ class Ui_mainWindow(object):
self.reduceRainbowBox.setToolTip(QCoreApplication.translate("mainWindow", u"Reduce rainbow effect on color eink by slightly blurring images", None))
#endif // QT_CONFIG(tooltip)
self.reduceRainbowBox.setText(QCoreApplication.translate("mainWindow", u"Reduce Rainbow", None))
+#if QT_CONFIG(tooltip)
+ self.chunkSizeCheckBox.setToolTip(QCoreApplication.translate("mainWindow", u"Unchecked
Maximal output file size is 100 MB for Webtoon, 400 MB for others before split occurs.
Checked
Output file size specified in "Chunk size MB" before split occurs.
", None))
+#endif // QT_CONFIG(tooltip)
+ self.chunkSizeCheckBox.setText(QCoreApplication.translate("mainWindow", u"Chunk size", None))
self.gammaLabel.setText(QCoreApplication.translate("mainWindow", u"Gamma: Auto", None))
- self.croppingPowerLabel.setText(QCoreApplication.translate("mainWindow", u"Cropping power:", None))
#if QT_CONFIG(tooltip)
- self.directoryButton.setToolTip(QCoreApplication.translate("mainWindow", u"Add directory containing JPG, PNG or GIF files to queue.
CBR, CBZ and CB7 files inside will not be processed!
", None))
-#endif // QT_CONFIG(tooltip)
- self.directoryButton.setText(QCoreApplication.translate("mainWindow", u"Add directory", None))
-#if QT_CONFIG(tooltip)
- self.fileButton.setToolTip(QCoreApplication.translate("mainWindow", u"Add CBR, CBZ, CB7 or PDF file to queue.
", None))
-#endif // QT_CONFIG(tooltip)
- self.fileButton.setText(QCoreApplication.translate("mainWindow", u"Add file", None))
-#if QT_CONFIG(tooltip)
- self.deviceBox.setToolTip(QCoreApplication.translate("mainWindow", u"Target device.
", None))
-#endif // QT_CONFIG(tooltip)
-#if QT_CONFIG(tooltip)
- self.formatBox.setToolTip(QCoreApplication.translate("mainWindow", u"Output format.
", None))
-#endif // QT_CONFIG(tooltip)
-#if QT_CONFIG(tooltip)
- self.convertButton.setToolTip(QCoreApplication.translate("mainWindow", u"Shift+Click to select the output directory.
", None))
-#endif // QT_CONFIG(tooltip)
- self.convertButton.setText(QCoreApplication.translate("mainWindow", u"Convert", None))
- self.clearButton.setText(QCoreApplication.translate("mainWindow", u"Clear list", None))
-#if QT_CONFIG(tooltip)
- self.editorButton.setToolTip(QCoreApplication.translate("mainWindow", u"Shift+Click to edit directory.
", None))
-#endif // QT_CONFIG(tooltip)
- self.editorButton.setText(QCoreApplication.translate("mainWindow", u"Metadata Editor", None))
- self.wikiButton.setText(QCoreApplication.translate("mainWindow", u"Wiki", None))
-#if QT_CONFIG(tooltip)
- self.hLabel.setToolTip(QCoreApplication.translate("mainWindow", u"Resolution of the target device.
", None))
-#endif // QT_CONFIG(tooltip)
- self.hLabel.setText(QCoreApplication.translate("mainWindow", u"Custom height:", None))
-#if QT_CONFIG(tooltip)
- self.widthBox.setToolTip(QCoreApplication.translate("mainWindow", u"Resolution of the target device.
", None))
-#endif // QT_CONFIG(tooltip)
-#if QT_CONFIG(tooltip)
- self.wLabel.setToolTip(QCoreApplication.translate("mainWindow", u"Resolution of the target device.
", None))
-#endif // QT_CONFIG(tooltip)
- self.wLabel.setText(QCoreApplication.translate("mainWindow", u"Custom width:", None))
-#if QT_CONFIG(tooltip)
- self.heightBox.setToolTip(QCoreApplication.translate("mainWindow", u"Resolution of the target device.
", None))
+ self.chunkSizeWidget.setToolTip(QCoreApplication.translate("mainWindow", u"Warning: chunk size greater than default may cause
performance/battery issues, especially on older devices.
", None))
#endif // QT_CONFIG(tooltip)
+ self.chunkSizeLabel.setText(QCoreApplication.translate("mainWindow", u"Chunk size MB:", None))
+ self.chunkSizeWarnLabel.setText(QCoreApplication.translate("mainWindow", u"Greater than default may cause performance issues on older ereaders.", None))
# retranslateUi