diff --git a/CONTRIBUTORS b/CONTRIBUTORS index 63bde7d6f..7762c12e6 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -110,6 +110,7 @@ TRIAEIOU Stefan Kangas Fabricio Duarte Mani +Kaben Nanlohy ******************** diff --git a/ftl/core/browsing.ftl b/ftl/core/browsing.ftl index 62319a91d..b7564d79d 100644 --- a/ftl/core/browsing.ftl +++ b/ftl/core/browsing.ftl @@ -93,6 +93,7 @@ browsing-suspended = Suspended browsing-tag-duplicates = Tag Duplicates browsing-tag-rename-warning-empty = You can't rename a tag that has no notes. browsing-target-field = Target field: +browsing-toggle-bury = Toggle Bury browsing-toggle-showing-cards-notes = Toggle Cards/Notes browsing-toggle-mark = Toggle Mark browsing-toggle-suspend = Toggle Suspend diff --git a/proto/anki/search.proto b/proto/anki/search.proto index 2db361619..3a253ed72 100644 --- a/proto/anki/search.proto +++ b/proto/anki/search.proto @@ -182,6 +182,7 @@ message BrowserRow { COLOR_FLAG_PINK = 7; COLOR_FLAG_TURQUOISE = 8; COLOR_FLAG_PURPLE = 9; + COLOR_BURIED = 10; } repeated Cell cells = 1; Color color = 2; diff --git a/qt/aqt/browser/browser.py b/qt/aqt/browser/browser.py index b3892d9d0..9fef1bb98 100644 --- a/qt/aqt/browser/browser.py +++ b/qt/aqt/browser/browser.py @@ -31,10 +31,12 @@ from aqt.operations.card import set_card_deck, set_card_flag from aqt.operations.collection import redo, undo from aqt.operations.note import remove_notes from aqt.operations.scheduling import ( + bury_cards, forget_cards, reposition_new_cards_dialog, set_due_date_dialog, suspend_cards, + unbury_cards, unsuspend_cards, ) from aqt.operations.tag import ( @@ -302,6 +304,7 @@ class Browser(QMainWindow): qconnect(f.action_set_due_date.triggered, self.set_due_date) qconnect(f.action_forget.triggered, self.forget_cards) qconnect(f.actionToggle_Suspend.triggered, self.suspend_selected_cards) + qconnect(f.action_toggle_bury.triggered, self.bury_selected_cards) def set_flag_func(desired_flag: int) -> Callable: return lambda: self.set_flag_of_selected_cards(desired_flag) @@ -590,6 +593,7 @@ class Browser(QMainWindow): def _update_current_actions(self) -> None: self._update_flags_menu() + self._update_toggle_bury_action() self._update_toggle_mark_action() self._update_toggle_suspend_action() self.form.actionCopy.setEnabled(self.table.has_current()) @@ -869,6 +873,24 @@ class Browser(QMainWindow): else: unsuspend_cards(parent=self.mw, card_ids=cids).run_in_background() + # Burying + ###################################################################### + + def _update_toggle_bury_action(self) -> None: + is_buried = bool( + self.current_card and self.current_card.queue == QUEUE_TYPE_MANUALLY_BURIED + ) + self.form.action_toggle_bury.setChecked(is_buried) + + @skip_if_selection_is_empty + @ensure_editor_saved + def bury_selected_cards(self, checked: bool) -> None: + cids = self.selected_cards() + if checked: + bury_cards(parent=self, card_ids=cids).run_in_background() + else: + unbury_cards(parent=self.mw, card_ids=cids).run_in_background() + # Exporting ###################################################################### diff --git a/qt/aqt/browser/table/__init__.py b/qt/aqt/browser/table/__init__.py index a51e96533..7be9f1fcb 100644 --- a/qt/aqt/browser/table/__init__.py +++ b/qt/aqt/browser/table/__init__.py @@ -84,6 +84,8 @@ def backend_color_to_aqt_color(color: BrowserRow.Color.V) -> dict[str, str] | No temp_color = colors.STATE_MARKED if color == BrowserRow.COLOR_SUSPENDED: temp_color = colors.STATE_SUSPENDED + if color == BrowserRow.COLOR_BURIED: + temp_color = colors.STATE_BURIED if color == BrowserRow.COLOR_FLAG_RED: temp_color = colors.FLAG_1 if color == BrowserRow.COLOR_FLAG_ORANGE: diff --git a/qt/aqt/forms/browser.ui b/qt/aqt/forms/browser.ui index 48be791fe..eb2fcaaf5 100644 --- a/qt/aqt/forms/browser.ui +++ b/qt/aqt/forms/browser.ui @@ -209,7 +209,7 @@ 0 0 750 - 22 + 23 @@ -271,6 +271,7 @@ + @@ -739,6 +740,17 @@ browsing_toggle_showing_cards_notes + + + true + + + browsing_toggle_bury + + + Ctrl+Shift+J + + diff --git a/rslib/src/browser_table.rs b/rslib/src/browser_table.rs index 9d20de7d7..8270c078d 100644 --- a/rslib/src/browser_table.rs +++ b/rslib/src/browser_table.rs @@ -573,10 +573,12 @@ impl RowContext { _ => { if self.note.is_marked() { Color::Marked - } else if self.cards[0].queue == CardQueue::Suspended { - Color::Suspended } else { - Color::Default + match self.cards[0].queue { + CardQueue::Suspended => Color::Suspended, + CardQueue::UserBuried | CardQueue::SchedBuried => Color::Buried, + _ => Color::Default, + } } } }