From kstars-devel Fri Aug 07 17:16:49 2009 From: Prakash Mohan Date: Fri, 07 Aug 2009 17:16:49 +0000 To: kstars-devel Subject: [Kstars-devel] branches/kstars/summer/kstars/kstars/comast Message-Id: <1249665409.375453.26289.nullmailer () svn ! kde ! org> X-MARC-Message: https://marc.info/?l=kstars-devel&m=124966542700766 SVN commit 1008508 by prakash: Use an inbuilt id for a site, instead of the location's full name. CCMAIL: kstars-devel@kde.org M +12 -8 execute.cpp M +1 -1 execute.h M +11 -4 log.cpp M +3 -2 log.h M +4 -2 site.cpp M +6 -5 site.h --- branches/kstars/summer/kstars/kstars/comast/execute.cpp #1008507:1008508 @@ -50,6 +50,7 @@ currentSession = NULL; nextSession = 0; nextObservation = 0; + nextSite = 0; //initialize the global logObject logObject = ks->data()->logObject(); @@ -149,18 +150,21 @@ } bool Execute::saveSession() { + Comast::Site *site = logObject->findSiteByName( geo->fullName() ); + if( ! site ) { + while( logObject->findSiteById( i18n( "site_" ) + QString::number( nextSite ) ) ) + nextSite++; + site = new Comast::Site( geo, i18n( "site_" ) + QString::number( nextSite++ ) ); + logObject->siteList()->append( site ); + } if( currentSession ){ - currentSession->setSession( currentSession->id(), geo->fullName(), ui.Begin->dateTime(), ui.Begin->dateTime(), ui.Weather->toPlainText(), ui.Equipment->toPlainText(), ui.Comment->toPlainText(), ui.Language->text() ); + currentSession->setSession( currentSession->id(), site->id(), ui.Begin->dateTime(), ui.Begin->dateTime(), ui.Weather->toPlainText(), ui.Equipment->toPlainText(), ui.Comment->toPlainText(), ui.Language->text() ); } else { while( logObject->findSessionByName( i18n( "session_" ) + QString::number( nextSession ) ) ) nextSession++; - currentSession = new Comast::Session( i18n( "session_" ) + QString::number( nextSession++ ) , geo->fullName(), ui.Begin->dateTime(), ui.Begin->dateTime(), ui.Weather->toPlainText(), ui.Equipment->toPlainText(), ui.Comment->toPlainText(), ui.Language->text() ); + currentSession = new Comast::Session( i18n( "session_" ) + QString::number( nextSession++ ) , site->id(), ui.Begin->dateTime(), ui.Begin->dateTime(), ui.Weather->toPlainText(), ui.Equipment->toPlainText(), ui.Comment->toPlainText(), ui.Language->text() ); logObject->sessionList()->append( currentSession ); } - if( ! logObject->findSiteByName( geo->fullName() ) ) { - Comast::Site *newSite = new Comast::Site( geo ); - logObject->siteList()->append( newSite ); - } ui.stackedWidget->setCurrentIndex( 1 ); //Move to the next page return true; } @@ -247,14 +251,14 @@ QString observer = ""; if( currentObserver ) observer = currentObserver->id(); - Comast::Observation *o = new Comast::Observation( i18n( "observation_" ) + QString::number( nextObservation++ ) , observer, geo->fullName(), currentSession->id(), currentTarget->name(), dt, ui.FaintestStar->value(), ui.Seeing->value(), ui.Scope->currentText(), ui.Eyepiece->currentText(), ui.Lens->currentText(), ui.Filter->currentText(), ui.Description->toPlainText(), ui.Language->text() ); + 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(), ui.Scope->currentText(), ui.Eyepiece->currentText(), ui.Lens->currentText(), ui.Filter->currentText(), ui.Description->toPlainText(), ui.Language->text() ); logObject->observationList()->append( o ); ui.Description->clear(); return true; } void Execute::slotEndSession() { if( currentSession ) { - currentSession->setSession( currentSession->id(), geo->fullName(), ui.Begin->dateTime(), KStarsDateTime::currentDateTime(), ui.Weather->toPlainText(), ui.Equipment->toPlainText(), ui.Comment->toPlainText(), ui.Language->text() ); + currentSession->setSession( currentSession->id(), currentSession->site(), ui.Begin->dateTime(), KStarsDateTime::currentDateTime(), ui.Weather->toPlainText(), ui.Equipment->toPlainText(), ui.Comment->toPlainText(), ui.Language->text() ); KUrl fileURL = KFileDialog::getSaveUrl( QDir::homePath(), "*.xml" ); if( fileURL.isValid() ) { QFile f( fileURL.path() ); --- branches/kstars/summer/kstars/kstars/comast/execute.h #1008507:1008508 @@ -134,7 +134,7 @@ Comast::Filter *currentFilter; GeoLocation *geo; SkyObject *currentTarget; - int nextSession, nextObservation; + int nextSession, nextObservation, nextSite; }; #endif --- branches/kstars/summer/kstars/kstars/comast/log.cpp #1008507:1008508 @@ -200,7 +200,7 @@ } void Comast::Log::writeSite( Comast::Site *s ) { writer->writeStartElement( "site" ); - writer->writeAttribute( "id", s->name() ); + writer->writeAttribute( "id", s->id() ); writer->writeStartElement( "name" ); writer->writeCDATA( s->name() ); writer->writeEndElement(); @@ -466,7 +466,7 @@ if( reader->isStartElement() ) { if( reader->name() == "site" ) - readSite(); + readSite( reader->attributes().value( "id" ).toString() ); else readUnknownElement(); } @@ -614,7 +614,7 @@ m_observerList.append( o ); } -void Comast::Log::readSite() { +void Comast::Log::readSite( QString id ) { QString name, latUnit, lonUnit, lat, lon; while( ! reader->atEnd() ) { reader->readNext(); @@ -635,7 +635,7 @@ readUnknownElement(); } } - Comast::Site *o= new Comast::Site( name, lat.toDouble(), latUnit, lon.toDouble(), lonUnit ); + Comast::Site *o= new Comast::Site( id, name, lat.toDouble(), latUnit, lon.toDouble(), lonUnit ); m_siteList.append( o ); } @@ -897,6 +897,13 @@ return NULL; } +Comast::Site* Comast::Log::findSiteById( QString id ) { + foreach( Comast::Site *s, *siteList() ) + if( s->id() == id ) + return s; + return NULL; +} + Comast::Site* Comast::Log::findSiteByName( QString name ) { foreach( Comast::Site *s, *siteList() ) if( s->name() == name ) --- branches/kstars/summer/kstars/kstars/comast/log.h #1008507:1008508 @@ -87,7 +87,7 @@ void readObservation( QString id ); void readTarget(); void readObserver( QString id ); - void readSite(); + void readSite( QString id ); void readSession( QString id, QString lang ); void readScope( QString id ); void readEyepiece( QString id ); @@ -98,7 +98,8 @@ QString readResult(); Comast::Observer* findObserverByName( QString fullName ); Comast::Observer* findObserverById( QString id ); - Comast::Site* findSiteByName( QString id ); + Comast::Site* findSiteByName( QString name ); + Comast::Site* findSiteById( QString id ); Comast::Session* findSessionByName( QString id ); Comast::Scope* findScopeByName( QString id ); Comast::Eyepiece* findEyepieceByName( QString id ); --- branches/kstars/summer/kstars/kstars/comast/site.cpp #1008507:1008508 @@ -18,14 +18,16 @@ #include "comast/site.h" -void Comast::Site::setSite( QString _name, double _lat, QString _latUnit, double _lon, QString _lonUnit ){ +void Comast::Site::setSite(QString _id, QString _name, double _lat, QString _latUnit, double _lon, QString _lonUnit ){ + m_Id = _id; m_Name = _name; m_Lat = _lat; m_Lon = _lon; m_LatUnit = _latUnit; m_LonUnit = _lonUnit; } -void Comast::Site::setSite( GeoLocation *geo ) { +void Comast::Site::setSite( GeoLocation *geo, QString id ) { + m_Id = id; m_Name = geo->name(); m_Lat = geo->lat()->radians(); m_Lon = geo->lng()->radians(); --- branches/kstars/summer/kstars/kstars/comast/site.h #1008507:1008508 @@ -26,17 +26,18 @@ class Comast::Site { public: - Site( QString name, double lat, QString latUnit, double lon, QString lonUnit ) { setSite( name, lat, latUnit, lon, lonUnit ); } - Site( GeoLocation *geo ) { setSite( geo ); } + Site( QString id, QString name, double lat, QString latUnit, double lon, QString lonUnit ) { setSite( id, name, lat, latUnit, lon, lonUnit ); } + Site( GeoLocation *geo, QString id ) { setSite( geo, id ); } + QString id() { return m_Id; } QString name() { return m_Name; } double latitude() { return m_Lat; } QString latUnit() { return m_LatUnit; } double longitude() { return m_Lon; } QString lonUnit() { return m_LonUnit; } - void setSite( QString _name, double _lat, QString _latUnit, double _lon, QString _lonUnit); - void setSite( GeoLocation *geo ); + void setSite( QString _id, QString _name, double _lat, QString _latUnit, double _lon, QString _lonUnit); + void setSite( GeoLocation *geo, QString id ); private: - QString m_Name, m_LatUnit, m_LonUnit; + QString m_Name, m_LatUnit, m_LonUnit, m_Id; double m_Lat, m_Lon; }; #endif _______________________________________________ Kstars-devel mailing list Kstars-devel@kde.org https://mail.kde.org/mailman/listinfo/kstars-devel