Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members

KdePreferencesDialog Class Reference

#include <kdepreferencesdialog.h>

Collaboration diagram for KdePreferencesDialog:

Collaboration graph
List of all members.

Public Slots

void ltSubstract ()
void setNow ()
void slotAmbientLightLevel (int l)
void slotApply ()
void slotCancel ()
void slotDistanceToScreen (int)
void slotFaintestVisible (int m)
void slotMinFeatureSize (int)
void slotOk ()
void slotRenderPath (int)
void slotTimeHasChanged ()

Public Member Functions

 KdePreferencesDialog (QWidget *parent, CelestiaCore *core)
 ~KdePreferencesDialog ()

Protected Member Functions

double getTime () const
void setRenderPathLabel ()
void setTime (double d)

Protected Attributes

QLabel * ambientLabel
CelestiaCoreappCore
QComboBox * displayTimezoneCombo
QSpinBox * DSpin
QSpinBox * dtsSpin
QLabel * faintestLabel
QSpinBox * hSpin
KKeyChooser * keyChooser
QLabel * minFeatureSizeLabel
QSpinBox * mSpin
QSpinBox * MSpin
KdeAppparent
QComboBox * renderPathCombo
QLabel * renderPathLabel
int savedAmbientLightLevel
int savedDisplayLocalTime
int savedDistanceToScreen
int savedFaintestVisible
int savedHudDetail
int savedLabelMode
uint32 savedLocationFilter
int savedMinFeatureSize
int savedOrbitMask
int savedRendererFlags
int savedRenderPath
QComboBox * setTimezoneCombo
QSpinBox * sSpin
bool timeHasChanged
QSpinBox * YSpin

Constructor & Destructor Documentation

KdePreferencesDialog::KdePreferencesDialog QWidget *  parent,
CelestiaCore core
 

Definition at line 51 of file kdepreferencesdialog.cpp.

References ambientLabel, appCore, Selection::body(), displayTimezoneCombo, DSpin, dtsSpin, faintestLabel, FilterOtherLocations, Simulation::getActiveObserver(), Renderer::getAmbientLightLevel(), CelestiaCore::getDistanceToScreen(), Simulation::getFaintestVisible(), Renderer::getGLContext(), CelestiaCore::getHudDetail(), Renderer::getLabelMode(), CelestiaCore::getLightDelayActive(), Observer::getLocationFilter(), Renderer::getMinimumFeatureSize(), Body::getName(), Simulation::getObserver(), Renderer::getOrbitMask(), Observer::getPosition(), Selection::getPosition(), CelestiaCore::getRenderer(), Renderer::getRenderFlags(), GLContext::getRenderPath(), CelestiaCore::getScreenDpi(), Simulation::getSelection(), CelestiaCore::getSimulation(), Simulation::getTime(), CelestiaCore::getTimeZoneBias(), hSpin, glx::int(), keyChooser, Vector3< T >::length(), astro::lightYearsToKilometers(), ltSubstract(), minFeatureSizeLabel, mSpin, MSpin, parent, renderPathCombo, renderPathLabel, GLContext::renderPathSupported(), savedAmbientLightLevel, savedDisplayLocalTime, savedDistanceToScreen, savedFaintestVisible, savedHudDetail, savedLabelMode, savedLocationFilter, savedMinFeatureSize, savedOrbitMask, savedRendererFlags, savedRenderPath, setNow(), setRenderPathLabel(), setTime(), setTimezoneCombo, slotAmbientLightLevel(), slotDistanceToScreen(), slotFaintestVisible(), slotMinFeatureSize(), slotRenderPath(), slotTimeHasChanged(), sSpin, timeHasChanged, and YSpin.

00051                                                                               :
00052     KDialogBase (KDialogBase::IconList, "",
00053     KDialogBase::Ok | KDialogBase::Apply | KDialogBase::Cancel, KDialogBase::Ok,parent)
00054 {
00055 
00056     setCaption(i18n("Celestia Preferences"));
00057     appCore=core;
00058     
00059     this->parent = (KdeApp*)parent;
00060   
00061     // Render page
00062     QGrid* renderFrame = addGridPage(2, Qt::Horizontal, i18n("Rendering"), i18n("Rendering"),
00063         KGlobal::iconLoader()->loadIcon("configure", KIcon::NoGroup));
00064 
00065     int renderFlags = appCore->getRenderer()->getRenderFlags();
00066     savedRendererFlags = renderFlags;
00067 
00068     KActionCollection* actionColl = ((KdeApp*)parent)->actionCollection();
00069 
00070     QGroupBox* showGroup = new QGroupBox(1, Qt::Horizontal, i18n("Show"), renderFrame);
00071 
00072     QCheckBox* showStarsCheck = new QCheckBox(i18n("Stars"), showGroup);
00073     actionColl->action("showStars")->connect(showStarsCheck, SIGNAL(clicked()), SLOT(activate()));
00074     showStarsCheck->setChecked(renderFlags & Renderer::ShowStars);
00075 
00076     QCheckBox* showAutoMagCheck = new QCheckBox(i18n("Auto Magnitudes"), showGroup);
00077     actionColl->action("showAutoMag")->connect(showAutoMagCheck, SIGNAL(clicked()), SLOT(activate()));
00078     showAutoMagCheck->setChecked(renderFlags & Renderer::ShowAutoMag);
00079 
00080     QCheckBox* showPlanetsCheck = new QCheckBox(i18n("Planets"), showGroup);
00081     actionColl->action("showPlanets")->connect(showPlanetsCheck, SIGNAL(clicked()), SLOT(activate()));
00082     showPlanetsCheck->setChecked(renderFlags & Renderer::ShowPlanets);
00083 
00084     QCheckBox* showGalaxiesCheck = new QCheckBox(i18n("Galaxies"), showGroup);
00085     actionColl->action("showGalaxies")->connect(showGalaxiesCheck, SIGNAL(clicked()), SLOT(activate()));
00086     showGalaxiesCheck->setChecked(renderFlags & Renderer::ShowGalaxies);
00087 
00088     QCheckBox* showNebulaeCheck = new QCheckBox(i18n("Nebulae"), showGroup);
00089     actionColl->action("showNebulae")->connect(showNebulaeCheck, SIGNAL(clicked()), SLOT(activate()));
00090     showNebulaeCheck->setChecked(renderFlags & Renderer::ShowNebulae);
00091 
00092     QCheckBox* showOpenClustersCheck = new QCheckBox(i18n("Open Clusters"), showGroup);
00093     actionColl->action("showOpenClusters")->connect(showOpenClustersCheck, SIGNAL(clicked()), SLOT(activate()));
00094     showOpenClustersCheck->setChecked(renderFlags & Renderer::ShowOpenClusters);
00095 
00096     QCheckBox* showAtmospheresCheck = new QCheckBox(i18n("Atmospheres"), showGroup);
00097     actionColl->action("showAtmospheres")->connect(showAtmospheresCheck, SIGNAL(clicked()), SLOT(activate()));
00098     showAtmospheresCheck->setChecked(renderFlags & Renderer::ShowAtmospheres);
00099 
00100     QCheckBox* showCloudMapsCheck = new QCheckBox(i18n("Clouds"), showGroup);
00101     actionColl->action("showCloudMaps")->connect(showCloudMapsCheck, SIGNAL(clicked()), SLOT(activate()));
00102     showCloudMapsCheck->setChecked(renderFlags & Renderer::ShowCloudMaps);
00103 
00104     QCheckBox* showNightMapsCheck = new QCheckBox(i18n("Night Side Lights"), showGroup);
00105     actionColl->action("showNightMaps")->connect(showNightMapsCheck, SIGNAL(clicked()), SLOT(activate()));
00106     showNightMapsCheck->setChecked(renderFlags & Renderer::ShowNightMaps);
00107 
00108     QCheckBox* showEclipseShadowsCheck = new QCheckBox(i18n("Eclipse Shadows"), showGroup);
00109     actionColl->action("showEclipseShadows")->connect(showEclipseShadowsCheck, SIGNAL(clicked()), SLOT(activate()));
00110     showEclipseShadowsCheck->setChecked(renderFlags & Renderer::ShowEclipseShadows);
00111 
00112     QCheckBox* showCometTailsCheck = new QCheckBox(i18n("Comet Tails"), showGroup);
00113     actionColl->action("showCometTails")->connect(showCometTailsCheck, SIGNAL(clicked()), SLOT(activate()));
00114     showCometTailsCheck->setChecked(renderFlags & Renderer::ShowCometTails);
00115 
00116     QCheckBox* showOrbitsCheck = new QCheckBox(i18n("Orbits"), showGroup);
00117     actionColl->action("showOrbits")->connect(showOrbitsCheck, SIGNAL(clicked()), SLOT(activate()));
00118     showOrbitsCheck->setChecked(renderFlags & Renderer::ShowOrbits);
00119 
00120     QCheckBox* showPartialTrajectoriesCheck = new QCheckBox(i18n("Partial Trajectories"), showGroup);
00121     actionColl->action("showPartialTrajectories")->connect(showPartialTrajectoriesCheck, SIGNAL(clicked()), SLOT(activate()));
00122     showPartialTrajectoriesCheck->setChecked(renderFlags & Renderer::ShowPartialTrajectories);
00123 
00124     QCheckBox* showSmoothLinesCheck = new QCheckBox(i18n("Smooth Orbit Lines"), showGroup);
00125     actionColl->action("showSmoothLines")->connect(showSmoothLinesCheck, SIGNAL(clicked()), SLOT(activate()));
00126     showSmoothLinesCheck->setChecked(renderFlags & Renderer::ShowSmoothLines);
00127 
00128     QCheckBox* showCelestialSphereCheck = new QCheckBox(i18n("Celestial Grid"), showGroup);
00129     actionColl->action("showCelestialSphere")->connect(showCelestialSphereCheck, SIGNAL(clicked()), SLOT(activate()));
00130     showCelestialSphereCheck->setChecked(renderFlags & Renderer::ShowCelestialSphere);
00131 
00132     QCheckBox* showDiagramsCheck = new QCheckBox(i18n("Constellations"), showGroup);
00133     actionColl->action("showDiagrams")->connect(showDiagramsCheck, SIGNAL(clicked()), SLOT(activate()));
00134     showDiagramsCheck->setChecked(renderFlags & Renderer::ShowDiagrams);
00135 
00136     QCheckBox* showMarkersCheck = new QCheckBox(i18n("Markers"), showGroup);
00137     actionColl->action("showMarkers")->connect(showMarkersCheck, SIGNAL(clicked()), SLOT(activate()));
00138     showMarkersCheck->setChecked(renderFlags & Renderer::ShowMarkers);
00139 
00140     QCheckBox* showRingShadowsCheck = new QCheckBox(i18n("Ring Shadows"), showGroup);
00141     actionColl->action("showRingShadows")->connect(showRingShadowsCheck, SIGNAL(clicked()), SLOT(activate()));
00142     showRingShadowsCheck->setChecked(renderFlags & Renderer::ShowRingShadows);
00143 
00144     QCheckBox* showBoundariesCheck = new QCheckBox(i18n("Constellation Boundaries"), showGroup);
00145     actionColl->action("showBoundaries")->connect(showBoundariesCheck, SIGNAL(clicked()), SLOT(activate()));
00146     showBoundariesCheck->setChecked(renderFlags & Renderer::ShowBoundaries);
00147 
00148 
00149     QVBox* vbox1 = new QVBox(renderFrame);
00150     int labelMode = appCore->getRenderer()->getLabelMode();
00151     savedLabelMode = labelMode;
00152     int orbitMask = appCore->getRenderer()->getOrbitMask();
00153     savedOrbitMask = orbitMask;
00154 
00155     QGroupBox* labelGroup = new QGroupBox(0, Qt::Horizontal, i18n("Orbits / Labels"), vbox1);
00156     QGridLayout* labelGroupLayout = new QGridLayout( labelGroup->layout() );
00157     labelGroupLayout->setAlignment( Qt::AlignTop );
00158 
00159     QLabel* orbitsLabel = new QLabel(i18n("Orbits"), labelGroup);
00160     labelGroupLayout->addWidget(orbitsLabel, 0, 0);
00161     QLabel* labelsLabel = new QLabel(i18n("Labels"), labelGroup);
00162     labelGroupLayout->addWidget(labelsLabel, 0, 1);
00163 
00164     QCheckBox* showStarLabelsCheck = new QCheckBox(i18n("Stars"), labelGroup);
00165     actionColl->action("showStarLabels")->connect(showStarLabelsCheck, SIGNAL(clicked()), SLOT(activate()));
00166     showStarLabelsCheck->setChecked(labelMode & Renderer::StarLabels);
00167     labelGroupLayout->addWidget(showStarLabelsCheck, 1, 1);
00168 
00169 
00170     QCheckBox* showPlanetOrbitsCheck = new QCheckBox("", labelGroup);
00171     actionColl->action("showPlanetOrbits")->connect(showPlanetOrbitsCheck, SIGNAL(clicked()), SLOT(activate()));
00172     showPlanetOrbitsCheck->setChecked(orbitMask & Body::Planet);
00173     labelGroupLayout->addWidget(showPlanetOrbitsCheck, 3, 0, Qt::AlignHCenter);
00174     QCheckBox* showPlanetLabelsCheck = new QCheckBox(i18n("Planets"), labelGroup);
00175     actionColl->action("showPlanetLabels")->connect(showPlanetLabelsCheck, SIGNAL(clicked()), SLOT(activate()));
00176     showPlanetLabelsCheck->setChecked(labelMode & Renderer::PlanetLabels);
00177     labelGroupLayout->addWidget(showPlanetLabelsCheck, 3, 1);
00178 
00179     QCheckBox* showMoonOrbitsCheck = new QCheckBox("", labelGroup);
00180     actionColl->action("showMoonOrbits")->connect(showMoonOrbitsCheck, SIGNAL(clicked()), SLOT(activate()));
00181     showMoonOrbitsCheck->setChecked(orbitMask & Body::Moon);
00182     labelGroupLayout->addWidget(showMoonOrbitsCheck, 4, 0, Qt::AlignHCenter);
00183     QCheckBox* showMoonLabelsCheck = new QCheckBox(i18n("Moons"), labelGroup);
00184     actionColl->action("showMoonLabels")->connect(showMoonLabelsCheck, SIGNAL(clicked()), SLOT(activate()));
00185     showMoonLabelsCheck->setChecked(labelMode & Renderer::MoonLabels);
00186     labelGroupLayout->addWidget(showMoonLabelsCheck, 4, 1);
00187 
00188     QCheckBox* showCometOrbitsCheck = new QCheckBox("", labelGroup);
00189     actionColl->action("showCometOrbits")->connect(showCometOrbitsCheck, SIGNAL(clicked()), SLOT(activate()));
00190     showCometOrbitsCheck->setChecked(orbitMask & Body::Comet);
00191     labelGroupLayout->addWidget(showCometOrbitsCheck, 5, 0, Qt::AlignHCenter);
00192     QCheckBox* showCometLabelsCheck = new QCheckBox(i18n("Comets"), labelGroup);
00193     actionColl->action("showCometLabels")->connect(showCometLabelsCheck, SIGNAL(clicked()), SLOT(activate()));
00194     showCometLabelsCheck->setChecked(labelMode & Renderer::CometLabels);
00195     labelGroupLayout->addWidget(showCometLabelsCheck, 5, 1);
00196 
00197     QCheckBox* showConstellationLabelsCheck = new QCheckBox(i18n("Constellations"), labelGroup);
00198     actionColl->action("showConstellationLabels")->connect(showConstellationLabelsCheck, SIGNAL(clicked()), SLOT(activate()));
00199     showConstellationLabelsCheck->setChecked(labelMode & Renderer::ConstellationLabels);
00200     labelGroupLayout->addWidget(showConstellationLabelsCheck, 6, 1);
00201 
00202     QCheckBox* showI18nConstellationLabelsCheck = new QCheckBox(i18n("Constellations in Latin"), labelGroup);
00203     actionColl->action("showI18nConstellationLabels")->connect(showI18nConstellationLabelsCheck, SIGNAL(clicked()), SLOT(activate()));
00204     showI18nConstellationLabelsCheck->setChecked(!(labelMode & Renderer::I18nConstellationLabels));
00205     labelGroupLayout->addWidget(showI18nConstellationLabelsCheck, 7, 1);
00206 
00207     QCheckBox* showGalaxyLabelsCheck = new QCheckBox(i18n("Galaxies"), labelGroup);
00208     actionColl->action("showGalaxyLabels")->connect(showGalaxyLabelsCheck, SIGNAL(clicked()), SLOT(activate()));
00209     showGalaxyLabelsCheck->setChecked(labelMode & Renderer::GalaxyLabels);
00210     labelGroupLayout->addWidget(showGalaxyLabelsCheck, 8, 1);
00211 
00212     QCheckBox* showNebulaLabelsCheck = new QCheckBox(i18n("Nebulae"), labelGroup);
00213     actionColl->action("showNebulaLabels")->connect(showNebulaLabelsCheck, SIGNAL(clicked()), SLOT(activate()));
00214     showNebulaLabelsCheck->setChecked(labelMode & Renderer::NebulaLabels);
00215     labelGroupLayout->addWidget(showNebulaLabelsCheck, 9, 1);
00216 
00217     QCheckBox* showOpenClusterLabelsCheck = new QCheckBox(i18n("Open Clusters"), labelGroup);
00218     actionColl->action("showOpenClusterLabels")->connect(showOpenClusterLabelsCheck, SIGNAL(clicked()), SLOT(activate()));
00219     showOpenClusterLabelsCheck->setChecked(labelMode & Renderer::OpenClusterLabels);
00220     labelGroupLayout->addWidget(showOpenClusterLabelsCheck, 10, 1);
00221 
00222     QCheckBox* showAsteroidOrbitsCheck = new QCheckBox("", labelGroup);
00223     actionColl->action("showAsteroidOrbits")->connect(showAsteroidOrbitsCheck, SIGNAL(clicked()), SLOT(activate()));
00224     showAsteroidOrbitsCheck->setChecked(orbitMask & Body::Asteroid);
00225     labelGroupLayout->addWidget(showAsteroidOrbitsCheck, 11, 0, Qt::AlignHCenter);
00226     QCheckBox* showAsteroidLabelsCheck = new QCheckBox(i18n("Asteroids"), labelGroup);
00227     actionColl->action("showAsteroidLabels")->connect(showAsteroidLabelsCheck, SIGNAL(clicked()), SLOT(activate()));
00228     showAsteroidLabelsCheck->setChecked(labelMode & Renderer::AsteroidLabels);
00229     labelGroupLayout->addWidget(showAsteroidLabelsCheck, 11, 1);
00230 
00231     QCheckBox* showSpacecraftOrbitsCheck = new QCheckBox("", labelGroup);
00232     actionColl->action("showSpacecraftOrbits")->connect(showSpacecraftOrbitsCheck, SIGNAL(clicked()), SLOT(activate()));
00233     showSpacecraftOrbitsCheck->setChecked(orbitMask & Body::Spacecraft);
00234     labelGroupLayout->addWidget(showSpacecraftOrbitsCheck, 12, 0, Qt::AlignHCenter);
00235     QCheckBox* showSpacecraftLabelsCheck = new QCheckBox(i18n("Spacecrafts"), labelGroup);
00236     actionColl->action("showSpacecraftLabels")->connect(showSpacecraftLabelsCheck, SIGNAL(clicked()), SLOT(activate()));
00237     showSpacecraftLabelsCheck->setChecked(labelMode & Renderer::SpacecraftLabels);
00238     labelGroupLayout->addWidget(showSpacecraftLabelsCheck, 12, 1);
00239 
00240     QCheckBox* showLocationLabelsCheck = new QCheckBox(i18n("Locations"), labelGroup);
00241     actionColl->action("showLocationLabels")->connect(showLocationLabelsCheck, SIGNAL(clicked()), SLOT(activate()));
00242     showLocationLabelsCheck->setChecked(labelMode & Renderer::LocationLabels);
00243     labelGroupLayout->addWidget(showLocationLabelsCheck, 13, 1);
00244 
00245     QSpacerItem* spacer = new QSpacerItem( 151, 20, QSizePolicy::Expanding, QSizePolicy::Minimum );
00246     labelGroupLayout->addItem( spacer, 0, 2 );
00247 
00248     savedAmbientLightLevel = int(appCore->getRenderer()->getAmbientLightLevel() * 100);
00249     QGroupBox* ambientLightGroup = new QGroupBox(1, Qt::Vertical, i18n("Ambient Light"), vbox1);
00250     QSlider* ambientLightSlider = new QSlider(0, 25, 1, savedAmbientLightLevel, Qt::Horizontal, ambientLightGroup);
00251     connect(ambientLightSlider, SIGNAL(valueChanged(int)), SLOT(slotAmbientLightLevel(int)));
00252     ambientLabel = new QLabel(ambientLightGroup);
00253     ambientLabel->setMinimumWidth(40);
00254     ambientLabel->setAlignment(Qt::AlignRight | Qt::AlignVCenter);
00255     char buff[20];
00256     sprintf(buff, "%.2f", savedAmbientLightLevel / 100.);
00257     ambientLabel->setText(buff);
00258 
00259     savedFaintestVisible = int(appCore->getSimulation()->getFaintestVisible() * 100);
00260     QGroupBox* faintestVisibleGroup = new QGroupBox(1, Qt::Vertical, i18n("Limiting Magnitude"), vbox1);
00261     QSlider* faintestVisibleSlider = new QSlider(1, 1200, 1, savedFaintestVisible, Qt::Horizontal, faintestVisibleGroup);
00262     connect(faintestVisibleSlider, SIGNAL(valueChanged(int)), SLOT(slotFaintestVisible(int)));
00263     faintestLabel = new QLabel(faintestVisibleGroup);
00264     faintestLabel->setMinimumWidth(40);
00265     faintestLabel->setAlignment(Qt::AlignRight | Qt::AlignVCenter);
00266     sprintf(buff, "%.2f", savedFaintestVisible / 100.);
00267     faintestLabel->setText(buff);
00268 
00269     QGroupBox* infoTextGroup = new QGroupBox(1, Qt::Vertical, i18n("Info Text"), vbox1);
00270     new QLabel(i18n("Level: "), infoTextGroup);
00271     QComboBox* infoTextCombo = new QComboBox(infoTextGroup);
00272     infoTextCombo->insertItem(i18n("None"));
00273     infoTextCombo->insertItem(i18n("Terse"));
00274     infoTextCombo->insertItem(i18n("Verbose"));
00275     savedHudDetail = appCore->getHudDetail();
00276     infoTextCombo->setCurrentItem(savedHudDetail);
00277     ((KdeApp*)parent)->connect(infoTextCombo, SIGNAL(activated(int)), SLOT(slotHudDetail(int)));
00278 
00279     QGroupBox* fovGroup = new QGroupBox(2, Qt::Horizontal, i18n("Automatic FOV"), vbox1);
00280     new QLabel(i18n("Screen DPI: "), fovGroup);
00281     new QLabel(QString::number(appCore->getScreenDpi(), 10), fovGroup);
00282     new QLabel(i18n("Viewing Distance (cm): "), fovGroup);
00283     dtsSpin = new QSpinBox(10, 300, 1, fovGroup);
00284     savedDistanceToScreen = appCore->getDistanceToScreen();
00285     dtsSpin->setValue(savedDistanceToScreen / 10);
00286     connect(dtsSpin, SIGNAL(valueChanged(int)), SLOT(slotDistanceToScreen(int)));
00287 
00288     // Locations page
00289     Observer* obs = appCore->getSimulation()->getActiveObserver();
00290     savedLocationFilter = obs->getLocationFilter();
00291 
00292     QFrame* locationsFrame = addPage(i18n("Locations"), i18n("Locations"),
00293        KGlobal::iconLoader()->loadIcon("package_network", KIcon::NoGroup));
00294     QVBoxLayout* locationsLayout = new QVBoxLayout( locationsFrame );
00295     locationsLayout->setAutoAdd(TRUE);
00296     locationsLayout->setAlignment(Qt::AlignTop);
00297 
00298     QCheckBox* showCityLocationsCheck = new QCheckBox(i18n("Cities"), locationsFrame);
00299     actionColl->action("showCityLocations")->connect(showCityLocationsCheck, SIGNAL(clicked()), SLOT(activate()));
00300     showCityLocationsCheck->setChecked(savedLocationFilter & Location::City);
00301 
00302     QCheckBox* showObservatoryLocationsCheck = new QCheckBox(i18n("Observatories"), locationsFrame);
00303     actionColl->action("showObservatoryLocations")->connect(showObservatoryLocationsCheck, SIGNAL(clicked()), SLOT(activate()));
00304     showObservatoryLocationsCheck->setChecked(savedLocationFilter & Location::Observatory);
00305 
00306     QCheckBox* showLandingSiteLocationsCheck = new QCheckBox(i18n("Landing Sites"), locationsFrame);
00307     actionColl->action("showLandingSiteLocations")->connect(showLandingSiteLocationsCheck, SIGNAL(clicked()), SLOT(activate()));
00308     showLandingSiteLocationsCheck->setChecked(savedLocationFilter & Location::LandingSite);
00309 
00310     QCheckBox* showCraterLocationsCheck = new QCheckBox(i18n("Craters"), locationsFrame);
00311     actionColl->action("showCraterLocations")->connect(showCraterLocationsCheck, SIGNAL(clicked()), SLOT(activate()));
00312     showCraterLocationsCheck->setChecked(savedLocationFilter & Location::Crater);
00313 
00314     QCheckBox* showMonsLocationsCheck = new QCheckBox(i18n("Mons"), locationsFrame);
00315     actionColl->action("showMonsLocations")->connect(showMonsLocationsCheck, SIGNAL(clicked()), SLOT(activate()));
00316     showMonsLocationsCheck->setChecked(savedLocationFilter & Location::Mons);
00317 
00318     QCheckBox* showTerraLocationsCheck = new QCheckBox(i18n("Terra"), locationsFrame);
00319     actionColl->action("showTerraLocations")->connect(showTerraLocationsCheck, SIGNAL(clicked()), SLOT(activate()));
00320     showTerraLocationsCheck->setChecked(savedLocationFilter & Location::Terra);
00321 
00322     QCheckBox* showVallisLocationsCheck = new QCheckBox(i18n("Vallis"), locationsFrame);
00323     actionColl->action("showVallisLocations")->connect(showVallisLocationsCheck, SIGNAL(clicked()), SLOT(activate()));
00324     showVallisLocationsCheck->setChecked(savedLocationFilter & Location::Vallis);
00325 
00326     QCheckBox* showMareLocationsCheck = new QCheckBox(i18n("Mare"), locationsFrame);
00327     actionColl->action("showMareLocations")->connect(showMareLocationsCheck, SIGNAL(clicked()), SLOT(activate()));
00328     showMareLocationsCheck->setChecked(savedLocationFilter & Location::Mare);
00329 
00330     QCheckBox* showOtherLocationsCheck = new QCheckBox(i18n("Other"), locationsFrame);
00331     actionColl->action("showOtherLocations")->connect(showOtherLocationsCheck, SIGNAL(clicked()), SLOT(activate()));
00332     showOtherLocationsCheck->setChecked(savedLocationFilter & FilterOtherLocations);
00333 
00334     QGroupBox* minFeatureSizeGroup = new QGroupBox(1, Qt::Vertical, i18n("Minimum Feature Size"), locationsFrame);
00335     minFeatureSizeGroup->setSizePolicy(QSizePolicy(QSizePolicy::Expanding, QSizePolicy::Minimum));
00336     savedMinFeatureSize = (int)appCore->getRenderer()->getMinimumFeatureSize();
00337     QSlider* minFeatureSizeSlider = new QSlider(1, 1000, 1, savedMinFeatureSize, Qt::Horizontal, minFeatureSizeGroup);
00338     connect(minFeatureSizeSlider, SIGNAL(valueChanged(int)), SLOT(slotMinFeatureSize(int)));
00339     minFeatureSizeLabel = new QLabel(minFeatureSizeGroup);
00340     minFeatureSizeLabel->setMinimumWidth(40);
00341     minFeatureSizeLabel->setAlignment(Qt::AlignRight | Qt::AlignVCenter);
00342     sprintf(buff, "%d", savedMinFeatureSize);
00343     minFeatureSizeLabel->setText(buff);
00344 
00345 
00346     // Time page
00347     timeHasChanged = false;
00348     QVBox* timeFrame = addVBoxPage(i18n("Date/Time"), i18n("Date/Time"),
00349         KGlobal::iconLoader()->loadIcon("clock", KIcon::NoGroup));
00350 
00351     savedDisplayLocalTime = appCore->getTimeZoneBias();
00352     QGroupBox* displayTimezoneGroup = new QGroupBox(1, Qt::Vertical, i18n("Display"), timeFrame);
00353     new QLabel(i18n("Timezone: "), displayTimezoneGroup);
00354     displayTimezoneCombo = new QComboBox(displayTimezoneGroup);
00355     displayTimezoneCombo->insertItem(i18n("UTC"));
00356     displayTimezoneCombo->insertItem(i18n("Local Time"));
00357     displayTimezoneCombo->setCurrentItem((appCore->getTimeZoneBias()==0)?0:1);
00358     ((KdeApp*)parent)->connect(displayTimezoneCombo, SIGNAL(activated(int)), SLOT(slotDisplayLocalTime()));
00359     displayTimezoneGroup->addSpace(0);
00360 
00361     QGroupBox* setTimezoneGroup = new QGroupBox(1, Qt::Horizontal, i18n("Set"), timeFrame);
00362     new QLabel(i18n("Local Time is only supported for dates between 1902 and 2037.\n"), setTimezoneGroup);   
00363     QHBox *hbox2 = new QHBox(setTimezoneGroup);
00364     new QLabel(i18n("Timezone: "), hbox2);
00365     setTimezoneCombo = new QComboBox(hbox2);
00366     setTimezoneCombo->insertItem(i18n("UTC"));
00367     setTimezoneCombo->insertItem(i18n("Local Time"));
00368 //    setTimezoneCombo->setCurrentItem((appCore->getTimeZoneBias()==0)?0:1);
00369     KGlobal::config()->setGroup("ConfigureDialog");
00370     if (KGlobal::config()->hasKey("SetTimeTimeZoneLocal"))
00371         setTimezoneCombo->setCurrentItem(KGlobal::config()->readNumEntry("SetTimeTimeZoneLocal"));
00372     KGlobal::config()->setGroup(0);
00373     connect(setTimezoneCombo, SIGNAL(activated(int)), SLOT(slotTimeHasChanged()));
00374 
00375         
00376     QHBox *hboxdate = new QHBox(setTimezoneGroup);
00377     QLabel* spacerdate1 = new QLabel(" ", hboxdate);
00378     timeFrame->setStretchFactor(spacerdate1, 2);
00379     YSpin = new QSpinBox(-1000000000, 1000000000, 1, hboxdate);
00380     YSpin->setWrapping(true);
00381     MSpin = new QSpinBox(1, 12, 1, hboxdate);
00382     MSpin->setWrapping(true);
00383     DSpin = new QSpinBox(1, 31, 1, hboxdate);
00384     DSpin->setWrapping(true);
00385     QLabel* spacerdate2 = new QLabel(" ", hboxdate);
00386     timeFrame->setStretchFactor(spacerdate2, 2);
00387   
00388     QVBox *vbox3 = new QVBox(setTimezoneGroup);
00389     QHBox *hbox3 = new QHBox(vbox3);
00390     QLabel* spacer1 = new QLabel(" ", hbox3);
00391     hbox3->setStretchFactor(spacer1, 10);
00392     hSpin = new QSpinBox(0, 23, 1, hbox3);
00393     hSpin->setWrapping(true);
00394     new QLabel(":", hbox3);
00395     mSpin = new QSpinBox(0, 59, 1, hbox3);
00396     mSpin->setWrapping(true);
00397     new QLabel(":", hbox3);
00398     sSpin = new QSpinBox(0, 59, 1, hbox3);
00399     sSpin->setWrapping(true);
00400     QLabel* spacer2 = new QLabel(" ", hbox3);
00401     hbox3->setStretchFactor(spacer2, 10);
00402 
00403     QLabel* spacer3 = new QLabel(" ", timeFrame);
00404     timeFrame->setStretchFactor(spacer3, 2);
00405 
00406     setTime(appCore->getSimulation()->getTime());
00407     connect(YSpin, SIGNAL(valueChanged(int)), SLOT(slotTimeHasChanged()));
00408     connect(MSpin, SIGNAL(valueChanged(int)), SLOT(slotTimeHasChanged()));
00409     connect(DSpin, SIGNAL(valueChanged(int)), SLOT(slotTimeHasChanged()));
00410     connect(hSpin, SIGNAL(valueChanged(int)), SLOT(slotTimeHasChanged()));
00411     connect(mSpin, SIGNAL(valueChanged(int)), SLOT(slotTimeHasChanged()));
00412     connect(sSpin, SIGNAL(valueChanged(int)), SLOT(slotTimeHasChanged()));
00413 
00414     KPushButton *nowButton = new KPushButton(setTimezoneGroup);
00415     nowButton->setText(i18n("Now"));
00416     QSizePolicy nowButtonSizePolicy(QSizePolicy::Maximum, QSizePolicy::Maximum);
00417     nowButton->setSizePolicy(nowButtonSizePolicy);
00418     connect(nowButton, SIGNAL(clicked()), SLOT(setNow()));
00419 
00420     Selection selection = appCore->getSimulation()->getSelection();
00421     std::string sel_name;
00422     if (selection.body() != 0) {
00423         QHBox* ltBox = new QHBox(setTimezoneGroup);
00424         char time[50];
00425         sel_name = selection.body()->getName();
00426         Vec3d v = selection.getPosition(appCore->getSimulation()->getTime()) - 
00427                   appCore->getSimulation()->getObserver().getPosition();
00428         double dist = astro::lightYearsToKilometers(v.length()*1e-6);
00429         double lt = dist / astro::speedOfLight;
00430         long lt_h = (long)(lt / 3600);
00431         int lt_m = (int)((lt - lt_h * 3600) / 60);
00432         double lt_s = (lt - lt_h * 3600 - lt_m * 60);
00433         if (lt_h == 0) snprintf(time, 50, "%d min %02.1f s", lt_m, lt_s);
00434         else snprintf(time, 50, "%ld h %02d min %02.1f s", lt_h, lt_m, lt_s);
00435         
00436         new QLabel(i18n("\nSelection: " + QString(sel_name.c_str()) 
00437         + QString("\nLight Travel Time: %2").arg(time)), ltBox);
00438         
00439         KPushButton *ltButton = new KPushButton(ltBox);
00440         ltButton->setToggleButton(true);        
00441 
00442         if (!appCore->getLightDelayActive())
00443             ltButton->setText(i18n("Include Light Travel Time"));
00444         else
00445             ltButton->setText(i18n("Ignore Light Travel Time "));
00446 
00447         ltButton->setSizePolicy(nowButtonSizePolicy);
00448         connect(ltButton, SIGNAL(clicked()), SLOT(ltSubstract()));
00449     }
00450 
00451     // OpenGL Page
00452     QVBox* openGL = addVBoxPage(i18n("OpenGL"), i18n("OpenGL"),
00453         KGlobal::iconLoader()->loadIcon("misc", KIcon::NoGroup));
00454 
00455     renderPathCombo = new QComboBox(openGL);
00456     savedRenderPath = (int)appCore->getRenderer()->getGLContext()->getRenderPath();
00457     if (appCore->getRenderer()->getGLContext()->renderPathSupported(GLContext::GLPath_Basic))
00458         renderPathCombo->insertItem(i18n("Basic"));
00459     if (appCore->getRenderer()->getGLContext()->renderPathSupported(GLContext::GLPath_Multitexture))
00460         renderPathCombo->insertItem(i18n("Multitexture"));
00461     if (appCore->getRenderer()->getGLContext()->renderPathSupported(GLContext::GLPath_NvCombiner))
00462         renderPathCombo->insertItem(i18n("NvCombiners"));
00463     if (appCore->getRenderer()->getGLContext()->renderPathSupported(GLContext::GLPath_DOT3_ARBVP))
00464         renderPathCombo->insertItem(i18n("DOT3 ARBVP"));
00465     if (appCore->getRenderer()->getGLContext()->renderPathSupported(GLContext::GLPath_NvCombiner_NvVP))
00466         renderPathCombo->insertItem(i18n("NvCombiner NvVP"));
00467     if (appCore->getRenderer()->getGLContext()->renderPathSupported(GLContext::GLPath_NvCombiner_ARBVP))
00468         renderPathCombo->insertItem(i18n("NvCombiner ARBVP"));
00469     if (appCore->getRenderer()->getGLContext()->renderPathSupported(GLContext::GLPath_ARBFP_ARBVP))
00470         renderPathCombo->insertItem(i18n("ARBFP ARBVP"));
00471     if (appCore->getRenderer()->getGLContext()->renderPathSupported(GLContext::GLPath_NV30))
00472         renderPathCombo->insertItem(i18n("NV30"));
00473     if (appCore->getRenderer()->getGLContext()->renderPathSupported(GLContext::GLPath_GLSL))
00474         renderPathCombo->insertItem(i18n("OpenGL 2.0"));
00475 
00476     connect(renderPathCombo, SIGNAL(activated(int)), SLOT(slotRenderPath(int)));
00477 
00478     {
00479         int path=0, ipathIdx=0;
00480         while (path != appCore->getRenderer()->getGLContext()->getRenderPath()) {
00481             ipathIdx++;
00482             do {
00483                 path++;
00484             } while (!appCore->getRenderer()->getGLContext()->renderPathSupported((GLContext::GLRenderPath)path));
00485         }
00486         renderPathCombo->setCurrentItem(ipathIdx);
00487     }
00488 
00489     renderPathLabel = new QLabel(openGL);
00490     renderPathLabel->setTextFormat(Qt::RichText);
00491     setRenderPathLabel();
00492 
00493     QTextEdit* edit = new QTextEdit(openGL);
00494     edit->append(((KdeApp*)parent)->getOpenGLInfo());
00495     edit->setFocusPolicy(QWidget::NoFocus);
00496 
00497 
00498     // Key bindings page
00499     QVBox* keyBindings = addVBoxPage(i18n("Key Bindings"), i18n("Key Bindings"),
00500         KGlobal::iconLoader()->loadIcon("key_bindings", KIcon::NoGroup));
00501 
00502     keyChooser = new KKeyChooser(((KMainWindow*)parent)->actionCollection(), keyBindings, false);
00503 
00504     resize(550,400);
00505 }

KdePreferencesDialog::~KdePreferencesDialog  ) 
 

Definition at line 507 of file kdepreferencesdialog.cpp.

00507                                             {
00508 }


Member Function Documentation

double KdePreferencesDialog::getTime  )  const [protected]
 

Definition at line 578 of file kdepreferencesdialog.cpp.

References astro::Date::day, DSpin, astro::Date::hour, hSpin, astro::Date::minute, astro::Date::month, mSpin, MSpin, astro::Date::seconds, astro::secondsToJulianDate(), setTimezoneCombo, sSpin, astro::Date::year, and YSpin.

Referenced by ltSubstract().

00578                                            {
00579     double d;
00580     
00581     if (setTimezoneCombo->currentItem() == 0 || YSpin->value() < 1902 || YSpin->value() > 2037) {  
00582         astro::Date date(0.0);
00583         date.year=YSpin->value();
00584         date.month=MSpin->value();
00585         date.day=DSpin->value();        
00586         date.hour=hSpin->value();
00587         date.minute=mSpin->value();
00588         date.seconds=float(sSpin->value());
00589         d = (double) date;
00590     } else {
00591         struct tm time;
00592         time.tm_year = YSpin->value() - 1900;
00593         time.tm_mon = MSpin->value() - 1;
00594         time.tm_mday = DSpin->value();
00595         time.tm_hour = hSpin->value();
00596         time.tm_min = mSpin->value();
00597         time.tm_sec = sSpin->value();
00598         d = astro::secondsToJulianDate(mktime(&time)) + (double) astro::Date(1970, 1, 1);
00599     }
00600     return d;
00601 }

void KdePreferencesDialog::ltSubstract  )  [slot]
 

Definition at line 528 of file kdepreferencesdialog.cpp.

References appCore, Selection::body(), CelestiaCore::getLightDelayActive(), Body::getName(), Simulation::getObserver(), Observer::getPosition(), Selection::getPosition(), Simulation::getSelection(), CelestiaCore::getSimulation(), Simulation::getTargetSpeed(), getTime(), astro::kilometersToMicroLightYears(), Vector3< T >::length(), astro::lightYearsToKilometers(), CelestiaCore::setLightDelayActive(), and setTime().

Referenced by KdePreferencesDialog().

00528                                        {
00529     double d;
00530     
00531     d = getTime();
00532     
00533     Selection selection = appCore->getSimulation()->getSelection();
00534     std::string sel_name;
00535 
00536     // LT-delay only for solar bodies && target-speed < 0.99 c
00537 
00538     if (selection.body() != 0 &&
00539         (appCore->getSimulation()->getTargetSpeed() < 0.99 *
00540             astro::kilometersToMicroLightYears(astro::speedOfLight))) {
00541         sel_name = selection.body()->getName();
00542         Vec3d v = selection.getPosition(d) -
00543                   appCore->getSimulation()->getObserver().getPosition();
00544         appCore->setLightDelayActive(!appCore->getLightDelayActive());
00545         double dist = astro::lightYearsToKilometers(v.length()*1e-6);
00546         double lt = dist / astro::speedOfLight;
00547         if (appCore->getLightDelayActive())
00548         d -= lt / 86400.;
00549         else
00550             d += lt / 86400.;
00551     setTime(d);
00552     }
00553 }

void KdePreferencesDialog::setNow  )  [slot]
 

Definition at line 511 of file kdepreferencesdialog.cpp.

References DSpin, hSpin, mSpin, MSpin, setTimezoneCombo, sSpin, and YSpin.

Referenced by KdePreferencesDialog().

00511                                   {
00512     time_t date_t;
00513     time(&date_t);
00514     struct tm* tm;
00515     if (setTimezoneCombo->currentItem() != 0) { 
00516         tm = localtime ( &date_t); 
00517     } else {
00518         tm = gmtime ( &date_t);   
00519     }
00520     YSpin->setValue(tm->tm_year + 1900);
00521     MSpin->setValue(tm->tm_mon + 1);
00522     DSpin->setValue(tm->tm_mday);    
00523     hSpin->setValue(tm->tm_hour);
00524     mSpin->setValue(tm->tm_min);
00525     sSpin->setValue(tm->tm_sec);
00526 }

void KdePreferencesDialog::setRenderPathLabel  )  [protected]
 

Definition at line 710 of file kdepreferencesdialog.cpp.

References appCore, Renderer::getGLContext(), CelestiaCore::getRenderer(), GLContext::getRenderPath(), and renderPathLabel.

Referenced by KdePreferencesDialog(), and slotRenderPath().

00710                                               {
00711     switch(appCore->getRenderer()->getGLContext()->getRenderPath()) {
00712     case GLContext::GLPath_Basic:
00713         renderPathLabel->setText(i18n("<b>Unextended OpenGL 1.1</b>"));
00714         break;
00715     case GLContext::GLPath_Multitexture:
00716         renderPathLabel->setText(i18n("<b>Multiple textures and the ARB_texenv_combine extension</b>"));
00717         break;
00718     case GLContext::GLPath_NvCombiner:
00719         renderPathLabel->setText(i18n("<b>NVIDIA combiners, no vertex programs</b>"));
00720         break;
00721     case GLContext::GLPath_DOT3_ARBVP:
00722         renderPathLabel->setText(i18n("<b>ARB_texenv_DOT3 extension, ARB_vertex_program extension</b>"));
00723         break;
00724     case GLContext::GLPath_NvCombiner_NvVP:
00725         renderPathLabel->setText(i18n("<b>NVIDIA Combiners, NV_vertex_program extension</b><br> "
00726                                       "provide bump mapping, ring shadows, and specular "
00727                                       "highlights on any Geforce or ATI Radeon graphics card, though "
00728                                       "NvCombiner ARBVP is a slightly better option for Geforce users"));
00729         break;
00730     case GLContext::GLPath_NvCombiner_ARBVP:
00731         renderPathLabel->setText(i18n("<b>NVIDIA Combiners, ARB_vertex_program extension</b>"));
00732         break;
00733     case GLContext::GLPath_ARBFP_ARBVP:
00734         renderPathLabel->setText(i18n("<b>ARB_fragment_program and ARB_vertex_program extensions</b><br>"
00735                                       "provide advanced effects on Geforce FX and Radeon 9700 cards"));
00736         break;
00737     case GLContext::GLPath_NV30:
00738         renderPathLabel->setText(i18n("<b>NV_fragment_program and ARB_vertex_program extensions</b>"));
00739         break;
00740     case GLContext::GLPath_GLSL:
00741         renderPathLabel->setText(i18n("<b>OpenGL 2.0 Shading Language</b>"));
00742         break;
00743     }
00744 }

void KdePreferencesDialog::setTime double  d  )  [protected]
 

Definition at line 555 of file kdepreferencesdialog.cpp.

References astro::Date::day, DSpin, astro::Date::hour, hSpin, astro::julianDateToSeconds(), astro::Date::minute, astro::Date::month, mSpin, MSpin, astro::Date::seconds, setTimezoneCombo, sSpin, astro::Date::year, and YSpin.

Referenced by KdePreferencesDialog(), and ltSubstract().

00555                                            {
00556     if (setTimezoneCombo->currentItem() != 0 && d < 2465442 && d > 2415733) { 
00557         time_t date_t = (int) astro::julianDateToSeconds( d - (float)astro::Date(1970, 1, 1) );
00558 
00559         struct tm* tm;
00560         tm = localtime ( &date_t); 
00561         YSpin->setValue(tm->tm_year + 1900);
00562         MSpin->setValue(tm->tm_mon + 1);
00563         DSpin->setValue(tm->tm_mday);    
00564         hSpin->setValue(tm->tm_hour);
00565         mSpin->setValue(tm->tm_min);
00566         sSpin->setValue(tm->tm_sec);    
00567     } else {
00568         astro::Date date(d);
00569         YSpin->setValue(date.year);
00570         MSpin->setValue(date.month);
00571         DSpin->setValue(date.day);    
00572         hSpin->setValue(date.hour);
00573         mSpin->setValue(date.minute);
00574         sSpin->setValue(int(date.seconds));
00575     }
00576 }

void KdePreferencesDialog::slotAmbientLightLevel int  l  )  [slot]
 

Definition at line 685 of file kdepreferencesdialog.cpp.

References ambientLabel, parent, and KdeApp::slotAmbientLightLevel().

Referenced by KdePreferencesDialog().

00685                                                       {
00686     char buff[20];
00687     
00688     parent->slotAmbientLightLevel(l / 100.);
00689     sprintf(buff, "%.2f", l / 100.);
00690     ambientLabel->setText(buff);
00691 }

void KdePreferencesDialog::slotApply  )  [slot]
 

Definition at line 622 of file kdepreferencesdialog.cpp.

References appCore, astro::Date::day, DSpin, Simulation::getActiveObserver(), Renderer::getAmbientLightLevel(), CelestiaCore::getDistanceToScreen(), Simulation::getFaintestVisible(), Renderer::getGLContext(), CelestiaCore::getHudDetail(), Renderer::getLabelMode(), Observer::getLocationFilter(), Renderer::getMinimumFeatureSize(), CelestiaCore::getRenderer(), Renderer::getRenderFlags(), GLContext::getRenderPath(), CelestiaCore::getSimulation(), CelestiaCore::getTimeZoneBias(), astro::Date::hour, hSpin, glx::int(), keyChooser, astro::Date::minute, astro::Date::month, mSpin, MSpin, savedAmbientLightLevel, savedDisplayLocalTime, savedDistanceToScreen, savedFaintestVisible, savedHudDetail, savedLabelMode, savedLocationFilter, savedMinFeatureSize, savedRendererFlags, savedRenderPath, astro::Date::seconds, Simulation::setTime(), setTimezoneCombo, sSpin, timeHasChanged, Simulation::update(), astro::Date::year, and YSpin.

Referenced by slotOk().

00622                                      {
00623     savedRendererFlags = appCore->getRenderer()->getRenderFlags();
00624     savedLabelMode = appCore->getRenderer()->getLabelMode();
00625     savedAmbientLightLevel = int(appCore->getRenderer()->getAmbientLightLevel() * 100);
00626     savedFaintestVisible = int(appCore->getSimulation()->getFaintestVisible() * 100);
00627     savedHudDetail = appCore->getHudDetail();
00628     savedDisplayLocalTime = appCore->getTimeZoneBias();
00629     savedRenderPath = (int)appCore->getRenderer()->getGLContext()->getRenderPath();
00630     savedDistanceToScreen = appCore->getDistanceToScreen();
00631     savedLocationFilter = appCore->getSimulation()->getActiveObserver()->getLocationFilter();
00632     savedMinFeatureSize = appCore->getRenderer()->getMinimumFeatureSize();
00633 
00634     keyChooser->commitChanges();
00635 
00636     KGlobal::config()->setGroup("ConfigureDialog");
00637     KGlobal::config()->writeEntry("SetTimeTimeZoneLocal", setTimezoneCombo->currentItem());
00638     KGlobal::config()->setGroup(0);
00639 
00640     if (timeHasChanged) {
00641       if (setTimezoneCombo->currentItem() == 0 || YSpin->value() < 1902 || YSpin->value() > 2037) {  
00642         astro::Date date(0.0);
00643         date.year=YSpin->value();
00644         date.month=MSpin->value();
00645         date.day=DSpin->value();        
00646         date.hour=hSpin->value();
00647         date.minute=mSpin->value();
00648         date.seconds=float(sSpin->value());
00649         appCore->getSimulation()->setTime((double) date);
00650         appCore->getSimulation()->update(0.0);
00651       } else {
00652         struct tm time;
00653         time.tm_year = YSpin->value() - 1900;
00654         time.tm_mon = MSpin->value() - 1;
00655         time.tm_mday = DSpin->value();
00656         time.tm_hour = hSpin->value();
00657         time.tm_min = mSpin->value();
00658         time.tm_sec = sSpin->value();
00659         appCore->getSimulation()->setTime(astro::secondsToJulianDate(mktime(&time)) + (double) astro::Date(1970, 1, 1));
00660         appCore->getSimulation()->update(0.0);       
00661       }
00662     }
00663 }

void KdePreferencesDialog::slotCancel  )  [slot]
 

Definition at line 608 of file kdepreferencesdialog.cpp.

References appCore, Simulation::getActiveObserver(), Renderer::getGLContext(), CelestiaCore::getRenderer(), CelestiaCore::getSimulation(), savedAmbientLightLevel, savedDistanceToScreen, savedFaintestVisible, savedHudDetail, savedLabelMode, savedLocationFilter, savedMinFeatureSize, savedOrbitMask, savedRendererFlags, savedRenderPath, Renderer::setAmbientLightLevel(), CelestiaCore::setDistanceToScreen(), Simulation::setFaintestVisible(), CelestiaCore::setHudDetail(), Renderer::setLabelMode(), Observer::setLocationFilter(), Renderer::setMinimumFeatureSize(), Renderer::setOrbitMask(), Renderer::setRenderFlags(), and GLContext::setRenderPath().

00608                                       {
00609     appCore->getRenderer()->setRenderFlags(savedRendererFlags);
00610     appCore->getRenderer()->setLabelMode(savedLabelMode);
00611     appCore->getRenderer()->setOrbitMask(savedOrbitMask);
00612     appCore->getRenderer()->setAmbientLightLevel(savedAmbientLightLevel/100.);
00613     appCore->getSimulation()->setFaintestVisible(savedFaintestVisible/100.);
00614     appCore->setHudDetail(savedHudDetail);
00615     appCore->getRenderer()->getGLContext()->setRenderPath((GLContext::GLRenderPath)savedRenderPath);
00616     appCore->setDistanceToScreen(savedDistanceToScreen);
00617     appCore->getSimulation()->getActiveObserver()->setLocationFilter(savedLocationFilter);
00618     appCore->getRenderer()->setMinimumFeatureSize(savedMinFeatureSize);
00619     reject();
00620 }

void KdePreferencesDialog::slotDistanceToScreen int   )  [slot]
 

Definition at line 706 of file kdepreferencesdialog.cpp.

References appCore, and CelestiaCore::setDistanceToScreen().

Referenced by KdePreferencesDialog().

00706                                                        {
00707     appCore->setDistanceToScreen(dts * 10);
00708 }

void KdePreferencesDialog::slotFaintestVisible int  m  )  [slot]
 

Definition at line 669 of file kdepreferencesdialog.cpp.

References faintestLabel, parent, and KdeApp::slotFaintestVisible().

Referenced by KdePreferencesDialog().

00669                                                     {
00670     char buff[20];
00671     
00672     parent->slotFaintestVisible(m / 100.);
00673     sprintf(buff, "%.2f", m / 100.);
00674     faintestLabel->setText(buff);
00675 }

void KdePreferencesDialog::slotMinFeatureSize int   )  [slot]
 

Definition at line 677 of file kdepreferencesdialog.cpp.

References minFeatureSizeLabel, parent, and KdeApp::slotMinFeatureSize().

Referenced by KdePreferencesDialog().

00677                                                    {
00678     char buff[20];
00679 
00680     parent->slotMinFeatureSize(s);
00681     sprintf(buff, "%d", s);
00682     minFeatureSizeLabel->setText(buff);
00683 }

void KdePreferencesDialog::slotOk  )  [slot]
 

Definition at line 603 of file kdepreferencesdialog.cpp.

References slotApply().

00603                                   {
00604     slotApply();
00605     accept();
00606 }

void KdePreferencesDialog::slotRenderPath int   )  [slot]
 

Definition at line 693 of file kdepreferencesdialog.cpp.

References appCore, Renderer::getGLContext(), CelestiaCore::getRenderer(), GLContext::renderPathSupported(), GLContext::setRenderPath(), and setRenderPathLabel().

Referenced by KdePreferencesDialog().

00693                                                      {
00694     int path=0, ipathIdx=0;
00695     while (ipathIdx != pathIdx) {
00696         ipathIdx++;
00697         do {
00698             path++;
00699         } while (!appCore->getRenderer()->getGLContext()->renderPathSupported((GLContext::GLRenderPath)path));
00700     }
00701 
00702     appCore->getRenderer()->getGLContext()->setRenderPath((GLContext::GLRenderPath)path);
00703     setRenderPathLabel();
00704 }

void KdePreferencesDialog::slotTimeHasChanged  )  [slot]
 

Definition at line 665 of file kdepreferencesdialog.cpp.

References timeHasChanged.

Referenced by KdePreferencesDialog().

00665                                               {
00666     timeHasChanged = true;
00667 }


Member Data Documentation

QLabel* KdePreferencesDialog::ambientLabel [protected]
 

Definition at line 80 of file kdepreferencesdialog.h.

Referenced by KdePreferencesDialog(), and slotAmbientLightLevel().

CelestiaCore* KdePreferencesDialog::appCore [protected]
 

Definition at line 51 of file kdepreferencesdialog.h.

Referenced by KdePreferencesDialog(), ltSubstract(), setRenderPathLabel(), slotApply(), slotCancel(), slotDistanceToScreen(), and slotRenderPath().

QComboBox* KdePreferencesDialog::displayTimezoneCombo [protected]
 

Definition at line 70 of file kdepreferencesdialog.h.

Referenced by KdePreferencesDialog().

QSpinBox * KdePreferencesDialog::DSpin [protected]
 

Definition at line 72 of file kdepreferencesdialog.h.

Referenced by getTime(), KdePreferencesDialog(), setNow(), setTime(), and slotApply().

QSpinBox* KdePreferencesDialog::dtsSpin [protected]
 

Definition at line 76 of file kdepreferencesdialog.h.

Referenced by KdePreferencesDialog().

QLabel * KdePreferencesDialog::faintestLabel [protected]
 

Definition at line 80 of file kdepreferencesdialog.h.

Referenced by KdePreferencesDialog(), and slotFaintestVisible().

QSpinBox* KdePreferencesDialog::hSpin [protected]
 

Definition at line 74 of file kdepreferencesdialog.h.

Referenced by getTime(), KdePreferencesDialog(), setNow(), setTime(), and slotApply().

KKeyChooser* KdePreferencesDialog::keyChooser [protected]
 

Definition at line 54 of file kdepreferencesdialog.h.

Referenced by KdePreferencesDialog(), and slotApply().

QLabel * KdePreferencesDialog::minFeatureSizeLabel [protected]
 

Definition at line 80 of file kdepreferencesdialog.h.

Referenced by KdePreferencesDialog(), and slotMinFeatureSize().

QSpinBox * KdePreferencesDialog::mSpin [protected]
 

Definition at line 74 of file kdepreferencesdialog.h.

Referenced by getTime(), KdePreferencesDialog(), setNow(), setTime(), and slotApply().

QSpinBox * KdePreferencesDialog::MSpin [protected]
 

Definition at line 72 of file kdepreferencesdialog.h.

Referenced by getTime(), KdePreferencesDialog(), setNow(), setTime(), and slotApply().

KdeApp* KdePreferencesDialog::parent [protected]
 

Definition at line 52 of file kdepreferencesdialog.h.

Referenced by KdePreferencesDialog(), slotAmbientLightLevel(), slotFaintestVisible(), and slotMinFeatureSize().

QComboBox* KdePreferencesDialog::renderPathCombo [protected]
 

Definition at line 78 of file kdepreferencesdialog.h.

Referenced by KdePreferencesDialog().

QLabel* KdePreferencesDialog::renderPathLabel [protected]
 

Definition at line 79 of file kdepreferencesdialog.h.

Referenced by KdePreferencesDialog(), and setRenderPathLabel().

int KdePreferencesDialog::savedAmbientLightLevel [protected]
 

Definition at line 59 of file kdepreferencesdialog.h.

Referenced by KdePreferencesDialog(), slotApply(), and slotCancel().

int KdePreferencesDialog::savedDisplayLocalTime [protected]
 

Definition at line 62 of file kdepreferencesdialog.h.

Referenced by KdePreferencesDialog(), and slotApply().

int KdePreferencesDialog::savedDistanceToScreen [protected]
 

Definition at line 64 of file kdepreferencesdialog.h.

Referenced by KdePreferencesDialog(), slotApply(), and slotCancel().

int KdePreferencesDialog::savedFaintestVisible [protected]
 

Definition at line 60 of file kdepreferencesdialog.h.

Referenced by KdePreferencesDialog(), slotApply(), and slotCancel().

int KdePreferencesDialog::savedHudDetail [protected]
 

Definition at line 61 of file kdepreferencesdialog.h.

Referenced by KdePreferencesDialog(), slotApply(), and slotCancel().

int KdePreferencesDialog::savedLabelMode [protected]
 

Definition at line 57 of file kdepreferencesdialog.h.

Referenced by KdePreferencesDialog(), slotApply(), and slotCancel().

uint32 KdePreferencesDialog::savedLocationFilter [protected]
 

Definition at line 65 of file kdepreferencesdialog.h.

Referenced by KdePreferencesDialog(), slotApply(), and slotCancel().

int KdePreferencesDialog::savedMinFeatureSize [protected]
 

Definition at line 66 of file kdepreferencesdialog.h.

Referenced by KdePreferencesDialog(), slotApply(), and slotCancel().

int KdePreferencesDialog::savedOrbitMask [protected]
 

Definition at line 58 of file kdepreferencesdialog.h.

Referenced by KdePreferencesDialog(), and slotCancel().

int KdePreferencesDialog::savedRendererFlags [protected]
 

Definition at line 56 of file kdepreferencesdialog.h.

Referenced by KdePreferencesDialog(), slotApply(), and slotCancel().

int KdePreferencesDialog::savedRenderPath [protected]
 

Definition at line 63 of file kdepreferencesdialog.h.

Referenced by KdePreferencesDialog(), slotApply(), and slotCancel().

QComboBox* KdePreferencesDialog::setTimezoneCombo [protected]
 

Definition at line 71 of file kdepreferencesdialog.h.

Referenced by getTime(), KdePreferencesDialog(), setNow(), setTime(), and slotApply().

QSpinBox * KdePreferencesDialog::sSpin [protected]
 

Definition at line 74 of file kdepreferencesdialog.h.

Referenced by getTime(), KdePreferencesDialog(), setNow(), setTime(), and slotApply().

bool KdePreferencesDialog::timeHasChanged [protected]
 

Definition at line 68 of file kdepreferencesdialog.h.

Referenced by KdePreferencesDialog(), slotApply(), and slotTimeHasChanged().

QSpinBox* KdePreferencesDialog::YSpin [protected]
 

Definition at line 72 of file kdepreferencesdialog.h.

Referenced by getTime(), KdePreferencesDialog(), setNow(), setTime(), and slotApply().


The documentation for this class was generated from the following files:
Generated on Sat Jan 14 22:33:25 2006 for Celestia by  doxygen 1.4.1