mirror of
https://github.com/RGBCube/serenity
synced 2025-07-24 15:47:42 +00:00
SQLStudio: Propagate errors from MainWidget::initialize_menubar()
This commit is contained in:
parent
0b110c88ae
commit
83af64f053
3 changed files with 27 additions and 26 deletions
|
@ -291,35 +291,36 @@ MainWidget::MainWidget()
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
void MainWidget::initialize_menu(GUI::Window* window)
|
ErrorOr<void> MainWidget::initialize_menu(GUI::Window* window)
|
||||||
{
|
{
|
||||||
auto& file_menu = window->add_menu("&File"_short_string);
|
auto file_menu = TRY(window->try_add_menu("&File"_short_string));
|
||||||
file_menu.add_action(*m_new_action);
|
TRY(file_menu->try_add_action(*m_new_action));
|
||||||
file_menu.add_action(*m_open_action);
|
TRY(file_menu->try_add_action(*m_open_action));
|
||||||
file_menu.add_action(*m_save_action);
|
TRY(file_menu->try_add_action(*m_save_action));
|
||||||
file_menu.add_action(*m_save_as_action);
|
TRY(file_menu->try_add_action(*m_save_as_action));
|
||||||
file_menu.add_action(*m_save_all_action);
|
TRY(file_menu->try_add_action(*m_save_all_action));
|
||||||
file_menu.add_separator();
|
TRY(file_menu->try_add_separator());
|
||||||
file_menu.add_action(GUI::CommonActions::make_quit_action([](auto&) {
|
TRY(file_menu->try_add_action(GUI::CommonActions::make_quit_action([](auto&) {
|
||||||
GUI::Application::the()->quit();
|
GUI::Application::the()->quit();
|
||||||
}));
|
})));
|
||||||
|
|
||||||
auto& edit_menu = window->add_menu("&Edit"_short_string);
|
auto edit_menu = TRY(window->try_add_menu("&Edit"_short_string));
|
||||||
edit_menu.add_action(*m_copy_action);
|
TRY(edit_menu->try_add_action(*m_copy_action));
|
||||||
edit_menu.add_action(*m_cut_action);
|
TRY(edit_menu->try_add_action(*m_cut_action));
|
||||||
edit_menu.add_action(*m_paste_action);
|
TRY(edit_menu->try_add_action(*m_paste_action));
|
||||||
edit_menu.add_separator();
|
TRY(edit_menu->try_add_separator());
|
||||||
edit_menu.add_action(*m_undo_action);
|
TRY(edit_menu->try_add_action(*m_undo_action));
|
||||||
edit_menu.add_action(*m_redo_action);
|
TRY(edit_menu->try_add_action(*m_redo_action));
|
||||||
edit_menu.add_separator();
|
TRY(edit_menu->try_add_separator());
|
||||||
edit_menu.add_action(*m_run_script_action);
|
TRY(edit_menu->try_add_action(*m_run_script_action));
|
||||||
|
|
||||||
auto& help_menu = window->add_menu("&Help"_short_string);
|
auto help_menu = TRY(window->try_add_menu("&Help"_short_string));
|
||||||
help_menu.add_action(GUI::CommonActions::make_command_palette_action(window));
|
TRY(help_menu->try_add_action(GUI::CommonActions::make_command_palette_action(window)));
|
||||||
help_menu.add_action(GUI::CommonActions::make_help_action([](auto&) {
|
TRY(help_menu->try_add_action(GUI::CommonActions::make_help_action([](auto&) {
|
||||||
Desktop::Launcher::open(URL::create_with_file_scheme("/usr/share/man/man1/SQLStudio.md"), "/bin/Help");
|
Desktop::Launcher::open(URL::create_with_file_scheme("/usr/share/man/man1/SQLStudio.md"), "/bin/Help");
|
||||||
}));
|
})));
|
||||||
help_menu.add_action(GUI::CommonActions::make_about_action("SQL Studio", GUI::Icon::default_icon("app-sql-studio"sv), window));
|
TRY(help_menu->try_add_action(GUI::CommonActions::make_about_action("SQL Studio", GUI::Icon::default_icon("app-sql-studio"sv), window)));
|
||||||
|
return {};
|
||||||
}
|
}
|
||||||
|
|
||||||
void MainWidget::open_new_script()
|
void MainWidget::open_new_script()
|
||||||
|
|
|
@ -22,7 +22,7 @@ class MainWidget : public GUI::Widget {
|
||||||
public:
|
public:
|
||||||
virtual ~MainWidget() = default;
|
virtual ~MainWidget() = default;
|
||||||
|
|
||||||
void initialize_menu(GUI::Window*);
|
ErrorOr<void> initialize_menu(GUI::Window*);
|
||||||
void open_new_script();
|
void open_new_script();
|
||||||
void open_script_from_file(LexicalPath const&);
|
void open_script_from_file(LexicalPath const&);
|
||||||
|
|
||||||
|
|
|
@ -31,7 +31,7 @@ ErrorOr<int> serenity_main(Main::Arguments arguments)
|
||||||
window->set_title("SQL Studio");
|
window->set_title("SQL Studio");
|
||||||
|
|
||||||
auto main_widget = TRY(window->set_main_widget<MainWidget>());
|
auto main_widget = TRY(window->set_main_widget<MainWidget>());
|
||||||
main_widget->initialize_menu(window);
|
TRY(main_widget->initialize_menu(window));
|
||||||
|
|
||||||
window->on_close_request = [&] {
|
window->on_close_request = [&] {
|
||||||
if (main_widget->request_close())
|
if (main_widget->request_close())
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue