Merge pull request #1464 from axu2/profile-changes

Profile changes
This commit is contained in:
Alex Xu
2026-10-16 13:13:58 -07:00
committed by GitHub
4 changed files with 57 additions and 31 deletions
+5 -3
View File
@@ -222,7 +222,7 @@ sudo apt-get install python3 p7zip-full python3-pil python3-psutil python3-slugi
``` ```
'K1': ("Kindle 1", (600, 670), Palette4, 1.0), 'K1': ("Kindle 1", (600, 670), Palette4, 1.0),
'K2': ("Kindle 2", (600, 670), Palette15, 1.0), 'K2': ("Kindle 2", (600, 670), Palette15, 1.0),
'K11': ("Kindle 11", (1072, 1448), Palette16, 1.0), 'K11': ("Kindle 11/2026", (1072, 1448), Palette16, 1.0),
'K34': ("Kindle Keyboard/Touch", (600, 800), Palette16, 1.0), 'K34': ("Kindle Keyboard/Touch", (600, 800), Palette16, 1.0),
'K57': ("Kindle 5/7", (600, 800), Palette16, 1.0), 'K57': ("Kindle 5/7", (600, 800), Palette16, 1.0),
'K810': ("Kindle 8/10", (600, 800), Palette16, 1.0), 'K810': ("Kindle 8/10", (600, 800), Palette16, 1.0),
@@ -231,7 +231,7 @@ sudo apt-get install python3 p7zip-full python3-pil python3-psutil python3-slugi
'KV': ("Kindle Voyage", (1072, 1448), Palette16, 1.0), 'KV': ("Kindle Voyage", (1072, 1448), Palette16, 1.0),
'KPW34': ("Kindle Paperwhite 3/4", (1072, 1448), Palette16, 1.0), 'KPW34': ("Kindle Paperwhite 3/4", (1072, 1448), Palette16, 1.0),
'KPW5': ("Kindle Paperwhite 5/Signature Edition", (1236, 1648), Palette16, 1.0), 'KPW5': ("Kindle Paperwhite 5/Signature Edition", (1236, 1648), Palette16, 1.0),
'KPW6': ("Kindle Paperwhite 6", (1272, 1696), Palette16, 1.0), 'KPW6': ("Kindle Paperwhite 6/2026", (1272, 1696), Palette16, 1.0),
'KO': ("Kindle Oasis 2/3", (1264, 1680), Palette16, 1.0), 'KO': ("Kindle Oasis 2/3", (1264, 1680), Palette16, 1.0),
'KCS': ("Kindle Colorsoft", (1272, 1696), Palette16, 1.0), 'KCS': ("Kindle Colorsoft", (1272, 1696), Palette16, 1.0),
'KS1860': ("Kindle 1860", (1860, 1920), Palette16, 1.0), 'KS1860': ("Kindle 1860", (1860, 1920), Palette16, 1.0),
@@ -273,7 +273,9 @@ MANDATORY:
MAIN: MAIN:
-p PROFILE, --profile PROFILE -p PROFILE, --profile PROFILE
Device profile (Available options: K1, K2, K34, K578, KDX, KPW, KPW5, KV, KO, K11, KS, KoMT, KoG, KoGHD, KoA, KoAHD, KoAH2O, KoAO, KoN, KoC, KoCC, KoL, KoLC, KoF, KoS, KoE) Device profile (Available options: K1, K2, KDX, K34, K57, KPW, KV, KPW34, K810, KO, K11, KPW5, KPW6, KS1860, KS1920,
KS1240, KS1324, KS, KCS, KS3, KSCS, KoMT, KoG, KoGHD, KoA, KoAHD, KoAH2O, KoAO, KoN, KoC, KoCC, KoL, KoLC, KoF, KoS, KoE,
Rmk1, Rmk2, RmkPP, RmkPPMove, OTHER, 1072x1448, 1264x1680, 1404x1872, 1536x2048, 1650x2200, 1860x2480, 2400x3200)
[Default=KV] [Default=KV]
-m, --manga-style Manga style (right-to-left reading and splitting) -m, --manga-style Manga style (right-to-left reading and splitting)
--lightnovel Only resize images and preserve original file structure. --lightnovel Only resize images and preserve original file structure.
+29 -25
View File
@@ -47,6 +47,7 @@ from PIL.Image import Dither
from .KCC_spread_label import LabelSpreadsDialog from .KCC_spread_label import LabelSpreadsDialog
from .shared import HTMLStripper, sanitizeTrace, walkLevel from .shared import HTMLStripper, sanitizeTrace, walkLevel
from .image import ProfileData
from .comicarchive import SEVENZIP, TAR, available_archive_tools from .comicarchive import SEVENZIP, TAR, available_archive_tools
from .comic2ebook import OS_SORT_KEY, KF7_KINDLES, flattenTree, getWorkFolder, removeNonImages, sanitizeTree, detectKindleGen from .comic2ebook import OS_SORT_KEY, KF7_KINDLES, flattenTree, getWorkFolder, removeNonImages, sanitizeTree, detectKindleGen
from . import __version__ from . import __version__
@@ -1498,7 +1499,7 @@ class KCCGUI(QObject, KCC_ui.Ui_mainWindow):
GUI.easyLabel.hide() GUI.easyLabel.hide()
# default is Kindle Paperwhite 12th Gen # default is Kindle Paperwhite 12th Gen
self.lastDevice = self.settings.value('lastDevice', 3, type=int) self.lastDevice = self.settings.value('lastDevice', 4, type=int)
self.currentFormat = self.settings.value('currentFormat', 0, type=int) self.currentFormat = self.settings.value('currentFormat', 0, type=int)
self.startNumber = self.settings.value('startNumber', 0, type=int) self.startNumber = self.settings.value('startNumber', 0, type=int)
@@ -1587,13 +1588,13 @@ class KCCGUI(QObject, KCC_ui.Ui_mainWindow):
"Kindle Scribe Colorsoft": { "Kindle Scribe Colorsoft": {
'PVOptions': True, 'ForceExpert': False, 'DefaultFormat': 4, 'DefaultUpscale': False, 'ForceColor': True, 'Label': 'KSCS', 'PVOptions': True, 'ForceExpert': False, 'DefaultFormat': 4, 'DefaultUpscale': False, 'ForceColor': True, 'Label': 'KSCS',
}, },
"Kindle 11": { "Kindle 11/2026": {
'PVOptions': True, 'ForceExpert': False, 'DefaultFormat': 0, 'DefaultUpscale': True, 'ForceColor': False, 'Label': 'K11', 'PVOptions': True, 'ForceExpert': False, 'DefaultFormat': 0, 'DefaultUpscale': True, 'ForceColor': False, 'Label': 'K11',
}, },
"Kindle Paperwhite 11": { "Kindle Paperwhite 11": {
'PVOptions': True, 'ForceExpert': False, 'DefaultFormat': 0, 'DefaultUpscale': True, 'ForceColor': False, 'Label': 'KPW5', 'PVOptions': True, 'ForceExpert': False, 'DefaultFormat': 0, 'DefaultUpscale': True, 'ForceColor': False, 'Label': 'KPW5',
}, },
"Kindle Paperwhite 12": { "Kindle Paperwhite 12/2026": {
'PVOptions': True, 'ForceExpert': False, 'DefaultFormat': 0, 'DefaultUpscale': True, 'ForceColor': False, 'Label': 'KPW6', 'PVOptions': True, 'ForceExpert': False, 'DefaultFormat': 0, 'DefaultUpscale': True, 'ForceColor': False, 'Label': 'KPW6',
}, },
"Kindle Colorsoft": { "Kindle Colorsoft": {
@@ -1649,26 +1650,28 @@ class KCCGUI(QObject, KCC_ui.Ui_mainWindow):
'Label': 'KoS'}, 'Label': 'KoS'},
"Kobo Elipsa": {'PVOptions': False, 'ForceExpert': False, 'DefaultFormat': 1, 'DefaultUpscale': True, 'ForceColor': False, "Kobo Elipsa": {'PVOptions': False, 'ForceExpert': False, 'DefaultFormat': 1, 'DefaultUpscale': True, 'ForceColor': False,
'Label': 'KoE'}, 'Label': 'KoE'},
"reMarkable 1": {'PVOptions': False, 'ForceExpert': False, 'DefaultFormat': 3, 'DefaultUpscale': True, 'ForceColor': False, "reMarkable 1/2/Pure": {'PVOptions': False, 'ForceExpert': False, 'DefaultFormat': 4, 'DefaultUpscale': True, 'ForceColor': False,
'Label': 'Rmk1'}, 'Label': 'Rmk1'},
"reMarkable 2": {'PVOptions': False, 'ForceExpert': False, 'DefaultFormat': 3, 'DefaultUpscale': True, 'ForceColor': False, "reMarkable Paper Pro": {'PVOptions': False, 'ForceExpert': False, 'DefaultFormat': 4, 'DefaultUpscale': True, 'ForceColor': True,
'Label': 'Rmk2'},
"reMarkable Paper Pro": {'PVOptions': False, 'ForceExpert': False, 'DefaultFormat': 3, 'DefaultUpscale': True, 'ForceColor': True,
'Label': 'RmkPP'}, 'Label': 'RmkPP'},
"reMarkable Paper Pro Move": {'PVOptions': False, 'ForceExpert': False, 'DefaultFormat': 3, 'DefaultUpscale': True, 'ForceColor': True, "reMarkable Paper Pro Move": {'PVOptions': False, 'ForceExpert': False, 'DefaultFormat': 4, 'DefaultUpscale': True, 'ForceColor': True,
'Label': 'RmkPPMove'}, 'Label': 'RmkPPMove'},
"Other": {'PVOptions': False, 'ForceExpert': True, 'DefaultFormat': 1, 'DefaultUpscale': False, 'ForceColor': False, "Other": {'PVOptions': False, 'ForceExpert': True, 'DefaultFormat': 2, 'DefaultUpscale': False, 'ForceColor': False,
'Label': 'OTHER'}, 'Label': 'OTHER'},
} }
for s in ProfileData.FIXED_RES_STRINGS:
self.profiles[s] = {'PVOptions': False, 'ForceExpert': False, 'DefaultFormat': 2, 'DefaultUpscale': False, 'ForceColor': False,
'Label': s}
profilesGUI = [ profilesGUI = [
"Kindle Scribe Colorsoft", "Kindle Scribe Colorsoft",
"Kindle Scribe 3", "Kindle Scribe 3",
"Kindle Colorsoft",
"Kindle Paperwhite 12",
"Kindle Scribe 1/2", "Kindle Scribe 1/2",
"Kindle Colorsoft",
"Kindle Paperwhite 12/2026",
"Kindle Paperwhite 11", "Kindle Paperwhite 11",
"Kindle 11", "Kindle 11/2026",
"Kindle Oasis 9/10",
"Separator", "Separator",
"Kobo Clara 2E/BW", "Kobo Clara 2E/BW",
"Kobo Clara Colour", "Kobo Clara Colour",
@@ -1676,30 +1679,30 @@ class KCCGUI(QObject, KCC_ui.Ui_mainWindow):
"Kobo Libra 2", "Kobo Libra 2",
"Kobo Libra Colour", "Kobo Libra Colour",
"Kobo Elipsa", "Kobo Elipsa",
"Kobo Nia",
"Separator", "Separator",
"reMarkable 1",
"reMarkable 2",
"reMarkable Paper Pro",
"reMarkable Paper Pro Move", "reMarkable Paper Pro Move",
"reMarkable Paper Pro",
"reMarkable 1/2/Pure",
"Separator", "Separator",
"Other", "Other",
*ProfileData.FIXED_RES_STRINGS,
"Separator", "Separator",
"Kindle 1324x1986",
"Kindle 1920x1920",
"Kindle 1860x1920",
"Kindle 1240x1860",
"Kindle 8/10",
"Kindle Oasis 8",
"Kindle Paperwhite 7/10", "Kindle Paperwhite 7/10",
"Kindle Voyage",
"Kindle Paperwhite 5/6", "Kindle Paperwhite 5/6",
"Kindle Oasis 9/10",
"Kindle Oasis 8",
"Kindle Voyage",
"Kindle 8/10",
"Kindle 4/5/7", "Kindle 4/5/7",
"Kindle Touch", "Kindle Touch",
"Kindle Keyboard", "Kindle Keyboard",
"Kindle DX", "Kindle DX",
"Kindle 2", "Kindle 2",
"Kindle 1", "Kindle 1",
"Kindle 1324x1986",
"Kindle 1920x1920",
"Kindle 1860x1920",
"Kindle 1240x1860",
"Separator", "Separator",
"Kobo Aura", "Kobo Aura",
"Kobo Aura ONE", "Kobo Aura ONE",
@@ -1711,6 +1714,7 @@ class KCCGUI(QObject, KCC_ui.Ui_mainWindow):
"Kobo Glo", "Kobo Glo",
"Kobo Libra H2O", "Kobo Libra H2O",
"Kobo Mini/Touch", "Kobo Mini/Touch",
"Kobo Nia",
] ]
# 这些多为约定俗成的缩写,翻译时可保留原文 # 这些多为约定俗成的缩写,翻译时可保留原文
@@ -1798,7 +1802,7 @@ class KCCGUI(QObject, KCC_ui.Ui_mainWindow):
self.modeChange(1) self.modeChange(1)
for profile in profilesGUI: for profile in profilesGUI:
if profile == "Other": if profile == "Other" or profile in ProfileData.FIXED_RES_STRINGS:
GUI.deviceBox.addItem(self.icons.deviceOther, profile) GUI.deviceBox.addItem(self.icons.deviceOther, profile)
elif profile == "Separator": elif profile == "Separator":
GUI.deviceBox.insertSeparator(GUI.deviceBox.count() + 1) GUI.deviceBox.insertSeparator(GUI.deviceBox.count() + 1)
+1 -1
View File
@@ -1698,7 +1698,7 @@ def checkOptions(options):
options.white_borders = True options.white_borders = True
options.bordersColor = 'white' options.bordersColor = 'white'
# Disable all Kindle features for other e-readers # Disable all Kindle features for other e-readers
if options.profile == 'OTHER': if options.profile == 'OTHER' or options.profile in image.ProfileData.FIXED_RES_STRINGS:
options.panelview = False options.panelview = False
options.hq = False options.hq = False
if 'Ko' in options.profile: if 'Ko' in options.profile:
+22 -2
View File
@@ -98,9 +98,9 @@ class ProfileData:
'KPW34': ("Kindle Paperwhite 3/4/Oasis", (1072, 1448), Palette16, 1.0), 'KPW34': ("Kindle Paperwhite 3/4/Oasis", (1072, 1448), Palette16, 1.0),
'K810': ("Kindle 8/10", (600, 800), Palette16, 1.0), 'K810': ("Kindle 8/10", (600, 800), Palette16, 1.0),
'KO': ("Kindle Oasis 2/3", (1264, 1680), Palette16, 1.0), 'KO': ("Kindle Oasis 2/3", (1264, 1680), Palette16, 1.0),
'K11': ("Kindle 11", (1072, 1448), Palette16, 1.0), 'K11': ("Kindle 11/2026", (1072, 1448), Palette16, 1.0),
'KPW5': ("Kindle Paperwhite 5/Signature Edition", (1236, 1648), Palette16, 1.0), 'KPW5': ("Kindle Paperwhite 5/Signature Edition", (1236, 1648), Palette16, 1.0),
'KPW6': ("Kindle Paperwhite 6", (1272, 1696), Palette16, 1.0), 'KPW6': ("Kindle Paperwhite 6/2026", (1272, 1696), Palette16, 1.0),
'KS1860': ("Kindle 1860", (1860, 1920), Palette16, 1.0), 'KS1860': ("Kindle 1860", (1860, 1920), Palette16, 1.0),
'KS1920': ("Kindle 1920", (1920, 1920), Palette16, 1.0), 'KS1920': ("Kindle 1920", (1920, 1920), Palette16, 1.0),
'KS1240': ("Kindle 1240", (1240, 1860), Palette16, 1.0), 'KS1240': ("Kindle 1240", (1240, 1860), Palette16, 1.0),
@@ -141,11 +141,31 @@ class ProfileData:
'RmkPPMove': ("reMarkable Paper Pro Move", (954, 1696), Palette16, 1.0), 'RmkPPMove': ("reMarkable Paper Pro Move", (954, 1696), Palette16, 1.0),
} }
FIXED_RESOLUTIONS = [
(1072, 1448),
(1264, 1680),
(1404, 1872),
(1536, 2048),
(1650, 2200),
(1860, 2480),
(2400, 3200),
]
FIXED_RESOLUTIONS.reverse()
FIXED_RES_STRINGS = [f'{w}x{h}' for w, h in FIXED_RESOLUTIONS]
ProfilesFixed = {}
for res, s in zip(FIXED_RESOLUTIONS, FIXED_RES_STRINGS):
w, h = res
ProfilesFixed[s] = (s, res, Palette16, 1.0)
Profiles = { Profiles = {
**ProfilesKindle, **ProfilesKindle,
**ProfilesKobo, **ProfilesKobo,
**ProfilesRemarkable, **ProfilesRemarkable,
'OTHER': ("Other", (0, 0), Palette16, 1.0), 'OTHER': ("Other", (0, 0), Palette16, 1.0),
**ProfilesFixed
} }