玉兔远程控制 0.1.0-bate9
载入中...
搜索中...
未找到
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
9static Q_LOGGING_CATEGORY(log, "WebBrowser.Operate")
11 , m_pWeb(nullptr)
12{
13 qDebug(log) << Q_FUNC_INFO;
14}
15
16COperateWebBrowser::~COperateWebBrowser()
17{
18 qDebug(log) << Q_FUNC_INFO;
19}
20
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
34const 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
44const qint16 COperateWebBrowser::Version() const
45{
46 return 0;
47}
48
50{
51 return m_pWeb;
52}
53
54QMenu* COperateWebBrowser::GetMenu(QWidget *parent)
55{
56 if(m_pWeb)
57 return m_pWeb->GetMenu(parent);
58 return COperate::GetMenu(parent);
59}
60
62{
63 int nRet = 0;
64 m_Parameter.SetPluginParameters(pPara);
65 return nRet;
66}
67
69{
70 qDebug(log) << Q_FUNC_INFO;
71 return new CDlgSettings(m_pWeb->GetProfile(), &m_Parameter, parent);
72}
73
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(GetPlugin()->DisplayName());
86 pMenu->setToolTip(GetPlugin()->DisplayName());
87 pMenu->setStatusTip(GetPlugin()->DisplayName());
88 m_pWeb->setWindowIcon(COperate::Icon());
89 bool check = connect(m_pWeb, &CFrmWebBrowser::sigInformation,
91 Q_ASSERT(check);
92 check = connect(m_pWeb, &CFrmWebBrowser::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,
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
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
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
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
142int 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
151int 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}
void sigUpdateTitle()
Title or icon changed
virtual const qint16 Version() const override
版本
virtual int Initial() override
Initial parameters and resource
virtual int Clean() override
Clean parameters and resource
virtual int Start() override
开始
virtual const QString Name() override
名称
virtual QWidget * GetViewer() override
得到显示视图
virtual int Save(QSettings &set) override
保存参数
virtual int Load(QSettings &set) override
加载参数
virtual QDialog * OnOpenDialogSettings(QWidget *parent) override
得到设置对话框
virtual QMenu * GetMenu(QWidget *parent=nullptr) override
Get menu
virtual int Stop() override
关闭
virtual int SetPluginParameters(CParameterPlugin *pPara) override
应用插件全局参数
virtual const QIcon Icon() const override
图标
操作接口。
Definition Operate.h:51
void sigInformation(const QString &szInfo)
中主窗口中显示信息
void sigFinished()
断开连接成功信号。仅由插件触发
virtual const QIcon Icon() const
图标
Definition Operate.cpp:92
void sigRunning()
开始成功信号。仅由插件触发。
void sigFullScreen(bool bFullScreen)
全屏。由操作触发
void sigError(const int nError, const QString &szError)
当有错误产生时触发。
virtual Q_INVOKABLE int Initial()
Initial parameters and resource
Definition Operate.cpp:190
Q_INVOKABLE CPlugin * GetPlugin() const
Get plugin
Definition Operate.cpp:219
virtual const QString Name()
名称
Definition Operate.cpp:46
virtual QMenu * GetMenu(QWidget *parent=nullptr)
Get menu
Definition Operate.cpp:117
插件的全局参数。
virtual int Save(QString szFile=QString(), bool bForce=true)
Save to file
Definition Parameter.cpp:47
virtual int Load(QString szFile=QString())
Load from file
Definition Parameter.cpp:35
插件接口
Definition Plugin.h:15