From 769d4e9502e2e46641e0b32bee083703a625b690 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Wed, 1 Dec 2010 12:55:15 -0700 Subject: [PATCH] Fix #7726 (Search history incorrect when closing/reopening calibre) --- src/calibre/gui2/search_box.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/calibre/gui2/search_box.py b/src/calibre/gui2/search_box.py index 0c8eb84a37..a0faa4c0a1 100644 --- a/src/calibre/gui2/search_box.py +++ b/src/calibre/gui2/search_box.py @@ -92,7 +92,11 @@ class SearchBox2(QComboBox): # {{{ def initialize(self, opt_name, colorize=False, help_text=_('Search')): self.as_you_type = config['search_as_you_type'] self.opt_name = opt_name - self.addItems(QStringList(list(set(config[opt_name])))) + items = [] + for item in config[opt_name]: + if item not in items: + items.append(item) + self.addItems(QStringList(items)) try: self.line_edit.setPlaceholderText(help_text) except: @@ -189,8 +193,9 @@ class SearchBox2(QComboBox): # {{{ self.insertItem(0, t) self.setCurrentIndex(0) self.block_signals(False) - config[self.opt_name] = [unicode(self.itemText(i)) for i in + history = [unicode(self.itemText(i)) for i in range(self.count())] + config[self.opt_name] = history def do_search(self, *args): self._do_search()