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