Port maps to Marble-qt5 and new KReport API
ClosedPublic

Authored by piggz on Aug 31 2016, 10:09 PM.

Details

Summary

Simple 'does it build and run' port of the kexi 2 code. No further debugging yet

Test Plan

Open a database with a report using the map plugin, ensure it renders as per Kexi 2

Diff Detail

Repository
R14 KReport
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.
piggz updated this revision to Diff 6397.Aug 31 2016, 10:09 PM
piggz retitled this revision from to Port maps to Marble-qt5 and new KReport API.
piggz updated this object.
piggz edited the test plan for this revision. (Show Details)
piggz added a reviewer: staniek.
Restricted Application added a project: KReport. · View Herald TranscriptAug 31 2016, 10:09 PM
piggz updated this object.Aug 31 2016, 10:11 PM
piggz edited the test plan for this revision. (Show Details)
piggz updated this revision to Diff 6407.Sep 3 2016, 8:40 AM

Port from Marble::Widget to Marble::Map and fix bug where some items not rendered

staniek accepted this revision.EditedSep 4 2016, 1:41 AM
staniek edited edge metadata.

Good job! Builds but examples/kreportexample gets this when I am inserting a map:

symbol lookup error: .../lib64/libmarblewidget-qt5.so.26: undefined symbol: _ZN11SolarSystem14setCentralBodyEPc

src/plugins/CMakeLists.txt
6–7

No longer needed line?

This revision is now accepted and ready to land.Sep 4 2016, 1:41 AM
staniek requested changes to this revision.Sep 4 2016, 1:42 AM
staniek edited edge metadata.
This revision now requires changes to proceed.Sep 4 2016, 1:42 AM
piggz added a comment.Sep 4 2016, 8:27 AM

No such symbol error for me, using pre-built package for openSuse tumbleweed

piggz updated this revision to Diff 6414.Sep 4 2016, 8:33 AM
piggz edited edge metadata.
piggz marked an inline comment as done.
  • Minor fixes
In D2639#49261, @piggz wrote:

No such symbol error for me, using pre-built package for openSuse tumbleweed

I am using marble master build with all possible options ON, installed in my local prefix.

My other marble packages (standard locations) for opensuse 13.2 are:

marble-14.12.3-16.2.x86_64
marble-devel-14.12.3-16.2.x86_64
libmarblewidget20-14.12.3-16.2.x86_64
marble-doc-14.12.3-16.2.noarch
plasma-addons-marble-4.14.3-12.6.x86_64
marble-data-14.12.3-16.2.noarch
libmarblewidget14-4.9.5-1.1.x86_64
libmarblewidget19-4.14.3-4.3.x86_64

I would uninstall them but regardless of any other reasons it's a kind of useful to have these other versions to actually *test* proper builds in such cases. I am not 100% sure but cmake found my local installation of marble lib (master). Maybe older includes were used or something else?

Got it I think. The symbol is SolarSystem::setCentralBody(char*)
and it's compiled into libastro.

LDD shows invalid:

libastro.so.1 => /usr/lib64/libastro.so.1 (0x00007fac3b672000)

So I had to set LD_LIBRARY_PATH and everything works.
Thanks!

staniek accepted this revision.Sep 4 2016, 7:52 PM
staniek edited edge metadata.

Also the fix for rendering multiple items works incredible well!

This revision is now accepted and ready to land.Sep 4 2016, 7:52 PM
staniek added a comment.EditedSep 4 2016, 9:29 PM

Two minor fixes:

  • we don't need the HttpDownloadManager.h in plugins/maps/marble, do we? HttpDownloadManager.h is now officially installed by Marble
  • set "Icon": "kreport_maps_element" in report_mapsplugin.json
This revision was automatically updated to reflect the committed changes.