From 5e677a39a57004e7e0d522f14df507006721c23f Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Fri, 20 Jan 2012 09:23:20 +0530 Subject: [PATCH] Edit metadata dialog: When setting the series from a format or via metadata download, ensure that the series index is not automatically changed, when closing the dialog. Fixes #918751 (Series numbering sometimes incorrect) --- src/calibre/gui2/metadata/basic_widgets.py | 3 +++ src/calibre/gui2/metadata/single.py | 1 + 2 files changed, 4 insertions(+) diff --git a/src/calibre/gui2/metadata/basic_widgets.py b/src/calibre/gui2/metadata/basic_widgets.py index 27112eba9a..f152bf6534 100644 --- a/src/calibre/gui2/metadata/basic_widgets.py +++ b/src/calibre/gui2/metadata/basic_widgets.py @@ -573,6 +573,9 @@ class SeriesIndexEdit(QDoubleSpinBox): import traceback traceback.print_exc() + def reset_original(self): + self.original_series_name = self.series_edit.current_val + def break_cycles(self): try: self.series_edit.currentIndexChanged.disconnect() diff --git a/src/calibre/gui2/metadata/single.py b/src/calibre/gui2/metadata/single.py index 2cb9c74890..2912d4a819 100644 --- a/src/calibre/gui2/metadata/single.py +++ b/src/calibre/gui2/metadata/single.py @@ -376,6 +376,7 @@ class MetadataSingleDialogBase(ResizableDialog): if not mi.is_null('series') and mi.series.strip(): self.series.current_val = mi.series if mi.series_index is not None: + self.series_index.reset_original() self.series_index.current_val = float(mi.series_index) if not mi.is_null('languages'): langs = [canonicalize_lang(x) for x in mi.languages]