@@ -23,8 +23,7 @@ bool NodeLessThan::operator()(const CNodeCombinedStats &left, const CNodeCombine
23
23
if (order == Qt::DescendingOrder)
24
24
std::swap (pLeft, pRight);
25
25
26
- switch (column)
27
- {
26
+ switch (static_cast <PeerTableModel::ColumnIndex>(column)) {
28
27
case PeerTableModel::NetNodeId:
29
28
return pLeft->nodeid < pRight->nodeid ;
30
29
case PeerTableModel::Address:
@@ -41,9 +40,8 @@ bool NodeLessThan::operator()(const CNodeCombinedStats &left, const CNodeCombine
41
40
return pLeft->nRecvBytes < pRight->nRecvBytes ;
42
41
case PeerTableModel::Subversion:
43
42
return pLeft->cleanSubVer .compare (pRight->cleanSubVer ) < 0 ;
44
- }
45
-
46
- return false ;
43
+ } // no default case, so the compiler can warn about missing cases
44
+ assert (false );
47
45
}
48
46
49
47
// private implementation
@@ -157,9 +155,9 @@ QVariant PeerTableModel::data(const QModelIndex &index, int role) const
157
155
158
156
CNodeCombinedStats *rec = static_cast <CNodeCombinedStats*>(index.internalPointer ());
159
157
158
+ const auto column = static_cast <ColumnIndex>(index.column ());
160
159
if (role == Qt::DisplayRole) {
161
- switch (index.column ())
162
- {
160
+ switch (column) {
163
161
case NetNodeId:
164
162
return (qint64)rec->nodeStats .nodeid ;
165
163
case Address:
@@ -177,19 +175,24 @@ QVariant PeerTableModel::data(const QModelIndex &index, int role) const
177
175
return GUIUtil::formatBytes (rec->nodeStats .nRecvBytes );
178
176
case Subversion:
179
177
return QString::fromStdString (rec->nodeStats .cleanSubVer );
180
- }
178
+ } // no default case, so the compiler can warn about missing cases
179
+ assert (false );
181
180
} else if (role == Qt::TextAlignmentRole) {
182
- switch (index.column ()) {
183
- case ConnectionType:
184
- case Network:
185
- return QVariant (Qt::AlignCenter);
186
- case Ping:
187
- case Sent:
188
- case Received:
189
- return QVariant (Qt::AlignRight | Qt::AlignVCenter);
190
- default :
191
- return QVariant ();
192
- }
181
+ switch (column) {
182
+ case NetNodeId:
183
+ case Address:
184
+ return {};
185
+ case ConnectionType:
186
+ case Network:
187
+ return QVariant (Qt::AlignCenter);
188
+ case Ping:
189
+ case Sent:
190
+ case Received:
191
+ return QVariant (Qt::AlignRight | Qt::AlignVCenter);
192
+ case Subversion:
193
+ return {};
194
+ } // no default case, so the compiler can warn about missing cases
195
+ assert (false );
193
196
} else if (role == StatsRole) {
194
197
switch (index.column ()) {
195
198
case NetNodeId: return QVariant::fromValue (rec);
0 commit comments