#include "FieldsPreviewModel.h" #include "../dictionary/Field.h" #include "../field-styles/FieldStyle.h" #include "../field-styles/FieldStyleFactory.h" #include QVariant FieldsPreviewModel::data( const QModelIndex &index, int role ) const { if (!index.isValid()) return QVariant(); if (index.row() >= rowCount()) return QVariant(); Field* field = m_parent->m_dict.fields().value(index.row()); const FieldStyle fieldStyle = FieldStyleFactory::inst()->getStyle(field->style()); switch( role ) { case Qt::DisplayRole: return fieldStyle.prefix + field->name() + fieldStyle.suffix; case Qt::FontRole: return fieldStyle.font; case Qt::BackgroundRole: return QBrush( FieldStyleFactory::inst()->cardBgColor ); case Qt::ForegroundRole: return fieldStyle.color; case Qt::SizeHintRole: return QSize(0, 50); case Qt::TextAlignmentRole: return Qt::AlignCenter; default: return QVariant(); } }