diff --git a/kindlecomicconverter/KCC_gui.py b/kindlecomicconverter/KCC_gui.py index 3683f3f..a2e92f8 100644 --- a/kindlecomicconverter/KCC_gui.py +++ b/kindlecomicconverter/KCC_gui.py @@ -113,12 +113,6 @@ class Icons: self.CBZFormat.addPixmap(QtGui.QPixmap(":/Formats/icons/CBZ.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.EPUBFormat = QtGui.QIcon() self.EPUBFormat.addPixmap(QtGui.QPixmap(":/Formats/icons/EPUB.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) - self.KFXFormat = QtGui.QIcon() - self.KFXFormat.addPixmap(QtGui.QPixmap(":/Formats/icons/KFX.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) - self.MOBIEPUBFormat = QtGui.QIcon() - self.MOBIEPUBFormat.addPixmap(QtGui.QPixmap(":/Formats/icons/MOBI.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) - self.EPUB200MBFormat = QtGui.QIcon() - self.EPUB200MBFormat.addPixmap(QtGui.QPixmap(":/Formats/icons/EPUB.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.info = QtGui.QIcon() self.info.addPixmap(QtGui.QPixmap(":/Status/icons/info.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) @@ -224,7 +218,8 @@ class WorkerThread(QtCore.QThread): currentJobs = [] options.profile = GUI.profiles[str(GUI.deviceBox.currentText())]['Label'] - options.format = str(GUI.formatBox.currentText()).replace('/AZW3', '') + gui_current_format = GUI.formats[str(GUI.formatBox.currentText())]['format'] + options.format = gui_current_format if GUI.mangaBox.isChecked(): options.righttoleft = True if GUI.rotateBox.checkState() == 1: @@ -280,7 +275,7 @@ class WorkerThread(QtCore.QThread): return self.errors = False MW.addMessage.emit('Source: ' + job, 'info', False) - if str(GUI.formatBox.currentText()) == 'CBZ': + if gui_current_format == 'CBZ': MW.addMessage.emit('Creating CBZ files', 'info', False) GUI.progress.content = 'Creating CBZ files' else: @@ -330,11 +325,11 @@ class WorkerThread(QtCore.QThread): return if not self.errors: GUI.progress.content = '' - if str(GUI.formatBox.currentText()) == 'CBZ': + if gui_current_format == 'CBZ': MW.addMessage.emit('Creating CBZ files... Done!', 'info', True) else: MW.addMessage.emit('Creating EPUB files... Done!', 'info', True) - if str(GUI.formatBox.currentText()) == 'MOBI/AZW3' or str(GUI.formatBox.currentText()) == 'MOBI+EPUB': + if 'MOBI' in gui_current_format: MW.progressBarTick.emit('Creating MOBI files') MW.progressBarTick.emit(str(len(outputPath) * 2 + 1)) MW.progressBarTick.emit('tick') @@ -662,7 +657,7 @@ class KCCGUI(KCC_ui.Ui_mainWindow): GUI.formatBox.setCurrentIndex(profile['DefaultFormat']) if not GUI.webtoonBox.isChecked(): GUI.qualityBox.setEnabled(profile['PVOptions']) - if str(GUI.formatBox.currentText()) == 'MOBI/AZW3': + if GUI.formats[str(GUI.formatBox.currentText())]['format'] == 'MOBI': GUI.outputSplit.setEnabled(True) else: GUI.outputSplit.setEnabled(False) @@ -744,7 +739,7 @@ class KCCGUI(KCC_ui.Ui_mainWindow): self.addMessage('Target resolution is not set!', 'error') self.needClean = True return - if str(GUI.formatBox.currentText()) == 'MOBI/AZW3' and not self.kindleGen: + if 'MOBI' in GUI.formats[str(GUI.formatBox.currentText())]['format'] and not self.kindleGen: self.detectKindleGen() if not self.kindleGen: GUI.jobList.clear() @@ -918,6 +913,16 @@ class KCCGUI(KCC_ui.Ui_mainWindow): if self.windowSize == '0x0': MW.resize(500, 500) + self.formats = { # text, icon, data/option_format + "MOBI/AZW3": {'icon': 'MOBI', 'format': 'MOBI'}, + "EPUB": {'icon': 'EPUB', 'format': 'EPUB'}, + "CBZ": {'icon': 'CBZ', 'format': 'CBZ'}, + "EPUB (Calibre KFX)": {'icon': 'EPUB', 'format': 'KFX'}, + "MOBI + EPUB": {'icon': 'MOBI', 'format': 'MOBI+EPUB'}, + "EPUB (200MB limit)": {'icon': 'EPUB', 'format': 'EPUB-200MB'} + } + + self.profiles = { "Kindle Oasis 2/3": {'PVOptions': True, 'ForceExpert': False, 'DefaultFormat': 0, 'DefaultUpscale': True, 'Label': 'KO'}, @@ -1082,9 +1087,8 @@ class KCCGUI(KCC_ui.Ui_mainWindow): GUI.deviceBox.addItem(self.icons.deviceKobo, profile) else: GUI.deviceBox.addItem(self.icons.deviceKindle, profile) - for f in ['MOBI/AZW3', 'EPUB', 'CBZ', 'KFX', 'MOBI+EPUB', 'EPUB-200MB']: - format_prefix = f.replace('/AZW3', '').replace('+', '').replace('-', '') - GUI.formatBox.addItem(eval('self.icons.' + format_prefix + 'Format'), f) + for f in self.formats: + GUI.formatBox.addItem(eval('self.icons.' + self.formats[f]['icon'] + 'Format'), f) if self.lastDevice > GUI.deviceBox.count(): self.lastDevice = 0 if profilesGUI[self.lastDevice] == "Separator":