QTfrontend/model/themesmodel.cpp
changeset 6061 15b4b485a1c5
parent 6060 fdfc01419815
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/QTfrontend/model/themesmodel.cpp	Wed Sep 28 19:48:02 2011 +0200
@@ -0,0 +1,49 @@
+
+#include "themesmodel.h"
+
+ThemesModel::ThemesModel(QStringList themes, QObject *parent) :
+    QAbstractListModel(parent)
+{
+#if QT_VERSION >= QT_VERSION_CHECK(4, 7, 0)
+    m_data.reserve(themes.size());
+#endif
+
+    foreach(QString theme, themes)
+    {
+        m_data.append(QHash<int, QVariant>());
+        m_data.last().insert(Qt::DisplayRole, theme);
+    }
+}
+
+int ThemesModel::rowCount(const QModelIndex &parent) const
+{
+    if(parent.isValid())
+        return 0;
+    else
+        return m_data.size();
+}
+
+QVariant ThemesModel::data(const QModelIndex &index, int role) const
+{
+    if(index.column() > 0 || index.row() >= m_data.size())
+        return QVariant();
+    else
+        return m_data.at(index.row()).value(role);
+}
+
+bool ThemesModel::setData(const QModelIndex &index, const QVariant &value, int role)
+{
+    if(index.column() > 0 || index.row() >= m_data.size())
+        return false;
+    else
+    {
+        m_data[index.row()].insert(role, value);
+
+        return true;
+    }
+
+}
+
+
+
+