From 30813f91709a99361db03d79443ea5105d93c820 Mon Sep 17 00:00:00 2001 From: Sandro Mani Date: Thu, 2 Jun 2016 11:04:49 +0200 Subject: [PATCH] Make using specific date/time an option, use current date/time otherwise --- src/plugins/globe/qgsglobeplugindialog.cpp | 16 ++++++++++++++- src/plugins/globe/qgsglobeplugindialog.ui | 24 ++++++++++++++++------ 2 files changed, 33 insertions(+), 7 deletions(-) diff --git a/src/plugins/globe/qgsglobeplugindialog.cpp b/src/plugins/globe/qgsglobeplugindialog.cpp index fd15c496ecd..40223fdb53c 100644 --- a/src/plugins/globe/qgsglobeplugindialog.cpp +++ b/src/plugins/globe/qgsglobeplugindialog.cpp @@ -90,6 +90,7 @@ QgsGlobePluginDialog::QgsGlobePluginDialog( QWidget* parent, Qt::WFlags fl ) #endif connect( checkBoxSkyAutoAmbient, SIGNAL( toggled( bool ) ), horizontalSliderMinAmbient, SLOT( setEnabled( bool ) ) ); + connect( checkBoxDateTime, SIGNAL( toggled( bool ) ), dateTimeEditSky, SLOT( setEnabled( bool ) ) ); connect( buttonBox->button( QDialogButtonBox::Apply ), SIGNAL( clicked( bool ) ), this, SLOT( apply() ) ); restoreSavedSettings(); @@ -121,6 +122,9 @@ void QgsGlobePluginDialog::restoreSavedSettings() groupBoxAntiAliasing->setChecked( settings.value( "/Plugin-Globe/anti-aliasing", false ).toBool() ); lineEditAASamples->setText( settings.value( "/Plugin-Globe/anti-aliasing-level", "" ).toString() ); + horizontalSliderMinAmbient->setEnabled( checkBoxSkyAutoAmbient->isChecked() ); + dateTimeEditSky->setEnabled( checkBoxDateTime->isChecked() ); + // Advanced sliderScrollSensitivity->setValue( settings.value( "/Plugin-Globe/scrollSensitivity", 20 ).toInt() ); checkBoxInvertScroll->setChecked( settings.value( "/Plugin-Globe/invertScrollWheel", 0 ).toInt() ); @@ -224,6 +228,7 @@ void QgsGlobePluginDialog::readProjectSettings() // Map settings groupBoxSky->setChecked( QgsProject::instance()->readBoolEntry( "Globe-Plugin", "/skyEnabled", true ) ); + checkBoxDateTime->setChecked( QgsProject::instance()->readBoolEntry( "Globe-Plugin", "/overrideDateTime", false ) ); dateTimeEditSky->setDateTime( QDateTime::fromString( QgsProject::instance()->readEntry( "Globe-Plugin", "/skyDateTime", QDateTime::currentDateTime().toString() ) ) ); checkBoxSkyAutoAmbient->setChecked( QgsProject::instance()->readBoolEntry( "Globe-Plugin", "/skyAutoAmbient", true ) ); horizontalSliderMinAmbient->setValue( QgsProject::instance()->readDoubleEntry( "Globe-Plugin", "/skyMinAmbient", 30. ) ); @@ -257,6 +262,7 @@ void QgsGlobePluginDialog::writeProjectSettings() // Map settings QgsProject::instance()->writeEntry( "Globe-Plugin", "/skyEnabled/", groupBoxSky->isChecked() ); + QgsProject::instance()->writeEntry( "Globe-Plugin", "/overrideDateTime/", checkBoxDateTime->isChecked() ); QgsProject::instance()->writeEntry( "Globe-Plugin", "/skyDateTime/", dateTimeEditSky->dateTime().toString() ); QgsProject::instance()->writeEntry( "Globe-Plugin", "/skyAutoAmbient/", checkBoxSkyAutoAmbient->isChecked() ); QgsProject::instance()->writeEntry( "Globe-Plugin", "/skyMinAmbient/", horizontalSliderMinAmbient->value() ); @@ -460,7 +466,15 @@ bool QgsGlobePluginDialog::getSkyEnabled() const QDateTime QgsGlobePluginDialog::getSkyDateTime() const { - return QDateTime::fromString( QgsProject::instance()->readEntry( "Globe-Plugin", "/skyDateTime", QDateTime::currentDateTime().toString() ) ); + bool overrideDateTime = QgsProject::instance()->readBoolEntry( "Globe-Plugin", "/overrideDateTime", false ); + if ( overrideDateTime ) + { + return QDateTime::fromString( QgsProject::instance()->readEntry( "Globe-Plugin", "/skyDateTime", QDateTime::currentDateTime().toString() ) ); + } + else + { + return QDateTime::currentDateTime(); + } } bool QgsGlobePluginDialog::getSkyAutoAmbience() const diff --git a/src/plugins/globe/qgsglobeplugindialog.ui b/src/plugins/globe/qgsglobeplugindialog.ui index abf55ccaa2e..341e1918ea5 100644 --- a/src/plugins/globe/qgsglobeplugindialog.ui +++ b/src/plugins/globe/qgsglobeplugindialog.ui @@ -59,15 +59,27 @@ true - - + + + + + 0 + 0 + + - Date / Time (UTC): + Override Date / Time (UTC): - + + + + 0 + 0 + + dd.MM.yyyy HH:mm @@ -76,14 +88,14 @@ - + Ambient lighting - + false