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