mirror of
https://github.com/RGBCube/serenity
synced 2026-01-12 22:30:59 +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
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
Add a link
Reference in a new issue