Added history
[mdictionary] / trunk / src / includes / History.h
diff --git a/trunk/src/includes/History.h b/trunk/src/includes/History.h
new file mode 100644 (file)
index 0000000..ac0b1bf
--- /dev/null
@@ -0,0 +1,63 @@
+/*******************************************************************************
+
+    This file is part of mDictionary.
+
+    mDictionary is free software: you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    mDictionary is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with mDictionary.  If not, see <http://www.gnu.org/licenses/>.
+
+    Copyright 2010 Comarch S.A.
+
+*******************************************************************************/
+
+//Created by Mateusz Półrola
+
+#ifndef HISTORY_H
+#define HISTORY_H
+
+#include <QObject>
+#include <QVector>
+#include <QStringList>
+
+class History : public QObject
+{
+    Q_OBJECT
+public:
+    explicit History(QObject *parent = 0);
+
+Q_SIGNALS:
+    void historyChanged(bool prevAvailable,
+                        bool nextAvailable,
+                        bool listAvailable);
+
+public:
+    void add(QString);
+    QString previous();
+    QString next();
+    QStringList list();
+
+    bool prevAvailable();
+    bool nextAvailable();
+    bool listAvailable();
+
+    void setCurrentElement(int element);
+
+private:
+    QVector<QString> _history;
+    int _maxSize;
+    int currentElement;
+    bool _prevAvailable;
+    bool _nextAvailable;
+    bool _listAvailable;
+};
+
+#endif // HISTORY_H