From f384aff5104d596ce9a600db22b9a595e96e1721 Mon Sep 17 00:00:00 2001 From: Karol Kosek Date: Sun, 27 Feb 2022 11:37:28 +0100 Subject: [PATCH] Spreadsheet: Move deselection instructions to on_selection_dropped The previous code never executed, as SpreadsheetView splits selection events into `on_selection_changed` and `on_selection_dropped` depending on whether there is any selection. --- .../Spreadsheet/SpreadsheetWidget.cpp | 29 +++++++++---------- 1 file changed, 13 insertions(+), 16 deletions(-) diff --git a/Userland/Applications/Spreadsheet/SpreadsheetWidget.cpp b/Userland/Applications/Spreadsheet/SpreadsheetWidget.cpp index e65fa4fa30..746ff3b2b3 100644 --- a/Userland/Applications/Spreadsheet/SpreadsheetWidget.cpp +++ b/Userland/Applications/Spreadsheet/SpreadsheetWidget.cpp @@ -272,18 +272,8 @@ void SpreadsheetWidget::setup_tabs(NonnullRefPtrVector new_sheets) // How did this even happen? VERIFY(sheet_ptr); auto& sheet = *sheet_ptr; - if (selection.is_empty()) { - m_current_cell_label->set_enabled(false); - m_current_cell_label->set_text({}); - m_cell_value_editor->on_change = nullptr; - m_cell_value_editor->on_focusin = nullptr; - m_cell_value_editor->on_focusout = nullptr; - m_cell_value_editor->set_text(""); - m_cell_value_editor->set_enabled(false); - m_cut_action->set_enabled(false); - m_copy_action->set_enabled(false); - return; - } + + VERIFY(!selection.is_empty()); if (selection.size() == 1) { auto& position = selection.first(); @@ -345,11 +335,18 @@ void SpreadsheetWidget::setup_tabs(NonnullRefPtrVector new_sheets) static_cast(const_cast(m_cell_value_editor->syntax_highlighter()))->set_cell(&first_cell); }; m_selected_view->on_selection_dropped = [&]() { - m_cell_value_editor->set_enabled(false); - static_cast(const_cast(m_cell_value_editor->syntax_highlighter()))->set_cell(nullptr); - m_cell_value_editor->set_text(""); m_current_cell_label->set_enabled(false); - m_current_cell_label->set_text(""); + m_current_cell_label->set_text({}); + m_cell_value_editor->on_change = nullptr; + m_cell_value_editor->on_focusin = nullptr; + m_cell_value_editor->on_focusout = nullptr; + m_cell_value_editor->set_text({}); + m_cell_value_editor->set_enabled(false); + + m_cut_action->set_enabled(false); + m_copy_action->set_enabled(false); + + static_cast(const_cast(m_cell_value_editor->syntax_highlighter()))->set_cell(nullptr); }; };