From ab3a37cdf1ca6c320ff29b50d98e06f653331037 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Wed, 27 Apr 2022 07:55:04 +0530 Subject: [PATCH] Fix #1970497 [Edit Metadata: 'Undo' glitch on identifier field](https://bugs.launchpad.net/calibre/+bug/1970497) --- src/calibre/gui2/metadata/basic_widgets.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/calibre/gui2/metadata/basic_widgets.py b/src/calibre/gui2/metadata/basic_widgets.py index 7970c6a39b..93b0085d11 100644 --- a/src/calibre/gui2/metadata/basic_widgets.py +++ b/src/calibre/gui2/metadata/basic_widgets.py @@ -1630,8 +1630,10 @@ class IdentifiersEdit(QLineEdit, ToMetadataMixin): val[k] = v ids = sorted(iteritems(val), key=keygen) txt = ', '.join(['%s:%s'%(k.lower(), vl) for k, vl in ids]) - # Use selectAll + insert instead of setText so that undo works - self.selectAll(), self.insert(txt.strip()) + if self.allow_undo: + self.selectAll(), self.insert(txt.strip()) + else: + self.setText(txt.strip()) self.setCursorPosition(0) def initialize(self, db, id_):