From b87d7962212256ffb1f3015abf1e31bcb57eab07 Mon Sep 17 00:00:00 2001 From: Jim Miller Date: Sun, 19 Apr 2026 09:30:15 -0500 Subject: [PATCH] PI: Add Fix Series Case setting for #1338 --- calibre-plugin/config.py | 6 ++++++ calibre-plugin/fff_plugin.py | 3 +++ calibre-plugin/prefs.py | 1 + 3 files changed, 10 insertions(+) diff --git a/calibre-plugin/config.py b/calibre-plugin/config.py index 1e123ea0..f642c9e2 100644 --- a/calibre-plugin/config.py +++ b/calibre-plugin/config.py @@ -371,6 +371,7 @@ class ConfigWidget(QWidget): prefs['suppresstitlesort'] = self.std_columns_tab.suppresstitlesort.isChecked() prefs['authorcase'] = self.std_columns_tab.authorcase.isChecked() prefs['titlecase'] = self.std_columns_tab.titlecase.isChecked() + prefs['seriescase'] = self.std_columns_tab.seriescase.isChecked() prefs['setanthologyseries'] = self.std_columns_tab.setanthologyseries.isChecked() prefs['set_author_url'] =self.std_columns_tab.set_author_url.isChecked() @@ -1637,6 +1638,11 @@ class StandardColumnsTab(QWidget): self.setanthologyseries.setChecked(prefs['setanthologyseries']) row.append(self.setanthologyseries) + self.seriescase = QCheckBox(_('Fix Series Case?'),self) + self.seriescase.setToolTip(_("If checked, Calibre's routine for correcting the capitalization of title will be applied.") + +"\n"+_("This effects Calibre metadata only, not FanFicFare metadata in title page.")) + self.seriescase.setChecked(prefs['seriescase']) + row.append(self.seriescase) grid = QGridLayout() for rownum, row in enumerate(rows): for colnum, col in enumerate(row): diff --git a/calibre-plugin/fff_plugin.py b/calibre-plugin/fff_plugin.py index 09fd4119..83fbbfa9 100644 --- a/calibre-plugin/fff_plugin.py +++ b/calibre-plugin/fff_plugin.py @@ -2830,6 +2830,9 @@ class FanFicFarePlugin(InterfaceAction): mi.pubdate = book['pubdate'] mi.timestamp = book['timestamp'] mi.comments = book['comments'] + if prefs['seriescase']: + from calibre.ebooks.metadata.sources.base import fixcase + book['series'] = fixcase(book['series']) mi.series = book['series'] return mi diff --git a/calibre-plugin/prefs.py b/calibre-plugin/prefs.py index a29eaa27..265cadeb 100644 --- a/calibre-plugin/prefs.py +++ b/calibre-plugin/prefs.py @@ -126,6 +126,7 @@ default_prefs['suppressauthorsort'] = False default_prefs['suppresstitlesort'] = False default_prefs['authorcase'] = False default_prefs['titlecase'] = False +default_prefs['seriescase'] = False default_prefs['setanthologyseries'] = False default_prefs['mark'] = False default_prefs['mark_success'] = True