From 331df75b72c0f3a983474c4ddf4a0d2d61c9c50d Mon Sep 17 00:00:00 2001 From: RumovZ Date: Sat, 10 Apr 2021 09:49:29 +0200 Subject: [PATCH] Remove internal clones of pb BrowserRow structs --- rslib/src/backend/search/browser_table.rs | 34 ------------- rslib/src/browser_table.rs | 59 ++++++----------------- 2 files changed, 16 insertions(+), 77 deletions(-) diff --git a/rslib/src/backend/search/browser_table.rs b/rslib/src/backend/search/browser_table.rs index 94a7ef193..7bcd74690 100644 --- a/rslib/src/backend/search/browser_table.rs +++ b/rslib/src/backend/search/browser_table.rs @@ -27,37 +27,3 @@ impl From for Vec { .collect() } } - -impl From for pb::BrowserRow { - fn from(row: browser_table::Row) -> Self { - pb::BrowserRow { - cells: row.cells.into_iter().map(Into::into).collect(), - color: row.color.into(), - font_name: row.font.name, - font_size: row.font.size, - } - } -} - -impl From for pb::browser_row::Cell { - fn from(cell: browser_table::Cell) -> Self { - pb::browser_row::Cell { - text: cell.text, - is_rtl: cell.is_rtl, - } - } -} - -impl From for i32 { - fn from(color: browser_table::Color) -> Self { - match color { - browser_table::Color::Default => pb::browser_row::Color::Default as i32, - browser_table::Color::Marked => pb::browser_row::Color::Marked as i32, - browser_table::Color::Suspended => pb::browser_row::Color::Suspended as i32, - browser_table::Color::FlagRed => pb::browser_row::Color::FlagRed as i32, - browser_table::Color::FlagOrange => pb::browser_row::Color::FlagOrange as i32, - browser_table::Color::FlagGreen => pb::browser_row::Color::FlagGreen as i32, - browser_table::Color::FlagBlue => pb::browser_row::Color::FlagBlue as i32, - } - } -} diff --git a/rslib/src/browser_table.rs b/rslib/src/browser_table.rs index ff68e733a..63ad9787d 100644 --- a/rslib/src/browser_table.rs +++ b/rslib/src/browser_table.rs @@ -73,36 +73,6 @@ impl Default for Column { } } -#[derive(Debug, PartialEq)] -pub struct Row { - pub cells: Vec, - pub color: Color, - pub font: Font, -} - -#[derive(Debug, PartialEq)] -pub struct Cell { - pub text: String, - pub is_rtl: bool, -} - -#[derive(Debug, PartialEq)] -pub enum Color { - Default, - Marked, - Suspended, - FlagRed, - FlagOrange, - FlagGreen, - FlagBlue, -} - -#[derive(Debug, PartialEq)] -pub struct Font { - pub name: String, - pub size: u32, -} - struct RowContext { notes_mode: bool, cards: Vec, @@ -244,7 +214,7 @@ impl Collection { pb::BrowserColumns { columns } } - pub fn browser_row_for_id(&mut self, id: i64) -> Result { + pub fn browser_row_for_id(&mut self, id: i64) -> Result { let notes_mode = self.get_bool(BoolKey::BrowserTableShowNotesMode); let columns = Arc::clone( self.state @@ -349,19 +319,20 @@ impl RowContext { }) } - fn browser_row(&self, columns: &[Column]) -> Result { - Ok(Row { + fn browser_row(&self, columns: &[Column]) -> Result { + Ok(pb::BrowserRow { cells: columns .iter() .map(|&column| self.get_cell(column)) .collect::>()?, - color: self.get_row_color(), - font: self.get_row_font()?, + color: self.get_row_color() as i32, + font_name: self.get_row_font_name()?, + font_size: self.get_row_font_size()?, }) } - fn get_cell(&self, column: Column) -> Result { - Ok(Cell { + fn get_cell(&self, column: Column) -> Result { + Ok(pb::browser_row::Cell { text: self.get_cell_text(column)?, is_rtl: self.get_is_rtl(column), }) @@ -554,14 +525,16 @@ impl RowContext { html_to_text_line(&self.render_context.as_ref().unwrap().question).to_string() } - fn get_row_font(&self) -> Result { - Ok(Font { - name: self.template()?.config.browser_font_name.to_owned(), - size: self.template()?.config.browser_font_size, - }) + fn get_row_font_name(&self) -> Result { + Ok(self.template()?.config.browser_font_name.to_owned()) } - fn get_row_color(&self) -> Color { + fn get_row_font_size(&self) -> Result { + Ok(self.template()?.config.browser_font_size) + } + + fn get_row_color(&self) -> pb::browser_row::Color { + use pb::browser_row::Color; if self.notes_mode { if self.note.is_marked() { Color::Marked