Applications: Use titlecase and distinct underlined characters in menus

This changes (context) menus across the system to conform to titlecase
capitalization and to not underline the same character twice (for
accessing actions with Alt).
This commit is contained in:
Max Wipfli 2021-05-21 18:51:06 +02:00 committed by Linus Groh
parent f27e75ac0c
commit 229414b002
Notes: sideshowbarker 2024-07-18 17:37:20 +09:00
16 changed files with 39 additions and 39 deletions

View File

@ -358,7 +358,7 @@ void BrowserWindow::build_menus()
}));
debug_menu.add_separator();
auto line_box_borders_action = GUI::Action::create_checkable(
"&Line Box Borders", [this](auto& action) {
"Line &Box Borders", [this](auto& action) {
auto& tab = active_tab();
if (tab.m_type == Tab::Type::InProcessWebView) {
tab.m_page_view->set_should_show_line_box_borders(action.is_checked());
@ -392,7 +392,7 @@ void BrowserWindow::build_menus()
}));
m_user_agent_spoof_actions.set_exclusive(true);
auto& spoof_user_agent_menu = debug_menu.add_submenu("Spoof User Agent");
auto& spoof_user_agent_menu = debug_menu.add_submenu("Spoof &User Agent");
m_disable_user_agent_spoofing = GUI::Action::create_checkable("Disabled", [this](auto&) {
auto& tab = active_tab();
if (tab.m_type == Tab::Type::InProcessWebView) {

View File

@ -526,7 +526,7 @@ void DirectoryView::handle_selection_change()
void DirectoryView::setup_actions()
{
m_mkdir_action = GUI::Action::create("New &Directory...", { Mod_Ctrl | Mod_Shift, Key_N }, Gfx::Bitmap::load_from_file("/res/icons/16x16/mkdir.png"), [&](const GUI::Action&) {
m_mkdir_action = GUI::Action::create("&New Directory...", { Mod_Ctrl | Mod_Shift, Key_N }, Gfx::Bitmap::load_from_file("/res/icons/16x16/mkdir.png"), [&](const GUI::Action&) {
String value;
if (GUI::InputBox::show(window(), value, "Enter name:", "New directory") == GUI::InputBox::ExecOK && !value.is_empty()) {
auto new_dir_path = LexicalPath::canonicalized_path(String::formatted("{}/{}", path(), value));

View File

@ -352,11 +352,11 @@ int run_in_desktop_mode([[maybe_unused]] RefPtr<Core::ConfigFile> config)
auto desktop_view_context_menu = GUI::Menu::construct("Directory View");
auto file_manager_action = GUI::Action::create("Show in &File Manager", {}, Gfx::Bitmap::load_from_file("/res/icons/16x16/app-file-manager.png"), [&](const GUI::Action&) {
auto file_manager_action = GUI::Action::create("Show in File &Manager", {}, Gfx::Bitmap::load_from_file("/res/icons/16x16/app-file-manager.png"), [&](const GUI::Action&) {
Desktop::Launcher::open(URL::create_with_file_protocol(directory_view.path()));
});
auto display_properties_action = GUI::Action::create("Display &Settings", {}, Gfx::Bitmap::load_from_file("/res/icons/16x16/app-display-settings.png"), [&](const GUI::Action&) {
auto display_properties_action = GUI::Action::create("&Display Settings", {}, Gfx::Bitmap::load_from_file("/res/icons/16x16/app-display-settings.png"), [&](const GUI::Action&) {
Desktop::Launcher::open(URL::create_with_file_protocol("/bin/DisplaySettings"));
});
@ -790,7 +790,7 @@ int run_in_windowed_mode(RefPtr<Core::ConfigFile> config, String initial_locatio
});
focus_dependent_delete_action->set_enabled(false);
auto mkdir_action = GUI::Action::create("New &Directory...", { Mod_Ctrl | Mod_Shift, Key_N }, Gfx::Bitmap::load_from_file("/res/icons/16x16/mkdir.png"), [&](const GUI::Action&) {
auto mkdir_action = GUI::Action::create("&New Directory...", { Mod_Ctrl | Mod_Shift, Key_N }, Gfx::Bitmap::load_from_file("/res/icons/16x16/mkdir.png"), [&](const GUI::Action&) {
directory_view.mkdir_action().activate();
refresh_tree_view();
});
@ -820,7 +820,7 @@ int run_in_windowed_mode(RefPtr<Core::ConfigFile> config, String initial_locatio
edit_menu.add_separator();
edit_menu.add_action(select_all_action);
auto action_show_dotfiles = GUI::Action::create_checkable("Show &Dotfiles", { Mod_Ctrl, Key_H }, [&](auto& action) {
auto action_show_dotfiles = GUI::Action::create_checkable("&Show Dotfiles", { Mod_Ctrl, Key_H }, [&](auto& action) {
directory_view.set_should_show_dotfiles(action.is_checked());
refresh_tree_view();
config->write_bool_entry("DirectoryView", "ShowDotFiles", action.is_checked());

View File

@ -129,7 +129,7 @@ void HexEditorWidget::initialize_menubar(GUI::Menubar& menubar)
GUI::Application::the()->quit();
}));
m_goto_decimal_offset_action = GUI::Action::create("Go to Offset (&Decimal)...", { Mod_Ctrl | Mod_Shift, Key_G }, Gfx::Bitmap::load_from_file("/res/icons/16x16/go-forward.png"), [this](const GUI::Action&) {
m_goto_decimal_offset_action = GUI::Action::create("&Go to Offset (Decimal)...", { Mod_Ctrl | Mod_Shift, Key_G }, Gfx::Bitmap::load_from_file("/res/icons/16x16/go-forward.png"), [this](const GUI::Action&) {
String value;
if (GUI::InputBox::show(window(), value, "Enter decimal offset:", "Go to Offset") == GUI::InputBox::ExecOK && !value.is_empty()) {
auto new_offset = value.to_int();
@ -138,7 +138,7 @@ void HexEditorWidget::initialize_menubar(GUI::Menubar& menubar)
}
});
m_goto_hex_offset_action = GUI::Action::create("Go to Offset (&Hex)...", { Mod_Ctrl, Key_G }, Gfx::Bitmap::load_from_file("/res/icons/16x16/go-forward.png"), [this](const GUI::Action&) {
m_goto_hex_offset_action = GUI::Action::create("Go to &Offset (Hex)...", { Mod_Ctrl, Key_G }, Gfx::Bitmap::load_from_file("/res/icons/16x16/go-forward.png"), [this](const GUI::Action&) {
String value;
if (GUI::InputBox::show(window(), value, "Enter hexadecimal offset:", "Go to Offset") == GUI::InputBox::ExecOK && !value.is_empty()) {
auto new_offset = strtol(value.characters(), nullptr, 16);
@ -147,7 +147,7 @@ void HexEditorWidget::initialize_menubar(GUI::Menubar& menubar)
});
auto& edit_menu = menubar.add_menu("&Edit");
edit_menu.add_action(GUI::Action::create("&Fill Selection...", { Mod_Ctrl, Key_B }, [&](const GUI::Action&) {
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()) {
auto fill_byte = strtol(value.characters(), nullptr, 16);

View File

@ -226,7 +226,7 @@ void IRCAppWindow::setup_actions()
m_client->handle_kick_user_action(window->channel().name(), nick_value, reason_value.characters());
});
m_cycle_channel_action = GUI::Action::create("Cycle Channel", [this](auto&) {
m_cycle_channel_action = GUI::Action::create("C&ycle Channel", [this](auto&) {
auto* window = m_client->current_window();
if (!window || window->type() != IRCWindow::Type::Channel) {
return;

View File

@ -185,7 +185,7 @@ int main(int argc, char** argv)
GUI::Desktop::the().set_wallpaper(widget.path());
});
auto go_first_action = GUI::Action::create("Go to &First", { Mod_None, Key_Home }, Gfx::Bitmap::load_from_file("/res/icons/16x16/go-first.png"),
auto go_first_action = GUI::Action::create("&Go to First", { Mod_None, Key_Home }, Gfx::Bitmap::load_from_file("/res/icons/16x16/go-first.png"),
[&](auto&) {
widget.navigate(ViewWidget::Directions::First);
});

View File

@ -55,11 +55,11 @@ MainWidget::~MainWidget()
void MainWidget::add_actions(GUI::Menu& menu)
{
menu.add_action(GUI::Action::create("Add track", { Mod_Ctrl, Key_T }, [&](auto&) {
menu.add_action(GUI::Action::create("&Add Track", { Mod_Ctrl, Key_T }, [&](auto&) {
m_track_manager.add_track();
}));
menu.add_action(GUI::Action::create("Next track", { Mod_Ctrl, Key_N }, [&](auto&) {
menu.add_action(GUI::Action::create("&Next Track", { Mod_Ctrl, Key_N }, [&](auto&) {
turn_off_pressed_keys();
m_track_manager.next_track();
turn_on_pressed_keys();

View File

@ -225,7 +225,7 @@ int main(int argc, char** argv)
auto& layer_menu = menubar->add_menu("&Layer");
layer_menu.add_action(GUI::Action::create(
"&New Layer...", { Mod_Ctrl | Mod_Shift, Key_N }, [&](auto&) {
"New &Layer...", { Mod_Ctrl | Mod_Shift, Key_N }, [&](auto&) {
auto dialog = PixelPaint::CreateNewLayerDialog::construct(image_editor.image()->size(), window);
if (dialog->exec() == GUI::Dialog::ExecOK) {
auto layer = PixelPaint::Layer::create_with_size(*image_editor.image(), dialog->layer_size(), dialog->layer_name());
@ -320,7 +320,7 @@ int main(int argc, char** argv)
}
}
}));
blur_submenu.add_action(GUI::Action::create("&Gaussian Blur (5x5)", [&](auto&) {
blur_submenu.add_action(GUI::Action::create("G&aussian Blur (5x5)", [&](auto&) {
if (auto* layer = image_editor.active_layer()) {
Gfx::SpatialGaussianBlurFilter<5> filter;
if (auto parameters = PixelPaint::FilterParameters<Gfx::SpatialGaussianBlurFilter<5>>::get()) {
@ -338,7 +338,7 @@ int main(int argc, char** argv)
}
}
}));
blur_submenu.add_action(GUI::Action::create("&Box Blur (5x5)", [&](auto&) {
blur_submenu.add_action(GUI::Action::create("B&ox Blur (5x5)", [&](auto&) {
if (auto* layer = image_editor.active_layer()) {
Gfx::BoxBlurFilter<5> filter;
if (auto parameters = PixelPaint::FilterParameters<Gfx::BoxBlurFilter<5>>::get()) {

View File

@ -72,12 +72,12 @@ int main(int argc, char** argv)
}
}));
auto linear_volume_slider = GUI::Action::create_checkable("Nonlinear volume slider", [&](auto& action) {
auto linear_volume_slider = GUI::Action::create_checkable("&Nonlinear Volume Slider", [&](auto& action) {
static_cast<SoundPlayerWidgetAdvancedView*>(player)->set_nonlinear_volume_slider(action.is_checked());
});
file_menu.add_action(linear_volume_slider);
auto playlist_toggle = GUI::Action::create_checkable("Show playlist", [&](auto& action) {
auto playlist_toggle = GUI::Action::create_checkable("&Show Playlist", [&](auto& action) {
static_cast<SoundPlayerWidgetAdvancedView*>(player)->set_playlist_visible(action.is_checked());
});
playlist_menu.add_action(playlist_toggle);
@ -85,7 +85,7 @@ int main(int argc, char** argv)
playlist_toggle->set_checked(true);
playlist_menu.add_separator();
auto playlist_loop_toggle = GUI::Action::create_checkable("Loop playlist", [&](auto& action) {
auto playlist_loop_toggle = GUI::Action::create_checkable("&Loop Playlist", [&](auto& action) {
static_cast<SoundPlayerWidgetAdvancedView*>(player)->set_looping_playlist(action.is_checked());
});
playlist_menu.add_action(playlist_loop_toggle);
@ -97,7 +97,7 @@ int main(int argc, char** argv)
auto& playback_menu = menubar->add_menu("&Playback");
auto loop = GUI::Action::create_checkable("Loop", { Mod_Ctrl, Key_R }, [&](auto& action) {
auto loop = GUI::Action::create_checkable("&Loop", { Mod_Ctrl, Key_R }, [&](auto& action) {
player->set_looping_file(action.is_checked());
});
@ -108,7 +108,7 @@ int main(int argc, char** argv)
GUI::Action* checked_vis = nullptr;
auto uncheck_all_but = [&](GUI::Action& one) {for (auto& a : visualization_checkmarks) if (a != &one) a->set_checked(false); };
auto bars = GUI::Action::create_checkable("Bars", [&](auto& action) {
auto bars = GUI::Action::create_checkable("&Bars", [&](auto& action) {
uncheck_all_but(action);
if (checked_vis == &action) {
action.set_checked(true);
@ -122,7 +122,7 @@ int main(int argc, char** argv)
visualization_menu.add_action(bars);
visualization_checkmarks.append(bars);
auto samples = GUI::Action::create_checkable("Samples", [&](auto& action) {
auto samples = GUI::Action::create_checkable("&Samples", [&](auto& action) {
uncheck_all_but(action);
if (checked_vis == &action) {
action.set_checked(true);
@ -135,7 +135,7 @@ int main(int argc, char** argv)
visualization_menu.add_action(samples);
visualization_checkmarks.append(samples);
auto none = GUI::Action::create_checkable("None", [&](auto& action) {
auto none = GUI::Action::create_checkable("&None", [&](auto& action) {
uncheck_all_but(action);
if (checked_vis == &action) {
action.set_checked(true);

View File

@ -236,7 +236,7 @@ int main(int argc, char* argv[])
auto& help_menu = menubar->add_menu("&Help");
help_menu.add_action(GUI::Action::create(
"Functions Help", [&](auto&) {
"&Functions Help", [&](auto&) {
if (auto* worksheet_ptr = spreadsheet_widget.current_worksheet_if_available()) {
auto docs = worksheet_ptr->gather_documentation();
auto help_window = Spreadsheet::HelpWindow::the(window);

View File

@ -243,7 +243,7 @@ int main(int argc, char** argv)
};
auto kill_action = GUI::Action::create(
"Kill process", { Mod_Ctrl, Key_K }, Gfx::Bitmap::load_from_file("/res/icons/16x16/kill.png"), [&](const GUI::Action&) {
"&Kill Process", { Mod_Ctrl, Key_K }, Gfx::Bitmap::load_from_file("/res/icons/16x16/kill.png"), [&](const GUI::Action&) {
pid_t pid = selected_id(ProcessModel::Column::PID);
if (pid != -1)
kill(pid, SIGKILL);
@ -251,7 +251,7 @@ int main(int argc, char** argv)
&process_table_view);
auto stop_action = GUI::Action::create(
"Stop process", { Mod_Ctrl, Key_S }, Gfx::Bitmap::load_from_file("/res/icons/16x16/stop-hand.png"), [&](const GUI::Action&) {
"&Stop Process", { Mod_Ctrl, Key_S }, Gfx::Bitmap::load_from_file("/res/icons/16x16/stop-hand.png"), [&](const GUI::Action&) {
pid_t pid = selected_id(ProcessModel::Column::PID);
if (pid != -1)
kill(pid, SIGSTOP);
@ -259,7 +259,7 @@ int main(int argc, char** argv)
&process_table_view);
auto continue_action = GUI::Action::create(
"Continue process", { Mod_Ctrl, Key_C }, Gfx::Bitmap::load_from_file("/res/icons/16x16/continue.png"), [&](const GUI::Action&) {
"&Continue Process", { Mod_Ctrl, Key_C }, Gfx::Bitmap::load_from_file("/res/icons/16x16/continue.png"), [&](const GUI::Action&) {
pid_t pid = selected_id(ProcessModel::Column::PID);
if (pid != -1)
kill(pid, SIGCONT);
@ -267,7 +267,7 @@ int main(int argc, char** argv)
&process_table_view);
auto profile_action = GUI::Action::create(
"Profile process", { Mod_Ctrl, Key_P },
"&Profile Process", { Mod_Ctrl, Key_P },
Gfx::Bitmap::load_from_file("/res/icons/16x16/app-profiler.png"), [&](auto&) {
pid_t pid = selected_id(ProcessModel::Column::PID);
if (pid != -1) {
@ -285,7 +285,7 @@ int main(int argc, char** argv)
&process_table_view);
auto inspect_action = GUI::Action::create(
"Inspect process", { Mod_Ctrl, Key_I },
"&Inspect Process", { Mod_Ctrl, Key_I },
Gfx::Bitmap::load_from_file("/res/icons/16x16/app-inspector.png"), [&](auto&) {
pid_t pid = selected_id(ProcessModel::Column::PID);
if (pid != -1) {

View File

@ -328,7 +328,7 @@ int main(int argc, char** argv)
});
terminal.context_menu().add_separator();
auto pick_font_action = GUI::Action::create("Terminal &Font...", Gfx::Bitmap::load_from_file("/res/icons/16x16/app-font-editor.png"),
auto pick_font_action = GUI::Action::create("&Terminal Font...", Gfx::Bitmap::load_from_file("/res/icons/16x16/app-font-editor.png"),
[&](auto&) {
auto picker = GUI::FontPicker::construct(window, &terminal.font(), true);
if (picker->exec() == GUI::Dialog::ExecOK) {

View File

@ -114,7 +114,7 @@ MainWidget::MainWidget()
}
});
m_find_previous_action = GUI::Action::create("Find &Previous", { Mod_Ctrl | Mod_Shift, Key_G }, Gfx::Bitmap::load_from_file("/res/icons/16x16/find-previous.png"), [&](auto&) {
m_find_previous_action = GUI::Action::create("Find Pr&evious", { Mod_Ctrl | Mod_Shift, Key_G }, Gfx::Bitmap::load_from_file("/res/icons/16x16/find-previous.png"), [&](auto&) {
auto needle = m_find_textbox->text();
if (needle.is_empty())
return;
@ -137,7 +137,7 @@ MainWidget::MainWidget()
}
});
m_replace_action = GUI::Action::create("&Replace", { Mod_Ctrl, Key_F1 }, [&](auto&) {
m_replace_action = GUI::Action::create("Rep&lace", { Mod_Ctrl, Key_F1 }, [&](auto&) {
auto needle = m_find_textbox->text();
auto substitute = m_replace_textbox->text();
if (needle.is_empty())
@ -511,7 +511,7 @@ void MainWidget::initialize_menubar(GUI::Menubar& menubar)
view_menu.add_separator();
m_visualize_trailing_whitespace_action = GUI::Action::create_checkable("Visualize &Trailing Whitespace", [&](auto&) {
m_visualize_trailing_whitespace_action = GUI::Action::create_checkable("&Visualize Trailing Whitespace", [&](auto&) {
m_editor->set_visualize_trailing_whitespace(m_visualize_trailing_whitespace_action->is_checked());
});
m_visualize_leading_whitespace_action = GUI::Action::create_checkable("Visualize &Leading Whitespace", [&](auto&) {

View File

@ -363,7 +363,7 @@ NonnullRefPtr<GUI::Action> HackStudioWidget::create_new_file_action()
NonnullRefPtr<GUI::Action> HackStudioWidget::create_new_directory_action()
{
return GUI::Action::create("New &Directory...", { Mod_Ctrl | Mod_Shift, Key_N }, Gfx::Bitmap::load_from_file("/res/icons/16x16/mkdir.png"), [this](const GUI::Action&) {
return GUI::Action::create("&New Directory...", { Mod_Ctrl | Mod_Shift, Key_N }, Gfx::Bitmap::load_from_file("/res/icons/16x16/mkdir.png"), [this](const GUI::Action&) {
String directory_name;
if (GUI::InputBox::show(window(), directory_name, "Enter name of new directory:", "Add new folder to project") != GUI::InputBox::ExecOK)
return;
@ -565,7 +565,7 @@ NonnullRefPtr<GUI::Action> HackStudioWidget::create_save_action()
NonnullRefPtr<GUI::Action> HackStudioWidget::create_remove_current_terminal_action()
{
return GUI::Action::create("&Remove Current Terminal", { Mod_Alt | Mod_Shift, Key_T }, [this](auto&) {
return GUI::Action::create("Remove &Current Terminal", { Mod_Alt | Mod_Shift, Key_T }, [this](auto&) {
auto widget = m_action_tab_widget->active_widget();
if (!widget)
return;
@ -903,7 +903,7 @@ void HackStudioWidget::create_project_menubar(GUI::Menubar& menubar)
void HackStudioWidget::create_edit_menubar(GUI::Menubar& menubar)
{
auto& edit_menu = menubar.add_menu("&Edit");
edit_menu.add_action(GUI::Action::create("Find in Files...", { Mod_Ctrl | Mod_Shift, Key_F }, Gfx::Bitmap::load_from_file("/res/icons/16x16/find.png"), [this](auto&) {
edit_menu.add_action(GUI::Action::create("&Find in Files...", { Mod_Ctrl | Mod_Shift, Key_F }, Gfx::Bitmap::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();
}));

View File

@ -151,7 +151,7 @@ NonnullRefPtr<Action> make_select_all_action(Function<void(Action&)> callback, C
NonnullRefPtr<Action> make_properties_action(Function<void(Action&)> callback, Core::Object* parent)
{
return Action::create("&Properties", { Mod_Alt, Key_Return }, Gfx::Bitmap::load_from_file("/res/icons/16x16/properties.png"), move(callback), parent);
return Action::create("P&roperties", { Mod_Alt, Key_Return }, Gfx::Bitmap::load_from_file("/res/icons/16x16/properties.png"), move(callback), parent);
}
NonnullRefPtr<Action> make_zoom_in_action(Function<void(Action&)> callback, Core::Object* parent)

View File

@ -131,7 +131,7 @@ TerminalWidget::TerminalWidget(int ptm_fd, bool automatic_size_policy, RefPtr<Co
});
m_paste_action->set_swallow_key_event_when_disabled(true);
m_clear_including_history_action = GUI::Action::create("&Clear Including History", { Mod_Ctrl | Mod_Shift, Key_K }, [this](auto&) {
m_clear_including_history_action = GUI::Action::create("Clear Including &History", { Mod_Ctrl | Mod_Shift, Key_K }, [this](auto&) {
clear_including_history();
});