From d24f813f3f2a05c112e803e4256b53535895fc98 Mon Sep 17 00:00:00 2001 From: Jedidiah Barber Date: Wed, 14 Jul 2021 11:49:10 +1200 Subject: Initial mirror commit --- src/main-view/RecentFilesManager.h | 43 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 src/main-view/RecentFilesManager.h (limited to 'src/main-view/RecentFilesManager.h') diff --git a/src/main-view/RecentFilesManager.h b/src/main-view/RecentFilesManager.h new file mode 100644 index 0000000..7988a0e --- /dev/null +++ b/src/main-view/RecentFilesManager.h @@ -0,0 +1,43 @@ +#ifndef RECENT_FILES_MANAGER_H +#define RECENT_FILES_MANAGER_H + +#include +#include + +class RecentFilesManager: public QObject +{ + Q_OBJECT + +public: + RecentFilesManager(QObject* parent, QMenu* recentFilesMenu); + void createRecentFileActs(const QStringList& recentFiles); + void addFile( const QString& filePath); + QString getLastUsedFilePath() const; + QStringList getFiles() const; + +private: + static QString getShortFileName(const QString& filePath) + { return QFileInfo(filePath).fileName(); } + static QString getActionFile(QAction* action); + +private: + QAction* createRecentFileAction(const QString& filePath); + void updateActionTexts(); + QString getShortDirPath(const QString& filePath) const; + void addRecentFileAction(const QString& filePath); + +private slots: + void triggerRecentFile(); + +signals: + void recentFileTriggered(const QString& filePath); + void addedFile(); + +private: + static const int MaxRecentFiles = 10; + static const int MaxPathLength = 300; + +private: + QMenu* recentFilesMenu; +}; +#endif -- cgit