def _on_rename_with_parents(self, item: SidebarItem) -> None: title = "Anki" if item.item_type is SidebarItemType.TAG: title = tr.actions_rename_tag() elif item.item_type is SidebarItemType.DECK: title = tr.actions_rename_deck() new_name = getOnlyText(tr.actions_new_name(), title=title, default=item.full_name).replace('"', "") if not new_name or new_name == item.full_name: return if item.item_type is SidebarItemType.TAG: def success(out: OpChangesWithCount) -> None: if out.count: tooltip(tr.browsing_notes_updated(count=out.count), parent=self) else: showInfo(tr.browsing_tag_rename_warning_empty(), parent=self) rename_tag( parent=self, current_name=item.full_name, new_name=new_name, ).success(success).run_in_background() elif item.item_type is SidebarItemType.DECK: rename_deck( parent=self, deck_id=DeckId(item.id), new_name=new_name, ).run_in_background()
def prompt(name: str) -> None: new_name = getOnlyText(tr.decks_new_deck_name(), default=name) if not new_name or new_name == name: return else: rename_deck(parent=self.mw, deck_id=did, new_name=new_name).run_in_background()
def after_fetch(deck: Deck) -> None: if full_name == deck.name: return rename_deck( parent=self, deck_id=deck_id, new_name=full_name, ).run_in_background()
def rename_deck(self, item: SidebarItem, new_name: str) -> None: if not new_name or new_name == item.name: return # update UI immediately, to avoid redraw item.name = new_name rename_deck( parent=self, deck_id=DeckId(item.id), new_name=item.name_prefix + new_name, ).run_in_background()