Пример #1
0
    def addNote(self, note) -> Optional[Note]:
        note.model()["did"] = self.deckChooser.selectedId()
        ret = note.dupeOrEmpty()
        if ret == 1:
            showWarning(_("The first field is empty."),
                        help="AddItems#AddError")
            return None
        if "{{cloze:" in note.model()["tmpls"][0]["qfmt"]:
            if not self.mw.col.models._availClozeOrds(
                    note.model(), note.joinedFields(), False):
                if not askUser(
                        _("You have a cloze deletion note type "
                          "but have not made any cloze deletions. Proceed?")):
                    return None
        cards = self.mw.col.addNote(note)
        if not cards:
            showWarning(
                _("""\
The input you have provided would make an empty \
question on all cards."""),
                help="AddItems",
            )
            return None
        self.mw.col.clearUndo()
        self.addHistory(note)
        self.mw.requireReset()
        self.previousNote = note
        gui_hooks.add_cards_did_add_note(note)
        return note
Пример #2
0
 def addNote(self, note) -> Optional[Note]:
     note.model()["did"] = self.deckChooser.selectedId()
     ret = note.dupeOrEmpty()
     problem = None
     if ret == 1:
         problem = _("The first field is empty.")
     problem = gui_hooks.add_cards_will_add_note(problem, note)
     if problem is not None:
         showWarning(problem, help="AddItems#AddError")
         return None
     if note.model()["type"] == MODEL_CLOZE:
         if not note.cloze_numbers_in_fields():
             if not askUser(
                 _(
                     "You have a cloze deletion note type "
                     "but have not made any cloze deletions. Proceed?"
                 )
             ):
                 return None
     self.mw.col.add_note(note, self.deckChooser.selectedId())
     self.mw.col.clearUndo()
     self.addHistory(note)
     self.previousNote = note
     self.mw.requireReset(reason=ResetReason.AddCardsAddNote, context=self)
     gui_hooks.add_cards_did_add_note(note)
     return note
Пример #3
0
        def on_success(changes: OpChanges) -> None:
            # only used for detecting changed sticky fields on close
            self._last_added_note = note

            self.addHistory(note)

            tooltip(tr.adding_added(), period=500)
            av_player.stop_and_clear_queue()
            self._load_new_note(sticky_fields_from=note)
            gui_hooks.add_cards_did_add_note(note)
Пример #4
0
        def on_success(changes: OpChanges) -> None:
            # only used for detecting changed sticky fields on close
            self._last_added_note = note

            self.addHistory(note)

            # workaround for PyQt focus bug
            self.editor.hideCompleters()

            tooltip(tr(TR.ADDING_ADDED), period=500)
            av_player.stop_and_clear_queue()
            self._load_new_note(sticky_fields_from=note)
            gui_hooks.add_cards_did_add_note(note)
Пример #5
0
 def addNote(self, note) -> Optional[Note]:
     note.model()["did"] = self.deckChooser.selectedId()
     ret = note.dupeOrEmpty()
     problem = None
     if ret == 1:
         problem = tr(TR.ADDING_THE_FIRST_FIELD_IS_EMPTY)
     problem = gui_hooks.add_cards_will_add_note(problem, note)
     if problem is not None:
         showWarning(problem, help="AddItems#AddError")
         return None
     if note.model()["type"] == MODEL_CLOZE:
         if not note.cloze_numbers_in_fields():
             if not askUser(tr(TR.ADDING_YOU_HAVE_A_CLOZE_DELETION_NOTE)):
                 return None
     self.mw.col.add_note(note, self.deckChooser.selectedId())
     self.mw.col.clearUndo()
     self.addHistory(note)
     self.previousNote = note
     self.mw.requireReset(reason=ResetReason.AddCardsAddNote, context=self)
     gui_hooks.add_cards_did_add_note(note)
     return note
Пример #6
0
    def _add_current_note(self) -> None:
        note = self.editor.note

        if not self._note_can_be_added(note):
            return

        target_deck_id = self.deck_chooser.selected_deck_id
        self.mw.col.add_note(note, target_deck_id)

        # only used for detecting changed sticky fields on close
        self._last_added_note = note

        self.addHistory(note)
        self.mw.requireReset(reason=ResetReason.AddCardsAddNote, context=self)

        # workaround for PyQt focus bug
        self.editor.hideCompleters()

        tooltip(tr(TR.ADDING_ADDED), period=500)
        av_player.stop_and_clear_queue()
        self._load_new_note(sticky_fields_from=note)
        self.mw.col.autosave()  # fixme:

        gui_hooks.add_cards_did_add_note(note)