Skip to content

Commit 5b807bd

Browse files
committed
(FIX) Use switch/case for polarity/onset from data, avoid int-to-enum cast
PickPolarity/PickOnset are MAKEENUM types with explicit enum constructors. Switch/case avoids the invalid int-to-enum conversion that caused build errors.
1 parent ce1fc1d commit 5b807bd

1 file changed

Lines changed: 34 additions & 18 deletions

File tree

libs/seiscomp/gui/datamodel/pickerview.cpp

Lines changed: 34 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -6459,15 +6459,23 @@ void PickerView::setPickPolarity() {
64596459
QAction *act = static_cast<QAction*>(sender());
64606460
if ( act ) {
64616461
int val = act->data().toInt();
6462-
if ( val == -1 ) {
6463-
m->setPolarity(Core::None);
6464-
polarityName = tr("unset");
6465-
}
6466-
else {
6467-
m->setPolarity(PickPolarity(val));
6468-
if ( val == POSITIVE ) polarityName = tr("positive (up)");
6469-
else if ( val == NEGATIVE ) polarityName = tr("negative (down)");
6470-
else polarityName = tr("undecidable");
6462+
switch ( val ) {
6463+
case DataModel::POSITIVE:
6464+
m->setPolarity(PickPolarity(DataModel::POSITIVE));
6465+
polarityName = tr("positive (up)");
6466+
break;
6467+
case DataModel::NEGATIVE:
6468+
m->setPolarity(PickPolarity(DataModel::NEGATIVE));
6469+
polarityName = tr("negative (down)");
6470+
break;
6471+
case DataModel::UNDECIDABLE:
6472+
m->setPolarity(PickPolarity(DataModel::UNDECIDABLE));
6473+
polarityName = tr("undecidable");
6474+
break;
6475+
default:
6476+
m->setPolarity(Core::None);
6477+
polarityName = tr("unset");
6478+
break;
64716479
}
64726480
}
64736481
else {
@@ -6528,15 +6536,23 @@ void PickerView::setPickOnset() {
65286536
QAction *act = static_cast<QAction*>(sender());
65296537
if ( act ) {
65306538
int val = act->data().toInt();
6531-
if ( val == -1 ) {
6532-
m->setPickOnset(Core::None);
6533-
onsetName = tr("unset");
6534-
}
6535-
else {
6536-
m->setPickOnset(PickOnset(val));
6537-
if ( val == EMERGENT ) onsetName = tr("emergent");
6538-
else if ( val == IMPULSIVE ) onsetName = tr("impulsive");
6539-
else onsetName = tr("questionable");
6539+
switch ( val ) {
6540+
case DataModel::EMERGENT:
6541+
m->setPickOnset(PickOnset(DataModel::EMERGENT));
6542+
onsetName = tr("emergent");
6543+
break;
6544+
case DataModel::IMPULSIVE:
6545+
m->setPickOnset(PickOnset(DataModel::IMPULSIVE));
6546+
onsetName = tr("impulsive");
6547+
break;
6548+
case DataModel::QUESTIONABLE:
6549+
m->setPickOnset(PickOnset(DataModel::QUESTIONABLE));
6550+
onsetName = tr("questionable");
6551+
break;
6552+
default:
6553+
m->setPickOnset(Core::None);
6554+
onsetName = tr("unset");
6555+
break;
65406556
}
65416557
}
65426558
else {

0 commit comments

Comments
 (0)