From 690389ae813aa87b87aa20d9e4e552d07952b9da Mon Sep 17 00:00:00 2001 From: Timothy Flynn Date: Wed, 28 Dec 2022 23:19:02 -0500 Subject: [PATCH] SQLStudio: Display error message boxes when connections/executions fail In a GUI application, this is vastly more useful than logging to the terminal or ignoring the error completely. --- Userland/DevTools/SQLStudio/MainWidget.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/Userland/DevTools/SQLStudio/MainWidget.cpp b/Userland/DevTools/SQLStudio/MainWidget.cpp index 120d4319fce..5c5ca3c6943 100644 --- a/Userland/DevTools/SQLStudio/MainWidget.cpp +++ b/Userland/DevTools/SQLStudio/MainWidget.cpp @@ -168,7 +168,7 @@ MainWidget::MainWidget() m_connection_id = *connection_id; m_run_script_action->set_enabled(true); } else { - warnln("\033[33;1mCould not connect to:\033[0m {}", database_name); + GUI::MessageBox::show_error(window(), DeprecatedString::formatted("Could not connect to {}", database_name)); } }); @@ -257,6 +257,12 @@ MainWidget::MainWidget() m_sql_client->on_execution_success = [this](auto, auto, auto, auto, auto, auto) { read_next_sql_statement_of_editor(); }; + m_sql_client->on_execution_error = [this](auto, auto, auto, auto message) { + auto* editor = active_editor(); + VERIFY(editor); + + GUI::MessageBox::show_error(window(), DeprecatedString::formatted("Error executing {}\n{}", editor->path(), message)); + }; m_sql_client->on_next_result = [this](auto, auto, auto row) { m_results.append({}); m_results.last().ensure_capacity(row.size());