玉兔远程控制 0.1.0-bate8
载入中...
搜索中...
未找到
FavoriteView.h
1// Author: Kang Lin <kl222@126.com>
2
3#pragma once
4
5#include <QTreeView>
6#include <QStandardItem>
7#include <QMessageBox>
8
9#include "TitleBar.h"
10#include "FavoriteDatabase.h"
11#include "FavoriteModel.h"
12#include "ParameterApp.h"
13
19class CFavoriteView : public QWidget
20{
21 Q_OBJECT
22
23public:
24 explicit CFavoriteView(CParameterApp* pPara, QWidget *parent = nullptr);
25 virtual ~CFavoriteView();
26
27 [[nodiscard]] int Initial();
28 RabbitCommon::CTitleBar* m_pDockTitleBar;
29
30public Q_SLOTS:
31 void slotAddToFavorite(const QString &szFile,
32 const QString& szName,
33 const QString& szDescription,
34 const QIcon& icon);
35 void slotUpdateFavorite(const QString &szFile,
36 const QString& szName = QString(),
37 const QString& szDescription = QString(),
38 const QIcon& icon = QIcon());
39
40Q_SIGNALS:
41 void sigStart(const QString &szFile, bool bOpenSettings);
42 void sigFavorite();
53 virtual void sigShowMessageBox(const QString& title, const QString& message,
54 const QMessageBox::Icon& icon);
55private:
56 void InitialDragDrop();
57 virtual void dragEnterEvent(QDragEnterEvent *event) override;
58 virtual void dragMoveEvent(QDragMoveEvent *event) override;
59 virtual void dropEvent(QDropEvent *event) override;
60 virtual bool eventFilter(QObject *watched, QEvent *event) override;
61
62 virtual void mousePressEvent(QMouseEvent *event) override;
63 virtual void mouseMoveEvent(QMouseEvent *event) override;
64
65private slots:
66 void slotFavrtieClicked(const QModelIndex &index);
67 void slotFavortiedoubleClicked(const QModelIndex &index);
68 void slotCustomContextMenu(const QPoint &pos);
69 void slotStart();
70 void slotOpenStart();
71 void slotEdit();
72 void slotDelete();
73 void slotNewGroup();
74 void slotDoubleEditNode(bool bEdit);
75 void slotMenu();
76 void slotImport();
77 void slotExport();
78 void slotRefresh();
79
80private:
81 void setupUI();
82 void setupToolBar(QLayout* layout);
83 void setupTreeView(QLayout* layout);
84 void EnableAction(const QModelIndex& index = QModelIndex());
85
86private:
87 CParameterApp* m_pParaApp;
88 QTreeView* m_pTreeView;
89 CFavoriteModel* m_pModel;
90 CFavoriteDatabase* m_pDatabase;
91 QAction *m_pStartAction;
92 QAction *m_pEidtStartAction;
93 QAction *m_pAddFolderAction;
94 QAction *m_pEditAction;
95 QAction *m_pDeleteAction;
96 QAction *m_pImportAction;
97 QAction *m_pExportAction;
98 QAction* m_pRefresh;
99 QAction* m_pShowToolbar;
100
101 QMenu* m_pMenu;
102 QPoint m_DragStartPosition;
103};
The CFavoriteDatabase class
The CFavoriteView class
virtual void sigShowMessageBox(const QString &title, const QString &message, const QMessageBox::Icon &icon)
用消息对话框(QMessageBox)显示信息