mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Fix #1467147 Rename search creates a new one instead
This commit is contained in:
parent
f588f58603
commit
3c68d52fae
@ -35,9 +35,12 @@ class SavedSearchEditor(QDialog, Ui_SavedSearchEditor):
|
|||||||
self.select_search(initial_search)
|
self.select_search(initial_search)
|
||||||
|
|
||||||
def populate_search_list(self):
|
def populate_search_list(self):
|
||||||
|
self.search_name_box.blockSignals(True)
|
||||||
self.search_name_box.clear()
|
self.search_name_box.clear()
|
||||||
for name in sorted(self.searches.keys(), key=sort_key):
|
for name in sorted(self.searches.keys(), key=sort_key):
|
||||||
self.search_name_box.addItem(name)
|
self.search_name_box.addItem(name)
|
||||||
|
self.search_names = set([icu_lower(n) for n in self.searches.keys()])
|
||||||
|
self.search_name_box.blockSignals(False)
|
||||||
|
|
||||||
def sanitize_name(self):
|
def sanitize_name(self):
|
||||||
n = unicode(self.input_box.text()).strip().replace('\\', '')
|
n = unicode(self.input_box.text()).strip().replace('\\', '')
|
||||||
@ -45,6 +48,7 @@ class SavedSearchEditor(QDialog, Ui_SavedSearchEditor):
|
|||||||
return n
|
return n
|
||||||
|
|
||||||
def add_search(self):
|
def add_search(self):
|
||||||
|
self.save_current_search()
|
||||||
search_name = self.sanitize_name()
|
search_name = self.sanitize_name()
|
||||||
if search_name == '':
|
if search_name == '':
|
||||||
return False
|
return False
|
||||||
@ -72,6 +76,7 @@ class SavedSearchEditor(QDialog, Ui_SavedSearchEditor):
|
|||||||
self.search_name_box.removeItem(self.search_name_box.currentIndex())
|
self.search_name_box.removeItem(self.search_name_box.currentIndex())
|
||||||
|
|
||||||
def rename_search(self):
|
def rename_search(self):
|
||||||
|
self.save_current_search()
|
||||||
new_search_name = self.sanitize_name()
|
new_search_name = self.sanitize_name()
|
||||||
if new_search_name == '':
|
if new_search_name == '':
|
||||||
return False
|
return False
|
||||||
@ -101,11 +106,14 @@ class SavedSearchEditor(QDialog, Ui_SavedSearchEditor):
|
|||||||
self.current_search_name = None
|
self.current_search_name = None
|
||||||
self.search_text.setPlainText('')
|
self.search_text.setPlainText('')
|
||||||
|
|
||||||
|
def save_current_search(self):
|
||||||
|
if self.current_search_name:
|
||||||
|
self.searches[self.current_search_name] = unicode(self.search_text.toPlainText())
|
||||||
|
|
||||||
def accept(self):
|
def accept(self):
|
||||||
from calibre.gui2.ui import get_gui
|
from calibre.gui2.ui import get_gui
|
||||||
db = get_gui().current_db
|
db = get_gui().current_db
|
||||||
if self.current_search_name:
|
self.save_current_search()
|
||||||
self.searches[self.current_search_name] = unicode(self.search_text.toPlainText())
|
|
||||||
ss = {name:self.searches[name] for name in self.searches}
|
ss = {name:self.searches[name] for name in self.searches}
|
||||||
db.saved_search_set_all(ss)
|
db.saved_search_set_all(ss)
|
||||||
QDialog.accept(self)
|
QDialog.accept(self)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user