Skip to content

Commit

Permalink
qt, refactor: Use enum type as switch argument in TransactionTableModel
Browse files Browse the repository at this point in the history
  • Loading branch information
hebasto committed Dec 25, 2020
1 parent 7497794 commit aeb11d3
Showing 1 changed file with 16 additions and 14 deletions.
30 changes: 16 additions & 14 deletions src/qt/transactiontablemodel.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -521,27 +521,30 @@ QVariant TransactionTableModel::data(const QModelIndex &index, int role) const
return QVariant();
TransactionRecord *rec = static_cast<TransactionRecord*>(index.internalPointer());

switch(role)
{
const auto column = static_cast<ColumnIndex>(index.column());
switch (role) {
case RawDecorationRole:
switch(index.column())
{
switch (column) {
case Status:
return txStatusDecoration(rec);
case Watchonly:
return txWatchonlyDecoration(rec);
case Date: return {};
case Type: return {};
case ToAddress:
return txAddressDecoration(rec);
}
break;
case Amount: return {};
} // no default case, so the compiler can warn about missing cases
assert(false);
case Qt::DecorationRole:
{
QIcon icon = qvariant_cast<QIcon>(index.data(RawDecorationRole));
return platformStyle->TextColorIcon(icon);
}
case Qt::DisplayRole:
switch(index.column())
{
switch (column) {
case Status: return {};
case Watchonly: return {};
case Date:
return formatTxDate(rec);
case Type:
Expand All @@ -550,12 +553,11 @@ QVariant TransactionTableModel::data(const QModelIndex &index, int role) const
return formatTxToAddress(rec, false);
case Amount:
return formatTxAmount(rec, true, BitcoinUnits::SeparatorStyle::ALWAYS);
}
break;
} // no default case, so the compiler can warn about missing cases
assert(false);
case Qt::EditRole:
// Edit role is used for sorting, so return the unformatted values
switch(index.column())
{
switch (column) {
case Status:
return QString::fromStdString(rec->status.sortKey);
case Date:
Expand All @@ -568,8 +570,8 @@ QVariant TransactionTableModel::data(const QModelIndex &index, int role) const
return formatTxToAddress(rec, true);
case Amount:
return qint64(rec->credit + rec->debit);
}
break;
} // no default case, so the compiler can warn about missing cases
assert(false);
case Qt::ToolTipRole:
return formatTooltip(rec);
case Qt::TextAlignmentRole:
Expand Down

0 comments on commit aeb11d3

Please sign in to comment.