[Marble-commits] KDE/kdeedu/marble/src/lib
Thibaut Gridel
tgridel at free.fr
Fri Jan 7 21:58:44 CET 2011
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;
}
More information about the Marble-commits
mailing list