玉兔远程控制 0.1.0-bate5
载入中...
搜索中...
未找到
mainwindow.h
1// Author: Kang Lin <kl222@126.com>
2
3#ifndef MAINWINDOW_H
4#define MAINWINDOW_H
5
6#include <QMainWindow>
7#include <QKeyEvent>
8#include <QTabWidget>
9#include <QActionGroup>
10#include <QToolButton>
11#include <QSpinBox>
12#include <QDockWidget>
13#include <QSystemTrayIcon>
14#include <QLabel>
15
16#include "View.h"
17#include "Manager.h"
18#include "RabbitRecentMenu.h"
19#include "ParameterApp.h"
20#include "FrmListRecent.h"
21#include "FavoriteView.h"
22#include "FrmActive.h"
23
24QT_BEGIN_NAMESPACE
25namespace Ui { class MainWindow; }
26QT_END_NAMESPACE
27
29
34class MainWindow : public QMainWindow, CManager::Handle
35{
36 Q_OBJECT
37
38public:
39 explicit MainWindow(QWidget *parent = nullptr);
40 virtual ~MainWindow() override;
41public:
43 void slotInitial();
44
45Q_SIGNALS:
46 void sigFullScreen(bool bFullScreen);
47 void sigShowNormal();
48
49private Q_SLOTS:
50 void on_actionExit_E_triggered();
51 void on_actionAbout_triggered();
52 void on_actionUpdate_triggered();
53
55 void slotUpdateParameters(COperate* pOperate);
56 void on_actionClone_triggered();
57 void on_actionOpenRRCFile_triggered();
58 void slotOpenFile(const QString& szFile, bool bOpenSettings = false);
59 void slotStart();
60 void slotRunning();
61private:
62 int Start(COperate* pOperate, bool set, QString szFile = QString());
63 int LoadOperateLasterClose();
64 int SaveOperateLasterClose();
65public:
66 virtual int onProcess(const QString &id, CPlugin *pPlugin) override;
67 [[nodiscard]] QAction* GetStartAction(QMenu *pMenu, CPlugin* pPlug);
68private Q_SLOTS:
69 void slotStartByType();
70private:
71 CManager m_Manager;
72 QVector<COperate*> m_Operates;
73 QMap<CPlugin::TYPE, QMenu*> m_MenuStartByType;
74
75private Q_SLOTS:
76 void slotMenuActivity();
77private:
78 QActionGroup* m_pMenuActivityGroup;
79 QToolButton* m_ptbMenuActivity;
80private Q_SLOTS:
81 void slotLoadOperateMenu();
82 void slotCustomContextMenuRequested(const QPoint &pos);
83Q_SIGNALS:
84 void sigOperateMenuChanged(QAction* pAction);
85
86public:
87 QAction* m_pActionOperateMenu;
88 QAction* m_pActionTBOperate;
89 QToolButton* m_pTBOperate;
90
92private Q_SLOTS:
93 void on_actionStop_triggered();
94 void slotCloseView(const QWidget* pView);
95 void slotStop();
96 void slotFinished();
97 void slotError(const int nError, const QString &szInfo);
108 virtual void slotShowMessageBox(const QString& title, const QString& message,
109 const QMessageBox::Icon& icon);
118 void slotInformation(const QString& szInfo);
119 void slotUpdateName(const QString& szName);
120 void slotUpdateName();
121
122 void on_actionSettings_triggered();
123 void slotShortCut();
124
126private:
127 enum class MessageLevel {
128 Normal,
129 Error,
130 Warning
131 };
132private Q_SLOTS:
133 void slotStatusMessage(QString szMessage, MessageLevel level = MessageLevel::Normal);
134private:
135 QLabel m_StatusBarMessage;
136
138private Q_SLOTS:
139 void slotTimeOut();
140private:
141 QTimer m_Timer;
142 QLabel m_TotalSends;
143 QLabel m_TotalReceives;
144 QLabel m_SendRate;
145 QLabel m_ReceivesRate;
146 void SetStatsVisible(bool visible);
147 void StartTimer();
148
150private:
151 QLabel* m_pSecureLevel;
152 void SetSecureLevel(COperate *o);
153
155private:
156 QPushButton* m_pSignalStatus;
157private Q_SLOTS:
158 void slotSignalConnected();
159 void slotSignalDisconnected();
160 void slotSignalError(const int nError, const QString &szInfo);
161 void slotSignalPushButtonClicked(bool checked);
162
163protected:
164 virtual void keyReleaseEvent(QKeyEvent *event) override;
165 virtual void closeEvent(QCloseEvent *event) override;
166
168private:
169 Ui::MainWindow *ui;
170 CView* m_pView;
171 QAction* m_pToolBarMenuAction;
172 void EnableMenu(bool bEnable);
173
174private Q_SLOTS:
175 void on_actionTabBar_B_toggled(bool bShow);
176 void on_actionMain_menu_bar_M_toggled(bool checked);
177 void on_actionToolBar_T_toggled(bool checked);
178 void on_actionStatus_bar_S_toggled(bool checked);
179
181private:
182 struct _FullState {
183 bool statusbar;
184 bool toolBar;
185 bool menubar;
186 bool dockListRecent;
187 bool dockListActive;
188 bool dockFavorite;
189 bool dockDebugLog;
190 };
191 struct _FullState m_FullState;
192 CFrmFullScreenToolBar* m_pFullScreenToolBar;
194private Q_SLOTS:
195 void on_actionFull_screen_F_triggered();
196
198private Q_SLOTS:
199 void slotCurrentViewChanged(const QWidget* pView);
200 void slotViewerFocusIn(QWidget* pView);
201 void slotOperateChanged(COperate* o);
202 void on_actionViewTab_triggered();
203 void on_actionViewSplit_triggered();
204private:
205 void SetView(CView* pView);
206
208private Q_SLOTS:
209 void on_actionLayoutDefault_triggered();
210 void on_actionLayoutSimple_triggered();
211 void on_actionLayoutMinimalism_triggered();
212
214private:
215 RabbitCommon::CRecentMenu* m_pRecentMenu;
216
218private:
219 QDockWidget* m_pDockListRecent;
220 CFrmListRecent* m_pListRecent;
221private Q_SLOTS:
222 void on_actionOpenListRecent_triggered();
223
224private:
225 QDockWidget* m_pDockActive;
226 CFrmActive* m_pFrmActive;
227
229private:
230 QDockWidget* m_pDockFavorite;
231 CFavoriteView* m_pFavoriteView;
232private Q_SLOTS:
233 void on_actionAdd_to_favorite_triggered();
234
235private:
236 CParameterApp m_Parameter;
237
239protected:
240 virtual void dragEnterEvent(QDragEnterEvent *event) override;
241 virtual void dragMoveEvent(QDragMoveEvent *event) override;
242 virtual void dropEvent(QDropEvent *event) override;
243private:
244 QPoint m_DragStartPosition;
245
247private Q_SLOTS:
248 void slotSystemTrayIconActivated(QSystemTrayIcon::ActivationReason reason);
249 void slotSystemTrayIconTypeChanged();
250 void slotEnableSystemTrayIcon();
251
252 void on_actionUser_manual_triggered();
253
254private:
255 QSharedPointer<QSystemTrayIcon> m_TrayIcon;
256};
257
258#endif // MAINWINDOW_H
列出存在的连接配置
处理连接者。用于客户端得到连接者信号
Definition Manager.h:147
管理插件
Definition Manager.h:45
操作接口。
Definition Operate.h:51
插件接口
Definition Plugin.h:15
The CView class
Definition View.h:25
The MainWindow class
Definition mainwindow.h:35
int Start(COperate *pOperate, bool set, QString szFile=QString())
Start
virtual int onProcess(const QString &id, CPlugin *pPlugin) override
Process plugins
void slotInitial()
For time-consuming operations
void slotInformation(const QString &szInfo)
显示信息。暂时在状态栏显示。
virtual void slotShowMessageBox(const QString &title, const QString &message, const QMessageBox::Icon &icon)
用消息对话框(QMessageBox)显示信息
void slotRunning()
[MainWindow slotRunning]
void slotCloseView(const QWidget *pView)
[MainWindow slotRunning]
void slotCustomContextMenuRequested(const QPoint &pos)
MainWindow::slotCustomContextMenuRequested