diff options
-rw-r--r-- | gui/KCC.ui | 5 | ||||
-rw-r--r-- | kindlecomicconverter/KCC_gui.py | 53 | ||||
-rw-r--r-- | kindlecomicconverter/KCC_ui.py | 1 | ||||
-rw-r--r-- | kindlecomicconverter/metadata.py | 4 |
4 files changed, 40 insertions, 23 deletions
diff --git a/gui/KCC.ui b/gui/KCC.ui index 1c49bc2..09a7b92 100644 --- a/gui/KCC.ui +++ b/gui/KCC.ui @@ -320,6 +320,9 @@ <property name="text"> <string>Editor</string> </property> + <property name="toolTip"> + <string><html><head/><body><p style='white-space:pre'>Shift+Click to edit directory.</p></body></html></string> + </property> <property name="icon"> <iconset resource="KCC.qrc"> <normaloff>:/Other/icons/editor.png</normaloff>:/Other/icons/editor.png</iconset> @@ -454,7 +457,7 @@ </font> </property> <property name="toolTip"> - <string><html><head/><body><p style='white-space:pre'>Shift+Click to select the output directory.</p></body></html></string> + <string><html><head/><body><p style='white-space:pre'>Shift+Click to select the output directory.</p></body></html></string> </property> <property name="text"> <string>Convert</string> diff --git a/kindlecomicconverter/KCC_gui.py b/kindlecomicconverter/KCC_gui.py index 9191a49..a98585a 100644 --- a/kindlecomicconverter/KCC_gui.py +++ b/kindlecomicconverter/KCC_gui.py @@ -500,28 +500,38 @@ class KCCGUI(KCC_ui.Ui_mainWindow): GUI.jobList.scrollToBottom() def selectFileMetaEditor(self): - if self.UnRAR: - if self.sevenza: - fname = QtWidgets.QFileDialog.getOpenFileName(MW, 'Select file', self.lastPath, - 'Comic (*.cbz *.cbr *.cb7)') - else: - fname = QtWidgets.QFileDialog.getOpenFileName(MW, 'Select file', self.lastPath, - 'Comic (*.cbz *.cbr)') + sname = '' + if QtWidgets.QApplication.keyboardModifiers() == QtCore.Qt.ShiftModifier: + dname = QtWidgets.QFileDialog.getExistingDirectory(MW, 'Select directory', self.lastPath) + if dname != '': + sname = os.path.join(dname, 'ComicInfo.xml') + if sys.platform.startswith('win'): + sname = sname.replace('/', '\\') + self.lastPath = os.path.abspath(sname) else: - if self.sevenza: - fname = QtWidgets.QFileDialog.getOpenFileName(MW, 'Select file', self.lastPath, - 'Comic (*.cbz *.cb7)') - else: - fname = QtWidgets.QFileDialog.getOpenFileName(MW, 'Select file', self.lastPath, - 'Comic (*.cbz)') - if fname[0] != '': - if sys.platform.startswith('win'): - fname = fname[0].replace('/', '\\') + if self.UnRAR: + if self.sevenza: + fname = QtWidgets.QFileDialog.getOpenFileName(MW, 'Select file', self.lastPath, + 'Comic (*.cbz *.cbr *.cb7)') + else: + fname = QtWidgets.QFileDialog.getOpenFileName(MW, 'Select file', self.lastPath, + 'Comic (*.cbz *.cbr)') else: - fname = fname[0] - self.lastPath = os.path.abspath(os.path.join(fname, os.pardir)) + if self.sevenza: + fname = QtWidgets.QFileDialog.getOpenFileName(MW, 'Select file', self.lastPath, + 'Comic (*.cbz *.cb7)') + else: + fname = QtWidgets.QFileDialog.getOpenFileName(MW, 'Select file', self.lastPath, + 'Comic (*.cbz)') + if fname[0] != '': + if sys.platform.startswith('win'): + sname = fname[0].replace('/', '\\') + else: + sname = fname[0] + self.lastPath = os.path.abspath(os.path.join(sname, os.pardir)) + if sname != '': try: - self.editor.loadData(fname) + self.editor.loadData(sname) except Exception as err: _, _, traceback = sys.exc_info() GUI.sentry.captureException() @@ -1109,7 +1119,10 @@ class KCCGUI_MetaEditor(KCC_ui_editor.Ui_editorDialog): for field in (self.writerLine, self.pencillerLine, self.inkerLine, self.coloristLine): field.setText(', '.join(self.parser.data[field.objectName().capitalize()[:-4] + 's'])) if self.seriesLine.text() == '': - self.seriesLine.setText(file.split('\\')[-1].split('/')[-1].split('.')[0]) + if file.endswith('.xml'): + self.seriesLine.setText(file.split('\\')[-2]) + else: + self.seriesLine.setText(file.split('\\')[-1].split('/')[-1].split('.')[0]) def saveData(self): for field in (self.volumeLine, self.numberLine, self.muidLine): diff --git a/kindlecomicconverter/KCC_ui.py b/kindlecomicconverter/KCC_ui.py index ef8fcbf..b70f3ef 100644 --- a/kindlecomicconverter/KCC_ui.py +++ b/kindlecomicconverter/KCC_ui.py @@ -258,6 +258,7 @@ class Ui_mainWindow(object): self.colorBox.setText(_translate("mainWindow", "Color mode")) self.gammaLabel.setText(_translate("mainWindow", "Gamma: Auto")) self.editorButton.setText(_translate("mainWindow", "Editor")) + self.editorButton.setToolTip(_translate("mainWindow", "<html><head/><body><p style=\'white-space:pre\'>Shift+Click to edit directory.</p></body></html>")) self.wikiButton.setText(_translate("mainWindow", "Wiki")) self.directoryButton.setToolTip(_translate("mainWindow", "<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>")) self.directoryButton.setText(_translate("mainWindow", "Add directory")) diff --git a/kindlecomicconverter/metadata.py b/kindlecomicconverter/metadata.py index f2cf488..714dcd1 100644 --- a/kindlecomicconverter/metadata.py +++ b/kindlecomicconverter/metadata.py @@ -43,10 +43,10 @@ class MetadataParser: 'Bookmarks': []} self.rawdata = None self.compressor = None - if self.source.endswith('.xml'): + if self.source.endswith('.xml') and os.path.exists(self.source): self.rawdata = parse(self.source) self.parseXML() - else: + elif not self.source.endswith('.xml'): if is_zipfile(self.source): self.compressor = 'zip' with ZipFile(self.source) as zip_file: |