summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeorg Zotti <Georg.Zotti@univie.ac.at>2024-03-03 19:13:38 +0100
committerGeorg Zotti <Georg.Zotti@univie.ac.at>2024-03-03 19:13:38 +0100
commit618a6221495e7f8dbcc7f38aaf8904999774f84a (patch)
tree5415d1eda99c38be1bab497d66f9a162227a83af
parent5cb6d7e7cd5bc127365a8fd782d224b7384a8719 (diff)
Fix south azimuth usageHEADmaster
-rw-r--r--src/gui/SearchDialog.cpp19
1 files changed, 8 insertions, 11 deletions
diff --git a/src/gui/SearchDialog.cpp b/src/gui/SearchDialog.cpp
index f4f26580f6..66272e1d5d 100644
--- a/src/gui/SearchDialog.cpp
+++ b/src/gui/SearchDialog.cpp
@@ -700,8 +700,9 @@ void SearchDialog::setCenterOfScreenCoordinates()
{
StelUtils::rectToSphe(&spinLong, &spinLat, core->j2000ToAltAz(centerPos, StelCore::RefractionAuto));
spinLong = 3.*M_PI - spinLong; // N is zero, E is 90 degrees
- if (spinLong > M_PI*2)
- spinLong -= M_PI*2;
+ if (StelApp::getInstance().getFlagSouthAzimuthUsage())
+ spinLong+=M_PI;
+ spinLong=StelUtils::fmodpos(spinLong, 2.*M_PI);
break;
}
case eclipticJ2000:
@@ -726,17 +727,13 @@ void SearchDialog::setCenterOfScreenCoordinates()
}
}
- // disable following the changes of spinbox
- const bool axisXState = ui->AxisXSpinBox->blockSignals(true);
- const bool axisYState = ui->AxisYSpinBox->blockSignals(true);
+ // Block spinbox signals locally, just until end of method.
+ const QSignalBlocker blockX(ui->AxisXSpinBox);
+ const QSignalBlocker blockY(ui->AxisYSpinBox);
// set coordinates in spinboxes
ui->AxisXSpinBox->setRadians(spinLong);
ui->AxisYSpinBox->setRadians(spinLat);
-
- // restore following the changes of spinbox
- ui->AxisXSpinBox->blockSignals(axisXState);
- ui->AxisYSpinBox->blockSignals(axisYState);
}
void SearchDialog::manualPositionChanged()
@@ -786,8 +783,8 @@ void SearchDialog::manualPositionChanged()
{
double cx;
cx = 3.*M_PI - spinLong; // N is zero, E is 90 degrees
- if (cx > 2.*M_PI)
- cx -= 2.*M_PI;
+ if (StelApp::getInstance().getFlagSouthAzimuthUsage())
+ cx -= M_PI;
StelUtils::spheToRect(cx, spinLat, pos);
pos = core->altAzToJ2000(pos, StelCore::RefractionOff);
core->setTimeRate(0.);