XX CMake Package
Loading...
Searching...
No Matches
XXRecentFiles.h
Go to the documentation of this file.
1#ifndef XXRecentFilesH
2#define XXRecentFilesH
3
5
6#include <QMenu>
7#include <QWidget>
8
9namespace XX
10{
13
15 {
16 public:
17 using LoadFunction = std::function<void(const QString& fileName)>;
18
19 public:
20 RecentFiles(QWidget* parent, const QString& settingsKey, const QString& menuObjectName);
21
22 public:
23 void setup(LoadFunction loadFunction, int maxEntries = 10);
24
25 template <typename TargetClass>
26 void setup(TargetClass* instance, void (TargetClass::*memberFunction)(const QString&), int maxEntries = 10);
27
28 void clear();
29 void add(const QString& fileName);
30
31 private:
32 void prepareMenu();
33
34 private:
35 const QString settingsKey;
36 LoadFunction loadFunction;
37 int maxEntries;
38 QStringList fileNameList;
39 QMenu* menu;
40 };
41} // namespace XX
42
43#ifndef XXRecentFilesHPP
44#include "XXRecentFiles.hpp"
45#endif // NOT XXRecentFilesHPP
46
47#endif // NOT XXRecentFilesH
#define XXAPPLICATION_DECLSPEC
Definition XXApplicationExportDef.h:11
void add(const QString &fileName)
RecentFiles(QWidget *parent, const QString &settingsKey, const QString &menuObjectName)
void setup(TargetClass *instance, void(TargetClass::*memberFunction)(const QString &), int maxEntries=10)
void setup(LoadFunction loadFunction, int maxEntries=10)
std::function< void(const QString &fileName)> LoadFunction
Definition XXRecentFiles.h:17
Definition XXPopulatedAbstract.h:11