mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-06-09 17:44:56 +09:00
Userland: Add GUI::Window::add_menu() and use it everywhere
Applications previously had to create a GUI::Menubar object, add menus to it, and then call GUI::Window::set_menubar(). This patch introduces GUI::Window::add_menu() which creates the menubar automatically and adds items to it. Application code becomes slightly simpler as a result. :^)
This commit is contained in:
parent
a4fdb7f029
commit
687a12d7fb
Notes:
sideshowbarker
2024-07-18 08:37:51 +09:00
Author: https://github.com/awesomekling
Commit: 687a12d7fb
58 changed files with 187 additions and 311 deletions
|
@ -206,8 +206,7 @@ int main(int argc, char** argv)
|
|||
window->set_double_buffering_enabled(true);
|
||||
auto& widget = window->set_main_widget<GLContextWidget>();
|
||||
|
||||
auto menubar = GUI::Menubar::construct();
|
||||
auto& file_menu = menubar->add_menu("&File");
|
||||
auto& file_menu = window->add_menu("&File");
|
||||
|
||||
auto load_model = [&](StringView const& filename) {
|
||||
if (widget.load(filename)) {
|
||||
|
@ -229,7 +228,7 @@ int main(int argc, char** argv)
|
|||
app->quit();
|
||||
}));
|
||||
|
||||
auto& view_menu = menubar->add_menu("&View");
|
||||
auto& view_menu = window->add_menu("&View");
|
||||
view_menu.add_action(GUI::CommonActions::make_fullscreen_action([&](auto&) {
|
||||
window->set_fullscreen(!window->is_fullscreen());
|
||||
}));
|
||||
|
@ -281,10 +280,9 @@ int main(int argc, char** argv)
|
|||
|
||||
normal_rotation_action->set_checked(true);
|
||||
|
||||
auto& help_menu = menubar->add_menu("&Help");
|
||||
auto& help_menu = window->add_menu("&Help");
|
||||
help_menu.add_action(GUI::CommonActions::make_about_action("3D File Viewer", app_icon, window));
|
||||
|
||||
window->set_menubar(move(menubar));
|
||||
window->show();
|
||||
|
||||
auto filename = argc > 1 ? argv[1] : "/home/anon/Documents/3D Models/teapot.obj";
|
||||
|
|
|
@ -123,9 +123,7 @@ BrowserWindow::~BrowserWindow()
|
|||
|
||||
void BrowserWindow::build_menus()
|
||||
{
|
||||
auto menubar = GUI::Menubar::construct();
|
||||
|
||||
auto& file_menu = menubar->add_menu("&File");
|
||||
auto& file_menu = add_menu("&File");
|
||||
file_menu.add_action(WindowActions::the().create_new_tab_action());
|
||||
|
||||
auto close_tab_action = GUI::Action::create(
|
||||
|
@ -141,7 +139,7 @@ void BrowserWindow::build_menus()
|
|||
GUI::Application::the()->quit();
|
||||
}));
|
||||
|
||||
auto& view_menu = menubar->add_menu("&View");
|
||||
auto& view_menu = add_menu("&View");
|
||||
view_menu.add_action(WindowActions::the().show_bookmarks_bar_action());
|
||||
view_menu.add_separator();
|
||||
view_menu.add_action(GUI::CommonActions::make_fullscreen_action(
|
||||
|
@ -169,7 +167,7 @@ void BrowserWindow::build_menus()
|
|||
m_reload_action = GUI::CommonActions::make_reload_action([this](auto&) { active_tab().reload(); }, this);
|
||||
m_reload_action->set_status_tip("Reload current page");
|
||||
|
||||
auto& go_menu = menubar->add_menu("&Go");
|
||||
auto& go_menu = add_menu("&Go");
|
||||
go_menu.add_action(*m_go_back_action);
|
||||
go_menu.add_action(*m_go_forward_action);
|
||||
go_menu.add_action(*m_go_home_action);
|
||||
|
@ -235,7 +233,7 @@ void BrowserWindow::build_menus()
|
|||
this);
|
||||
m_inspect_dom_tree_action->set_status_tip("Open DOM inspector window for this page");
|
||||
|
||||
auto& inspect_menu = menubar->add_menu("&Inspect");
|
||||
auto& inspect_menu = add_menu("&Inspect");
|
||||
inspect_menu.add_action(*m_view_source_action);
|
||||
inspect_menu.add_action(*m_inspect_dom_tree_action);
|
||||
|
||||
|
@ -276,7 +274,7 @@ void BrowserWindow::build_menus()
|
|||
js_console_action->set_status_tip("Open JavaScript console for this page");
|
||||
inspect_menu.add_action(js_console_action);
|
||||
|
||||
auto& settings_menu = menubar->add_menu("&Settings");
|
||||
auto& settings_menu = add_menu("&Settings");
|
||||
|
||||
m_change_homepage_action = GUI::Action::create(
|
||||
"Set Homepage URL", [this](auto&) {
|
||||
|
@ -362,7 +360,7 @@ void BrowserWindow::build_menus()
|
|||
custom_search_engine_action->set_status_tip(g_search_engine);
|
||||
}
|
||||
|
||||
auto& debug_menu = menubar->add_menu("&Debug");
|
||||
auto& debug_menu = add_menu("&Debug");
|
||||
debug_menu.add_action(GUI::Action::create(
|
||||
"Dump &DOM Tree", [this](auto&) {
|
||||
auto& tab = active_tab();
|
||||
|
@ -490,10 +488,8 @@ void BrowserWindow::build_menus()
|
|||
spoof_user_agent_menu.add_action(custom_user_agent);
|
||||
m_user_agent_spoof_actions.add_action(custom_user_agent);
|
||||
|
||||
auto& help_menu = menubar->add_menu("&Help");
|
||||
auto& help_menu = add_menu("&Help");
|
||||
help_menu.add_action(WindowActions::the().about_action());
|
||||
|
||||
set_menubar(move(menubar));
|
||||
}
|
||||
|
||||
GUI::TabWidget& BrowserWindow::tab_widget()
|
||||
|
|
|
@ -49,14 +49,12 @@ int main(int argc, char** argv)
|
|||
window->show();
|
||||
window->set_icon(app_icon.bitmap_for_size(16));
|
||||
|
||||
auto menubar = GUI::Menubar::construct();
|
||||
|
||||
auto& file_menu = menubar->add_menu("&File");
|
||||
auto& file_menu = window->add_menu("&File");
|
||||
file_menu.add_action(GUI::CommonActions::make_quit_action([](auto&) {
|
||||
GUI::Application::the()->quit();
|
||||
}));
|
||||
|
||||
auto& edit_menu = menubar->add_menu("&Edit");
|
||||
auto& edit_menu = window->add_menu("&Edit");
|
||||
edit_menu.add_action(GUI::CommonActions::make_copy_action([&](auto&) {
|
||||
GUI::Clipboard::the().set_plain_text(widget.get_entry());
|
||||
}));
|
||||
|
@ -70,8 +68,7 @@ int main(int argc, char** argv)
|
|||
}
|
||||
}));
|
||||
|
||||
auto& help_menu = menubar->add_menu("&Help");
|
||||
auto& help_menu = window->add_menu("&Help");
|
||||
help_menu.add_action(GUI::CommonActions::make_about_action("Calculator", app_icon, window));
|
||||
window->set_menubar(move(menubar));
|
||||
return app->exec();
|
||||
}
|
||||
|
|
|
@ -126,8 +126,7 @@ int main(int argc, char** argv)
|
|||
view_month_action->set_checked(true);
|
||||
};
|
||||
|
||||
auto menubar = GUI::Menubar::construct();
|
||||
auto& file_menu = menubar->add_menu("&File");
|
||||
auto& file_menu = window->add_menu("&File");
|
||||
file_menu.add_action(GUI::Action::create("&Add Event", { Mod_Ctrl | Mod_Shift, Key_E }, Gfx::Bitmap::try_load_from_file("/res/icons/16x16/add-event.png"),
|
||||
[&](const GUI::Action&) {
|
||||
AddEventDialog::show(calendar->selected_date(), window);
|
||||
|
@ -139,14 +138,13 @@ int main(int argc, char** argv)
|
|||
GUI::Application::the()->quit();
|
||||
}));
|
||||
|
||||
auto& view_menu = menubar->add_menu("&View");
|
||||
auto& view_menu = window->add_menu("&View");
|
||||
view_menu.add_action(*view_month_action);
|
||||
view_menu.add_action(*view_year_action);
|
||||
|
||||
auto& help_menu = menubar->add_menu("&Help");
|
||||
auto& help_menu = window->add_menu("&Help");
|
||||
help_menu.add_action(GUI::CommonActions::make_about_action("Calendar", app_icon, window));
|
||||
|
||||
window->set_menubar(move(menubar));
|
||||
window->show();
|
||||
app->exec();
|
||||
}
|
||||
|
|
|
@ -842,9 +842,7 @@ int run_in_windowed_mode(RefPtr<Core::ConfigFile> config, String initial_locatio
|
|||
refresh_tree_view();
|
||||
});
|
||||
|
||||
auto menubar = GUI::Menubar::construct();
|
||||
|
||||
auto& file_menu = menubar->add_menu("&File");
|
||||
auto& file_menu = window->add_menu("&File");
|
||||
file_menu.add_action(mkdir_action);
|
||||
file_menu.add_action(touch_action);
|
||||
file_menu.add_action(focus_dependent_delete_action);
|
||||
|
@ -856,7 +854,7 @@ int run_in_windowed_mode(RefPtr<Core::ConfigFile> config, String initial_locatio
|
|||
GUI::Application::the()->quit();
|
||||
}));
|
||||
|
||||
auto& edit_menu = menubar->add_menu("&Edit");
|
||||
auto& edit_menu = window->add_menu("&Edit");
|
||||
edit_menu.add_action(cut_action);
|
||||
edit_menu.add_action(copy_action);
|
||||
edit_menu.add_action(paste_action);
|
||||
|
@ -874,7 +872,7 @@ int run_in_windowed_mode(RefPtr<Core::ConfigFile> config, String initial_locatio
|
|||
directory_view.set_should_show_dotfiles(show_dotfiles);
|
||||
action_show_dotfiles->set_checked(show_dotfiles);
|
||||
|
||||
auto& view_menu = menubar->add_menu("&View");
|
||||
auto& view_menu = window->add_menu("&View");
|
||||
auto& layout_menu = view_menu.add_submenu("&Layout");
|
||||
layout_menu.add_action(*layout_toolbar_action);
|
||||
layout_menu.add_action(*layout_location_action);
|
||||
|
@ -897,7 +895,7 @@ int run_in_windowed_mode(RefPtr<Core::ConfigFile> config, String initial_locatio
|
|||
location_textbox.set_focus(true);
|
||||
});
|
||||
|
||||
auto& go_menu = menubar->add_menu("&Go");
|
||||
auto& go_menu = window->add_menu("&Go");
|
||||
go_menu.add_action(go_back_action);
|
||||
go_menu.add_action(go_forward_action);
|
||||
go_menu.add_action(open_parent_directory_action);
|
||||
|
@ -906,11 +904,9 @@ int run_in_windowed_mode(RefPtr<Core::ConfigFile> config, String initial_locatio
|
|||
go_menu.add_separator();
|
||||
go_menu.add_action(directory_view.open_terminal_action());
|
||||
|
||||
auto& help_menu = menubar->add_menu("&Help");
|
||||
auto& help_menu = window->add_menu("&Help");
|
||||
help_menu.add_action(GUI::CommonActions::make_about_action("File Manager", GUI::Icon::default_icon("app-file-manager"), window));
|
||||
|
||||
window->set_menubar(menubar);
|
||||
|
||||
main_toolbar.add_action(go_back_action);
|
||||
main_toolbar.add_action(go_forward_action);
|
||||
main_toolbar.add_action(open_parent_directory_action);
|
||||
|
|
|
@ -533,9 +533,9 @@ void FontEditorWidget::initialize(const String& path, RefPtr<Gfx::BitmapFont>&&
|
|||
on_initialize();
|
||||
}
|
||||
|
||||
void FontEditorWidget::initialize_menubar(GUI::Menubar& menubar)
|
||||
void FontEditorWidget::initialize_menubar(GUI::Window& window)
|
||||
{
|
||||
auto& file_menu = menubar.add_menu("&File");
|
||||
auto& file_menu = window.add_menu("&File");
|
||||
file_menu.add_action(*m_new_action);
|
||||
file_menu.add_action(*m_open_action);
|
||||
file_menu.add_action(*m_save_action);
|
||||
|
@ -547,7 +547,7 @@ void FontEditorWidget::initialize_menubar(GUI::Menubar& menubar)
|
|||
GUI::Application::the()->quit();
|
||||
}));
|
||||
|
||||
auto& edit_menu = menubar.add_menu("&Edit");
|
||||
auto& edit_menu = window.add_menu("&Edit");
|
||||
edit_menu.add_action(*m_undo_action);
|
||||
edit_menu.add_action(*m_redo_action);
|
||||
edit_menu.add_separator();
|
||||
|
@ -556,7 +556,7 @@ void FontEditorWidget::initialize_menubar(GUI::Menubar& menubar)
|
|||
edit_menu.add_action(*m_paste_action);
|
||||
edit_menu.add_action(*m_delete_action);
|
||||
|
||||
auto& view_menu = menubar.add_menu("&View");
|
||||
auto& view_menu = window.add_menu("&View");
|
||||
view_menu.add_action(*m_open_preview_action);
|
||||
view_menu.add_separator();
|
||||
view_menu.add_action(*m_show_metadata_action);
|
||||
|
@ -566,11 +566,11 @@ void FontEditorWidget::initialize_menubar(GUI::Menubar& menubar)
|
|||
scale_menu.add_action(*m_scale_ten_action);
|
||||
scale_menu.add_action(*m_scale_fifteen_action);
|
||||
|
||||
auto& help_menu = menubar.add_menu("&Help");
|
||||
auto& help_menu = window.add_menu("&Help");
|
||||
help_menu.add_action(GUI::CommonActions::make_help_action([](auto&) {
|
||||
Desktop::Launcher::open(URL::create_with_file_protocol("/usr/share/man/man1/FontEditor.md"), "/bin/Help");
|
||||
}));
|
||||
help_menu.add_action(GUI::CommonActions::make_about_action("Font Editor", GUI::Icon::default_icon("app-font-editor"), window()));
|
||||
help_menu.add_action(GUI::CommonActions::make_about_action("Font Editor", GUI::Icon::default_icon("app-font-editor"), &window));
|
||||
}
|
||||
|
||||
bool FontEditorWidget::save_as(const String& path)
|
||||
|
|
|
@ -27,7 +27,7 @@ public:
|
|||
const String& path() { return m_path; }
|
||||
const Gfx::BitmapFont& edited_font() { return *m_edited_font; }
|
||||
void initialize(const String& path, RefPtr<Gfx::BitmapFont>&&);
|
||||
void initialize_menubar(GUI::Menubar&);
|
||||
void initialize_menubar(GUI::Window&);
|
||||
|
||||
bool is_showing_font_metadata() { return m_font_metadata; }
|
||||
void set_show_font_metadata(bool b);
|
||||
|
|
|
@ -78,9 +78,7 @@ int main(int argc, char** argv)
|
|||
auto& font_editor = window->set_main_widget<FontEditorWidget>(path, move(edited_font));
|
||||
font_editor.update_title();
|
||||
|
||||
auto menubar = GUI::Menubar::construct();
|
||||
font_editor.initialize_menubar(menubar);
|
||||
window->set_menubar(move(menubar));
|
||||
font_editor.initialize_menubar(*window);
|
||||
|
||||
window->on_close_request = [&]() -> GUI::Window::CloseRequestDecision {
|
||||
if (font_editor.request_close())
|
||||
|
|
|
@ -261,23 +261,19 @@ int main(int argc, char* argv[])
|
|||
toolbar.add_action(*go_forward_action);
|
||||
toolbar.add_action(*go_home_action);
|
||||
|
||||
auto menubar = GUI::Menubar::construct();
|
||||
|
||||
auto& file_menu = menubar->add_menu("&File");
|
||||
auto& file_menu = window->add_menu("&File");
|
||||
file_menu.add_action(GUI::CommonActions::make_quit_action([](auto&) {
|
||||
GUI::Application::the()->quit();
|
||||
}));
|
||||
|
||||
auto& go_menu = menubar->add_menu("&Go");
|
||||
auto& go_menu = window->add_menu("&Go");
|
||||
go_menu.add_action(*go_back_action);
|
||||
go_menu.add_action(*go_forward_action);
|
||||
go_menu.add_action(*go_home_action);
|
||||
|
||||
auto& help_menu = menubar->add_menu("&Help");
|
||||
auto& help_menu = window->add_menu("&Help");
|
||||
help_menu.add_action(GUI::CommonActions::make_about_action("Help", app_icon, window));
|
||||
|
||||
window->set_menubar(move(menubar));
|
||||
|
||||
auto context_menu = GUI::Menu::construct();
|
||||
context_menu->add_action(*go_back_action);
|
||||
context_menu->add_action(*go_forward_action);
|
||||
|
|
|
@ -209,9 +209,9 @@ HexEditorWidget::~HexEditorWidget()
|
|||
{
|
||||
}
|
||||
|
||||
void HexEditorWidget::initialize_menubar(GUI::Menubar& menubar)
|
||||
void HexEditorWidget::initialize_menubar(GUI::Window& window)
|
||||
{
|
||||
auto& file_menu = menubar.add_menu("&File");
|
||||
auto& file_menu = window.add_menu("&File");
|
||||
file_menu.add_action(*m_new_action);
|
||||
file_menu.add_action(*m_open_action);
|
||||
file_menu.add_action(*m_save_action);
|
||||
|
@ -223,14 +223,14 @@ void HexEditorWidget::initialize_menubar(GUI::Menubar& menubar)
|
|||
GUI::Application::the()->quit();
|
||||
}));
|
||||
|
||||
auto& edit_menu = menubar.add_menu("&Edit");
|
||||
auto& edit_menu = window.add_menu("&Edit");
|
||||
edit_menu.add_action(GUI::CommonActions::make_select_all_action([this](auto&) {
|
||||
m_editor->select_all();
|
||||
m_editor->update();
|
||||
}));
|
||||
edit_menu.add_action(GUI::Action::create("Fill &Selection...", { Mod_Ctrl, Key_B }, [&](const GUI::Action&) {
|
||||
String value;
|
||||
if (GUI::InputBox::show(window(), value, "Fill byte (hex):", "Fill Selection") == GUI::InputBox::ExecOK && !value.is_empty()) {
|
||||
if (GUI::InputBox::show(&window, value, "Fill byte (hex):", "Fill Selection") == GUI::InputBox::ExecOK && !value.is_empty()) {
|
||||
auto fill_byte = strtol(value.characters(), nullptr, 16);
|
||||
m_editor->fill_selection(fill_byte);
|
||||
}
|
||||
|
@ -249,13 +249,13 @@ void HexEditorWidget::initialize_menubar(GUI::Menubar& menubar)
|
|||
edit_menu.add_action(*m_find_action);
|
||||
edit_menu.add_action(GUI::Action::create("Find &Next", { Mod_None, Key_F3 }, Gfx::Bitmap::try_load_from_file("/res/icons/16x16/find-next.png"), [&](const GUI::Action&) {
|
||||
if (m_search_text.is_empty() || m_search_buffer.is_empty()) {
|
||||
GUI::MessageBox::show(window(), "Nothing to search for", "Not found", GUI::MessageBox::Type::Warning);
|
||||
GUI::MessageBox::show(&window, "Nothing to search for", "Not found", GUI::MessageBox::Type::Warning);
|
||||
return;
|
||||
}
|
||||
|
||||
auto result = m_editor->find_and_highlight(m_search_buffer, last_found_index());
|
||||
if (!result) {
|
||||
GUI::MessageBox::show(window(), String::formatted("No more matches for \"{}\" found in this file", m_search_text), "Not found", GUI::MessageBox::Type::Warning);
|
||||
GUI::MessageBox::show(&window, String::formatted("No more matches for \"{}\" found in this file", m_search_text), "Not found", GUI::MessageBox::Type::Warning);
|
||||
return;
|
||||
}
|
||||
m_editor->update();
|
||||
|
@ -269,7 +269,7 @@ void HexEditorWidget::initialize_menubar(GUI::Menubar& menubar)
|
|||
m_search_results->update();
|
||||
|
||||
if (matches.is_empty()) {
|
||||
GUI::MessageBox::show(window(), "No strings found in this file", "Not found", GUI::MessageBox::Type::Warning);
|
||||
GUI::MessageBox::show(&window, "No strings found in this file", "Not found", GUI::MessageBox::Type::Warning);
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -279,7 +279,7 @@ void HexEditorWidget::initialize_menubar(GUI::Menubar& menubar)
|
|||
edit_menu.add_separator();
|
||||
edit_menu.add_action(*m_goto_offset_action);
|
||||
|
||||
auto& view_menu = menubar.add_menu("&View");
|
||||
auto& view_menu = window.add_menu("&View");
|
||||
|
||||
auto show_toolbar = m_config->read_bool_entry("Layout", "ShowToolbar", true);
|
||||
m_layout_toolbar_action->set_checked(show_toolbar);
|
||||
|
@ -307,8 +307,8 @@ void HexEditorWidget::initialize_menubar(GUI::Menubar& menubar)
|
|||
action->set_checked(true);
|
||||
}
|
||||
|
||||
auto& help_menu = menubar.add_menu("&Help");
|
||||
help_menu.add_action(GUI::CommonActions::make_about_action("Hex Editor", GUI::Icon::default_icon("app-hex-editor"), window()));
|
||||
auto& help_menu = window.add_menu("&Help");
|
||||
help_menu.add_action(GUI::CommonActions::make_about_action("Hex Editor", GUI::Icon::default_icon("app-hex-editor"), &window));
|
||||
}
|
||||
|
||||
void HexEditorWidget::set_path(StringView const& path)
|
||||
|
|
|
@ -22,7 +22,7 @@ class HexEditorWidget final : public GUI::Widget {
|
|||
public:
|
||||
virtual ~HexEditorWidget() override;
|
||||
void open_file(const String& path);
|
||||
void initialize_menubar(GUI::Menubar&);
|
||||
void initialize_menubar(GUI::Window&);
|
||||
bool request_close();
|
||||
|
||||
private:
|
||||
|
|
|
@ -39,9 +39,7 @@ int main(int argc, char** argv)
|
|||
return GUI::Window::CloseRequestDecision::StayOpen;
|
||||
};
|
||||
|
||||
auto menubar = GUI::Menubar::construct();
|
||||
hex_editor_widget.initialize_menubar(menubar);
|
||||
window->set_menubar(menubar);
|
||||
hex_editor_widget.initialize_menubar(*window);
|
||||
window->show();
|
||||
window->set_icon(app_icon.bitmap_for_size(16));
|
||||
|
||||
|
|
|
@ -237,13 +237,12 @@ void IRCAppWindow::setup_actions()
|
|||
|
||||
void IRCAppWindow::setup_menus()
|
||||
{
|
||||
auto menubar = GUI::Menubar::construct();
|
||||
auto& file_menu = menubar->add_menu("&File");
|
||||
auto& file_menu = add_menu("&File");
|
||||
file_menu.add_action(GUI::CommonActions::make_quit_action([](auto&) {
|
||||
GUI::Application::the()->quit();
|
||||
}));
|
||||
|
||||
auto& server_menu = menubar->add_menu("&Server");
|
||||
auto& server_menu = add_menu("&Server");
|
||||
server_menu.add_action(*m_change_nick_action);
|
||||
server_menu.add_separator();
|
||||
server_menu.add_action(*m_join_action);
|
||||
|
@ -253,7 +252,7 @@ void IRCAppWindow::setup_menus()
|
|||
server_menu.add_action(*m_open_query_action);
|
||||
server_menu.add_action(*m_close_query_action);
|
||||
|
||||
auto& channel_menu = menubar->add_menu("&Channel");
|
||||
auto& channel_menu = add_menu("&Channel");
|
||||
channel_menu.add_action(*m_change_topic_action);
|
||||
channel_menu.add_action(*m_invite_user_action);
|
||||
channel_menu.add_action(*m_banlist_action);
|
||||
|
@ -272,10 +271,8 @@ void IRCAppWindow::setup_menus()
|
|||
channel_menu.add_action(*m_cycle_channel_action);
|
||||
channel_menu.add_action(*m_part_action);
|
||||
|
||||
auto& help_menu = menubar->add_menu("&Help");
|
||||
auto& help_menu = add_menu("&Help");
|
||||
help_menu.add_action(GUI::CommonActions::make_about_action("IRC Client", GUI::Icon::default_icon("app-irc-client"), this));
|
||||
|
||||
set_menubar(move(menubar));
|
||||
}
|
||||
|
||||
void IRCAppWindow::setup_widgets()
|
||||
|
|
|
@ -264,15 +264,13 @@ int main(int argc, char** argv)
|
|||
main_toolbar.add_action(reset_zoom_action);
|
||||
main_toolbar.add_action(zoom_out_action);
|
||||
|
||||
auto menubar = GUI::Menubar::construct();
|
||||
|
||||
auto& file_menu = menubar->add_menu("&File");
|
||||
auto& file_menu = window->add_menu("&File");
|
||||
file_menu.add_action(open_action);
|
||||
file_menu.add_action(delete_action);
|
||||
file_menu.add_separator();
|
||||
file_menu.add_action(quit_action);
|
||||
|
||||
auto& image_menu = menubar->add_menu("&Image");
|
||||
auto& image_menu = window->add_menu("&Image");
|
||||
image_menu.add_action(rotate_left_action);
|
||||
image_menu.add_action(rotate_right_action);
|
||||
image_menu.add_action(vertical_flip_action);
|
||||
|
@ -280,13 +278,13 @@ int main(int argc, char** argv)
|
|||
image_menu.add_separator();
|
||||
image_menu.add_action(desktop_wallpaper_action);
|
||||
|
||||
auto& navigate_menu = menubar->add_menu("&Navigate");
|
||||
auto& navigate_menu = window->add_menu("&Navigate");
|
||||
navigate_menu.add_action(go_first_action);
|
||||
navigate_menu.add_action(go_back_action);
|
||||
navigate_menu.add_action(go_forward_action);
|
||||
navigate_menu.add_action(go_last_action);
|
||||
|
||||
auto& view_menu = menubar->add_menu("&View");
|
||||
auto& view_menu = window->add_menu("&View");
|
||||
view_menu.add_action(full_screen_action);
|
||||
view_menu.add_separator();
|
||||
view_menu.add_action(zoom_in_action);
|
||||
|
@ -295,14 +293,12 @@ int main(int argc, char** argv)
|
|||
view_menu.add_separator();
|
||||
view_menu.add_action(hide_show_toolbar_action);
|
||||
|
||||
auto& help_menu = menubar->add_menu("&Help");
|
||||
auto& help_menu = window->add_menu("&Help");
|
||||
help_menu.add_action(GUI::CommonActions::make_help_action([](auto&) {
|
||||
Desktop::Launcher::open(URL::create_with_file_protocol("/usr/share/man/man1/ImageViewer.md"), "/bin/Help");
|
||||
}));
|
||||
help_menu.add_action(GUI::CommonActions::make_about_action("Image Viewer", app_icon, window));
|
||||
|
||||
window->set_menubar(move(menubar));
|
||||
|
||||
if (path != nullptr) {
|
||||
widget.load_from_file(path);
|
||||
} else {
|
||||
|
|
|
@ -82,19 +82,15 @@ int main(int argc, char** argv)
|
|||
app->quit();
|
||||
});
|
||||
|
||||
auto menubar = GUI::Menubar::construct();
|
||||
|
||||
auto& file_menu = menubar->add_menu("&File");
|
||||
auto& file_menu = window->add_menu("&File");
|
||||
file_menu.add_action(open_action);
|
||||
file_menu.add_action(save_action);
|
||||
file_menu.add_action(save_as_action);
|
||||
file_menu.add_separator();
|
||||
file_menu.add_action(quit_action);
|
||||
|
||||
auto& help_menu = menubar->add_menu("&Help");
|
||||
auto& help_menu = window->add_menu("&Help");
|
||||
help_menu.add_action(GUI::CommonActions::make_about_action("Keyboard Mapper", app_icon, window));
|
||||
|
||||
window->set_menubar(move(menubar));
|
||||
|
||||
return app->exec();
|
||||
}
|
||||
|
|
|
@ -183,14 +183,12 @@ int main(int argc, char** argv)
|
|||
|
||||
auto menubar = GUI::Menubar::construct();
|
||||
|
||||
auto& file_menu = menubar->add_menu("&File");
|
||||
auto& file_menu = window->add_menu("&File");
|
||||
file_menu.add_action(quit_action);
|
||||
|
||||
auto& help_menu = menubar->add_menu("&Help");
|
||||
auto& help_menu = window->add_menu("&Help");
|
||||
help_menu.add_action(GUI::CommonActions::make_about_action("Keyboard Settings", app_icon, window));
|
||||
|
||||
window->set_menubar(move(menubar));
|
||||
|
||||
window->show();
|
||||
|
||||
return app->exec();
|
||||
|
|
|
@ -48,8 +48,7 @@ int main(int argc, char** argv)
|
|||
window->set_icon(app_icon.bitmap_for_size(16));
|
||||
auto& magnifier = window->set_main_widget<MagnifierWidget>();
|
||||
|
||||
auto menubar = GUI::Menubar::construct();
|
||||
auto& file_menu = menubar->add_menu("&File");
|
||||
auto& file_menu = window->add_menu("&File");
|
||||
file_menu.add_action(GUI::CommonActions::make_quit_action([&](auto&) {
|
||||
app->quit();
|
||||
}));
|
||||
|
@ -70,15 +69,14 @@ int main(int argc, char** argv)
|
|||
size_action_group->add_action(four_x_action);
|
||||
size_action_group->set_exclusive(true);
|
||||
|
||||
auto& view_menu = menubar->add_menu("&View");
|
||||
auto& view_menu = window->add_menu("&View");
|
||||
view_menu.add_action(two_x_action);
|
||||
view_menu.add_action(four_x_action);
|
||||
two_x_action->set_checked(true);
|
||||
|
||||
auto& help_menu = menubar->add_menu("&Help");
|
||||
auto& help_menu = window->add_menu("&Help");
|
||||
help_menu.add_action(GUI::CommonActions::make_about_action("Magnifier", app_icon, window));
|
||||
|
||||
window->set_menubar(move(menubar));
|
||||
window->show();
|
||||
|
||||
magnifier.track_cursor_globally();
|
||||
|
|
|
@ -35,11 +35,11 @@ PDFViewerWidget::PDFViewerWidget()
|
|||
};
|
||||
}
|
||||
|
||||
void PDFViewerWidget::initialize_menubar(GUI::Menubar& menubar)
|
||||
void PDFViewerWidget::initialize_menubar(GUI::Window& window)
|
||||
{
|
||||
auto& file_menu = menubar.add_menu("&File");
|
||||
auto& file_menu = window.add_menu("&File");
|
||||
file_menu.add_action(GUI::CommonActions::make_open_action([&](auto&) {
|
||||
Optional<String> open_path = GUI::FilePicker::get_open_filepath(window());
|
||||
Optional<String> open_path = GUI::FilePicker::get_open_filepath(&window);
|
||||
if (open_path.has_value())
|
||||
open_file(open_path.value());
|
||||
}));
|
||||
|
@ -48,8 +48,8 @@ void PDFViewerWidget::initialize_menubar(GUI::Menubar& menubar)
|
|||
GUI::Application::the()->quit();
|
||||
}));
|
||||
|
||||
auto& help_menu = menubar.add_menu("&Help");
|
||||
help_menu.add_action(GUI::CommonActions::make_about_action("PDF Viewer", GUI::Icon::default_icon("app-pdf-viewer"), window()));
|
||||
auto& help_menu = window.add_menu("&Help");
|
||||
help_menu.add_action(GUI::CommonActions::make_about_action("PDF Viewer", GUI::Icon::default_icon("app-pdf-viewer"), &window));
|
||||
}
|
||||
|
||||
void PDFViewerWidget::create_toolbar()
|
||||
|
|
|
@ -21,7 +21,7 @@ class PDFViewerWidget final : public GUI::Widget {
|
|||
public:
|
||||
~PDFViewerWidget() override = default;
|
||||
|
||||
void initialize_menubar(GUI::Menubar&);
|
||||
void initialize_menubar(GUI::Window&);
|
||||
void create_toolbar();
|
||||
void open_file(const String& path);
|
||||
|
||||
|
|
|
@ -21,9 +21,8 @@ int main(int argc, char** argv)
|
|||
|
||||
auto& pdf_viewer_widget = window->set_main_widget<PDFViewerWidget>();
|
||||
|
||||
auto menubar = GUI::Menubar::construct();
|
||||
pdf_viewer_widget.initialize_menubar(menubar);
|
||||
window->set_menubar(menubar);
|
||||
pdf_viewer_widget.initialize_menubar(*window);
|
||||
|
||||
window->show();
|
||||
window->set_icon(app_icon.bitmap_for_size(16));
|
||||
|
||||
|
|
|
@ -60,9 +60,7 @@ int main(int argc, char** argv)
|
|||
});
|
||||
main_widget_updater->start();
|
||||
|
||||
auto menubar = GUI::Menubar::construct();
|
||||
|
||||
auto& file_menu = menubar->add_menu("&File");
|
||||
auto& file_menu = window->add_menu("&File");
|
||||
file_menu.add_action(GUI::Action::create("Export", { Mod_Ctrl, Key_E }, [&](const GUI::Action&) {
|
||||
save_path = GUI::FilePicker::get_save_filepath(window, "Untitled", "wav");
|
||||
if (!save_path.has_value())
|
||||
|
@ -81,13 +79,11 @@ int main(int argc, char** argv)
|
|||
return;
|
||||
}));
|
||||
|
||||
auto& edit_menu = menubar->add_menu("&Edit");
|
||||
auto& edit_menu = window->add_menu("&Edit");
|
||||
main_widget.add_actions(edit_menu);
|
||||
|
||||
auto& help_menu = menubar->add_menu("&Help");
|
||||
auto& help_menu = window->add_menu("&Help");
|
||||
help_menu.add_action(GUI::CommonActions::make_about_action("Piano", app_icon, window));
|
||||
|
||||
window->set_menubar(move(menubar));
|
||||
|
||||
return app->exec();
|
||||
}
|
||||
|
|
|
@ -141,8 +141,7 @@ int main(int argc, char** argv)
|
|||
editor->image().set_path(save_path.value());
|
||||
});
|
||||
|
||||
auto menubar = GUI::Menubar::construct();
|
||||
auto& file_menu = menubar->add_menu("&File");
|
||||
auto& file_menu = window->add_menu("&File");
|
||||
|
||||
file_menu.add_action(new_image_action);
|
||||
file_menu.add_action(open_image_action);
|
||||
|
@ -182,7 +181,7 @@ int main(int argc, char** argv)
|
|||
GUI::Application::the()->quit();
|
||||
}));
|
||||
|
||||
auto& edit_menu = menubar->add_menu("&Edit");
|
||||
auto& edit_menu = window->add_menu("&Edit");
|
||||
|
||||
auto copy_action = GUI::CommonActions::make_copy_action([&](auto&) {
|
||||
auto* editor = current_image_editor();
|
||||
|
@ -294,7 +293,7 @@ int main(int argc, char** argv)
|
|||
},
|
||||
window));
|
||||
|
||||
auto& view_menu = menubar->add_menu("&View");
|
||||
auto& view_menu = window->add_menu("&View");
|
||||
|
||||
auto zoom_in_action = GUI::CommonActions::make_zoom_in_action(
|
||||
[&](auto&) {
|
||||
|
@ -321,14 +320,14 @@ int main(int argc, char** argv)
|
|||
view_menu.add_action(zoom_out_action);
|
||||
view_menu.add_action(reset_zoom_action);
|
||||
|
||||
auto& tool_menu = menubar->add_menu("&Tool");
|
||||
auto& tool_menu = window->add_menu("&Tool");
|
||||
toolbox.for_each_tool([&](auto& tool) {
|
||||
if (tool.action())
|
||||
tool_menu.add_action(*tool.action());
|
||||
return IterationDecision::Continue;
|
||||
});
|
||||
|
||||
auto& layer_menu = menubar->add_menu("&Layer");
|
||||
auto& layer_menu = window->add_menu("&Layer");
|
||||
layer_menu.add_action(GUI::Action::create(
|
||||
"New &Layer...", { Mod_Ctrl | Mod_Shift, Key_N }, [&](auto&) {
|
||||
auto* editor = current_image_editor();
|
||||
|
@ -438,7 +437,7 @@ int main(int argc, char** argv)
|
|||
},
|
||||
window));
|
||||
|
||||
auto& filter_menu = menubar->add_menu("&Filter");
|
||||
auto& filter_menu = window->add_menu("&Filter");
|
||||
auto& spatial_filters_menu = filter_menu.add_submenu("&Spatial");
|
||||
|
||||
auto& edge_detect_submenu = spatial_filters_menu.add_submenu("&Edge Detect");
|
||||
|
@ -542,11 +541,9 @@ int main(int argc, char** argv)
|
|||
}
|
||||
}));
|
||||
|
||||
auto& help_menu = menubar->add_menu("&Help");
|
||||
auto& help_menu = window->add_menu("&Help");
|
||||
help_menu.add_action(GUI::CommonActions::make_about_action("Pixel Paint", app_icon, window));
|
||||
|
||||
window->set_menubar(move(menubar));
|
||||
|
||||
auto& toolbar = *main_widget.find_descendant_of_type_named<GUI::Toolbar>("toolbar");
|
||||
toolbar.add_action(new_image_action);
|
||||
toolbar.add_action(open_image_action);
|
||||
|
|
|
@ -51,11 +51,9 @@ int main(int argc, char** argv)
|
|||
window->set_title("Sound Player");
|
||||
window->set_icon(app_icon.bitmap_for_size(16));
|
||||
|
||||
auto menubar = GUI::Menubar::construct();
|
||||
auto& file_menu = window->add_menu("&File");
|
||||
|
||||
auto& file_menu = menubar->add_menu("&File");
|
||||
|
||||
auto& playlist_menu = menubar->add_menu("Play&list");
|
||||
auto& playlist_menu = window->add_menu("Play&list");
|
||||
|
||||
String path = argv[1];
|
||||
// start in advanced view by default
|
||||
|
@ -94,7 +92,7 @@ int main(int argc, char** argv)
|
|||
app->quit();
|
||||
}));
|
||||
|
||||
auto& playback_menu = menubar->add_menu("&Playback");
|
||||
auto& playback_menu = window->add_menu("&Playback");
|
||||
|
||||
auto loop = GUI::Action::create_checkable("&Loop", { Mod_Ctrl, Key_R }, [&](auto& action) {
|
||||
player->set_looping_file(action.is_checked());
|
||||
|
@ -102,7 +100,7 @@ int main(int argc, char** argv)
|
|||
|
||||
playback_menu.add_action(move(loop));
|
||||
|
||||
auto& visualization_menu = menubar->add_menu("&Visualization");
|
||||
auto& visualization_menu = window->add_menu("&Visualization");
|
||||
Vector<NonnullRefPtr<GUI::Action>> visualization_checkmarks;
|
||||
GUI::Action* checked_vis = nullptr;
|
||||
auto uncheck_all_but = [&](GUI::Action& one) {for (auto& a : visualization_checkmarks) if (a != &one) a->set_checked(false); };
|
||||
|
@ -147,11 +145,9 @@ int main(int argc, char** argv)
|
|||
visualization_menu.add_action(none);
|
||||
visualization_checkmarks.append(none);
|
||||
|
||||
auto& help_menu = menubar->add_menu("&Help");
|
||||
auto& help_menu = window->add_menu("&Help");
|
||||
help_menu.add_action(GUI::CommonActions::make_about_action("Sound Player", app_icon, window));
|
||||
|
||||
window->set_menubar(move(menubar));
|
||||
|
||||
window->show();
|
||||
return app->exec();
|
||||
}
|
||||
|
|
|
@ -271,9 +271,7 @@ int main(int argc, char* argv[])
|
|||
auto& treemapwidget = *mainwidget.find_descendant_of_type_named<SpaceAnalyzer::TreeMapWidget>("tree_map");
|
||||
auto& statusbar = *mainwidget.find_descendant_of_type_named<GUI::Statusbar>("statusbar");
|
||||
|
||||
auto menubar = GUI::Menubar::construct();
|
||||
|
||||
auto& file_menu = menubar->add_menu("&File");
|
||||
auto& file_menu = window->add_menu("&File");
|
||||
file_menu.add_action(GUI::Action::create("&Analyze", [&](auto&) {
|
||||
analyze(tree, treemapwidget, statusbar);
|
||||
}));
|
||||
|
@ -282,11 +280,9 @@ int main(int argc, char* argv[])
|
|||
app->quit();
|
||||
}));
|
||||
|
||||
auto& help_menu = menubar->add_menu("&Help");
|
||||
auto& help_menu = window->add_menu("&Help");
|
||||
help_menu.add_action(GUI::CommonActions::make_about_action(APP_NAME, app_icon, window));
|
||||
|
||||
window->set_menubar(move(menubar));
|
||||
|
||||
// Configure the nodes context menu.
|
||||
auto open_folder_action = GUI::Action::create("Open Folder", { Mod_Ctrl, Key_O }, Gfx::Bitmap::try_load_from_file("/res/icons/16x16/open.png"), [&](auto&) {
|
||||
Desktop::Launcher::open(URL::create_with_file_protocol(get_absolute_path_to_selected_node(treemapwidget)));
|
||||
|
|
|
@ -85,8 +85,7 @@ int main(int argc, char* argv[])
|
|||
if (filename)
|
||||
spreadsheet_widget.load(filename);
|
||||
|
||||
auto menubar = GUI::Menubar::construct();
|
||||
auto& file_menu = menubar->add_menu("&File");
|
||||
auto& file_menu = window->add_menu("&File");
|
||||
|
||||
file_menu.add_action(GUI::Action::create("Add New Sheet", Gfx::Bitmap::try_load_from_file("/res/icons/16x16/new-tab.png"), [&](auto&) {
|
||||
spreadsheet_widget.add_sheet();
|
||||
|
@ -138,7 +137,7 @@ int main(int argc, char* argv[])
|
|||
return GUI::Window::CloseRequestDecision::StayOpen;
|
||||
};
|
||||
|
||||
auto& edit_menu = menubar->add_menu("&Edit");
|
||||
auto& edit_menu = window->add_menu("&Edit");
|
||||
|
||||
auto clipboard_action = [&](bool is_cut) {
|
||||
/// text/x-spreadsheet-data:
|
||||
|
@ -228,7 +227,7 @@ int main(int argc, char* argv[])
|
|||
},
|
||||
window));
|
||||
|
||||
auto& help_menu = menubar->add_menu("&Help");
|
||||
auto& help_menu = window->add_menu("&Help");
|
||||
|
||||
help_menu.add_action(GUI::Action::create(
|
||||
"&Functions Help", [&](auto&) {
|
||||
|
@ -245,8 +244,6 @@ int main(int argc, char* argv[])
|
|||
|
||||
help_menu.add_action(GUI::CommonActions::make_about_action("Spreadsheet", app_icon, window));
|
||||
|
||||
window->set_menubar(move(menubar));
|
||||
|
||||
window->show();
|
||||
|
||||
return app->exec();
|
||||
|
|
|
@ -309,8 +309,7 @@ int main(int argc, char** argv)
|
|||
},
|
||||
&process_table_view);
|
||||
|
||||
auto menubar = GUI::Menubar::construct();
|
||||
auto& file_menu = menubar->add_menu("&File");
|
||||
auto& file_menu = window->add_menu("&File");
|
||||
file_menu.add_action(GUI::CommonActions::make_quit_action([](auto&) {
|
||||
GUI::Application::the()->quit();
|
||||
}));
|
||||
|
@ -328,7 +327,7 @@ int main(int argc, char** argv)
|
|||
process_context_menu->popup(event.screen_position(), process_properties_action);
|
||||
};
|
||||
|
||||
auto& frequency_menu = menubar->add_menu("F&requency");
|
||||
auto& frequency_menu = window->add_menu("F&requency");
|
||||
GUI::ActionGroup frequency_action_group;
|
||||
frequency_action_group.set_exclusive(true);
|
||||
|
||||
|
@ -346,11 +345,9 @@ int main(int argc, char** argv)
|
|||
make_frequency_action(3, true);
|
||||
make_frequency_action(5);
|
||||
|
||||
auto& help_menu = menubar->add_menu("&Help");
|
||||
auto& help_menu = window->add_menu("&Help");
|
||||
help_menu.add_action(GUI::CommonActions::make_about_action("System Monitor", app_icon, window));
|
||||
|
||||
window->set_menubar(move(menubar));
|
||||
|
||||
process_table_view.on_activation = [&](auto&) {
|
||||
if (process_properties_action->is_enabled())
|
||||
process_properties_action->activate();
|
||||
|
|
|
@ -377,9 +377,7 @@ int main(int argc, char** argv)
|
|||
terminal.context_menu().add_separator();
|
||||
terminal.context_menu().add_action(open_settings_action);
|
||||
|
||||
auto menubar = GUI::Menubar::construct();
|
||||
|
||||
auto& file_menu = menubar->add_menu("&File");
|
||||
auto& file_menu = window->add_menu("&File");
|
||||
file_menu.add_action(GUI::Action::create("Open New &Terminal", { Mod_Ctrl | Mod_Shift, Key_N }, Gfx::Bitmap::try_load_from_file("/res/icons/16x16/app-terminal.png"), [&](auto&) {
|
||||
pid_t child;
|
||||
const char* argv[] = { "Terminal", nullptr };
|
||||
|
@ -398,7 +396,7 @@ int main(int argc, char** argv)
|
|||
GUI::Application::the()->quit();
|
||||
}));
|
||||
|
||||
auto& edit_menu = menubar->add_menu("&Edit");
|
||||
auto& edit_menu = window->add_menu("&Edit");
|
||||
edit_menu.add_action(terminal.copy_action());
|
||||
edit_menu.add_action(terminal.paste_action());
|
||||
edit_menu.add_separator();
|
||||
|
@ -410,7 +408,7 @@ int main(int argc, char** argv)
|
|||
find_window->move_to_front();
|
||||
}));
|
||||
|
||||
auto& view_menu = menubar->add_menu("&View");
|
||||
auto& view_menu = window->add_menu("&View");
|
||||
view_menu.add_action(GUI::CommonActions::make_fullscreen_action([&](auto&) {
|
||||
window->set_fullscreen(!window->is_fullscreen());
|
||||
}));
|
||||
|
@ -418,14 +416,12 @@ int main(int argc, char** argv)
|
|||
view_menu.add_separator();
|
||||
view_menu.add_action(pick_font_action);
|
||||
|
||||
auto& help_menu = menubar->add_menu("&Help");
|
||||
auto& help_menu = window->add_menu("&Help");
|
||||
help_menu.add_action(GUI::CommonActions::make_help_action([](auto&) {
|
||||
Desktop::Launcher::open(URL::create_with_file_protocol("/usr/share/man/man1/Terminal.md"), "/bin/Help");
|
||||
}));
|
||||
help_menu.add_action(GUI::CommonActions::make_about_action("Terminal", app_icon, window));
|
||||
|
||||
window->set_menubar(menubar);
|
||||
|
||||
window->on_close = [&]() {
|
||||
if (find_window)
|
||||
find_window->close();
|
||||
|
|
|
@ -369,9 +369,9 @@ Web::OutOfProcessWebView& MainWidget::ensure_web_view()
|
|||
return *m_page_view;
|
||||
}
|
||||
|
||||
void MainWidget::initialize_menubar(GUI::Menubar& menubar)
|
||||
void MainWidget::initialize_menubar(GUI::Window& window)
|
||||
{
|
||||
auto& file_menu = menubar.add_menu("&File");
|
||||
auto& file_menu = window.add_menu("&File");
|
||||
file_menu.add_action(*m_new_action);
|
||||
file_menu.add_action(*m_open_action);
|
||||
file_menu.add_action(*m_save_action);
|
||||
|
@ -383,7 +383,7 @@ void MainWidget::initialize_menubar(GUI::Menubar& menubar)
|
|||
GUI::Application::the()->quit();
|
||||
}));
|
||||
|
||||
auto& edit_menu = menubar.add_menu("&Edit");
|
||||
auto& edit_menu = window.add_menu("&Edit");
|
||||
edit_menu.add_action(m_editor->undo_action());
|
||||
edit_menu.add_action(m_editor->redo_action());
|
||||
edit_menu.add_separator();
|
||||
|
@ -449,7 +449,7 @@ void MainWidget::initialize_menubar(GUI::Menubar& menubar)
|
|||
m_layout_ruler_action->set_checked(show_ruler);
|
||||
m_editor->set_ruler_visible(show_ruler);
|
||||
|
||||
auto& view_menu = menubar.add_menu("&View");
|
||||
auto& view_menu = window.add_menu("&View");
|
||||
auto& layout_menu = view_menu.add_submenu("&Layout");
|
||||
layout_menu.add_action(*m_layout_toolbar_action);
|
||||
layout_menu.add_action(*m_layout_statusbar_action);
|
||||
|
@ -459,7 +459,7 @@ void MainWidget::initialize_menubar(GUI::Menubar& menubar)
|
|||
|
||||
view_menu.add_action(GUI::Action::create("Editor &Font...", Gfx::Bitmap::try_load_from_file("/res/icons/16x16/app-font-editor.png"),
|
||||
[&](auto&) {
|
||||
auto picker = GUI::FontPicker::construct(window(), &m_editor->font(), false);
|
||||
auto picker = GUI::FontPicker::construct(&window, &m_editor->font(), false);
|
||||
if (picker->exec() == GUI::Dialog::ExecOK) {
|
||||
dbgln("setting font {}", picker->font()->qualified_name());
|
||||
m_editor->set_font(picker->font());
|
||||
|
@ -605,11 +605,11 @@ void MainWidget::initialize_menubar(GUI::Menubar& menubar)
|
|||
syntax_actions.add_action(*m_sql_highlight);
|
||||
syntax_menu.add_action(*m_sql_highlight);
|
||||
|
||||
auto& help_menu = menubar.add_menu("&Help");
|
||||
auto& help_menu = window.add_menu("&Help");
|
||||
help_menu.add_action(GUI::CommonActions::make_help_action([](auto&) {
|
||||
Desktop::Launcher::open(URL::create_with_file_protocol("/usr/share/man/man1/TextEditor.md"), "/bin/Help");
|
||||
}));
|
||||
help_menu.add_action(GUI::CommonActions::make_about_action("Text Editor", GUI::Icon::default_icon("app-text-editor"), window()));
|
||||
help_menu.add_action(GUI::CommonActions::make_about_action("Text Editor", GUI::Icon::default_icon("app-text-editor"), &window));
|
||||
}
|
||||
|
||||
void MainWidget::set_path(StringView const& path)
|
||||
|
|
|
@ -39,7 +39,7 @@ public:
|
|||
void set_auto_detect_preview_mode(bool value) { m_auto_detect_preview_mode = value; }
|
||||
|
||||
void update_title();
|
||||
void initialize_menubar(GUI::Menubar&);
|
||||
void initialize_menubar(GUI::Window&);
|
||||
|
||||
private:
|
||||
MainWidget();
|
||||
|
|
|
@ -102,9 +102,7 @@ int main(int argc, char** argv)
|
|||
return 1;
|
||||
}
|
||||
|
||||
auto menubar = GUI::Menubar::construct();
|
||||
text_widget.initialize_menubar(menubar);
|
||||
window->set_menubar(menubar);
|
||||
text_widget.initialize_menubar(*window);
|
||||
|
||||
if (file_to_edit) {
|
||||
// A file name was passed, parse any possible line and column numbers included.
|
||||
|
@ -126,7 +124,5 @@ int main(int argc, char** argv)
|
|||
window->show();
|
||||
window->set_icon(app_icon.bitmap_for_size(16));
|
||||
|
||||
window->set_menubar(menubar);
|
||||
|
||||
return app->exec();
|
||||
}
|
||||
|
|
|
@ -76,12 +76,11 @@ int main(int argc, char** argv)
|
|||
Gfx::Palette preview_palette = app->palette();
|
||||
|
||||
auto window = GUI::Window::construct();
|
||||
auto menubar = GUI::Menubar::construct();
|
||||
|
||||
auto& file_menu = menubar->add_menu("&File");
|
||||
auto& file_menu = window->add_menu("&File");
|
||||
file_menu.add_action(GUI::CommonActions::make_quit_action([&](auto&) { app->quit(); }));
|
||||
|
||||
auto& help_menu = menubar->add_menu("&Help");
|
||||
auto& help_menu = window->add_menu("&Help");
|
||||
help_menu.add_action(GUI::CommonActions::make_about_action("Theme Editor", app_icon, window));
|
||||
|
||||
auto& main_widget = window->set_main_widget<GUI::Widget>();
|
||||
|
@ -120,7 +119,6 @@ int main(int argc, char** argv)
|
|||
|
||||
window->resize(480, 385);
|
||||
window->set_resizable(false);
|
||||
window->set_menubar(menubar);
|
||||
window->show();
|
||||
window->set_title("Theme Editor");
|
||||
window->set_icon(app_icon.bitmap_for_size(16));
|
||||
|
|
|
@ -241,8 +241,7 @@ int main(int argc, char** argv)
|
|||
auto app_icon = GUI::Icon::default_icon("app-cube");
|
||||
window->set_icon(app_icon.bitmap_for_size(16));
|
||||
|
||||
auto menubar = GUI::Menubar::construct();
|
||||
auto& file_menu = menubar->add_menu("&File");
|
||||
auto& file_menu = window->add_menu("&File");
|
||||
auto show_window_frame_action = GUI::Action::create_checkable("Show Window &Frame", [&](auto& action) {
|
||||
cube.set_show_window_frame(action.is_checked());
|
||||
});
|
||||
|
@ -252,9 +251,8 @@ int main(int argc, char** argv)
|
|||
file_menu.add_action(move(show_window_frame_action));
|
||||
file_menu.add_separator();
|
||||
file_menu.add_action(GUI::CommonActions::make_quit_action([&](auto&) { app->quit(); }));
|
||||
auto& help_menu = menubar->add_menu("&Help");
|
||||
auto& help_menu = window->add_menu("&Help");
|
||||
help_menu.add_action(GUI::CommonActions::make_about_action("Cube Demo", app_icon, window));
|
||||
window->set_menubar(move(menubar));
|
||||
|
||||
cube.on_context_menu_request = [&](auto& event) {
|
||||
file_menu.popup(event.screen_position());
|
||||
|
|
|
@ -79,14 +79,12 @@ int main(int argc, char* argv[])
|
|||
|
||||
auto& eyes = window->set_main_widget<EyesWidget>(num_eyes, full_rows, extra_columns);
|
||||
|
||||
auto menubar = GUI::Menubar::construct();
|
||||
auto& file_menu = menubar->add_menu("&File");
|
||||
auto& file_menu = window->add_menu("&File");
|
||||
file_menu.add_action(GUI::CommonActions::make_quit_action([&](auto&) { app->quit(); }));
|
||||
|
||||
auto& help_menu = menubar->add_menu("&Help");
|
||||
auto& help_menu = window->add_menu("&Help");
|
||||
help_menu.add_action(GUI::CommonActions::make_about_action("Eyes Demo", app_icon, window));
|
||||
|
||||
window->set_menubar(move(menubar));
|
||||
window->show();
|
||||
eyes.track_cursor_globally();
|
||||
|
||||
|
|
|
@ -221,10 +221,8 @@ int main(int argc, char** argv)
|
|||
window->set_resizable(false);
|
||||
window->resize(FIRE_WIDTH * 2 + 4, FIRE_HEIGHT * 2 + 4);
|
||||
|
||||
auto menubar = GUI::Menubar::construct();
|
||||
auto& file_menu = menubar->add_menu("&File");
|
||||
auto& file_menu = window->add_menu("&File");
|
||||
file_menu.add_action(GUI::CommonActions::make_quit_action([&](auto&) { app->quit(); }));
|
||||
window->set_menubar(move(menubar));
|
||||
|
||||
auto& fire = window->set_main_widget<Fire>();
|
||||
|
||||
|
|
|
@ -207,10 +207,8 @@ int main(int argc, char** argv)
|
|||
window->set_resizable(false);
|
||||
window->resize(WIDTH, HEIGHT);
|
||||
|
||||
auto menubar = GUI::Menubar::construct();
|
||||
auto& file_menu = menubar->add_menu("&File");
|
||||
auto& file_menu = window->add_menu("&File");
|
||||
file_menu.add_action(GUI::CommonActions::make_quit_action([&](auto&) { app->quit(); }));
|
||||
window->set_menubar(move(menubar));
|
||||
|
||||
auto app_icon = GUI::Icon::default_icon("app-libgfx-demo");
|
||||
window->set_icon(app_icon.bitmap_for_size(16));
|
||||
|
|
|
@ -126,10 +126,8 @@ int main(int argc, char** argv)
|
|||
window->set_resizable(false);
|
||||
window->resize(WIDTH * 2, HEIGHT * 3);
|
||||
|
||||
auto menubar = GUI::Menubar::construct();
|
||||
auto& file_menu = menubar->add_menu("&File");
|
||||
auto& file_menu = window->add_menu("&File");
|
||||
file_menu.add_action(GUI::CommonActions::make_quit_action([&](auto&) { app->quit(); }));
|
||||
window->set_menubar(move(menubar));
|
||||
|
||||
auto app_icon = GUI::Icon::default_icon("app-libgfx-demo");
|
||||
window->set_icon(app_icon.bitmap_for_size(16));
|
||||
|
|
|
@ -262,8 +262,7 @@ int main(int argc, char** argv)
|
|||
window->resize(window->minimum_size() * 2);
|
||||
auto& mandelbrot = window->set_main_widget<Mandelbrot>();
|
||||
|
||||
auto menubar = GUI::Menubar::construct();
|
||||
auto& file_menu = menubar->add_menu("&File");
|
||||
auto& file_menu = window->add_menu("&File");
|
||||
file_menu.add_action(GUI::Action::create("&Export...", { Mod_Ctrl | Mod_Shift, Key_S }, Gfx::Bitmap::try_load_from_file("/res/icons/16x16/save.png"),
|
||||
[&](GUI::Action&) {
|
||||
Optional<String> export_path = GUI::FilePicker::get_save_filepath(window, "untitled", "png");
|
||||
|
@ -273,7 +272,6 @@ int main(int argc, char** argv)
|
|||
}));
|
||||
file_menu.add_separator();
|
||||
file_menu.add_action(GUI::CommonActions::make_quit_action([&](auto&) { app->quit(); }));
|
||||
window->set_menubar(move(menubar));
|
||||
window->show();
|
||||
|
||||
auto app_icon = GUI::Icon::default_icon("app-mandelbrot");
|
||||
|
|
|
@ -177,14 +177,12 @@ int main(int argc, char** argv)
|
|||
auto& main_widget = window->set_main_widget<MainFrame>();
|
||||
main_widget.set_fill_with_background_color(true);
|
||||
|
||||
auto menubar = GUI::Menubar::construct();
|
||||
auto& file_menu = menubar->add_menu("&File");
|
||||
auto& file_menu = window->add_menu("&File");
|
||||
file_menu.add_action(GUI::CommonActions::make_quit_action([&](auto&) { app->quit(); }));
|
||||
|
||||
auto& help_menu = menubar->add_menu("&Help");
|
||||
auto& help_menu = window->add_menu("&Help");
|
||||
help_menu.add_action(GUI::CommonActions::make_about_action("Mouse Demo", app_icon, window));
|
||||
|
||||
window->set_menubar(move(menubar));
|
||||
window->set_resizable(false);
|
||||
window->show();
|
||||
return app->exec();
|
||||
|
|
|
@ -55,15 +55,12 @@ int main(int argc, char** argv)
|
|||
window->set_icon(app_icon.bitmap_for_size(16));
|
||||
window->set_main_widget<GalleryWidget>();
|
||||
|
||||
auto menubar = GUI::Menubar::construct();
|
||||
|
||||
auto& file_menu = menubar->add_menu("&File");
|
||||
auto& file_menu = window->add_menu("&File");
|
||||
file_menu.add_action(GUI::CommonActions::make_quit_action([&](auto&) { app->quit(); }));
|
||||
|
||||
auto& help_menu = menubar->add_menu("&Help");
|
||||
auto& help_menu = window->add_menu("&Help");
|
||||
help_menu.add_action(GUI::CommonActions::make_about_action("Widget Gallery", app_icon, window));
|
||||
|
||||
window->set_menubar(move(menubar));
|
||||
window->show();
|
||||
|
||||
return app->exec();
|
||||
|
|
|
@ -922,9 +922,9 @@ void HackStudioWidget::create_project_tab(GUI::Widget& parent)
|
|||
};
|
||||
}
|
||||
|
||||
void HackStudioWidget::create_file_menubar(GUI::Menubar& menubar)
|
||||
void HackStudioWidget::create_file_menu(GUI::Window& window)
|
||||
{
|
||||
auto& file_menu = menubar.add_menu("&File");
|
||||
auto& file_menu = window.add_menu("&File");
|
||||
file_menu.add_action(*m_new_project_action);
|
||||
file_menu.add_action(*m_open_action);
|
||||
file_menu.add_action(*m_save_action);
|
||||
|
@ -934,16 +934,16 @@ void HackStudioWidget::create_file_menubar(GUI::Menubar& menubar)
|
|||
}));
|
||||
}
|
||||
|
||||
void HackStudioWidget::create_project_menubar(GUI::Menubar& menubar)
|
||||
void HackStudioWidget::create_project_menu(GUI::Window& window)
|
||||
{
|
||||
auto& project_menu = menubar.add_menu("&Project");
|
||||
auto& project_menu = window.add_menu("&Project");
|
||||
project_menu.add_action(*m_new_file_action);
|
||||
project_menu.add_action(*m_new_directory_action);
|
||||
}
|
||||
|
||||
void HackStudioWidget::create_edit_menubar(GUI::Menubar& menubar)
|
||||
void HackStudioWidget::create_edit_menu(GUI::Window& window)
|
||||
{
|
||||
auto& edit_menu = menubar.add_menu("&Edit");
|
||||
auto& edit_menu = window.add_menu("&Edit");
|
||||
edit_menu.add_action(GUI::Action::create("&Find in Files...", { Mod_Ctrl | Mod_Shift, Key_F }, Gfx::Bitmap::try_load_from_file("/res/icons/16x16/find.png"), [this](auto&) {
|
||||
reveal_action_tab(*m_find_in_files_widget);
|
||||
m_find_in_files_widget->focus_textbox_and_select_all();
|
||||
|
@ -961,9 +961,9 @@ void HackStudioWidget::create_edit_menubar(GUI::Menubar& menubar)
|
|||
edit_menu.add_action(vim_emulation_setting_action);
|
||||
}
|
||||
|
||||
void HackStudioWidget::create_build_menubar(GUI::Menubar& menubar)
|
||||
void HackStudioWidget::create_build_menu(GUI::Window& window)
|
||||
{
|
||||
auto& build_menu = menubar.add_menu("&Build");
|
||||
auto& build_menu = window.add_menu("&Build");
|
||||
build_menu.add_action(*m_build_action);
|
||||
build_menu.add_separator();
|
||||
build_menu.add_action(*m_run_action);
|
||||
|
@ -972,7 +972,7 @@ void HackStudioWidget::create_build_menubar(GUI::Menubar& menubar)
|
|||
build_menu.add_action(*m_debug_action);
|
||||
}
|
||||
|
||||
void HackStudioWidget::create_view_menubar(GUI::Menubar& menubar)
|
||||
void HackStudioWidget::create_view_menu(GUI::Window& window)
|
||||
{
|
||||
auto hide_action_tabs_action = GUI::Action::create("&Hide Action Tabs", { Mod_Ctrl | Mod_Shift, Key_X }, [this](auto&) {
|
||||
hide_action_tabs();
|
||||
|
@ -981,7 +981,7 @@ void HackStudioWidget::create_view_menubar(GUI::Menubar& menubar)
|
|||
m_locator->open();
|
||||
});
|
||||
|
||||
auto& view_menu = menubar.add_menu("&View");
|
||||
auto& view_menu = window.add_menu("&View");
|
||||
view_menu.add_action(hide_action_tabs_action);
|
||||
view_menu.add_action(open_locator_action);
|
||||
view_menu.add_separator();
|
||||
|
@ -1018,10 +1018,10 @@ void HackStudioWidget::create_view_menubar(GUI::Menubar& menubar)
|
|||
view_menu.add_action(*m_remove_current_terminal_action);
|
||||
}
|
||||
|
||||
void HackStudioWidget::create_help_menubar(GUI::Menubar& menubar)
|
||||
void HackStudioWidget::create_help_menu(GUI::Window& window)
|
||||
{
|
||||
auto& help_menu = menubar.add_menu("&Help");
|
||||
help_menu.add_action(GUI::CommonActions::make_about_action("Hack Studio", GUI::Icon::default_icon("app-hack-studio"), window()));
|
||||
auto& help_menu = window.add_menu("&Help");
|
||||
help_menu.add_action(GUI::CommonActions::make_about_action("Hack Studio", GUI::Icon::default_icon("app-hack-studio"), &window));
|
||||
}
|
||||
|
||||
NonnullRefPtr<GUI::Action> HackStudioWidget::create_stop_action()
|
||||
|
@ -1039,14 +1039,14 @@ NonnullRefPtr<GUI::Action> HackStudioWidget::create_stop_action()
|
|||
return action;
|
||||
}
|
||||
|
||||
void HackStudioWidget::initialize_menubar(GUI::Menubar& menubar)
|
||||
void HackStudioWidget::initialize_menubar(GUI::Window& window)
|
||||
{
|
||||
create_file_menubar(menubar);
|
||||
create_project_menubar(menubar);
|
||||
create_edit_menubar(menubar);
|
||||
create_build_menubar(menubar);
|
||||
create_view_menubar(menubar);
|
||||
create_help_menubar(menubar);
|
||||
create_file_menu(window);
|
||||
create_project_menu(window);
|
||||
create_edit_menu(window);
|
||||
create_build_menu(window);
|
||||
create_view_menu(window);
|
||||
create_help_menu(window);
|
||||
}
|
||||
|
||||
void HackStudioWidget::update_statusbar()
|
||||
|
|
|
@ -42,7 +42,7 @@ public:
|
|||
void set_current_editor_wrapper(RefPtr<EditorWrapper>);
|
||||
|
||||
const String& active_file() const { return m_current_editor_wrapper->filename(); }
|
||||
void initialize_menubar(GUI::Menubar&);
|
||||
void initialize_menubar(GUI::Window&);
|
||||
|
||||
Locator& locator()
|
||||
{
|
||||
|
@ -104,12 +104,12 @@ private:
|
|||
void create_open_files_view(GUI::Widget& parent);
|
||||
void create_toolbar(GUI::Widget& parent);
|
||||
void create_action_tab(GUI::Widget& parent);
|
||||
void create_file_menubar(GUI::Menubar&);
|
||||
void create_project_menubar(GUI::Menubar&);
|
||||
void create_edit_menubar(GUI::Menubar&);
|
||||
void create_build_menubar(GUI::Menubar&);
|
||||
void create_view_menubar(GUI::Menubar&);
|
||||
void create_help_menubar(GUI::Menubar&);
|
||||
void create_file_menu(GUI::Window&);
|
||||
void create_project_menu(GUI::Window&);
|
||||
void create_edit_menu(GUI::Window&);
|
||||
void create_build_menu(GUI::Window&);
|
||||
void create_view_menu(GUI::Window&);
|
||||
void create_help_menu(GUI::Window&);
|
||||
void create_project_tab(GUI::Widget& parent);
|
||||
void configure_project_tree_view();
|
||||
|
||||
|
|
|
@ -66,9 +66,7 @@ int main(int argc, char** argv)
|
|||
|
||||
s_window->set_title(String::formatted("{} - Hack Studio", s_hack_studio_widget->project().name()));
|
||||
|
||||
auto menubar = GUI::Menubar::construct();
|
||||
s_hack_studio_widget->initialize_menubar(menubar);
|
||||
s_window->set_menubar(menubar);
|
||||
s_hack_studio_widget->initialize_menubar(*s_window);
|
||||
|
||||
s_window->on_close_request = [&]() -> GUI::Window::CloseRequestDecision {
|
||||
s_hack_studio_widget->locator().close();
|
||||
|
|
|
@ -113,12 +113,10 @@ int main(int argc, char** argv)
|
|||
window->resize(685, 500);
|
||||
window->set_icon(app_icon.bitmap_for_size(16));
|
||||
|
||||
auto menubar = GUI::Menubar::construct();
|
||||
|
||||
auto& file_menu = menubar->add_menu("&File");
|
||||
auto& file_menu = window->add_menu("&File");
|
||||
file_menu.add_action(GUI::CommonActions::make_quit_action([&](auto&) { app->quit(); }));
|
||||
|
||||
auto& help_menu = menubar->add_menu("&Help");
|
||||
auto& help_menu = window->add_menu("&Help");
|
||||
help_menu.add_action(GUI::CommonActions::make_help_action([](auto&) {
|
||||
Desktop::Launcher::open(URL::create_with_file_protocol("/usr/share/man/man1/Inspector.md"), "/bin/Help");
|
||||
}));
|
||||
|
@ -172,7 +170,6 @@ int main(int argc, char** argv)
|
|||
}
|
||||
};
|
||||
|
||||
window->set_menubar(move(menubar));
|
||||
window->show();
|
||||
remote_process.update();
|
||||
|
||||
|
|
|
@ -156,8 +156,7 @@ int main(int argc, char** argv)
|
|||
update_title();
|
||||
};
|
||||
|
||||
auto menubar = GUI::Menubar::construct();
|
||||
auto& file_menu = menubar->add_menu("&File");
|
||||
auto& file_menu = window->add_menu("&File");
|
||||
|
||||
auto save_as_action = GUI::CommonActions::make_save_as_action([&](auto&) {
|
||||
Optional<String> new_save_path = GUI::FilePicker::get_save_filepath(window, "Untitled", "gml");
|
||||
|
@ -223,7 +222,7 @@ int main(int argc, char** argv)
|
|||
app->quit();
|
||||
}));
|
||||
|
||||
auto& edit_menu = menubar->add_menu("&Edit");
|
||||
auto& edit_menu = window->add_menu("&Edit");
|
||||
edit_menu.add_action(GUI::Action::create("&Format GML", { Mod_Ctrl | Mod_Shift, Key_I }, [&](auto&) {
|
||||
auto source = editor.text();
|
||||
GUI::GMLLexer lexer(source);
|
||||
|
@ -252,13 +251,12 @@ int main(int argc, char** argv)
|
|||
}
|
||||
}));
|
||||
|
||||
auto& help_menu = menubar->add_menu("&Help");
|
||||
auto& help_menu = window->add_menu("&Help");
|
||||
help_menu.add_action(GUI::CommonActions::make_help_action([](auto&) {
|
||||
Desktop::Launcher::open(URL::create_with_file_protocol("/usr/share/man/man1/Playground.md"), "/bin/Help");
|
||||
}));
|
||||
help_menu.add_action(GUI::CommonActions::make_about_action("GML Playground", app_icon, window));
|
||||
|
||||
window->set_menubar(move(menubar));
|
||||
window->on_close_request = [&] {
|
||||
if (!window->is_modified())
|
||||
return GUI::Window::CloseRequestDecision::Close;
|
||||
|
|
|
@ -191,11 +191,10 @@ int main(int argc, char** argv)
|
|||
statusbar.set_text(builder.to_string());
|
||||
};
|
||||
|
||||
auto menubar = GUI::Menubar::construct();
|
||||
auto& file_menu = menubar->add_menu("&File");
|
||||
auto& file_menu = window->add_menu("&File");
|
||||
file_menu.add_action(GUI::CommonActions::make_quit_action([&](auto&) { app->quit(); }));
|
||||
|
||||
auto& view_menu = menubar->add_menu("&View");
|
||||
auto& view_menu = window->add_menu("&View");
|
||||
|
||||
auto invert_action = GUI::Action::create_checkable("&Invert Tree", { Mod_Ctrl, Key_I }, [&](auto& action) {
|
||||
profile->set_inverted(action.is_checked());
|
||||
|
@ -219,13 +218,12 @@ int main(int argc, char** argv)
|
|||
|
||||
view_menu.add_action(disassembly_action);
|
||||
|
||||
auto& help_menu = menubar->add_menu("&Help");
|
||||
auto& help_menu = window->add_menu("&Help");
|
||||
help_menu.add_action(GUI::CommonActions::make_help_action([](auto&) {
|
||||
Desktop::Launcher::open(URL::create_with_file_protocol("/usr/share/man/man1/Profiler.md"), "/bin/Help");
|
||||
}));
|
||||
help_menu.add_action(GUI::CommonActions::make_about_action("Profiler", app_icon, window));
|
||||
|
||||
window->set_menubar(move(menubar));
|
||||
window->show();
|
||||
return app->exec();
|
||||
}
|
||||
|
|
|
@ -181,9 +181,7 @@ int main(int argc, char** argv)
|
|||
}
|
||||
};
|
||||
|
||||
auto menubar = GUI::Menubar::construct();
|
||||
|
||||
auto& game_menu = menubar->add_menu("&Game");
|
||||
auto& game_menu = window->add_menu("&Game");
|
||||
|
||||
game_menu.add_action(GUI::Action::create("&New Game", { Mod_None, Key_F2 }, [&](auto&) {
|
||||
start_a_new_game();
|
||||
|
@ -212,11 +210,9 @@ int main(int argc, char** argv)
|
|||
GUI::Application::the()->quit();
|
||||
}));
|
||||
|
||||
auto& help_menu = menubar->add_menu("&Help");
|
||||
auto& help_menu = window->add_menu("&Help");
|
||||
help_menu.add_action(GUI::CommonActions::make_about_action("2048", app_icon, window));
|
||||
|
||||
window->set_menubar(move(menubar));
|
||||
|
||||
window->show();
|
||||
|
||||
window->set_icon(app_icon.bitmap_for_size(16));
|
||||
|
|
|
@ -47,9 +47,7 @@ int main(int argc, char** argv)
|
|||
auto& game = window->set_main_widget<Breakout::Game>();
|
||||
window->show();
|
||||
|
||||
auto menubar = GUI::Menubar::construct();
|
||||
|
||||
auto& game_menu = menubar->add_menu("&Game");
|
||||
auto& game_menu = window->add_menu("&Game");
|
||||
game_menu.add_action(GUI::Action::create_checkable("&Pause", { {}, Key_P }, [&](auto& action) {
|
||||
game.set_paused(action.is_checked());
|
||||
}));
|
||||
|
@ -60,10 +58,8 @@ int main(int argc, char** argv)
|
|||
GUI::Application::the()->quit();
|
||||
}));
|
||||
|
||||
auto& help_menu = menubar->add_menu("&Help");
|
||||
auto& help_menu = window->add_menu("&Help");
|
||||
help_menu.add_action(GUI::CommonActions::make_about_action("Breakout", app_icon, window));
|
||||
|
||||
window->set_menubar(move(menubar));
|
||||
|
||||
return app->exec();
|
||||
}
|
||||
|
|
|
@ -76,8 +76,7 @@ int main(int argc, char** argv)
|
|||
widget.set_coordinates(config->read_bool_entry("Style", "Coordinates", true));
|
||||
widget.set_show_available_moves(config->read_bool_entry("Style", "ShowAvailableMoves", true));
|
||||
|
||||
auto menubar = GUI::Menubar::construct();
|
||||
auto& game_menu = menubar->add_menu("&Game");
|
||||
auto& game_menu = window->add_menu("&Game");
|
||||
|
||||
game_menu.add_action(GUI::Action::create("&Resign", { Mod_None, Key_F3 }, [&](auto&) {
|
||||
widget.resign();
|
||||
|
@ -131,7 +130,7 @@ int main(int argc, char** argv)
|
|||
GUI::Application::the()->quit();
|
||||
}));
|
||||
|
||||
auto& style_menu = menubar->add_menu("&Style");
|
||||
auto& style_menu = window->add_menu("&Style");
|
||||
GUI::ActionGroup piece_set_action_group;
|
||||
piece_set_action_group.set_exclusive(true);
|
||||
auto& piece_set_menu = style_menu.add_submenu("&Piece Set");
|
||||
|
@ -189,7 +188,7 @@ int main(int argc, char** argv)
|
|||
show_available_moves_action->set_checked(widget.show_available_moves());
|
||||
style_menu.add_action(show_available_moves_action);
|
||||
|
||||
auto& engine_menu = menubar->add_menu("&Engine");
|
||||
auto& engine_menu = window->add_menu("&Engine");
|
||||
|
||||
GUI::ActionGroup engines_action_group;
|
||||
engines_action_group.set_exclusive(true);
|
||||
|
@ -210,11 +209,9 @@ int main(int argc, char** argv)
|
|||
engine_submenu.add_action(*action);
|
||||
}
|
||||
|
||||
auto& help_menu = menubar->add_menu("&Help");
|
||||
auto& help_menu = window->add_menu("&Help");
|
||||
help_menu.add_action(GUI::CommonActions::make_about_action("Chess", app_icon, window));
|
||||
|
||||
window->set_menubar(move(menubar));
|
||||
|
||||
window->show();
|
||||
widget.reset();
|
||||
|
||||
|
|
|
@ -68,17 +68,14 @@ int main(int argc, char** argv)
|
|||
return high_score;
|
||||
};
|
||||
|
||||
auto menubar = GUI::Menubar::construct();
|
||||
|
||||
auto& game_menu = menubar->add_menu("&Game");
|
||||
auto& game_menu = window->add_menu("&Game");
|
||||
game_menu.add_action(GUI::CommonActions::make_quit_action([](auto&) {
|
||||
GUI::Application::the()->quit();
|
||||
}));
|
||||
|
||||
auto& help_menu = menubar->add_menu("&Help");
|
||||
auto& help_menu = window->add_menu("&Help");
|
||||
help_menu.add_action(GUI::CommonActions::make_about_action("Flappy Bug", app_icon, window));
|
||||
|
||||
window->set_menubar(move(menubar));
|
||||
window->show();
|
||||
|
||||
return app->exec();
|
||||
|
|
|
@ -110,8 +110,7 @@ int main(int argc, char** argv)
|
|||
});
|
||||
main_toolbar.add_action(rotate_pattern_action);
|
||||
|
||||
auto menubar = GUI::Menubar::construct();
|
||||
auto& game_menu = menubar->add_menu("&Game");
|
||||
auto& game_menu = window->add_menu("&Game");
|
||||
|
||||
game_menu.add_action(clear_board_action);
|
||||
game_menu.add_action(randomize_cells_action);
|
||||
|
@ -123,11 +122,9 @@ int main(int argc, char** argv)
|
|||
GUI::Application::the()->quit();
|
||||
}));
|
||||
|
||||
auto& help_menu = menubar->add_menu("&Help");
|
||||
auto& help_menu = window->add_menu("&Help");
|
||||
help_menu.add_action(GUI::CommonActions::make_about_action("Game Of Life", app_icon, window));
|
||||
|
||||
window->set_menubar(move(menubar));
|
||||
|
||||
board_widget.on_running_state_change = [&]() {
|
||||
if (board_widget.is_running()) {
|
||||
statusbar.set_text("Running...");
|
||||
|
|
|
@ -94,8 +94,7 @@ int main(int argc, char** argv)
|
|||
GUI::MessageBox::show(window, "Settings have been successfully saved and will take effect in the next game.", "Settings Changed Successfully", GUI::MessageBox::Type::Information);
|
||||
};
|
||||
|
||||
auto menubar = GUI::Menubar::construct();
|
||||
auto& game_menu = menubar->add_menu("&Game");
|
||||
auto& game_menu = window->add_menu("&Game");
|
||||
|
||||
game_menu.add_action(GUI::Action::create("&New Game", { Mod_None, Key_F2 }, [&](auto&) {
|
||||
game.setup(player_name);
|
||||
|
@ -107,12 +106,11 @@ int main(int argc, char** argv)
|
|||
game_menu.add_separator();
|
||||
game_menu.add_action(GUI::CommonActions::make_quit_action([&](auto&) { app->quit(); }));
|
||||
|
||||
auto& help_menu = menubar->add_menu("&Help");
|
||||
auto& help_menu = window->add_menu("&Help");
|
||||
help_menu.add_action(GUI::CommonActions::make_about_action("Hearts", app_icon, window));
|
||||
|
||||
window->set_resizable(false);
|
||||
window->resize(Hearts::Game::width, Hearts::Game::height + statusbar.max_height());
|
||||
window->set_menubar(move(menubar));
|
||||
window->set_icon(app_icon.bitmap_for_size(16));
|
||||
window->show();
|
||||
game.setup(player_name);
|
||||
|
|
|
@ -103,9 +103,7 @@ int main(int argc, char** argv)
|
|||
window->resize(size);
|
||||
});
|
||||
|
||||
auto menubar = GUI::Menubar::construct();
|
||||
|
||||
auto& game_menu = menubar->add_menu("&Game");
|
||||
auto& game_menu = window->add_menu("&Game");
|
||||
|
||||
game_menu.add_action(GUI::Action::create("&New Game", { Mod_None, Key_F2 }, [&](auto&) {
|
||||
field.reset();
|
||||
|
@ -125,7 +123,7 @@ int main(int argc, char** argv)
|
|||
GUI::Application::the()->quit();
|
||||
}));
|
||||
|
||||
auto& difficulty_menu = menubar->add_menu("&Difficulty");
|
||||
auto& difficulty_menu = window->add_menu("&Difficulty");
|
||||
difficulty_menu.add_action(GUI::Action::create("&Beginner", { Mod_Ctrl, Key_B }, [&](auto&) {
|
||||
field.set_field_size(9, 9, 10);
|
||||
}));
|
||||
|
@ -139,11 +137,9 @@ int main(int argc, char** argv)
|
|||
field.set_field_size(32, 60, 350);
|
||||
}));
|
||||
|
||||
auto& help_menu = menubar->add_menu("&Help");
|
||||
auto& help_menu = window->add_menu("&Help");
|
||||
help_menu.add_action(GUI::CommonActions::make_about_action("Minesweeper", app_icon, window));
|
||||
|
||||
window->set_menubar(move(menubar));
|
||||
|
||||
window->show();
|
||||
|
||||
window->set_icon(app_icon.bitmap_for_size(16));
|
||||
|
|
|
@ -55,17 +55,13 @@ int main(int argc, char** argv)
|
|||
window->set_resizable(false);
|
||||
window->show();
|
||||
|
||||
auto menubar = GUI::Menubar::construct();
|
||||
|
||||
auto& game_menu = menubar->add_menu("&Game");
|
||||
auto& game_menu = window->add_menu("&Game");
|
||||
game_menu.add_action(GUI::CommonActions::make_quit_action([](auto&) {
|
||||
GUI::Application::the()->quit();
|
||||
}));
|
||||
|
||||
auto& help_menu = menubar->add_menu("&Help");
|
||||
auto& help_menu = window->add_menu("&Help");
|
||||
help_menu.add_action(GUI::CommonActions::make_about_action("Pong", app_icon, window));
|
||||
|
||||
window->set_menubar(move(menubar));
|
||||
|
||||
return app->exec();
|
||||
}
|
||||
|
|
|
@ -58,9 +58,7 @@ int main(int argc, char** argv)
|
|||
|
||||
auto& game = window->set_main_widget<SnakeGame>();
|
||||
|
||||
auto menubar = GUI::Menubar::construct();
|
||||
|
||||
auto& game_menu = menubar->add_menu("&Game");
|
||||
auto& game_menu = window->add_menu("&Game");
|
||||
|
||||
game_menu.add_action(GUI::Action::create("&New Game", { Mod_None, Key_F2 }, [&](auto&) {
|
||||
game.reset();
|
||||
|
@ -70,11 +68,9 @@ int main(int argc, char** argv)
|
|||
GUI::Application::the()->quit();
|
||||
}));
|
||||
|
||||
auto& help_menu = menubar->add_menu("&Help");
|
||||
auto& help_menu = window->add_menu("&Help");
|
||||
help_menu.add_action(GUI::CommonActions::make_about_action("Snake", app_icon, window));
|
||||
|
||||
window->set_menubar(move(menubar));
|
||||
|
||||
window->show();
|
||||
|
||||
window->set_icon(app_icon.bitmap_for_size(16));
|
||||
|
|
|
@ -171,8 +171,7 @@ int main(int argc, char** argv)
|
|||
three_card_draw_action->set_status_tip("Draw three cards at a time");
|
||||
draw_setting_actions.add_action(three_card_draw_action);
|
||||
|
||||
auto menubar = GUI::Menubar::construct();
|
||||
auto& game_menu = menubar->add_menu("&Game");
|
||||
auto& game_menu = window->add_menu("&Game");
|
||||
|
||||
game_menu.add_action(GUI::Action::create("&New Game", { Mod_None, Key_F2 }, [&](auto&) {
|
||||
game.setup(mode);
|
||||
|
@ -189,12 +188,11 @@ int main(int argc, char** argv)
|
|||
game_menu.add_separator();
|
||||
game_menu.add_action(GUI::CommonActions::make_quit_action([&](auto&) { app->quit(); }));
|
||||
|
||||
auto& help_menu = menubar->add_menu("&Help");
|
||||
auto& help_menu = window->add_menu("&Help");
|
||||
help_menu.add_action(GUI::CommonActions::make_about_action("Solitaire", app_icon, window));
|
||||
|
||||
window->set_resizable(false);
|
||||
window->resize(Solitaire::Game::width, Solitaire::Game::height + statusbar.max_height());
|
||||
window->set_menubar(move(menubar));
|
||||
window->set_icon(app_icon.bitmap_for_size(16));
|
||||
window->show();
|
||||
|
||||
|
|
|
@ -163,9 +163,7 @@ int main(int argc, char** argv)
|
|||
two_suit_action->set_checked(mode == Spider::Mode::TwoSuit);
|
||||
suit_actions.add_action(two_suit_action);
|
||||
|
||||
auto menubar = GUI::Menubar::construct();
|
||||
|
||||
auto& game_menu = menubar->add_menu("&Game");
|
||||
auto& game_menu = window->add_menu("&Game");
|
||||
game_menu.add_action(GUI::Action::create("&New Game", { Mod_None, Key_F2 }, [&](auto&) {
|
||||
game.setup(mode);
|
||||
}));
|
||||
|
@ -175,12 +173,11 @@ int main(int argc, char** argv)
|
|||
game_menu.add_separator();
|
||||
game_menu.add_action(GUI::CommonActions::make_quit_action([&](auto&) { app->quit(); }));
|
||||
|
||||
auto& help_menu = menubar->add_menu("&Help");
|
||||
auto& help_menu = window->add_menu("&Help");
|
||||
help_menu.add_action(GUI::CommonActions::make_about_action("Spider", app_icon, window));
|
||||
|
||||
window->set_resizable(false);
|
||||
window->resize(Spider::Game::width, Spider::Game::height + statusbar.max_height());
|
||||
window->set_menubar(move(menubar));
|
||||
window->set_icon(app_icon.bitmap_for_size(16));
|
||||
window->show();
|
||||
|
||||
|
|
|
@ -1130,6 +1130,13 @@ Gfx::Bitmap* Window::back_bitmap()
|
|||
return m_back_store ? &m_back_store->bitmap() : nullptr;
|
||||
}
|
||||
|
||||
Menu& Window::add_menu(String name)
|
||||
{
|
||||
if (!m_menubar)
|
||||
set_menubar(GUI::Menubar::construct());
|
||||
return m_menubar->add_menu(move(name));
|
||||
}
|
||||
|
||||
void Window::set_menubar(RefPtr<Menubar> menubar)
|
||||
{
|
||||
if (m_menubar == menubar)
|
||||
|
|
|
@ -200,6 +200,7 @@ public:
|
|||
|
||||
void did_disable_focused_widget(Badge<Widget>);
|
||||
|
||||
Menu& add_menu(String name);
|
||||
void set_menubar(RefPtr<Menubar>);
|
||||
|
||||
protected:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue