玉兔远程控制
0.1.0-bate11
Toggle main menu visibility
载入中...
搜索中...
未找到
Plugins
WebBrowser
OperateWebBrowser.cpp
1
// Author: Kang Lin <kl222@126.com>
2
3
#include <QLoggingCategory>
4
#include <DlgSettings.h>
5
#include "Plugin.h"
6
#include "ParameterGlobal.h"
7
#include "OperateWebBrowser.h"
8
9
static
Q_LOGGING_CATEGORY(log,
"WebBrowser.Operate"
)
10
COperateWebBrowser
::
COperateWebBrowser
(
CPlugin
*plugin):
COperate
(plugin)
11
, m_pWeb(
nullptr
)
12
{
13
qDebug(log) << Q_FUNC_INFO;
14
}
15
16
COperateWebBrowser::~COperateWebBrowser()
17
{
18
qDebug(log) << Q_FUNC_INFO;
19
}
20
21
const
QString
COperateWebBrowser::Name
()
22
{
23
QString szName;
24
szName = m_Parameter.GetName();
25
if
(szName.isEmpty()) {
26
if
(m_pWeb)
27
szName = m_pWeb->windowTitle();
28
}
29
if
(szName.isEmpty())
30
szName =
COperate::Name
();
31
return
szName;
32
}
33
34
const
QIcon
COperateWebBrowser::Icon
()
const
35
{
36
QIcon icon;
37
if
(m_pWeb)
38
icon = m_pWeb->windowIcon();
39
if
(icon.isNull())
40
icon =
COperate::Icon
();
41
return
icon;
42
}
43
44
const
qint16
COperateWebBrowser::Version
()
const
45
{
46
return
0;
47
}
48
49
QWidget *
COperateWebBrowser::GetViewer
()
50
{
51
return
m_pWeb;
52
}
53
54
QMenu*
COperateWebBrowser::GetMenu
(QWidget *parent)
55
{
56
if
(m_pWeb)
57
return
m_pWeb->GetMenu(parent);
58
return
COperate::GetMenu
(parent);
59
}
60
61
int
COperateWebBrowser::SetPluginParameters
(
CParameterPlugin
*pPara)
62
{
63
int
nRet = 0;
64
m_Parameter.SetPluginParameters(pPara);
65
return
nRet;
66
}
67
68
QDialog *
COperateWebBrowser::OnOpenDialogSettings
(QWidget *parent)
69
{
70
qDebug(log) << Q_FUNC_INFO;
71
return
new
CDlgSettings
(m_pWeb->GetProfile(), &m_Parameter, parent);
72
}
73
74
int
COperateWebBrowser::Initial
()
75
{
76
qDebug(log) << Q_FUNC_INFO;
77
int
nRet =
COperate::Initial
();
78
if
(nRet)
return
nRet;
79
QMenu* pMenu = &m_Menu;
80
81
m_pWeb =
new
CFrmWebBrowser
(&m_Parameter);
82
if
(m_pWeb) {
83
pMenu = m_pWeb->GetMenu();
84
pMenu->setIcon(
GetPlugin
()->
Icon
());
85
pMenu->setTitle(tr(
"\"%1\" operations"
).arg(
GetPlugin
()->DisplayName()));
86
pMenu->setToolTip(pMenu->title());
87
pMenu->setStatusTip(pMenu->title());
88
m_pWeb->setWindowIcon(
COperate::Icon
());
89
bool
check = connect(m_pWeb, &CFrmWebBrowser::sigInformation,
90
this
, &
COperateWebBrowser::sigInformation
);
91
Q_ASSERT(check);
92
check = connect(m_pWeb, &CFrmWebBrowser::sigError,
93
this
, &
COperateWebBrowser::sigError
);
94
Q_ASSERT(check);
95
check = connect(m_pWeb, &
CFrmWebBrowser::sigUpdateTitle
,
96
this
, &COperateWebBrowser::slotUpdateName);
97
Q_ASSERT(check);
98
check = connect(m_pWeb, &CFrmWebBrowser::sigFullScreen,
99
this
, &
COperateWebBrowser::sigFullScreen
);
100
Q_ASSERT(check);
101
}
102
if
(pMenu) {
103
pMenu->addSeparator();
104
if
(m_pActionSettings)
105
pMenu->addAction(m_pActionSettings);
106
}
107
return
nRet;
108
}
109
110
int
COperateWebBrowser::Clean
()
111
{
112
qDebug(log) << Q_FUNC_INFO;
113
int
nRet = 0;
114
if
(m_pWeb) {
115
m_pWeb->deleteLater();
116
m_pWeb =
nullptr
;
117
}
118
return
nRet;
119
}
120
121
int
COperateWebBrowser::Start
()
122
{
123
qDebug(log) << Q_FUNC_INFO;
124
int
nRet = 0;
125
if
(m_pWeb)
126
nRet = m_pWeb->Start();
127
if
(!nRet)
128
emit
sigRunning
();
129
return
nRet;
130
}
131
132
int
COperateWebBrowser::Stop
()
133
{
134
qDebug(log) << Q_FUNC_INFO;
135
int
nRet = 0;
136
if
(m_pWeb)
137
nRet = m_pWeb->Stop();
138
emit
sigFinished
();
139
return
nRet;
140
}
141
142
int
COperateWebBrowser::Load
(QSettings &set)
143
{
144
int
nRet = 0;
145
nRet = m_Parameter.Load(set);
146
if
(m_pWeb)
147
nRet = m_pWeb->Load(set);
148
return
nRet;
149
}
150
151
int
COperateWebBrowser::Save
(QSettings &set)
152
{
153
int
nRet = 0;
154
nRet = m_Parameter.Save(set);
155
if
(m_pWeb)
156
nRet = m_pWeb->Save(set);
157
return
nRet;
158
}
CDlgSettings
定义
DlgSettings.h:17
CFrmWebBrowser
定义
FrmWebBrowser.h:21
CFrmWebBrowser::sigUpdateTitle
void sigUpdateTitle()
Title or icon changed
COperateWebBrowser
定义
OperateWebBrowser.h:10
COperateWebBrowser::Version
virtual const qint16 Version() const override
版本
定义
OperateWebBrowser.cpp:44
COperateWebBrowser::Initial
virtual int Initial() override
Initial parameters and resource
定义
OperateWebBrowser.cpp:74
COperateWebBrowser::Clean
virtual int Clean() override
Clean parameters and resource
定义
OperateWebBrowser.cpp:110
COperateWebBrowser::Start
virtual int Start() override
开始
定义
OperateWebBrowser.cpp:121
COperateWebBrowser::Name
virtual const QString Name() override
名称
定义
OperateWebBrowser.cpp:21
COperateWebBrowser::GetViewer
virtual QWidget * GetViewer() override
得到显示视图
定义
OperateWebBrowser.cpp:49
COperateWebBrowser::Save
virtual int Save(QSettings &set) override
保存参数
定义
OperateWebBrowser.cpp:151
COperateWebBrowser::Load
virtual int Load(QSettings &set) override
加载参数
定义
OperateWebBrowser.cpp:142
COperateWebBrowser::OnOpenDialogSettings
virtual QDialog * OnOpenDialogSettings(QWidget *parent) override
得到设置对话框
定义
OperateWebBrowser.cpp:68
COperateWebBrowser::GetMenu
virtual QMenu * GetMenu(QWidget *parent=nullptr) override
Get menu
定义
OperateWebBrowser.cpp:54
COperateWebBrowser::Stop
virtual int Stop() override
关闭
定义
OperateWebBrowser.cpp:132
COperateWebBrowser::SetPluginParameters
virtual int SetPluginParameters(CParameterPlugin *pPara) override
应用插件全局参数
定义
OperateWebBrowser.cpp:61
COperateWebBrowser::Icon
virtual const QIcon Icon() const override
图标
定义
OperateWebBrowser.cpp:34
COperate
操作接口。
定义
Operate.h:51
COperate::sigInformation
void sigInformation(const QString &szInfo)
中主窗口中显示信息
COperate::sigFinished
void sigFinished()
断开连接成功信号。仅由插件触发
COperate::Icon
virtual const QIcon Icon() const
图标
定义
Operate.cpp:92
COperate::sigRunning
void sigRunning()
开始成功信号。仅由插件触发。
COperate::sigFullScreen
void sigFullScreen(bool bFullScreen)
全屏。由操作触发
COperate::sigError
void sigError(const int nError, const QString &szError)
当有错误产生时触发。
COperate::Initial
virtual Q_INVOKABLE int Initial()
Initial parameters and resource
定义
Operate.cpp:190
COperate::GetPlugin
Q_INVOKABLE CPlugin * GetPlugin() const
Get plugin
定义
Operate.cpp:221
COperate::Name
virtual const QString Name()
名称
定义
Operate.cpp:46
COperate::GetMenu
virtual QMenu * GetMenu(QWidget *parent=nullptr)
Get menu
定义
Operate.cpp:117
CParameterPlugin
插件的全局参数。
定义
ParameterPlugin.h:36
CPlugin
插件接口
定义
Plugin.h:15
作者:康林 (kl222@126.com)
版权所有(c) 康林工作室 保留所有权力