[Kstars-devel] KDE/kdeedu/kstars/kstars/comast

Prakash Mohan prak902000 at gmail.com
Fri Aug 28 22:07:09 CEST 2009


SVN commit 1016760 by prakash:

Add a parametric constructor in the Observation classs to set the values from the Objects of the Comast namespace directly, unlike the current one which uses just qstrings.
Use the constructor in the execute for adding observations. This fixes a crash when there are no Observer or Site or Eyepeice stored while saving the logs.

CCMAIL: kstars-devel at kde.org


 M  +1 -4      execute.cpp  
 M  +25 -0     observation.cpp  
 M  +11 -0     observation.h  


--- trunk/KDE/kdeedu/kstars/kstars/comast/execute.cpp #1016759:1016760
@@ -251,10 +251,7 @@
         nextObservation++;
     KStarsDateTime dt = currentSession->begin();
     dt.setTime( ui.Time->time() );
-    QString observer = "";
-    if( currentObserver )
-        observer = currentObserver->id();
-    Comast::Observation *o = new Comast::Observation( i18n( "observation_" ) + QString::number( nextObservation++ ) , observer, currentSession->site(), currentSession->id(), currentTarget->name(), dt, ui.FaintestStar->value(), ui.Seeing->value(), currentScope->id(), currentEyepiece->id(), currentLens->id(), currentFilter->id(), ui.Description->toPlainText(), ui.Language->text() );
+    Comast::Observation *o = new Comast::Observation( i18n( "observation_" ) + QString::number( nextObservation++ ) , currentObserver, currentSession, currentTarget, dt, ui.FaintestStar->value(), ui.Seeing->value(), currentScope, currentEyepiece, currentLens, currentFilter, ui.Description->toPlainText(), ui.Language->text() );
         logObject->observationList()->append( o );
     ui.Description->clear();
     return true;
--- trunk/KDE/kdeedu/kstars/kstars/comast/observation.cpp #1016759:1016760
@@ -34,3 +34,28 @@
     m_Result = _result;
     m_Lang = _lang;
 }
+
+Observation::Observation( QString id, Observer* observer, Session* session, SkyObject* target, KStarsDateTime begin, double faintestStar, double seeing, Scope* scope, Eyepiece* eyepiece, Lens *lens, Filter* filter,  QString result, QString lang ) {
+    if( observer )
+        m_Observer = observer->id();
+    if( target )
+        m_Target = target->name();
+    if( session ) {
+        m_Session = session->id();
+        m_Site = session->site();
+    }
+    if( scope )
+        m_Scope = scope->id();
+    if( lens )
+        m_Lens = lens->id();
+    if( filter )
+        m_Filter = filter->id();
+    if( eyepiece )
+        m_Eyepiece = eyepiece->id();
+    m_Name = id;
+    m_Begin = begin;
+    m_FaintestStar = faintestStar;
+    m_Seeing = seeing;
+    m_Result = result;
+    m_Lang = lang;
+}
--- trunk/KDE/kdeedu/kstars/kstars/comast/observation.h #1016759:1016760
@@ -20,14 +20,25 @@
 
 #include "comast/comast.h"
 #include "kstarsdatetime.h"
+#include "skyobjects/skyobject.h"
+#include "comast/observer.h"
+#include "comast/site.h"
+#include "comast/session.h"
+#include "comast/scope.h"
+#include "comast/eyepiece.h"
+#include "comast/filter.h"
+#include "comast/lens.h"
 
 #include <QString>
 
+using namespace Comast;
+
 class Comast::Observation {
     public:
         Observation( QString id, QString observer, QString site, QString session, QString target, KStarsDateTime begin, double faintestStar, double seeing, QString scope, QString eyepiece, QString lens, QString filter,  QString result, QString lang ) {
             setObservation( id, observer, site, session, target, begin, faintestStar, seeing, scope, eyepiece, lens, filter, result, lang );
         }
+        Observation( QString id, Observer* observer, Session* session, SkyObject* target, KStarsDateTime begin, double faintestStar, double seeing, Scope* scope, Eyepiece* eyepiece, Lens* lens, Filter* filter,  QString result, QString lang );
         QString id() { return m_Name; }
         QString target() { return m_Target; }
         QString observer() { return m_Observer; }


More information about the Kstars-devel mailing list