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());