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