From b0f598910f1f8bc8db6b65a0f01b1950ed7c3841 Mon Sep 17 00:00:00 2001 From: Akshay Nair Date: Sat, 26 Jul 2025 16:59:35 +0530 Subject: Add web.view.expose for simple lua->js interop in decorations --- src/widgets/EdgeDecoration.cpp | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'src/widgets/EdgeDecoration.cpp') diff --git a/src/widgets/EdgeDecoration.cpp b/src/widgets/EdgeDecoration.cpp index 5277e6c..ed48857 100644 --- a/src/widgets/EdgeDecoration.cpp +++ b/src/widgets/EdgeDecoration.cpp @@ -66,9 +66,9 @@ void EdgeDecoration::setup_webview() { webview = new WebView(WebViewStack::next_webview_id++, profile, this); layout()->addWidget(webview.value()); webview.value()->enable_rpc_api(); - webview.value()->expose_rpc_function("tab_select", [](RpcArgs args) { - LuaRuntime::instance().webview_selected(args.at("view").toInt()); - }); + // expose_rpc_function("tab_select", [](RpcArgs args) { + // LuaRuntime::instance().webview_selected(args.at("view").toInt()); + // }); } webview.value()->setHtml(QString(default_html_layout).replace("{{body}}", html_content), @@ -95,3 +95,9 @@ void EdgeDecoration::set_url(const QUrl &url) { std::optional EdgeDecoration::get_view_id() { return webview.has_value() ? std::make_optional(webview.value()->get_id()) : std::nullopt; } + +void EdgeDecoration::expose_rpc_function(const QString &name, const RpcFunc &action) { + if (!webview.has_value()) + return; + webview.value()->expose_rpc_function(name, action); +} -- cgit v1.3.1