diff --git a/crates/ui-egui/src/dialogs.rs b/crates/ui-egui/src/dialogs.rs index fb899c702..14d9e0a64 100644 --- a/crates/ui-egui/src/dialogs.rs +++ b/crates/ui-egui/src/dialogs.rs @@ -562,6 +562,24 @@ impl Dialog { defaults, ) } + "tableResize" => { + let (table, range) = app + .session + .active() + .and_then(|d| { + let sh = d.wb.active()?; + let t = sh.table_at(d.selection.active)?; + Some((t.name.clone(), t.range.a1())) + }) + .unwrap_or_default(); + Dialog::form( + "tableResize", + "Resize Table", + "table.resize", + vec![Text { key: "range", label: "New range for the table:" }], + json!({"table": table, "range": range}), + ) + } "dataValidation" => Dialog::form( "dataValidation", "Data Validation", diff --git a/crates/ui-egui/src/ribbon.rs b/crates/ui-egui/src/ribbon.rs index a0ab5a339..524b0a7d9 100644 --- a/crates/ui-egui/src/ribbon.rs +++ b/crates/ui-egui/src/ribbon.rs @@ -2284,6 +2284,11 @@ fn table_design(app: &mut SheetApp, ui: &mut Ui) { act(app, "table.rename", json!({"table": tname, "name": name})); } }); + let __k = big_button(ui, Icon::Table, "Resize\nTable", "Resize Table", false); + control_keytip(app, ui, &__k, "dialog:tableResize"); + if __k.clicked() { + app.open_dialog("tableResize", json!({})); + } sep(ui); let __k = big_button(ui, Icon::Duplicates, "Remove\nDuplicates", "Remove Duplicates", false); control_keytip(app, ui, &__k, "data.removeDuplicates");