mirror of
https://github.com/RGBCube/serenity
synced 2025-07-26 07:57:47 +00:00
Spreadsheet: Reuse save and rename actions
These parts of code were identical to their action counterparts.
This commit is contained in:
parent
b23edd418c
commit
3b352e46d6
1 changed files with 7 additions and 32 deletions
|
@ -137,16 +137,11 @@ SpreadsheetWidget::SpreadsheetWidget(GUI::Window& parent_window, NonnullRefPtrVe
|
||||||
|
|
||||||
m_save_action = GUI::CommonActions::make_save_action([&](auto&) {
|
m_save_action = GUI::CommonActions::make_save_action([&](auto&) {
|
||||||
if (current_filename().is_empty()) {
|
if (current_filename().is_empty()) {
|
||||||
String name = "workbook";
|
m_save_as_action->activate();
|
||||||
Optional<String> save_path = GUI::FilePicker::get_save_filepath(window(), name, "sheets");
|
return;
|
||||||
if (!save_path.has_value())
|
|
||||||
return;
|
|
||||||
|
|
||||||
save(save_path.value());
|
|
||||||
update_window_title();
|
|
||||||
} else {
|
|
||||||
save(current_filename());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
save(current_filename());
|
||||||
});
|
});
|
||||||
|
|
||||||
m_save_as_action = GUI::CommonActions::make_save_as_action([&](auto&) {
|
m_save_as_action = GUI::CommonActions::make_save_as_action([&](auto&) {
|
||||||
|
@ -258,17 +253,7 @@ SpreadsheetWidget::SpreadsheetWidget(GUI::Window& parent_window, NonnullRefPtrVe
|
||||||
|
|
||||||
m_tab_widget->on_double_click = [&](auto& widget) {
|
m_tab_widget->on_double_click = [&](auto& widget) {
|
||||||
m_tab_context_menu_sheet_view = static_cast<SpreadsheetView&>(widget);
|
m_tab_context_menu_sheet_view = static_cast<SpreadsheetView&>(widget);
|
||||||
VERIFY(m_tab_context_menu_sheet_view);
|
m_rename_action->activate();
|
||||||
|
|
||||||
auto* sheet_ptr = m_tab_context_menu_sheet_view->sheet_if_available();
|
|
||||||
VERIFY(sheet_ptr); // How did we get here without a sheet?
|
|
||||||
auto& sheet = *sheet_ptr;
|
|
||||||
String new_name;
|
|
||||||
if (GUI::InputBox::show(window(), new_name, String::formatted("New name for '{}'", sheet.name()), "Rename sheet") == GUI::Dialog::ExecOK) {
|
|
||||||
sheet.set_name(new_name);
|
|
||||||
sheet.update();
|
|
||||||
m_tab_widget->set_tab_title(static_cast<GUI::Widget&>(*m_tab_context_menu_sheet_view), new_name);
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -454,18 +439,8 @@ bool SpreadsheetWidget::request_close()
|
||||||
|
|
||||||
auto result = GUI::MessageBox::ask_about_unsaved_changes(window(), current_filename());
|
auto result = GUI::MessageBox::ask_about_unsaved_changes(window(), current_filename());
|
||||||
if (result == GUI::MessageBox::ExecYes) {
|
if (result == GUI::MessageBox::ExecYes) {
|
||||||
if (current_filename().is_empty()) {
|
m_save_action->activate();
|
||||||
String name = "workbook";
|
return !m_workbook->dirty();
|
||||||
Optional<String> save_path = GUI::FilePicker::get_save_filepath(window(), name, "sheets");
|
|
||||||
if (!save_path.has_value())
|
|
||||||
return false;
|
|
||||||
|
|
||||||
save(save_path.value());
|
|
||||||
update_window_title();
|
|
||||||
} else {
|
|
||||||
save(current_filename());
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (result == GUI::MessageBox::ExecNo)
|
if (result == GUI::MessageBox::ExecNo)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue