From ceb28df1b0d0ef459e4c5b80727a5c774e7c7981 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Fri, 21 Jan 2011 11:20:08 -0700 Subject: [PATCH] Fix #8271 (Tag editor forgets position) --- src/calibre/gui2/dialogs/tag_editor.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/calibre/gui2/dialogs/tag_editor.py b/src/calibre/gui2/dialogs/tag_editor.py index c12b7357f1..d4325354a1 100644 --- a/src/calibre/gui2/dialogs/tag_editor.py +++ b/src/calibre/gui2/dialogs/tag_editor.py @@ -79,6 +79,8 @@ class TagEditor(QDialog, Ui_TagEditor): def apply_tags(self, item=None): items = self.available_tags.selectedItems() if item is None else [item] + rows = [self.available_tags.row(i) for i in items] + row = max(rows) for item in items: tag = unicode(item.text()) self.tags.append(tag) @@ -89,6 +91,12 @@ class TagEditor(QDialog, Ui_TagEditor): for tag in self.tags: self.applied_tags.addItem(tag) + if row >= self.available_tags.count(): + row = self.available_tags.count() - 1 + + if row > 2: + item = self.available_tags.item(row) + self.available_tags.scrollToItem(item) def unapply_tags(self, item=None):