Orbit selection moved from render flags to new orbit mask field.

This commit is contained in:
Chris Laurel 2003-07-08 16:40:43 +00:00
parent 8cdda7c2ab
commit 472cd94fb8
3 changed files with 30 additions and 22 deletions

View file

@ -220,17 +220,18 @@ void KdeApp::resyncHistory() {
void KdeApp::resyncMenus() {
int rFlags = renderer->getRenderFlags();
int orbitMask = renderer->getOrbitMask();
((KToggleAction*)action("showStars"))->setChecked(rFlags & Renderer::ShowStars);
((KToggleAction*)action("showPlanets"))->setChecked(rFlags & Renderer::ShowPlanets);
((KToggleAction*)action("showGalaxies"))->setChecked(rFlags & Renderer::ShowGalaxies);
((KToggleAction*)action("showDiagrams"))->setChecked(rFlags & Renderer::ShowDiagrams);
((KToggleAction*)action("showCloudMaps"))->setChecked(rFlags & Renderer::ShowCloudMaps);
((KToggleAction*)action("showOrbits"))->setChecked(rFlags & Renderer::ShowOrbits);
((KToggleAction*)action("showAsteroidOrbits"))->setChecked(rFlags & Renderer::ShowAsteroidOrbits);
((KToggleAction*)action("showCometOrbits"))->setChecked(rFlags & Renderer::ShowCometOrbits);
((KToggleAction*)action("showMoonOrbits"))->setChecked(rFlags & Renderer::ShowMoonOrbits);
((KToggleAction*)action("showPlanetOrbits"))->setChecked(rFlags & Renderer::ShowPlanetOrbits);
((KToggleAction*)action("showSpacecraftOrbits"))->setChecked(rFlags & Renderer::ShowSpacecraftOrbits);
((KToggleAction*)action("showAsteroidOrbits"))->setChecked(orbitMask & Body::Asteroid);
((KToggleAction*)action("showCometOrbits"))->setChecked(orbitMask & Body::Comet);
((KToggleAction*)action("showMoonOrbits"))->setChecked(orbitMask & Body::Moon);
((KToggleAction*)action("showPlanetOrbits"))->setChecked(orbitMask & Body::Planet);
((KToggleAction*)action("showSpacecraftOrbits"))->setChecked(orbitMask & Body::Spacecraft);
((KToggleAction*)action("showCelestialSphere"))->setChecked(rFlags & Renderer::ShowCelestialSphere);
((KToggleAction*)action("showNightMaps"))->setChecked(rFlags & Renderer::ShowNightMaps);
((KToggleAction*)action("showMarkers"))->setChecked(rFlags & Renderer::ShowMarkers);
@ -386,7 +387,7 @@ void KdeApp::initActions()
new KAction(i18n("Celestial Browser"), 0, ALT + Key_C, this, SLOT(slotCelestialBrowser()), actionCollection(), "celestialBrowser");
new KAction(i18n("Eclipse Finder"), 0, ALT + Key_E, this, SLOT(slotEclipseFinder()), actionCollection(), "eclipseFinder");
int rFlags, lMode;
int rFlags, lMode, oMask;
bool isLocal = true;
if (KGlobal::config()->hasKey("RendererFlags"))
rFlags = KGlobal::config()->readNumEntry("RendererFlags");
@ -396,9 +397,11 @@ void KdeApp::initActions()
lMode = KGlobal::config()->readNumEntry("LabelMode");
else lMode = appCore->getRenderer()->getLabelMode();
oMask = appCore->getRenderer()->getOrbitMask();
if (KGlobal::config()->hasKey("TimeZoneBias"))
isLocal = (KGlobal::config()->readNumEntry("TimeZoneBias") != 0);
KToggleAction* showStars = new KToggleAction(i18n("Show Stars"), 0, this, SLOT(slotShowStars()), actionCollection(), "showStars");
showStars->setChecked(rFlags & Renderer::ShowStars);
@ -418,19 +421,19 @@ void KdeApp::initActions()
showOrbits->setChecked(rFlags & Renderer::ShowOrbits);
KToggleAction* showAsteroidOrbits = new KToggleAction(i18n("Show Asteroid Orbits"), 0, this, SLOT(slotShowAsteroidOrbits()), actionCollection(), "showAsteroidOrbits");
showAsteroidOrbits->setChecked(rFlags & Renderer::ShowAsteroidOrbits);
showAsteroidOrbits->setChecked(oMask & Body::Asteroid);
KToggleAction* showCometOrbits = new KToggleAction(i18n("Show Comet Orbits"), 0, this, SLOT(slotShowCometOrbits()), actionCollection(), "showCometOrbits");
showCometOrbits->setChecked(rFlags & Renderer::ShowCometOrbits);
showCometOrbits->setChecked(oMask & Body::Comet);
KToggleAction* showMoonOrbits = new KToggleAction(i18n("Show Moon Orbits"), 0, this, SLOT(slotShowMoonOrbits()), actionCollection(), "showMoonOrbits");
showMoonOrbits->setChecked(rFlags & Renderer::ShowMoonOrbits);
showMoonOrbits->setChecked(oMask & Body::Moon);
KToggleAction* showPlanetOrbits = new KToggleAction(i18n("Show Planet Orbits"), 0, this, SLOT(slotShowPlanetOrbits()), actionCollection(), "showPlanetOrbits");
showPlanetOrbits->setChecked(rFlags & Renderer::ShowPlanetOrbits);
showPlanetOrbits->setChecked(oMask & Body::Planet);
KToggleAction* showSpacecraftOrbits = new KToggleAction(i18n("Show Spacecraft Orbits"), 0, this, SLOT(slotShowSpacecraftOrbits()), actionCollection(), "showSpacecraftOrbits");
showSpacecraftOrbits->setChecked(rFlags & Renderer::ShowSpacecraftOrbits);
showSpacecraftOrbits->setChecked(oMask & Body::Spacecraft);
KToggleAction* showCelestialSphere = new KToggleAction(i18n("Show Celestial Grid"), Key_Semicolon, this, SLOT(slotShowCelestialSphere()), actionCollection(), "showCelestialSphere");
showCelestialSphere->setChecked(rFlags & Renderer::ShowCelestialSphere);
@ -834,27 +837,27 @@ void KdeApp::slotShowOrbits() {
void KdeApp::slotShowAsteroidOrbits() {
appCore->getRenderer()->setRenderFlags(
appCore->getRenderer()->getRenderFlags() ^ Renderer::ShowAsteroidOrbits);
appCore->getRenderer()->getOrbitMask() ^ Body::Asteroid);
}
void KdeApp::slotShowCometOrbits() {
appCore->getRenderer()->setRenderFlags(
appCore->getRenderer()->getRenderFlags() ^ Renderer::ShowCometOrbits);
appCore->getRenderer()->getOrbitMask() ^ Body::Comet);
}
void KdeApp::slotShowMoonOrbits() {
appCore->getRenderer()->setRenderFlags(
appCore->getRenderer()->getRenderFlags() ^ Renderer::ShowMoonOrbits);
appCore->getRenderer()->getOrbitMask() ^ Body::Moon);
}
void KdeApp::slotShowPlanetOrbits() {
appCore->getRenderer()->setRenderFlags(
appCore->getRenderer()->getRenderFlags() ^ Renderer::ShowPlanetOrbits);
appCore->getRenderer()->getOrbitMask() ^ Body::Planet);
}
void KdeApp::slotShowSpacecraftOrbits() {
appCore->getRenderer()->setRenderFlags(
appCore->getRenderer()->getRenderFlags() ^ Renderer::ShowSpacecraftOrbits);
appCore->getRenderer()->getOrbitMask() ^ Body::Spacecraft);
}
void KdeApp::slotShowCelestialSphere() {

View file

@ -132,6 +132,8 @@ KdePreferencesDialog::KdePreferencesDialog(QWidget* parent, CelestiaCore* core)
QVBox* vbox1 = new QVBox(renderFrame);
int labelMode = appCore->getRenderer()->getLabelMode();
savedLabelMode = labelMode;
int orbitMask = appCore->getRenderer()->getOrbitMask();
savedOrbitMask = orbitMask;
QGroupBox* labelGroup = new QGroupBox(0, Qt::Horizontal, i18n("Orbits / Labels"), vbox1);
QGridLayout* labelGroupLayout = new QGridLayout( labelGroup->layout() );
@ -147,9 +149,10 @@ KdePreferencesDialog::KdePreferencesDialog(QWidget* parent, CelestiaCore* core)
showStarLabelsCheck->setChecked(labelMode & Renderer::StarLabels);
labelGroupLayout->addWidget(showStarLabelsCheck, 1, 1);
QCheckBox* showPlanetOrbitsCheck = new QCheckBox("", labelGroup);
actionColl->action("showPlanetOrbits")->connect(showPlanetOrbitsCheck, SIGNAL(clicked()), SLOT(activate()));
showPlanetOrbitsCheck->setChecked(renderFlags & Renderer::ShowPlanetOrbits);
showPlanetOrbitsCheck->setChecked(orbitMask & Body::Planet);
labelGroupLayout->addWidget(showPlanetOrbitsCheck, 3, 0, Qt::AlignHCenter);
QCheckBox* showPlanetLabelsCheck = new QCheckBox(i18n("Planets"), labelGroup);
actionColl->action("showPlanetLabels")->connect(showPlanetLabelsCheck, SIGNAL(clicked()), SLOT(activate()));
@ -158,7 +161,7 @@ KdePreferencesDialog::KdePreferencesDialog(QWidget* parent, CelestiaCore* core)
QCheckBox* showMoonOrbitsCheck = new QCheckBox("", labelGroup);
actionColl->action("showMoonOrbits")->connect(showMoonOrbitsCheck, SIGNAL(clicked()), SLOT(activate()));
showMoonOrbitsCheck->setChecked(renderFlags & Renderer::ShowMoonOrbits);
showMoonOrbitsCheck->setChecked(orbitMask & Body::Moon);
labelGroupLayout->addWidget(showMoonOrbitsCheck, 4, 0, Qt::AlignHCenter);
QCheckBox* showMoonLabelsCheck = new QCheckBox(i18n("Moons"), labelGroup);
actionColl->action("showMoonLabels")->connect(showMoonLabelsCheck, SIGNAL(clicked()), SLOT(activate()));
@ -167,7 +170,7 @@ KdePreferencesDialog::KdePreferencesDialog(QWidget* parent, CelestiaCore* core)
QCheckBox* showCometOrbitsCheck = new QCheckBox("", labelGroup);
actionColl->action("showCometOrbits")->connect(showCometOrbitsCheck, SIGNAL(clicked()), SLOT(activate()));
showCometOrbitsCheck->setChecked(renderFlags & Renderer::ShowCometOrbits);
showCometOrbitsCheck->setChecked(orbitMask & Body::Comet);
labelGroupLayout->addWidget(showCometOrbitsCheck, 5, 0, Qt::AlignHCenter);
QCheckBox* showCometLabelsCheck = new QCheckBox(i18n("Comets"), labelGroup);
actionColl->action("showCometLabels")->connect(showCometLabelsCheck, SIGNAL(clicked()), SLOT(activate()));
@ -186,7 +189,7 @@ KdePreferencesDialog::KdePreferencesDialog(QWidget* parent, CelestiaCore* core)
QCheckBox* showAsteroidOrbitsCheck = new QCheckBox("", labelGroup);
actionColl->action("showAsteroidOrbits")->connect(showAsteroidOrbitsCheck, SIGNAL(clicked()), SLOT(activate()));
showAsteroidOrbitsCheck->setChecked(renderFlags & Renderer::ShowAsteroidOrbits);
showAsteroidOrbitsCheck->setChecked(orbitMask & Body::Asteroid);
labelGroupLayout->addWidget(showAsteroidOrbitsCheck, 8, 0, Qt::AlignHCenter);
QCheckBox* showAsteroidLabelsCheck = new QCheckBox(i18n("Asteroids"), labelGroup);
actionColl->action("showAsteroidLabels")->connect(showAsteroidLabelsCheck, SIGNAL(clicked()), SLOT(activate()));
@ -195,7 +198,7 @@ KdePreferencesDialog::KdePreferencesDialog(QWidget* parent, CelestiaCore* core)
QCheckBox* showSpacecraftOrbitsCheck = new QCheckBox("", labelGroup);
actionColl->action("showSpacecraftOrbits")->connect(showSpacecraftOrbitsCheck, SIGNAL(clicked()), SLOT(activate()));
showSpacecraftOrbitsCheck->setChecked(renderFlags & Renderer::ShowSpacecraftOrbits);
showSpacecraftOrbitsCheck->setChecked(orbitMask & Body::Spacecraft);
labelGroupLayout->addWidget(showSpacecraftOrbitsCheck, 9, 0, Qt::AlignHCenter);
QCheckBox* showSpacecraftLabelsCheck = new QCheckBox(i18n("Spacecrafts"), labelGroup);
actionColl->action("showSpacecraftLabels")->connect(showSpacecraftLabelsCheck, SIGNAL(clicked()), SLOT(activate()));
@ -513,6 +516,7 @@ void KdePreferencesDialog::slotOk() {
void KdePreferencesDialog::slotCancel() {
appCore->getRenderer()->setRenderFlags(savedRendererFlags);
appCore->getRenderer()->setLabelMode(savedLabelMode);
appCore->getRenderer()->setOrbitMask(savedOrbitMask);
appCore->getRenderer()->setAmbientLightLevel(savedAmbientLightLevel/100.);
appCore->getSimulation()->setFaintestVisible(savedFaintestVisible/100.);
appCore->setHudDetail(savedHudDetail);

View file

@ -54,6 +54,7 @@ protected:
int savedRendererFlags;
int savedLabelMode;
int savedOrbitMask;
int savedAmbientLightLevel;
int savedFaintestVisible;
int savedHudDetail;