玉兔远程控制 0.1.0-bate6
载入中...
搜索中...
未找到
FavoriteView.h
1// Author: Kang Lin <kl222@126.com>
2
3#pragma once
4
5#include <QTreeView>
6#include <QStandardItem>
7
8#include "TitleBar.h"
9#include "FavoriteDatabase.h"
10#include "FavoriteModel.h"
11#include "ParameterApp.h"
12
13class CFavoriteView : public QWidget
14{
15 Q_OBJECT
16
17public:
18 explicit CFavoriteView(CParameterApp* pPara, QWidget *parent = nullptr);
19 virtual ~CFavoriteView();
20
21 void Initial();
22 RabbitCommon::CTitleBar* m_pDockTitleBar;
23public Q_SLOTS:
24 void slotAddToFavorite(const QString &szFile,
25 const QString& szName,
26 const QString& szDescription,
27 const QIcon& icon);
28 void slotUpdateFavorite(const QString &szFile,
29 const QString& szName = QString(),
30 const QString& szDescription = QString(),
31 const QIcon& icon = QIcon());
32 virtual bool eventFilter(QObject *watched, QEvent *event) override;
33
34Q_SIGNALS:
35 void sigStart(const QString &szFile, bool bOpenSettings);
36 void sigFavorite();
37
38 // QWidget interface
39protected:
40 virtual void dragEnterEvent(QDragEnterEvent *event) override;
41 virtual void dragMoveEvent(QDragMoveEvent *event) override;
42 virtual void dropEvent(QDropEvent *event) override;
43/*
44 virtual void mousePressEvent(QMouseEvent *event) override;
45 virtual void mouseMoveEvent(QMouseEvent *event) override;
46 */
47private slots:
48 void slotFavrtieClicked(const QModelIndex &index);
49 void slotFavortiedoubleClicked(const QModelIndex &index);
50 void slotCustomContextMenu(const QPoint &pos);
51 void slotStart();
52 void slotOpenStart();
53 void slotEdit();
54 void slotDelete();
55 void slotNewGroup();
56 void slotDoubleEditNode(bool bEdit);
57 void slotMenu();
58 void slotImport();
59 void slotExport();
60 void slotRefresh();
61
62private:
63 void setupUI();
64 void setupToolBar(QLayout* layout);
65 void setupTreeView(QLayout* layout);
66 void EnableAction(const QModelIndex& index = QModelIndex());
67
68private:
69 CParameterApp* m_pParaApp;
70 QTreeView* m_pTreeView;
71 CFavoriteModel* m_pModel;
72 CFavoriteDatabase* m_pDatabase;
73 QAction *m_pStartAction;
74 QAction *m_pEidtStartAction;
75 QAction *m_pAddFolderAction;
76 QAction *m_pEditAction;
77 QAction *m_pDeleteAction;
78 QAction *m_pImportAction;
79 QAction *m_pExportAction;
80 QAction* m_pRefresh;
81 QAction* m_pShowToolbar;
82
83 QMenu* m_pMenu;
84 QPoint m_DragStartPosition;
85};