SVN commit 1213197 by beschow: MapWizard: have a server history in the static URL case as well there are two reasons for this: 1) be able to provide a novice user some sample/template URLs 2) save valuable time when creating the same map again M +6 -4 QtMainWindow.cpp M +25 -6 lib/MapWizard.cpp M +3 -0 lib/MapWizard.h M +15 -12 lib/MapWizard.ui M +6 -3 marble.kcfg M +4 -2 marble_part.cpp --- trunk/KDE/kdeedu/marble/src/QtMainWindow.cpp #1213196:1213197 @@ -996,8 +996,9 @@ } settings.endGroup(); - settings.beginGroup( "WmsService" ); - m_mapWizard->setWmsServers( settings.value( "services" ).toStringList() ); + settings.beginGroup( "MapWizard" ); + m_mapWizard->setWmsServers( settings.value( "wmsServers" ).toStringList() ); + m_mapWizard->setStaticUrlServers( settings.value( "staticUrlServers" ).toStringList() ); settings.endGroup(); settings.beginGroup( "Plugins"); @@ -1115,8 +1116,9 @@ settings.setValue( "activePositionTrackingPlugin", positionProvider ); settings.endGroup(); - settings.beginGroup( "WmsService" ); - settings.setValue( "services", m_mapWizard->wmsServers() ); + settings.beginGroup( "MapWizard" ); + settings.setValue( "wmsServers", m_mapWizard->wmsServers() ); + settings.setValue( "staticUrlServers", m_mapWizard->staticUrlServers() ); settings.endGroup(); // The config dialog has to write settings. --- trunk/KDE/kdeedu/marble/src/lib/MapWizard.cpp #1213196:1213197 @@ -62,6 +62,7 @@ QNetworkAccessManager legendAccessManager; QNetworkAccessManager levelZeroAccessManager; QStringList wmsServerList; + QStringList staticUrlServerList; bool m_serverCapabilitiesValid; enum mapType @@ -244,6 +245,18 @@ return d->wmsServerList; } +QStringList MapWizard::staticUrlServers() const +{ + return d->staticUrlServerList; +} + +void MapWizard::setStaticUrlServers( const QStringList& uris ) +{ + d->staticUrlServerList = uris; + d->uiWidget.comboBoxStaticUrlServer->addItems( d->staticUrlServerList ); + d->uiWidget.comboBoxStaticUrlServer->addItem( "http://" ); +} + void MapWizard::autoFillDetails() { int selected = d->uiWidget.comboBoxWmsMap->currentIndex(); @@ -504,7 +517,7 @@ else if( d->mapProviderType == MapWizardPrivate::StaticUrlMap ) { - QString server = d->uiWidget.lineEditStaticUrlServer->text(); + QString server = d->uiWidget.comboBoxStaticUrlServer->currentText(); QString format = d->uiWidget.comboBoxStaticUrlFormat->currentText(); QUrl downloadUrl; @@ -534,17 +547,23 @@ QMessageBox::information( this, tr( "Base Tile" ), tr( "The base tile could not be downloaded." ) ); + return; } - else if ( testImage.isNull() ) { + + if ( testImage.isNull() ) { QMessageBox::information( this, tr( "Base Tile" ), tr( "The base tile could not be downloaded successfully. The server replied:\n\n%1" ).arg( QString( d->levelZero ) ) ); d->levelZero.clear(); + return; } - else { + + if ( d->mapProviderType == MapWizardPrivate::StaticUrlMap ) { + d->staticUrlServerList.append( d->uiWidget.comboBoxStaticUrlServer->currentText() ); + } + next(); } -} void MapWizard::createLegend() { @@ -814,7 +833,7 @@ else if( d->mapProviderType == MapWizardPrivate::StaticUrlMap ) { texture->setFileFormat( d->uiWidget.comboBoxStaticUrlFormat->currentText() ); - downloadUrl = QUrl( d->uiWidget.lineEditStaticUrlServer->text() ); + downloadUrl = QUrl( d->uiWidget.comboBoxStaticUrlServer->currentText() ); texture->addDownloadPolicy( DownloadBrowse, 20 ); texture->addDownloadPolicy( DownloadBulk, 2 ); texture->addDownloadUrl( downloadUrl ); @@ -881,7 +900,7 @@ else if( d->uiWidget.radioButtonStaticUrl->isChecked() ) { - QUrl staticImageUrl( d->uiWidget.lineEditStaticUrlServer->text() ); + QUrl staticImageUrl( d->uiWidget.comboBoxStaticUrlServer->currentText() ); d->staticUrlProtocol = staticImageUrl.toString().left( staticImageUrl.toString().indexOf( ':' ) ); d->staticUrlHost = QString( staticImageUrl.encodedHost() ); d->staticUrlPath = QUrl::fromPercentEncoding( staticImageUrl.encodedPath() ); --- trunk/KDE/kdeedu/marble/src/lib/MapWizard.h #1213196:1213197 @@ -41,6 +41,9 @@ QStringList wmsServers() const; void setWmsServers( const QStringList& uris ); + QStringList staticUrlServers() const; + void setStaticUrlServers( const QStringList& uris ); + QString createArchive( QString mapId ); void deleteArchive( QString mapId ); --- trunk/KDE/kdeedu/marble/src/lib/MapWizard.ui #1213196:1213197 @@ -374,24 +374,14 @@ - - - - Url of the server that provides map tiles. An example would be: http://tile.openstreetmap.org/{zoomLevel}/{y}/{x}.png - - - http:// - - - - + Image Format: - + @@ -415,6 +405,19 @@ + + + + + 0 + 0 + + + + true + + + --- trunk/KDE/kdeedu/marble/src/marble.kcfg #1213196:1213197 @@ -258,9 +258,12 @@ true - - - false + + + + + + --- trunk/KDE/kdeedu/marble/src/marble_part.cpp #1213196:1213197 @@ -425,7 +425,8 @@ m_previousGraphicsSystem = m_initialGraphicsSystem; // Map Wizard - m_mapWizard->setWmsServers( MarbleSettings::wmsServices() ); + m_mapWizard->setWmsServers( MarbleSettings::wmsServers() ); + m_mapWizard->setStaticUrlServers( MarbleSettings::staticUrlServers() ); // Plugins QHash pluginEnabled; @@ -619,7 +620,8 @@ MarbleSettings::setDateTime( m_controlView->marbleWidget()->model()->clockDateTime() ); MarbleSettings::setSpeedSlider( m_controlView->marbleWidget()->model()->clockSpeed() ); - MarbleSettings::setWmsServices( m_mapWizard->wmsServers() ); + MarbleSettings::setWmsServers( m_mapWizard->wmsServers() ); + MarbleSettings::setStaticUrlServers( m_mapWizard->staticUrlServers() ); // Plugins QList pluginEnabled;