Rabbit Remote Control 0.1.0-bate14
Loading...
Searching...
No Matches
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
9static Q_LOGGING_CATEGORY(log, "WebBrowser.Plugin")
10
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
40CPluginWebBrowser::~CPluginWebBrowser()
41{
42 qDebug(log) << Q_FUNC_INFO;
43}
44
45const CPluginWebBrowser::TYPE CPluginWebBrowser::Type() const
46{
47 return TYPE::Tools;
48}
49
50const QString CPluginWebBrowser::Protocol() const
51{
52 return QString();
53}
54
55const QString CPluginWebBrowser::Name() const
56{
57 return "WebBrowser";
58}
59
60const QString CPluginWebBrowser::DisplayName() const
61{
62 return tr("Web browser") + tr("(Experimental)");
63}
64
65const QString CPluginWebBrowser::Description() const
66{
67 return tr("Web browser: Browsing the web") + tr("(Experimental)");
68}
69
70const QString CPluginWebBrowser::Version() const
71{
72 return PluginWebBrowser_VERSION;
73}
74
75const QIcon CPluginWebBrowser::Icon() const
76{
77 return QIcon::fromTheme("web-browser");
78}
79
80COperate *CPluginWebBrowser::OnCreateOperate(const QString &szId)
81{
82 if(Id() == szId)
83 return new COperateWebBrowser(this);
84 return nullptr;
85}
86
87const 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
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
117{
118 return CPlugin::CreateOperate(szId, para);
119}
Operate interface.
Definition Operate.h:51
Global parameters of plugins.
virtual const QString Name() const override
This name must be the same as the project name (${PROJECT_NAME}). The translation file (${PROJECT_NAM...
virtual Q_INVOKABLE QWidget * GetSettingsWidget(QWidget *parent) override
Get the widget to set global parameters for the plugin.
virtual Q_INVOKABLE COperate * CreateOperate(const QString &szId, CParameterPlugin *para)
New COperate instance.
virtual const QString Protocol() const override
Plugin Protocol.
virtual const QString Description() const override
Plugin description.
virtual const QString DisplayName() const override
The plugin display name.
virtual const QString Version() const override
Version.
virtual const QString Details() const override
Display more information in About dialog or log.
Plugin interface.
Definition Plugin.h:15
virtual const QString Id() const
ID. Default: Type() + ":" + Protocol() + ":" + Name().
Definition Plugin.cpp:71
virtual Q_INVOKABLE COperate * CreateOperate(const QString &szId, CParameterPlugin *para)
New COperate instance.
Definition Plugin.cpp:82