FIX: Don not clone Locales and Languages, pass them by reference
This commit is contained in:
@@ -10,7 +10,7 @@ use crate::model::Model;
|
||||
// In IronCalc, if one of the edges of the range is deleted will replace the edge with #REF!
|
||||
// I feel this is unimportant for now.
|
||||
|
||||
impl Model {
|
||||
impl<'a> Model<'a> {
|
||||
fn shift_cell_formula(
|
||||
&mut self,
|
||||
sheet: u32,
|
||||
@@ -31,7 +31,7 @@ impl Model {
|
||||
column,
|
||||
};
|
||||
// FIXME: This is not a very performant way if the formula has changed :S.
|
||||
let formula = to_localized_string(node, &cell_reference, &self.locale, &self.language);
|
||||
let formula = to_localized_string(node, &cell_reference, self.locale, self.language);
|
||||
let formula_displaced = to_string_displaced(node, &cell_reference, displace_data);
|
||||
if formula != formula_displaced {
|
||||
self.update_cell_with_formula(sheet, row, column, format!("={formula_displaced}"))?;
|
||||
@@ -111,7 +111,7 @@ impl Model {
|
||||
let formula_or_value = self
|
||||
.get_cell_formula(sheet, source_row, source_column)?
|
||||
.unwrap_or_else(|| {
|
||||
source_cell.get_localized_text(&self.workbook.shared_strings, &self.language)
|
||||
source_cell.get_localized_text(&self.workbook.shared_strings, self.language)
|
||||
});
|
||||
self.set_user_input(sheet, target_row, target_column, formula_or_value)?;
|
||||
self.workbook
|
||||
@@ -497,7 +497,7 @@ impl Model {
|
||||
let formula_or_value =
|
||||
self.get_cell_formula(sheet, r.row, column)?
|
||||
.unwrap_or_else(|| {
|
||||
cell.get_localized_text(&self.workbook.shared_strings, &self.language)
|
||||
cell.get_localized_text(&self.workbook.shared_strings, self.language)
|
||||
});
|
||||
original_cells.push((r.row, formula_or_value, style_idx));
|
||||
self.cell_clear_all(sheet, r.row, column)?;
|
||||
@@ -584,7 +584,7 @@ impl Model {
|
||||
.ok_or("Expected Cell to exist")?;
|
||||
let style_idx = cell.get_style();
|
||||
let formula_or_value = self.get_cell_formula(sheet, row, *c)?.unwrap_or_else(|| {
|
||||
cell.get_localized_text(&self.workbook.shared_strings, &self.language)
|
||||
cell.get_localized_text(&self.workbook.shared_strings, self.language)
|
||||
});
|
||||
original_cells.push((*c, formula_or_value, style_idx));
|
||||
self.cell_clear_all(sheet, row, *c)?;
|
||||
|
||||
Reference in New Issue
Block a user