Fix card_due_str()

This commit is contained in:
RumovZ 2021-03-21 21:18:56 +01:00
parent c91182b248
commit 255daad820

View file

@ -198,8 +198,7 @@ impl<'a> RowContext<'a> {
fn get_cell_text(&mut self, column: &str) -> Result<String> { fn get_cell_text(&mut self, column: &str) -> Result<String> {
Ok(match column { Ok(match column {
"answer" => self.answer_str(), "answer" => self.answer_str(),
"answer" => self.answer_str()?, "cardDue" => self.card_due_str(),
"cardDue" => self.card_due_str()?,
"cardEase" => self.card_ease_str(), "cardEase" => self.card_ease_str(),
"cardIvl" => self.card_interval_str(), "cardIvl" => self.card_interval_str(),
"cardLapses" => self.card.lapses.to_string(), "cardLapses" => self.card.lapses.to_string(),
@ -242,8 +241,8 @@ impl<'a> RowContext<'a> {
.to_string() .to_string()
} }
fn card_due_str(&mut self) -> Result<String> { fn card_due_str(&mut self) -> String {
Ok(if self.card.original_deck_id != DeckID(0) { let due = if self.card.original_deck_id != DeckID(0) {
self.i18n.tr(TR::BrowsingFiltered).into() self.i18n.tr(TR::BrowsingFiltered).into()
} else if self.card.queue == CardQueue::New || self.card.ctype == CardType::New { } else if self.card.queue == CardQueue::New || self.card.ctype == CardType::New {
self.i18n.trn( self.i18n.trn(
@ -251,15 +250,24 @@ impl<'a> RowContext<'a> {
tr_args!["number"=>self.card.due], tr_args!["number"=>self.card.due],
) )
} else { } else {
let date = match self.card.queue { let date = if self.card.queue == CardQueue::Learn {
CardQueue::Learn => TimestampSecs(self.card.due as i64), TimestampSecs(self.card.due as i64)
CardQueue::DayLearn | CardQueue::Review => TimestampSecs::now().adding_secs( } else if self.card.queue == CardQueue::DayLearn
((self.card.due - self.timing.days_elapsed as i32) * 86400) as i64, || self.card.queue == CardQueue::Review
), || (self.card.ctype == CardType::Review && (self.card.queue as i8) < 0)
_ => return Ok("".into()), {
TimestampSecs::now()
.adding_secs(((self.card.due - self.timing.days_elapsed as i32) * 86400) as i64)
} else {
return "".into();
}; };
date.date_string(self.offset) date.date_string(self.offset)
}) };
if (self.card.queue as i8) < 0 {
format!("({})", due)
} else {
due
}
} }
fn card_ease_str(&self) -> String { fn card_ease_str(&self) -> String {