mirror of
https://github.com/ankitects/anki.git
synced 2025-09-25 01:06:35 -04:00
Always return False from rename_node
setData expects a result but due to the asynchrony of the editor it might not be known, yet.
This commit is contained in:
parent
1b8cebb8c5
commit
dc1711b630
1 changed files with 11 additions and 12 deletions
|
@ -700,7 +700,7 @@ class SidebarTreeView(QTreeView):
|
||||||
icon,
|
icon,
|
||||||
search_node=SearchNode(parsable_text=filt),
|
search_node=SearchNode(parsable_text=filt),
|
||||||
item_type=SidebarItemType.SAVED_SEARCH,
|
item_type=SidebarItemType.SAVED_SEARCH,
|
||||||
editable=True
|
editable=True,
|
||||||
)
|
)
|
||||||
root.add_child(item)
|
root.add_child(item)
|
||||||
|
|
||||||
|
@ -1062,22 +1062,21 @@ class SidebarTreeView(QTreeView):
|
||||||
lambda: set_children_collapsed(True),
|
lambda: set_children_collapsed(True),
|
||||||
)
|
)
|
||||||
|
|
||||||
def rename_deck(self, item: SidebarItem, new_name: Optional[str] = None) -> bool:
|
def rename_deck(self, item: SidebarItem, new_name: Optional[str] = None) -> None:
|
||||||
deck = self.mw.col.decks.get(item.id)
|
deck = self.mw.col.decks.get(item.id)
|
||||||
old_name = deck["name"]
|
old_name = deck["name"]
|
||||||
new_name = new_name or getOnlyText(tr(TR.DECKS_NEW_DECK_NAME), default=old_name)
|
new_name = new_name or getOnlyText(tr(TR.DECKS_NEW_DECK_NAME), default=old_name)
|
||||||
new_name = new_name.replace('"', "")
|
new_name = new_name.replace('"', "")
|
||||||
if not new_name or new_name == old_name:
|
if not new_name or new_name == old_name:
|
||||||
return False
|
return
|
||||||
self.mw.checkpoint(tr(TR.ACTIONS_RENAME_DECK))
|
self.mw.checkpoint(tr(TR.ACTIONS_RENAME_DECK))
|
||||||
try:
|
try:
|
||||||
self.mw.col.decks.rename(deck, new_name)
|
self.mw.col.decks.rename(deck, new_name)
|
||||||
except DeckRenameError as e:
|
except DeckRenameError as e:
|
||||||
showWarning(e.description)
|
showWarning(e.description)
|
||||||
return False
|
return
|
||||||
self.refresh()
|
self.refresh()
|
||||||
self.mw.deckBrowser.refresh()
|
self.mw.deckBrowser.refresh()
|
||||||
return True
|
|
||||||
|
|
||||||
def remove_tag(self, item: SidebarItem) -> None:
|
def remove_tag(self, item: SidebarItem) -> None:
|
||||||
self.browser.editor.saveNow(lambda: self._remove_tag(item))
|
self.browser.editor.saveNow(lambda: self._remove_tag(item))
|
||||||
|
@ -1153,13 +1152,14 @@ class SidebarTreeView(QTreeView):
|
||||||
|
|
||||||
def rename_node(self, item: SidebarItem, text: str) -> bool:
|
def rename_node(self, item: SidebarItem, text: str) -> bool:
|
||||||
if text.replace('"', ""):
|
if text.replace('"', ""):
|
||||||
new_name = re.sub(re.escape(item.name) + '$', text, item.full_name)
|
new_name = re.sub(re.escape(item.name) + "$", text, item.full_name)
|
||||||
if item.item_type == SidebarItemType.DECK:
|
if item.item_type == SidebarItemType.DECK:
|
||||||
return self.rename_deck(item, new_name)
|
self.rename_deck(item, new_name)
|
||||||
if item.item_type == SidebarItemType.SAVED_SEARCH:
|
if item.item_type == SidebarItemType.SAVED_SEARCH:
|
||||||
return self.rename_saved_search(item, new_name)
|
self.rename_saved_search(item, new_name)
|
||||||
if item.item_type == SidebarItemType.TAG:
|
if item.item_type == SidebarItemType.TAG:
|
||||||
self.rename_tag(item, new_name)
|
self.rename_tag(item, new_name)
|
||||||
|
# renaming may be asynchronous so always return False
|
||||||
return False
|
return False
|
||||||
|
|
||||||
# Saved searches
|
# Saved searches
|
||||||
|
@ -1182,21 +1182,20 @@ class SidebarTreeView(QTreeView):
|
||||||
self._set_saved_searches(conf)
|
self._set_saved_searches(conf)
|
||||||
self.refresh()
|
self.refresh()
|
||||||
|
|
||||||
def rename_saved_search(self, item: SidebarItem, new_name: str = None) -> bool:
|
def rename_saved_search(self, item: SidebarItem, new_name: str = None) -> None:
|
||||||
old = item.name
|
old = item.name
|
||||||
conf = self._get_saved_searches()
|
conf = self._get_saved_searches()
|
||||||
try:
|
try:
|
||||||
filt = conf[old]
|
filt = conf[old]
|
||||||
except KeyError:
|
except KeyError:
|
||||||
return False
|
return
|
||||||
new = new_name or getOnlyText(tr(TR.ACTIONS_NEW_NAME), default=old)
|
new = new_name or getOnlyText(tr(TR.ACTIONS_NEW_NAME), default=old)
|
||||||
if new == old or not new:
|
if new == old or not new:
|
||||||
return False
|
return
|
||||||
conf[new] = filt
|
conf[new] = filt
|
||||||
del conf[old]
|
del conf[old]
|
||||||
self._set_saved_searches(conf)
|
self._set_saved_searches(conf)
|
||||||
self.refresh()
|
self.refresh()
|
||||||
return True
|
|
||||||
|
|
||||||
def save_current_search(self, _item: Any = None) -> None:
|
def save_current_search(self, _item: Any = None) -> None:
|
||||||
try:
|
try:
|
||||||
|
|
Loading…
Reference in a new issue