2
* evopedia: An offline Wikipedia reader.
4
* Copyright (C) 2010-2011 evopedia developers
6
* This program 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.
11
* This program 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.
16
* You should have received a copy of the GNU General Public License
17
* along with this program. If not, see <http://www.gnu.org/licenses/>.
29
/* (language, date) uniquely identifies archive */
30
typedef QPair<QString, QString> ArchiveID;
32
class Archive : public QObject
40
explicit Archive(QObject *parent = 0);
42
const QString &getLanguage() const { return language; }
43
const QString &getDate() const { return date; }
44
const ArchiveID getID() const { return ArchiveID(language, date); }
46
virtual void saveToSettings(QSettings &settings) const { Q_UNUSED(settings); }
48
/* newer archives are "less" */
49
bool operator<(const Archive &other) const {
50
if (getLanguage() == other.getLanguage())
51
return getDate() > other.getDate();
53
return getLanguage() < other.getLanguage();
56
static bool comparePointers(const Archive *a, const Archive *b) {