玉兔远程控制 0.1.0-bate8
载入中...
搜索中...
未找到
FrmRecent.h
1// Author: Kang Lin <kl222@126.com>
2
3#pragma once
4
5#include <QWidget>
6#include <QStandardItemModel>
7#include <QToolBar>
8#include <QTableView>
9#include <QToolButton>
10#include "Manager.h"
11#include "TitleBar.h"
12#include "ParameterApp.h"
13#include "RecentModel.h"
14
15class MainWindow;
16
22class CFrmRecent : public QWidget, CManager::Handle
23{
24 Q_OBJECT
25
26public:
27 explicit CFrmRecent(MainWindow* pMainWindow, CManager* pManager,
28 CParameterApp &parameterApp,
29 bool bDock = false, QWidget *parent = nullptr);
30 virtual ~CFrmRecent();
31
32public:
33 virtual int onProcess(const QString &id, CPlugin *pPlugin) override;
34
35 RabbitCommon::CTitleBar* m_pDockTitleBar;
36
37 [[nodiscard]] int Initial();
38 int AddRecent(const CRecentDatabase::RecentItem &item);
39 bool UpdateRecent(const CRecentDatabase::RecentItem &item);
40 QList<CRecentDatabase::RecentItem> GetRecents(int limit = -1, int offset = 0);
41
42public Q_SLOTS:
43 void slotRefresh();
44
45Q_SIGNALS:
46 void sigStart(const QString &szFile, bool bOpenSettings = false);
47 void sigAddToFavorite(const QString &szFile,
48 const QString& szName,
49 const QString& szDescription,
50 const QIcon& icon);
61 virtual void sigShowMessageBox(const QString& title, const QString& message,
62 const QMessageBox::Icon& icon);
63
64private slots:
65 void slotEditConnect();
66 void slotNew();
67 void slotEdit();
68 void slotCopy();
69 void slotDelete();
70 void slotDetail();
71 void slotStart();
72 void slotCustomContextMenu(const QPoint &pos);
73 void slotDoubleClicked(const QModelIndex& index);
74 void slotStartByType();
75 void slotAddToFavorite();
76 void slotExport();
77 void slotImport();
78
79private:
80 int InsertItem(COperate* c, QString &szFile);
81 QList<QStandardItem*> GetItem(COperate* c, QString &szFile);
82
83private:
84 MainWindow* m_pMainWindow;
85 QMap<CPlugin::TYPE, QMenu*> m_MenuStartByType;
86 CParameterApp &m_ParameterApp;
87 QToolBar* m_pToolBar;
88 QToolButton* m_ptbOperate;
89 QMenu* m_pMenuNew;
90 QAction* m_pStart;
91 QAction* m_pEditOperate;
92 QAction* m_pEdit;
93 QAction* m_pCopy;
94 QAction* m_pDelete;
95 QAction* m_pDetail;
96 QAction* m_pRefresh;
97 QAction* m_pAddToFavorite;
98 QAction* m_pExport;
99 QAction* m_pImport;
100
101 QTableView* m_pTableView;
102 CRecentDatabase m_Database;
103 CRecentModel* m_pModel;
104 CManager* m_pManager;
105 bool m_bDock;
106
107private:
108 void InitialDrop();
109 virtual void dragEnterEvent(QDragEnterEvent *event) override;
110 virtual void dragMoveEvent(QDragMoveEvent *event) override;
111 virtual void dropEvent(QDropEvent *event) override;
112
113 // QObject interface
114public:
115 virtual bool eventFilter(QObject *watched, QEvent *event) override;
116};
列出存在的连接配置
Definition FrmRecent.h:23
virtual void sigShowMessageBox(const QString &title, const QString &message, const QMessageBox::Icon &icon)
用消息对话框(QMessageBox)显示信息
virtual int onProcess(const QString &id, CPlugin *pPlugin) override
Process plugins
处理连接者。用于客户端得到连接者信号
Definition Manager.h:171
管理插件
Definition Manager.h:48
操作接口。
Definition Operate.h:51
插件接口
Definition Plugin.h:15
The CRecentDatabase class
The MainWindow class
Definition mainwindow.h:36