QTfrontend/model/themesmodel.cpp
author nemo
Fri, 23 Mar 2012 18:20:59 -0400
changeset 6810 5337f554480e
parent 6061 15b4b485a1c5
permissions -rw-r--r--
This has bugged me for a while. Since we are missing the source SVGs for this theme, removed the leaves crudely in GIMP. Also added some basic roots. Someone more artistic is encouraged to try and improve it.


#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;
    }

}