mirror of
https://gitee.com/spark-store-project/spark-web-app-runtime.git
synced 2025-12-15 03:22:05 +08:00
feat: 限制同标题进程单例运行;网页链接调用浏览器打开
使用 DApplication::setSingleInstance,使用 标题_uid 创建进程锁,单例运行时新进程自动退出,并拉起原有进程主窗口显示;重写 QWebEnginePage,createWindow 时若链接与原来不同,则调用浏览器打开 Log: 支持单例运行;支持浏览器打开外部链接;修复访问深度论坛默认语言错误问题
This commit is contained in:
@@ -1,4 +1,10 @@
|
||||
#include "widget.h"
|
||||
#include "webengineview.h"
|
||||
#include "webenginepage.h"
|
||||
|
||||
#include <DApplication>
|
||||
|
||||
DWIDGET_USE_NAMESPACE
|
||||
|
||||
Widget::Widget(QString szUrl, QWidget *parent)
|
||||
: QWidget(parent)
|
||||
@@ -12,14 +18,16 @@ Widget::Widget(QString szUrl, QWidget *parent)
|
||||
m_webEngineView->setObjectName(QStringLiteral("webEngineView"));
|
||||
m_webEngineView->setEnabled(true);
|
||||
m_webEngineView->setAutoFillBackground(false);
|
||||
m_webEngineView->setZoomFactor(1.0);
|
||||
|
||||
QWebEnginePage *page = new QWebEnginePage(m_webEngineView);
|
||||
DApplication *dApp = qobject_cast<DApplication *>(qApp);
|
||||
m_webEngineView->setZoomFactor(dApp->devicePixelRatio());
|
||||
|
||||
WebEnginePage *page = new WebEnginePage(m_webEngineView);
|
||||
m_webEngineView->setPage(page);
|
||||
|
||||
m_webEngineView->setUrl(QUrl(nullptr));
|
||||
page->setUrl(QUrl());
|
||||
if (!m_szUrl.isEmpty()) {
|
||||
m_webEngineView->setUrl(QUrl(m_szUrl));
|
||||
page->setUrl(QUrl(m_szUrl));
|
||||
}
|
||||
|
||||
QWidget *spinnerWidget = new QWidget(this);
|
||||
@@ -40,8 +48,6 @@ Widget::Widget(QString szUrl, QWidget *parent)
|
||||
|
||||
Widget::~Widget()
|
||||
{
|
||||
delete m_webEngineView;
|
||||
delete m_spinner;
|
||||
}
|
||||
|
||||
QWebEnginePage *Widget::getPage()
|
||||
|
||||
Reference in New Issue
Block a user