From d60337d4ab73b7a8c6be220042fe39ac6f101565 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Mon, 14 Jul 2014 12:26:30 +0530 Subject: [PATCH] Edit metadata dialog: If the title's case is changed auto-update the title sort --- src/calibre/gui2/metadata/basic_widgets.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/calibre/gui2/metadata/basic_widgets.py b/src/calibre/gui2/metadata/basic_widgets.py index d447539664..b7a0afe52a 100644 --- a/src/calibre/gui2/metadata/basic_widgets.py +++ b/src/calibre/gui2/metadata/basic_widgets.py @@ -146,7 +146,7 @@ class TitleSortEdit(TitleEdit): 'No action is required if this is what you want.')) self.tooltips = (ok_tooltip, bad_tooltip) - self.title_edit.textChanged.connect(self.update_state) + self.title_edit.textChanged.connect(self.update_state_and_val) self.textChanged.connect(self.update_state) self.autogen_button = autogen_button @@ -167,6 +167,13 @@ class TitleSortEdit(TitleEdit): book_lang = None return book_lang + def update_state_and_val(self): + # Handle case change if the title's case and nothing else was changed + ts = title_sort(self.title_edit.current_val, lang=self.book_lang) + if strcmp(ts, self.current_val) == 0: + self.current_val = ts + self.update_state() + def update_state(self, *args): ts = title_sort(self.title_edit.current_val, lang=self.book_lang) normal = ts == self.current_val