Bug 358779 - dgml is missing an option center the map (lonlat)
Needs RevisionPublic

Authored by boriss on Apr 3 2016, 6:46 PM.

Details

Reviewers
nienhueser
rahn
Summary

Can't figure out how to update https://phabricator.kde.org/D894 so I just did this

Some custom map providers will not provide a maps for the entire world , but rather to a small area.
While there is a command line option to start marble to point to a location , it is not a feasible solution when requesting a non technical person to start with command line options (In addition to the need for asking a person to put files a directory).

This patch solve some of the issues raised by devs in the D894

Diff Detail

Repository
R34 Marble
Lint
Lint Skipped
Unit
Unit Tests Skipped
boriss updated this revision to Diff 3113.Apr 3 2016, 6:46 PM
boriss retitled this revision from to Bug 358779 - dgml is missing an option center the map (lonlat).
boriss updated this object.
boriss edited the test plan for this revision. (Show Details)
boriss set the repository for this revision to R34 Marble.
boriss updated this object.
rahn requested changes to this revision.Apr 3 2016, 8:00 PM
rahn edited edge metadata.

minor typos

src/lib/marble/geodata/scene/GeoSceneMap.h
74

breif -> brief
cooredinates ->coordinates

This revision now requires changes to proceed.Apr 3 2016, 8:00 PM
boriss updated this revision to Diff 3114.Apr 3 2016, 8:15 PM
boriss edited edge metadata.
boriss changed the visibility from "All Users" to "Public (No Login Required)".

fix point raised by rahn

nienhueser requested changes to this revision.Apr 16 2016, 10:33 AM
nienhueser edited edge metadata.
nienhueser added inline comments.
src/lib/marble/geodata/handlers/dgml/DgmlCenterTagHandler.cpp
30

This introduces an option like
<center>36,20061°E, 54,13909°N</center>
right? What about using
<center lon="..." lat="..." />
instead? Seems less error-prone to me.

src/lib/marble/geodata/handlers/dgml/DgmlCenterTagHandler.h
8

Can you add a mail address as well? Same for the .cpp.

src/lib/marble/geodata/scene/GeoSceneMap.cpp
184

I'm still a bit uneasy about using a QVariantList to pass the coordinates, especially given that we have them as GeoDataCoordinates here, then convert to QVariantList, and later on convert back to GeoDataCoordinates. What about using GeoDataCoordinates always and introduce an additional bool hasCenter() method with an according bool m_hasCenter (since you don't seem to like GeoDataCoordinates::isValid)?

This revision now requires changes to proceed.Apr 16 2016, 10:33 AM