GSoC/GCI Archive
Google Code-in 2012 KDE

Marble: Render a copyright/license notice into the printed map

completed by: Illya Kovalevskyy

mentors: Torsten Rahn, René Küttner, Dennis Nienhüser

When pressing

File->Print

inside Marble, a dialog should appear that tells the user:

 

This map has the following credits info: "(c) Open Street Map - Creative Commons by Shared Attribution 3.0". This requires proper crediting:

(o)  Let Marble put a proper notice onto the map

( )  I will attribute the map myself.

 

Create this dialog and invoke it inside QtMainWindow.cpp and KdeMainWindow.cpp inside the printing method.

If the user picked the first choice then you need to create a QPainter and draw the short license/copyright info text onto the QPixmap. This should be done with outlined text (in the case of printing inverted compared to the screen solution: black text with a white outline). For this task the license and shortLicense tags need to be implemented inside the DGML parser.

Adjust a few dgml files as an example (use the Marble about dialog that you can access by right clicking on the map and choosing "About" there. Don't use the other About dialog from the "Help" menu).

OpenStreetMap:

short version: "© OpenStreetMap contributors"

long version: "© OpenStreetMap contributors, Creative Commons Attribution-ShareAlike 2.0 license (CC-BY-SA)"

Satellite Map (bluemarble.dgml):

short version:"Source: NASA, License: Public Domain"

long version: "Source: NASA Goddard Space Flight Center Earth Observatory, License: Public Domain"

Do this for 5 maps themes that are shipped with Marble.