diff --git a/rslib/src/card/mod.rs b/rslib/src/card/mod.rs index cc7102c90..ae5cd56bd 100644 --- a/rslib/src/card/mod.rs +++ b/rslib/src/card/mod.rs @@ -278,12 +278,12 @@ impl Collection { self.storage.set_search_table_to_card_ids(cards, false)?; let usn = self.usn()?; - self.transact(Op::SetFlag, |col| { + self.transact(Op::SkipUndo, |col| { let mut count = 0; for mut card in col.storage.all_searched_cards()? { - let original = card.clone(); if card.set_flag(flag) { - col.update_card_inner(&mut card, original, usn)?; + card.usn = usn; + col.storage.update_card(&card)?; count += 1; } } diff --git a/rslib/src/collection/transact.rs b/rslib/src/collection/transact.rs index e40892616..16c7575ed 100644 --- a/rslib/src/collection/transact.rs +++ b/rslib/src/collection/transact.rs @@ -31,9 +31,9 @@ impl Collection { changes } else { self.clear_study_queues(); - // dummy value for transact_no_undo() case + // dummy value that will be discarded OpChanges { - op: Op::SetFlag, + op: Op::SkipUndo, changes: StateChanges::default(), } }; diff --git a/rslib/src/ops.rs b/rslib/src/ops.rs index e6600790e..734df8412 100644 --- a/rslib/src/ops.rs +++ b/rslib/src/ops.rs @@ -29,7 +29,6 @@ pub enum Op { ScheduleAsNew, SetCardDeck, SetDueDate, - SetFlag, SortCards, Suspend, UnburyUnsuspend, @@ -68,7 +67,6 @@ impl Op { Op::UpdatePreferences => tr.preferences_preferences(), Op::UpdateTag => tr.actions_update_tag(), Op::SetCardDeck => tr.browsing_change_deck(), - Op::SetFlag => tr.actions_set_flag(), Op::FindAndReplace => tr.browsing_find_and_replace(), Op::ClearUnusedTags => tr.browsing_clear_unused_tags(), Op::SortCards => tr.browsing_reschedule(),