Skip to content

Commit e2a9831

Browse files
ik1vqyfoldynl
authored andcommitted
Logbook: Improved Flag display code
1 parent 1f7f63b commit e2a9831

File tree

3 files changed

+5
-18
lines changed

3 files changed

+5
-18
lines changed

data/Data.cpp

-7
Original file line numberDiff line numberDiff line change
@@ -1036,13 +1036,6 @@ WWFFEntity Data::lookupWWFF(const QString &reference)
10361036
return WWFFRet;
10371037
}
10381038

1039-
QString Data::dxccFlag(int dxcc) {
1040-
FCT_IDENTIFICATION;
1041-
1042-
qCDebug(function_parameters) << dxcc;
1043-
return flags.value(dxcc);
1044-
}
1045-
10461039
const char Data::translitTab[] = {
10471040
1, ' ', 1, '!', 2, 'C', '/', 2, 'P', 'S', 2, '$', '?', 2, 'Y', '=',
10481041
1, '|', 2, 'S', 'S', 1, '\"', 3, '(', 'c', ')', 1, 'a', 2, '<', '<',

data/Data.h

+2-2
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ class Data : public QObject
9797
SOTAEntity lookupSOTA(const QString &SOTACode);
9898
POTAEntity lookupPOTA(const QString &POTACode);
9999
WWFFEntity lookupWWFF(const QString &reference);
100-
QString dxccFlag(int dxcc);
100+
const QString dxccFlag(int dxcc) const {return flags.value(dxcc);} ;
101101
QPair<QString, QString> legacyMode(const QString &mode);
102102
QStringList satModeList() { return satModes.values();}
103103
QStringList satModesIDList() { return satModes.keys(); }
@@ -127,7 +127,7 @@ public slots:
127127
void loadPOTA();
128128
void loadTZ();
129129

130-
QMap<int, QString> flags;
130+
QHash<int, QString> flags;
131131
QMap<QString, QString> contests;
132132
QMap<QString, QString> propagationModes;
133133
QMap<QString, QPair<QString, QString>> legacyModes;

models/LogbookModel.cpp

+3-9
Original file line numberDiff line numberDiff line change
@@ -188,16 +188,10 @@ QVariant LogbookModel::data(const QModelIndex &index, int role) const
188188
return QVariant();
189189

190190
if (role == Qt::DecorationRole && index.column() == COLUMN_CALL) {
191-
QModelIndex dxcc_index = this->index(index.row(), COLUMN_DXCC);
192-
int dxcc = QSqlTableModel::data(dxcc_index, Qt::DisplayRole).toInt();
193-
QString flag = Data::instance()->dxccFlag(dxcc);
191+
const QString &flag = Data::instance()->dxccFlag(QSqlTableModel::data(this->index(index.row(), COLUMN_DXCC), Qt::DisplayRole).toInt());
194192

195-
if (!flag.isEmpty()) {
196-
return QIcon(QString(":/flags/16/%1.png").arg(flag));
197-
}
198-
else {
199-
return QIcon(":/flags/16/unknown.png");
200-
}
193+
return ( !flag.isEmpty() ) ? QIcon(QString(":/flags/16/%1.png").arg(flag))
194+
: QIcon(":/flags/16/unknown.png");
201195
}
202196

203197
if (role == Qt::DecorationRole && (index.column() == COLUMN_QSL_RCVD || index.column() == COLUMN_QSL_SENT ||

0 commit comments

Comments
 (0)