玉兔远程控制 0.1.0-bate6
载入中...
搜索中...
未找到
RecentModel.h
1// Author: Kang Lin <kl222@126.com>
2
3#pragma once
4
5#include <QVector>
6#include <QAbstractTableModel>
7#include "RecentDatabase.h"
8
9class CParameterApp;
10class CRecentModel : public QAbstractTableModel
11{
12 Q_OBJECT
13
14public:
15 explicit CRecentModel(CParameterApp* pPara, CRecentDatabase* pDb, QObject *parent = nullptr);
16
17 virtual Qt::ItemFlags flags(const QModelIndex &index) const override;
18 QVariant headerData(int section,
19 Qt::Orientation orientation,
20 int role = Qt::DisplayRole) const override;
21 int rowCount(const QModelIndex &parent = QModelIndex()) const override;
22 virtual int columnCount(const QModelIndex &parent) const override;
23 QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override;
24 virtual bool removeRows(int row, int count, const QModelIndex &parent) override;
25
26 void refresh(int limit = -1);
27 bool addItem(const CRecentDatabase::RecentItem &item);
28 CRecentDatabase::RecentItem getItem(const QModelIndex &index);
29
30 enum ColumnNo {
31 Name = 0,
32 Protocol,
33 Type,
34 Time,
35 ID,
36 File,
37 ColumnCount
38 };
39
40private:
41 CParameterApp* m_pParameterApp;
42 CRecentDatabase* m_pDatabase;
43 QVector<CRecentDatabase::RecentItem> m_Items;
44};