mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-04-23 13:05:12 +00:00
Ladybird: Add context menu items to directly open audio files
After commit 7ec7015
, we can open audio documents directly. This adds
content menu items to do so, similar to images and videos.
This commit is contained in:
parent
13e1f61a81
commit
2e5fbe8052
Notes:
sideshowbarker
2024-07-17 02:14:39 +09:00
Author: https://github.com/trflynn89 Commit: https://github.com/SerenityOS/serenity/commit/2e5fbe8052 Pull-request: https://github.com/SerenityOS/serenity/pull/19479
4 changed files with 24 additions and 0 deletions
|
@ -403,6 +403,18 @@ Tab::Tab(BrowserWindow* window, StringView webdriver_content_ipc_path, WebView::
|
|||
view().toggle_media_loop_state();
|
||||
});
|
||||
|
||||
auto* open_audio_action = new QAction("&Open Audio", this);
|
||||
open_audio_action->setIcon(QIcon(QString("%1/res/icons/16x16/filetype-sound.png").arg(s_serenity_resource_root.characters())));
|
||||
QObject::connect(open_audio_action, &QAction::triggered, this, [this]() {
|
||||
open_link(m_media_context_menu_url);
|
||||
});
|
||||
|
||||
auto* open_audio_in_new_tab_action = new QAction("Open Audio in New &Tab", this);
|
||||
open_audio_in_new_tab_action->setIcon(QIcon(QString("%1/res/icons/16x16/new-tab.png").arg(s_serenity_resource_root.characters())));
|
||||
QObject::connect(open_audio_in_new_tab_action, &QAction::triggered, this, [this]() {
|
||||
open_link_in_new_tab(m_media_context_menu_url);
|
||||
});
|
||||
|
||||
auto* copy_audio_url_action = new QAction("Copy Audio &URL", this);
|
||||
copy_audio_url_action->setIcon(QIcon(QString("%1/res/icons/16x16/edit-copy.png").arg(s_serenity_resource_root.characters())));
|
||||
QObject::connect(copy_audio_url_action, &QAction::triggered, this, [this]() {
|
||||
|
@ -415,6 +427,9 @@ Tab::Tab(BrowserWindow* window, StringView webdriver_content_ipc_path, WebView::
|
|||
m_audio_context_menu->addAction(m_media_context_menu_controls_action);
|
||||
m_audio_context_menu->addAction(m_media_context_menu_loop_action);
|
||||
m_audio_context_menu->addSeparator();
|
||||
m_audio_context_menu->addAction(open_audio_action);
|
||||
m_audio_context_menu->addAction(open_audio_in_new_tab_action);
|
||||
m_audio_context_menu->addSeparator();
|
||||
m_audio_context_menu->addAction(copy_audio_url_action);
|
||||
m_audio_context_menu->addSeparator();
|
||||
m_audio_context_menu->addAction(&m_window->inspect_dom_node_action());
|
||||
|
|
|
@ -14,6 +14,7 @@ ErrorOr<IconBag> IconBag::try_create()
|
|||
icon_bag.filetype_html = TRY(Gfx::Bitmap::load_from_file("/res/icons/16x16/filetype-html.png"sv));
|
||||
icon_bag.filetype_text = TRY(Gfx::Bitmap::load_from_file("/res/icons/16x16/filetype-text.png"sv));
|
||||
icon_bag.filetype_javascript = TRY(Gfx::Bitmap::load_from_file("/res/icons/16x16/filetype-javascript.png"sv));
|
||||
icon_bag.filetype_audio = TRY(Gfx::Bitmap::load_from_file("/res/icons/16x16/filetype-sound.png"sv));
|
||||
icon_bag.filetype_image = TRY(Gfx::Bitmap::load_from_file("/res/icons/16x16/filetype-image.png"sv));
|
||||
icon_bag.filetype_video = TRY(Gfx::Bitmap::load_from_file("/res/icons/16x16/filetype-video.png"sv));
|
||||
icon_bag.bookmark_contour = TRY(Gfx::Bitmap::load_from_file("/res/icons/16x16/bookmark-contour.png"sv));
|
||||
|
|
|
@ -16,6 +16,7 @@ struct IconBag final {
|
|||
RefPtr<Gfx::Bitmap> filetype_html { nullptr };
|
||||
RefPtr<Gfx::Bitmap> filetype_text { nullptr };
|
||||
RefPtr<Gfx::Bitmap> filetype_javascript { nullptr };
|
||||
RefPtr<Gfx::Bitmap> filetype_audio { nullptr };
|
||||
RefPtr<Gfx::Bitmap> filetype_image { nullptr };
|
||||
RefPtr<Gfx::Bitmap> filetype_video { nullptr };
|
||||
RefPtr<Gfx::Bitmap> bookmark_contour { nullptr };
|
||||
|
|
|
@ -393,6 +393,13 @@ Tab::Tab(BrowserWindow& window)
|
|||
m_audio_context_menu->add_action(*m_media_context_menu_controls_action);
|
||||
m_audio_context_menu->add_action(*m_media_context_menu_loop_action);
|
||||
m_audio_context_menu->add_separator();
|
||||
m_audio_context_menu->add_action(GUI::Action::create("&Open Audio", g_icon_bag.filetype_audio, [this](auto&) {
|
||||
view().on_link_click(m_media_context_menu_url, "", 0);
|
||||
}));
|
||||
m_audio_context_menu->add_action(GUI::Action::create("Open Audio in New &Tab", g_icon_bag.new_tab, [this](auto&) {
|
||||
view().on_link_click(m_media_context_menu_url, "_blank", 0);
|
||||
}));
|
||||
m_audio_context_menu->add_separator();
|
||||
m_audio_context_menu->add_action(GUI::Action::create("Copy Audio &URL", g_icon_bag.copy, [this](auto&) {
|
||||
GUI::Clipboard::the().set_plain_text(m_media_context_menu_url.to_deprecated_string());
|
||||
}));
|
||||
|
|
Loading…
Add table
Reference in a new issue