GSoC/GCI Archive
Google Code-in 2012 KDE

Marble: Create an initial port of the MarbleLegendBrowser to QWebView

completed by: Illya Kovalevskyy

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

The MarbleLegendBrowser displays the legend inside Marble. The legend is dynamically created at runtime from an html template with custom Url-hints and information from the dgml file. 

Currently the MarbleLegendBrowser uses QTextBrowser. QTextBrowser was only meant to display richtext and some very basic HTML. The MarbleLegendBrowser code adds some tweaks to allow for image loading. QTextBrowser was used since QWebView wasn't available when the legend got introduced.

However these days we'd prefer QWebView since it would allow for much better styling of our legend.

This task is about porting the MarbleLegend from QTextBrowser to QWebView.

The initial goal is

  • to change the inheritance to QWebView. This requires commenting out all the code snippets which assume a QTextBrowser API - or changing the APIs where it's quickly doable.
  • To get the dynamic creation of the plain html code to work
  • To get all the text and images to work.

The checkbox handling and rendering is supposed to be ignored in this task and will be subject to a later task. So just ignore html snippets like <a href="checkbox:cities"> and <img src="checkbox:cities"> for now.

The delivery of this task is a patch on reviewboard which will only be committed into master once the second task (proper checkbox handling) is done.