diff --git a/ftl/core/preferences.ftl b/ftl/core/preferences.ftl index 75b820ed1..81e6d0d2e 100644 --- a/ftl/core/preferences.ftl +++ b/ftl/core/preferences.ftl @@ -42,6 +42,7 @@ preferences-theme-dark = Dark preferences-reviewer-type = Reviewer Type preferences-reviewer-type-default = Default preferences-reviewer-type-flexible = Flexible +preferences-reviewer-show-reps-done-today = Show Number of Reviews done today preferences-v3-scheduler = V3 scheduler preferences-check-for-updates = Check for program updates preferences-ignore-accents-in-search = Ignore accents in search (slower) diff --git a/qt/aqt/forms/preferences.ui b/qt/aqt/forms/preferences.ui index a8cdc696b..942e25379 100644 --- a/qt/aqt/forms/preferences.ui +++ b/qt/aqt/forms/preferences.ui @@ -380,6 +380,19 @@ + + + + + 0 + 0 + + + + preferences_reviewer_show_reps_done_today + + + diff --git a/qt/aqt/preferences.py b/qt/aqt/preferences.py index 7f8257ae3..829f3d9d1 100644 --- a/qt/aqt/preferences.py +++ b/qt/aqt/preferences.py @@ -380,9 +380,14 @@ class Preferences(QDialog): ] self.form.reviewerTypeComboBox.addItems(reviewers) self.form.reviewerTypeComboBox.setCurrentIndex(self.mw.pm.reviewer().value) - qconnect( - self.form.reviewerTypeComboBox.currentIndexChanged, self.on_reviewer_changed - ) + qconnect(self.form.reviewerTypeComboBox.currentIndexChanged, self.on_reviewer_changed) + + # Show reps done today + self.form.reviewerShowRepsDoneToday.setChecked(self.mw.pm.reviewer_show_reps_done_today()) + qconnect(self.form.reviewerShowRepsDoneToday.stateChanged, self.mw.pm.set_reviewer_show_reps_done_today) + self.form.reviewerShowRepsDoneToday.setVisible(self.mw.pm.reviewer() == ReviewerType.flexible) + + ############## self.setup_language() self.setup_video_driver() @@ -409,6 +414,7 @@ class Preferences(QDialog): def on_reviewer_changed(self, index: int) -> None: self.mw.set_reviewer(ReviewerType(index)) + self.form.reviewerShowRepsDoneToday.setVisible(self.mw.pm.reviewer() == ReviewerType.flexible) def on_reset_window_sizes(self) -> None: assert self.prof is not None diff --git a/qt/aqt/profiles.py b/qt/aqt/profiles.py index 836f0ef2c..949eabb88 100644 --- a/qt/aqt/profiles.py +++ b/qt/aqt/profiles.py @@ -618,6 +618,12 @@ create table if not exists profiles def set_reviewer(self, reviewer: ReviewerType) -> None: self.meta["reviewer_type"] = reviewer.value + def reviewer_show_reps_done_today(self) -> bool: + return bool(self.meta.get("reviewer_show_reps_done_today", True)) + + def set_reviewer_show_reps_done_today(self, enabled: bool) -> None: + self.meta["reviewer_show_reps_done_today"] = bool(enabled) + def set_widget_style(self, style: WidgetStyle) -> None: self.meta["widget_style"] = style theme_manager.apply_style() diff --git a/qt/aqt/reviewer.py b/qt/aqt/reviewer.py index 27e2f482c..b3f97a3dd 100644 --- a/qt/aqt/reviewer.py +++ b/qt/aqt/reviewer.py @@ -1345,10 +1345,11 @@ class FlexibleReviewer(Reviewer): ) # show reps done today - self.mw.bottomWidget.middle_bucket.add_button( - FlexiblePushButton(text=f"Reps: {studied_today_count(self.mw.col)}"), - on_clicked=partial(self.browse_query, "rated:1"), - ) + if self.mw.pm.reviewer_show_reps_done_today(): + self.mw.bottomWidget.middle_bucket.add_button( + FlexiblePushButton(text=f"Reps: {studied_today_count(self.mw.col)}"), + on_clicked=partial(self.browse_query, "rated:1"), + ) def _clear_bottom_web(self) -> None: self.bottom.web.setHtml("")