Skip to content
This repository was archived by the owner on May 10, 2023. It is now read-only.

Commit 97aa7c5

Browse files
committed
[scolv] Preserve channel code if polariy or uncertainty of existing pick has changed
1 parent 99da49e commit 97aa7c5

File tree

2 files changed

+28
-14
lines changed

2 files changed

+28
-14
lines changed

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@
2121
* Update map residual colors and residual plot rect if the magnitude was recomputed
2222
* Show amplitude values in amplitude picker if only QC fails
2323
* Compute magnitudes
24+
* Preserve channel code in picker if only the polarity or uncertainy of an existing pick
25+
was changed
2426

2527
* scquery
2628

src/gui-qt4/libs/seiscomp3/gui/datamodel/pickerview.cpp

Lines changed: 26 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -487,9 +487,9 @@ class PickerMarker : public RecordMarker {
487487
PickerMarker(RecordWidget *parent,
488488
const Seiscomp::Core::Time& pos,
489489
Type type, bool newPick)
490-
: RecordMarker(parent, pos),
491-
_type(type),
492-
_slot(-1), _rot(RT_123) {
490+
: RecordMarker(parent, pos)
491+
, _type(type)
492+
, _slot(-1), _rot(RT_123) {
493493
setMovable(newPick);
494494
init();
495495
}
@@ -498,21 +498,22 @@ class PickerMarker : public RecordMarker {
498498
const Seiscomp::Core::Time& pos,
499499
const QString& text,
500500
Type type, bool newPick)
501-
: RecordMarker(parent, pos, text),
502-
_type(type),
503-
_slot(-1), _rot(RT_123) {
501+
: RecordMarker(parent, pos, text)
502+
, _type(type)
503+
, _slot(-1), _rot(RT_123) {
504504
setMovable(newPick);
505505
init();
506506
}
507507

508508
PickerMarker(RecordWidget *parent,
509509
const PickerMarker& m)
510-
: RecordMarker(parent, m),
511-
_referencedPick(m._referencedPick),
512-
_polarity(m._polarity),
513-
_type(m._type),
514-
_slot(m._slot),
515-
_rot(m._rot)
510+
: RecordMarker(parent, m)
511+
, _referencedPick(m._referencedPick)
512+
, _polarity(m._polarity)
513+
, _type(m._type)
514+
, _slot(m._slot)
515+
, _rot(m._rot)
516+
, _channelCode(m._channelCode)
516517
{
517518
init();
518519
_time = m._time;
@@ -561,6 +562,7 @@ class PickerMarker : public RecordMarker {
561562
}
562563

563564
void setSlot(int s) {
565+
_channelCode = std::string();
564566
_slot = s;
565567
}
566568

@@ -569,6 +571,7 @@ class PickerMarker : public RecordMarker {
569571
}
570572

571573
void setRotation(int r) {
574+
_channelCode = std::string();
572575
_rot = r;
573576
}
574577

@@ -601,8 +604,9 @@ class PickerMarker : public RecordMarker {
601604
return id() >= 0;
602605
}
603606

604-
void setPick(DataModel::Pick* p) {
607+
void setPick(DataModel::Pick *p) {
605608
_referencedPick = p;
609+
_channelCode = std::string();
606610
try { _polarity = p->polarity(); }
607611
catch ( ... ) { _polarity = Core::None; }
608612

@@ -613,13 +617,14 @@ class PickerMarker : public RecordMarker {
613617

614618
void convertToManualPick() {
615619
if ( !_referencedPick ) return;
620+
_channelCode = _referencedPick->waveformID().channelCode();
616621
_referencedPick = NULL;
617622
setMovable(true);
618623
setDescription("");
619624
updateVisual();
620625
}
621626

622-
DataModel::Pick* pick() const {
627+
DataModel::Pick *pick() const {
623628
return _referencedPick.get();
624629
}
625630

@@ -638,6 +643,10 @@ class PickerMarker : public RecordMarker {
638643
return true;
639644
}
640645

646+
const std::string &channelCode() const {
647+
return _channelCode;
648+
}
649+
641650
void setPolarity(OPT(PickPolarity) p) {
642651
_polarity = p;
643652
}
@@ -981,6 +990,7 @@ class PickerMarker : public RecordMarker {
981990
int _slot;
982991
int _rot;
983992
bool _drawUncertaintyValues;
993+
std::string _channelCode;
984994
};
985995

986996

@@ -7369,6 +7379,8 @@ void PickerView::fetchManualPicks(std::vector<RecordMarker*>* markers) const {
73697379

73707380
p->waveformID().setChannelCode(p->waveformID().channelCode() + comp);
73717381
}
7382+
else if ( !marker->channelCode().empty() )
7383+
p->waveformID().setChannelCode(marker->channelCode());
73727384
#endif
73737385

73747386
p->setTime(marker->correctedTime());

0 commit comments

Comments
 (0)