[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    KDE/kdeedu/marble/src/lib
From:       Thibaut Gridel <tgridel () free ! fr>
Date:       2011-01-07 20:58:44
Message-ID: 20110107205844.8A776AC8B0 () svn ! kde ! org
[Download RAW message or body]

SVN commit 1212664 by tgridel:

PositionTracking: save only the Track to file, and remember dirName

 M  +6 -2      CurrentLocationWidget.cpp  
 M  +10 -1     PositionTracking.cpp  


--- trunk/KDE/kdeedu/marble/src/lib/CurrentLocationWidget.cpp #1212663:1212664
@@ -307,12 +307,16 @@
 
 void CurrentLocationWidgetPrivate::saveTrack()
 {
+    static QString s_dirName = QDir::homePath();
     QString fileName = QFileDialog::getSaveFileName(m_widget, QObject::tr("Save \
                Track"), // krazy:exclude=qclasses
-                                                    QDir::homePath().append('/' + \
QDateTime::currentDateTime().toString("yyyy-MM-dd_hhmmss") + ".kml"), +               \
s_dirName.append('/' + QDateTime::currentDateTime().toString("yyyy-MM-dd_hhmmss") + \
".kml"),  QObject::tr("KML File (*.kml)"));
-
+    if ( fileName ) {
+        QFileInfo file( fileName );
+        s_dirName = file.absolutePath();
     m_widget->model()->positionTracking()->saveTrack( fileName );
 }
+}
 
 void CurrentLocationWidgetPrivate::clearTrack()
 {
--- trunk/KDE/kdeedu/marble/src/lib/PositionTracking.cpp #1212663:1212664
@@ -191,9 +191,18 @@
         GeoWriter writer;
         //FIXME: a better way to do this?
         writer.setDocumentType( kml::kmlTag_nameSpace22 );
+
+        GeoDataDocument *document = new GeoDataDocument( *d->m_document );
+        QFileInfo fileInfo( fileName );
+        QString name = fileInfo.baseName();
+        document->setName( name );
+        document->remove( 0 );
+        document->last().setName( "Track" );
+
         QFile file( fileName );
         file.open( QIODevice::ReadWrite );
-        return writer.write(&file, d->m_document );
+        return writer.write(&file, document );
+        delete document;
     }
     return false;
 }


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic