[Marble-devel] make marblewidget kde QTONLY

Kishore kitts.mailinglists at gmail.com
Fri Jan 22 17:20:12 CET 2010


On Friday 22 Jan 2010 9:20:08 pm Torsten Rahn wrote:
> Hi Kishore,
> 
> On Freitag 22 Januar 2010 11:52:07 Kishore wrote:
> > I would like to look at this from use cases both in the interest of
> > packaging and third party applications using marblewidget. I list down
> > some random points in no specific order and would like to see comments on
> > them.
> > 
> > 1) MarbleWidget should by default store user data in
> > ".local/share/marble" on UNIX like platforms as defined by
> > freedesktop.org instead of ".marble" as it does currently.
> 
> Yes, is there anybody on this list who has looked into this issue yet?
> I think Jens-Michael (jmho) or Dennis (Earthwings) looked into this at some
> point, but I don't know whether somebody has got some patch.

I have a patch. See 
http://gitorious.org/marble/marble/commit/db5de886cc682443369d0864f41fd368b088ae48

But i think it still needs work.. Currently, it uses applications path and 
hence each application that uses the widget would end up downloading map tiles 
etc. I am not sure if that is a good approach. I would definitely prefer that 
"light" applications that are just using the widget for convenience share 
their data.

> > Optionally, an application using the widget should
> > be able to change this base location if it does not want to share its
> > data with other applications.
> 
> This is already possible to some degree. In addition to allowing to change
> the default path at compile and runtime -- see the third section here
> 
> http://edu.kde.org/marble/obtain.php

Hmm.. Compile time options are not very helpful in this use case as the 
library binary is shared with many applications. I have to check how the 
runtime configuration option is used in code and if it is possible to emulate 
that by a third party application (in its startup code) that uses the widget.

> It's also possible to change the data and plugin directory via the class
> MarbleDirs:
> 
>     static void MarbleDirs::setMarbleDataPath( const QString& adaptedPath);
> 
>     static void MarbleDirs::setMarblePluginPath( const QString&
> adaptedPath);

I don't remember very well now but i think the problem i recall with that was 
that i could then just not make use of any of the default plugins. In other 
words, i could not set multiple paths and there was a TODO for exactly that.

> > The QDesktopServices class allows us to get the
> > user data directory in a cross platform way.
> > 
> > 2) Plugins : Not all plugins developed for marblewidget are relevant to
> > all applications that use the widget. An application should be able to
> > select among the default plugins (provided by libmarble and
> > libmarble-data packages) and also provide its own which are not seen by
> > other
> > applications. Is this currently possible?
> 
> I think there was a patch recently (during 0.9 development) committed which
> did that.

I have lost track recently and need to catch up on the current "state of the 
art". :) I will look into this.

> > 3) Allow the application to provide its own DGML files to marblewidget
> > which as with plugins are not meant to show up with other applications
> > such as marble itself. This is my personal need as I may be using certain
> > proprietary client provided maps.
> 
> That's something we'd like to provide, too. MapThemeManager is the class
> which retrieves the dgml files.
> Maybe we can redirect the lookup for the dgml files to a specific
> directory. Hm, doesn't
> 
>     static void MarbleDirs::setMarbleDataPath( const QString& adaptedPath);
> 
> already fully cover this?

Thanks for the pointer. This I will explore over the coming weekend.

> > Access may even need authentication but
> > i have not yet looked deeply into it yet.
> 
> That feature would be majorly cool. :-)
> 
> > 4) As was discussed on IRC and the wiki it is clear that some minimal
> > data needs to go with libmarble while the rest goes with libmarble-data.
> > If there is some consensus on this then i could attempt the split.
> 
> I think the consensus can be found on the wiki. If somebody doesn't agree,
> please speak up now :-)
> 
> > I have been doing some work on this which can be seen at
> > http://gitorious.org/marble/marble/trees/marblewidget
> 
> Don't have time to look at it right now. But I will have a look over the
> weekend.

Thanks. Hope you have nice weekend. :)
-- 
Cheers!
Kishore


More information about the Marble-devel mailing list