玉兔远程控制
0.1.0-bate14
Toggle main menu visibility
载入中...
搜索中...
未找到
Plugins
WebBrowser
PluginWebBrowser.cpp
1
// Author: Kang Lin <kl222@126.com>
2
#include <QWebEngineProfile>
3
#include <QLoggingCategory>
4
5
#include "ProtocolManager.h"
6
#include "PluginWebBrowser.h"
7
#include "OperateWebBrowser.h"
8
9
static
Q_LOGGING_CATEGORY(log,
"WebBrowser.Plugin"
)
10
11
CPluginWebBrowser
::
CPluginWebBrowser
(QObject *parent)
12
:
CPlugin
(parent)
13
{
14
qDebug(log) << Q_FUNC_INFO;
15
16
/*
17
CProtocolManager manager;
18
// 获取所有注册的协议
19
QStringList protocols = manager.getAllRegisteredProtocols();
20
qDebug(log) << "All registered protocols:" << protocols;
21
22
// 检查特定协议
23
if (manager.isProtocolRegistered("rrc")) {
24
QString handler = manager.getDefaultHandlerForProtocol("rrc");
25
qDebug(log) << "rrc protocol handler:" << handler;
26
}
27
28
// 获取协议关联的应用
29
QStringList apps = manager.getApplicationsForProtocol("mailto");
30
qDebug(log) << "Apps handling mailto:" << apps;
31
32
// 获取所有协议及其应用
33
QMap<QString, QStringList> allProtocols = manager.getAllProtocolsWithApps();
34
for (auto it = allProtocols.begin(); it != allProtocols.end(); ++it) {
35
qDebug(log) << "Protocol:" << it.key() << "Apps:" << it.value();
36
}
37
//*/
38
}
39
40
CPluginWebBrowser::~CPluginWebBrowser()
41
{
42
qDebug(log) << Q_FUNC_INFO;
43
}
44
45
const
CPluginWebBrowser::TYPE CPluginWebBrowser::Type()
const
46
{
47
return
TYPE::Tools;
48
}
49
50
const
QString
CPluginWebBrowser::Protocol
()
const
51
{
52
return
QString();
53
}
54
55
const
QString
CPluginWebBrowser::Name
()
const
56
{
57
return
"WebBrowser"
;
58
}
59
60
const
QString
CPluginWebBrowser::DisplayName
()
const
61
{
62
return
tr(
"Web browser"
) + tr(
"(Experimental)"
);
63
}
64
65
const
QString
CPluginWebBrowser::Description
()
const
66
{
67
return
tr(
"Web browser: Browsing the web"
) + tr(
"(Experimental)"
);
68
}
69
70
const
QString
CPluginWebBrowser::Version
()
const
71
{
72
return
PluginWebBrowser_VERSION;
73
}
74
75
const
QIcon CPluginWebBrowser::Icon()
const
76
{
77
return
QIcon::fromTheme(
"web-browser"
);
78
}
79
80
COperate
*CPluginWebBrowser::OnCreateOperate(
const
QString &szId)
81
{
82
if
(
Id
() == szId)
83
return
new
COperateWebBrowser(
this
);
84
return
nullptr
;
85
}
86
87
const
QString
CPluginWebBrowser::Details
()
const
88
{
89
QString szDetails;
90
szDetails +=
"- "
+ tr(
"Dependency libraries"
) +
"\n"
;
91
#if QT_VERSION >= QT_VERSION_CHECK(6, 2, 0)
92
szDetails +=
" - QWebEngine"
+ QString(
"\n"
);
93
szDetails +=
" - "
+ tr(
"version:"
) +
" "
+ qWebEngineVersion() +
"\n"
;
94
#if QT_VERSION >= QT_VERSION_CHECK(6, 8, 0)
95
szDetails +=
" - "
+ tr(
"Process name:"
) +
" "
+ qWebEngineProcessName() +
"\n"
;
96
#endif
97
szDetails +=
" - "
+ tr(
"Chromium:"
) +
"\n"
;
98
szDetails +=
" - "
+ tr(
"version:"
) +
" "
+ qWebEngineChromiumVersion() +
"\n"
;
99
#endif
100
#if QT_VERSION >= QT_VERSION_CHECK(6, 3, 0)
101
szDetails +=
" - "
+ tr(
"Security patch version:"
) +
" "
+ qWebEngineChromiumSecurityPatchVersion() +
"\n"
;
102
#endif
103
return
szDetails;
104
}
105
106
QWidget*
CPluginWebBrowser::GetSettingsWidget
(QWidget* parent)
107
{
108
//TODO: Add set global parameters
109
return
nullptr
;
110
QWidget* pSetting =
new
QWidget(parent);
111
if
(pSetting)
112
pSetting->setWindowTitle(tr(
"Set Web Wrowser"
));
113
return
pSetting;
114
}
115
116
COperate
*
CPluginWebBrowser::CreateOperate
(
const
QString &szId,
CParameterPlugin
*para)
117
{
118
return
CPlugin::CreateOperate
(szId, para);
119
}
COperate
操作接口。
定义
Operate.h:51
CParameterPlugin
插件的全局参数。
定义
ParameterPlugin.h:36
CPluginWebBrowser
定义
PluginWebBrowser.h:6
CPluginWebBrowser::Name
virtual const QString Name() const override
插件名,这个名一定要与工程名(${PROJECT_NAME})相同。 翻译文件(${PROJECT_NAME}_*.ts))名与其相关。
定义
PluginWebBrowser.cpp:55
CPluginWebBrowser::GetSettingsWidget
virtual Q_INVOKABLE QWidget * GetSettingsWidget(QWidget *parent) override
得到设置此插件全局参数的窗口
定义
PluginWebBrowser.cpp:106
CPluginWebBrowser::CreateOperate
virtual Q_INVOKABLE COperate * CreateOperate(const QString &szId, CParameterPlugin *para)
新建 COperate 实例。仅由 CManager 调用
定义
PluginWebBrowser.cpp:116
CPluginWebBrowser::Protocol
virtual const QString Protocol() const override
协议
定义
PluginWebBrowser.cpp:50
CPluginWebBrowser::Description
virtual const QString Description() const override
描述
定义
PluginWebBrowser.cpp:65
CPluginWebBrowser::DisplayName
virtual const QString DisplayName() const override
在界面上显示的名称
定义
PluginWebBrowser.cpp:60
CPluginWebBrowser::Version
virtual const QString Version() const override
Version
定义
PluginWebBrowser.cpp:70
CPluginWebBrowser::Details
virtual const QString Details() const override
显示更多细节。 例如: 在关于对话框或日志中显示。 包括插件的依赖库的版本信息和描述等
定义
PluginWebBrowser.cpp:87
CPlugin
插件接口
定义
Plugin.h:15
CPlugin::Id
virtual const QString Id() const
标识。默认: Type() + ":" + Protocol() + ":" + Name()
定义
Plugin.cpp:71
CPlugin::CreateOperate
virtual Q_INVOKABLE COperate * CreateOperate(const QString &szId, CParameterPlugin *para)
新建 COperate 实例。仅由 CManager 调用
定义
Plugin.cpp:82
作者:康林 (kl222@126.com)
版权所有(c) 康林工作室 保留所有权力