Example #1
0
    def remove_tags(self, item: SidebarItem) -> None:
        tags = self.mw.col.tags.join(self._selected_tags())
        item.name = "..."

        remove_tags_from_all_notes(
            parent=self.browser,
            space_separated_tags=tags).run_in_background()
Example #2
0
    def rename_tag(self, item: SidebarItem, new_name: str) -> None:
        if not new_name or new_name == item.name:
            return

        old_name = item.name
        old_full_name = item.full_name
        new_full_name = item.name_prefix + new_name

        item.name = new_name
        item.full_name = new_full_name

        def success(out: OpChangesWithCount) -> None:
            if out.count:
                tooltip(tr.browsing_notes_updated(count=out.count),
                        parent=self)
            else:
                # revert renaming of sidebar item
                item.full_name = old_full_name
                item.name = old_name
                showInfo(tr.browsing_tag_rename_warning_empty(), parent=self)

        rename_tag(
            parent=self.browser,
            current_name=old_full_name,
            new_name=new_full_name,
        ).success(success).run_in_background()
Example #3
0
    def rename_deck(self, item: SidebarItem, new_name: str) -> None:
        if not new_name:
            return

        # update UI immediately, to avoid redraw
        item.name = new_name

        full_name = item.name_prefix + new_name
        deck_id = DeckId(item.id)

        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()

        QueryOp(
            parent=self.browser,
            op=lambda col: col.get_deck(deck_id),
            success=after_fetch,
        ).run_in_background()
Example #4
0
 def rename_flag(self, item: SidebarItem, new_name: str) -> None:
     labels = self.col.get_config("flagLabels", {})
     labels[str(item.id)] = new_name
     self.col.set_config("flagLabels", labels)
     item.name = new_name
     self.browser._update_flag_labels()
     self.refresh()
Example #5
0
    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()
Example #6
0
 def rename_saved_search(self, item: SidebarItem, new_name: str) -> None:
     old_name = item.name
     conf = self._get_saved_searches()
     try:
         filt = conf[old_name]
     except KeyError:
         return
     if new_name in conf and not askUser(
             tr.browsing_confirm_saved_search_overwrite(name=new_name)):
         return
     conf[new_name] = filt
     del conf[old_name]
     self._set_saved_searches(conf)
     item.name = new_name
     self.refresh()
Example #7
0
    def rename_tag(self, item: SidebarItem, new_name: str) -> None:
        if not new_name or new_name == item.name:
            return

        new_name_base = new_name

        old_name = item.full_name
        new_name = item.name_prefix + new_name

        item.name = new_name_base
        item.full_name = new_name

        rename_tag(
            parent=self.browser,
            current_name=old_name,
            new_name=new_name,
        ).run_in_background()
Example #8
0
 def rename_flag(self, item: SidebarItem, new_name: str) -> None:
     item.name = new_name
     self.mw.flags.rename_flag(item.id, new_name)