feat: 限制同标题进程单例运行;网页链接调用浏览器打开

使用 DApplication::setSingleInstance,使用 标题_uid 创建进程锁,单例运行时新进程自动退出,并拉起原有进程主窗口显示;重写 QWebEnginePage,createWindow 时若链接与原来不同,则调用浏览器打开

Log: 支持单例运行;支持浏览器打开外部链接;修复访问深度论坛默认语言错误问题
This commit is contained in:
zty199
2022-11-20 15:57:54 +08:00
parent d6b5895812
commit 1aed5532a3
18 changed files with 494 additions and 285 deletions

View File

@@ -1,18 +1,15 @@
#ifndef WIDGET_H
#define WIDGET_H
#include <QWidget>
#include <QWebEngineProfile>
#include <QWebEngineView>
#include <QLayout>
#include <QStackedLayout>
#include <DSpinner>
#include "webengineview.h"
#include <QWidget>
#include <QWebEnginePage>
#include <QStackedLayout>
DWIDGET_USE_NAMESPACE
class WebEngineView;
class Widget : public QWidget
{
Q_OBJECT
@@ -26,16 +23,16 @@ public:
void goForward();
void refresh();
private:
WebEngineView *m_webEngineView;
DSpinner *m_spinner;
QStackedLayout *mainLayout;
QString m_szUrl;
private slots:
void on_loadStarted();
void on_loadFinished();
private:
WebEngineView *m_webEngineView = nullptr;
DSpinner *m_spinner = nullptr;
QStackedLayout *mainLayout = nullptr;
QString m_szUrl;
};
#endif // WIDGET_H