From d24f813f3f2a05c112e803e4256b53535895fc98 Mon Sep 17 00:00:00 2001 From: Jedidiah Barber Date: Wed, 14 Jul 2021 11:49:10 +1200 Subject: Initial mirror commit --- src/settings/StylePreviewModel.cpp | 63 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 src/settings/StylePreviewModel.cpp (limited to 'src/settings/StylePreviewModel.cpp') diff --git a/src/settings/StylePreviewModel.cpp b/src/settings/StylePreviewModel.cpp new file mode 100644 index 0000000..e07c809 --- /dev/null +++ b/src/settings/StylePreviewModel.cpp @@ -0,0 +1,63 @@ +#include "StylePreviewModel.h" +#include "../field-styles/FieldStyleFactory.h" + +#include + +QVariant StylePreviewModel::data( const QModelIndex &index, int role ) const + { + if( !index.isValid()) + return QVariant(); + if( index.row() >= rowCount() || index.column() >= columnCount() ) + return QVariant(); + + QString styleName = m_parent->styleFactory()->getStyleNames().value( index.row() ); + FieldStyle fieldStyle = m_parent->styleFactory()->getStyle( styleName ); + switch( index.column() ) + { + case 0: + switch( role ) + { + case Qt::DisplayRole: + return fieldStyle.prefix + styleName + fieldStyle.suffix; + case Qt::FontRole: + return fieldStyle.font; + case Qt::BackgroundRole: + return QBrush( m_parent->styleFactory()->cardBgColor ); + case Qt::ForegroundRole: + return fieldStyle.color; + case Qt::TextAlignmentRole: + return Qt::AlignCenter; + default: + return QVariant(); + } + case 1: + if( fieldStyle.hasKeyword ) + switch( role ) + { + case Qt::DisplayRole: + return tr("keyword"); + case Qt::FontRole: + return fieldStyle.getKeywordStyle().font; + case Qt::BackgroundRole: + return QBrush( m_parent->styleFactory()->cardBgColor ); + case Qt::ForegroundRole: + return fieldStyle.keywordColor; + case Qt::TextAlignmentRole: + return Qt::AlignCenter; + default: + return QVariant(); + } + else + switch( role ) + { + case Qt::DisplayRole: + return QVariant(); + case Qt::BackgroundRole: + return QBrush( m_parent->styleFactory()->cardBgColor ); + default: + return QVariant(); + } + default: + return QVariant(); + } + } -- cgit