From 355911c44e6d4519037db5295d2c88eaf79c35e1 Mon Sep 17 00:00:00 2001 From: Jose Flores Date: Sun, 14 Aug 2022 18:35:24 -0500 Subject: [PATCH] SQLStudio: Reset status bar and menu actions when closing a tab --- Userland/DevTools/SQLStudio/MainWidget.cpp | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/Userland/DevTools/SQLStudio/MainWidget.cpp b/Userland/DevTools/SQLStudio/MainWidget.cpp index 027d51c085..7245277f4d 100644 --- a/Userland/DevTools/SQLStudio/MainWidget.cpp +++ b/Userland/DevTools/SQLStudio/MainWidget.cpp @@ -183,6 +183,7 @@ MainWidget::MainWidget() if (close_attempt.release_value()) { m_tab_widget->remove_tab(widget); update_title(); + on_editor_change(); } }; @@ -351,14 +352,18 @@ void MainWidget::update_title() void MainWidget::on_editor_change() { auto editor = dynamic_cast(m_tab_widget->active_widget()); - if (editor) { - update_statusbar(editor); - update_editor_actions(editor); - } + update_statusbar(editor); + update_editor_actions(editor); } void MainWidget::update_statusbar(ScriptEditor* editor) { + if (!editor) { + m_statusbar->set_text(1, ""); + m_statusbar->set_text(2, ""); + return; + } + if (editor->has_selection()) { auto character_count = editor->selected_text().length(); auto word_count = editor->number_of_selected_words(); @@ -374,6 +379,15 @@ void MainWidget::update_statusbar(ScriptEditor* editor) void MainWidget::update_editor_actions(ScriptEditor* editor) { + if (!editor) { + m_copy_action->set_enabled(false); + m_cut_action->set_enabled(false); + m_paste_action->set_enabled(false); + m_undo_action->set_enabled(false); + m_redo_action->set_enabled(false); + return; + } + m_copy_action->set_enabled(editor->copy_action().is_enabled()); m_cut_action->set_enabled(editor->cut_action().is_enabled()); m_paste_action->set_enabled(editor->paste_action().is_enabled());