xref: /glogg/src/recentfiles.h (revision c633ced33b4f2c2cf77c0c80a15fa73a7f13ad9f)
1 /*
2  * Copyright (C) 2011 Nicolas Bonnefon and other contributors
3  *
4  * This file is part of glogg.
5  *
6  * glogg is free software: you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation, either version 3 of the License, or
9  * (at your option) any later version.
10  *
11  * glogg is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with glogg.  If not, see <http://www.gnu.org/licenses/>.
18  */
19 
20 #ifndef RECENTFILES_H
21 #define RECENTFILES_H
22 
23 #include <QString>
24 #include <QStringList>
25 
26 #include "persistable.h"
27 
28 // Manage the list of recently opened files
29 class RecentFiles : public Persistable
30 {
31   public:
32     // Creates an empty set of recent files
33     RecentFiles();
34 
35     // Adds the passed filename to the list of recently used searches
36     void addRecent( const QString& text );
37 
38     // Returns a list of recent files (latest loaded first)
39     QStringList recentFiles() const;
40 
41     // Reads/writes the current config in the QSettings object passed
42     virtual void saveToStorage( QSettings& settings ) const;
43     virtual void retrieveFromStorage( QSettings& settings );
44 
45   private:
46     static const int RECENTFILES_VERSION;
47     static const int MAX_NUMBER_OF_FILES;
48 
49     QStringList recentFiles_;
50 };
51 
52 #endif
53