diff --git a/gui/KCC.ui b/gui/KCC.ui
index 16c89fb..847738c 100644
--- a/gui/KCC.ui
+++ b/gui/KCC.ui
@@ -224,7 +224,7 @@
<html><head/><body><p>Use this to select the default output directory.</p></body></html>
- Default Output Folder
+
@@ -241,10 +241,13 @@
- <html><head/><body><p>Click to enable custom directory.</p></body></html>
+ <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Unchecked - next to source<br/></span>Place output files next to source files</p><p><span style=" font-weight:600; text-decoration: underline;">Indeterminate - folder next to source<br/></span>Place output files in a folder next to source files</p><p><span style=" font-weight:600; text-decoration: underline;">Checked - Custom<br/></span>Place output files in custom directory specified by right button</p></body></html>
-
+ Output Folder
+
+
+ true
diff --git a/kindlecomicconverter/KCC_gui.py b/kindlecomicconverter/KCC_gui.py
index b696312..0990fcb 100644
--- a/kindlecomicconverter/KCC_gui.py
+++ b/kindlecomicconverter/KCC_gui.py
@@ -16,6 +16,7 @@
# OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
# TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
+from pathlib import Path
from PySide6.QtCore import (QSize, QUrl, Qt, Signal, QIODeviceBase, QEvent, QThread, QSettings)
from PySide6.QtGui import (QColor, QIcon, QPixmap, QDesktopServices)
from PySide6.QtWidgets import (QApplication, QLabel, QListWidgetItem, QMainWindow, QApplication, QSystemTrayIcon, QFileDialog, QMessageBox, QDialog)
@@ -801,6 +802,12 @@ class KCCGUI(KCC_ui.Ui_mainWindow):
self.addMessage('No files selected! Please choose files to convert.', 'error')
self.needClean = True
return
+ if GUI.defaultOutputFolderBox.checkState() == Qt.CheckState.PartiallyChecked:
+ parent = Path(self.jobList.item(0).text()).parent
+ target_path = parent.joinpath(f"{parent.name}")
+ if not target_path.exists():
+ target_path.mkdir()
+ self.targetDirectory = str(target_path)
if self.currentMode > 2 and (GUI.widthBox.value() == 0 or GUI.heightBox.value() == 0):
GUI.jobList.clear()
self.addMessage('Target resolution is not set!', 'error')
@@ -1140,7 +1147,6 @@ class KCCGUI(KCC_ui.Ui_mainWindow):
self.addMessage('Welcome!', 'info')
self.addMessage('Tip: Hover mouse over options to see additional information in tooltips.', 'info')
self.addMessage('Tip: You can drag and drop image folders or comic files/archives into this window to convert.', 'info')
- self.addMessage('Tip: Shift clicking the Convert button lets you select a custom output directory for this list', 'info')
if self.startNumber < 5:
self.addMessage('Since you are a new user of KCC please see few '
'important tips.',
diff --git a/kindlecomicconverter/KCC_rc.py b/kindlecomicconverter/KCC_rc.py
index c74b46d..125ba82 100644
--- a/kindlecomicconverter/KCC_rc.py
+++ b/kindlecomicconverter/KCC_rc.py
@@ -12198,53 +12198,53 @@ 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\xe4\x00\x00\x00\x00\x00\x01\x00\x02S.\
-\x00\x00\x01\x97\x0a\xfc2A\
+\x00\x00\x01\x88;p\xbcB\
\x00\x00\x02\x22\x00\x00\x00\x00\x00\x01\x00\x02\xa7\xc8\
-\x00\x00\x01\x97\x0a\xfc2@\
+\x00\x00\x01\x88;p\xbcB\
\x00\x00\x02\x0e\x00\x00\x00\x00\x00\x01\x00\x02}\xcd\
-\x00\x00\x01\x97\x0a\xfc2@\
+\x00\x00\x01\x88;p\xbcB\
\x00\x00\x01\xfa\x00\x00\x00\x00\x00\x01\x00\x02rj\
-\x00\x00\x01\x97\x0a\xfc2@\
+\x00\x00\x01\x89\x89D9.\
\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\x97\x0a\xfc2A\
+\x00\x00\x01\x88;p\xbcB\
\x00\x00\x00\xbc\x00\x00\x00\x00\x00\x01\x00\x011\xef\
-\x00\x00\x01\x97\x0a\xfc2A\
+\x00\x00\x01\x96\x16b\x1f\x99\
\x00\x00\x00\x8c\x00\x00\x00\x00\x00\x01\x00\x01\x1d\x90\
-\x00\x00\x01\x97\x0a\xfc2A\
+\x00\x00\x01\x88;p\xbcB\
\x00\x00\x00\xd0\x00\x00\x00\x00\x00\x01\x00\x01:\x05\
-\x00\x00\x01\x97\x0a\xfc2A\
+\x00\x00\x01\x88;p\xbcB\
\x00\x00\x00X\x00\x02\x00\x00\x00\x03\x00\x00\x00\x11\
\x00\x00\x00\x00\x00\x00\x00\x00\
\x00\x00\x02f\x00\x00\x00\x00\x00\x01\x00\x02\xda\x14\
-\x00\x00\x01\x97\x0a\xfc2D\
+\x00\x00\x01\x88;p\xbcJ\
\x00\x00\x028\x00\x00\x00\x00\x00\x01\x00\x02\xc4\x17\
-\x00\x00\x01\x97\x0a\xfc2D\
+\x00\x00\x01\x88;p\xbcI\
\x00\x00\x02N\x00\x00\x00\x00\x00\x01\x00\x02\xcdt\
-\x00\x00\x01\x97\x0a\xfc2D\
+\x00\x00\x01\x88;p\xbcI\
\x00\x00\x00X\x00\x02\x00\x00\x00\x08\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\x97\x0a\xfc2D\
+\x00\x00\x01\x88;p\xbcJ\
\x00\x00\x012\x00\x00\x00\x00\x00\x01\x00\x01yY\
-\x00\x00\x01\x97\x85\xbab\x1e\
+\x00\x00\x01\x97~\xfd]]\
\x00\x00\x01V\x00\x00\x00\x00\x00\x01\x00\x01\x9d\x9a\
-\x00\x00\x01\x97\x0a\xfc2D\
+\x00\x00\x01\x88;p\xbcI\
\x00\x00\x01\xb8\x00\x00\x00\x00\x00\x01\x00\x01\xf6n\
-\x00\x00\x01\x97\x0a\xfc2D\
+\x00\x00\x01\x94\xb4\xd4\xf0a\
\x00\x00\x01\x9e\x00\x00\x00\x00\x00\x01\x00\x01\xb1'\
-\x00\x00\x01\x97\x0a\xfc2C\
+\x00\x00\x01\x88;p\xbcH\
\x00\x00\x01\x04\x00\x00\x00\x00\x00\x01\x00\x01LR\
-\x00\x00\x01\x97\x0a\xfc2B\
+\x00\x00\x01\x88;p\xbcF\
\x00\x00\x00\xe8\x00\x00\x00\x00\x00\x01\x00\x01?\xe9\
-\x00\x00\x01\x97\x0a\xfc2C\
+\x00\x00\x01\x88;p\xbcH\
\x00\x00\x01x\x00\x00\x00\x00\x00\x01\x00\x01\xa6\xf1\
-\x00\x00\x01\x97\x0a\xfc2C\
+\x00\x00\x01\x88;p\xbcH\
\x00\x00\x00X\x00\x02\x00\x00\x00\x01\x00\x00\x00\x1e\
\x00\x00\x00\x00\x00\x00\x00\x00\
\x00\x00\x00h\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\
-\x00\x00\x01\x97\x0a\xfc2C\
+\x00\x00\x01\x88;p\xbcH\
"
def qInitResources():
diff --git a/kindlecomicconverter/KCC_ui.py b/kindlecomicconverter/KCC_ui.py
index 033cdd6..ae69830 100644
--- a/kindlecomicconverter/KCC_ui.py
+++ b/kindlecomicconverter/KCC_ui.py
@@ -142,6 +142,7 @@ class Ui_mainWindow(object):
sizePolicy1.setVerticalStretch(0)
sizePolicy1.setHeightForWidth(self.defaultOutputFolderBox.sizePolicy().hasHeightForWidth())
self.defaultOutputFolderBox.setSizePolicy(sizePolicy1)
+ self.defaultOutputFolderBox.setTristate(True)
self.gridLayout_4.addWidget(self.defaultOutputFolderBox, 0, 4, 1, 1)
@@ -499,11 +500,11 @@ class Ui_mainWindow(object):
#if QT_CONFIG(tooltip)
self.defaultOutputFolderButton.setToolTip(QCoreApplication.translate("mainWindow", u"
Use this to select the default output directory.
", None))
#endif // QT_CONFIG(tooltip)
- self.defaultOutputFolderButton.setText(QCoreApplication.translate("mainWindow", u"Default Output Folder", None))
+ self.defaultOutputFolderButton.setText("")
#if QT_CONFIG(tooltip)
- self.defaultOutputFolderBox.setToolTip(QCoreApplication.translate("mainWindow", u"Click to enable custom directory.
", None))
+ self.defaultOutputFolderBox.setToolTip(QCoreApplication.translate("mainWindow", u"Unchecked - next to source
Place output files next to source files
Indeterminate - folder next to source
Place output files in a folder next to source files
Checked - Custom
Place output files in custom directory specified by right button
", None))
#endif // QT_CONFIG(tooltip)
- self.defaultOutputFolderBox.setText("")
+ self.defaultOutputFolderBox.setText(QCoreApplication.translate("mainWindow", u"Output Folder", None))
#if QT_CONFIG(tooltip)
self.formatBox.setToolTip(QCoreApplication.translate("mainWindow", u"Output format.
", None))
#endif // QT_CONFIG(tooltip)