16class RecentProjectsModel :
public QAbstractListModel
23 enum RecentProjectRoles
25 NameRole = Qt::UserRole + 1,
30 explicit RecentProjectsModel (
32 QObject * parent =
nullptr);
34 int rowCount (
const QModelIndex &parent = QModelIndex ())
const override;
36 data (
const QModelIndex &index,
int role = Qt::DisplayRole)
const override;
37 QHash<int, QByteArray> roleNames ()
const override;
39 Q_INVOKABLE
void addRecentProject (
const QString &path);
40 Q_INVOKABLE
void removeRecentProject (
const QString &path);
41 Q_INVOKABLE
void clearRecentProjects ();
44 std::vector<std::unique_ptr<ProjectInfo>> get_recent_projects ()
const;
45 void store_recent_projects (
const QStringList &list);
47 static constexpr int MAX_RECENT_DOCUMENTS = 12;