toggle show reps done today

This commit is contained in:
Ren Tatsumoto 2025-11-25 08:23:47 +03:00
parent 94a3b38e59
commit a8e434c5ce
5 changed files with 34 additions and 7 deletions

View file

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

View file

@ -380,6 +380,19 @@
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="reviewerShowRepsDoneToday">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>preferences_reviewer_show_reps_done_today</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="showPlayButtons">
<property name="sizePolicy">

View file

@ -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

View file

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

View file

@ -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("<style>body {margin:0;} html {height:0;}</style>")