[Marble-devel] Routing profile configuration

Dennis Nienhüser earthwings at gentoo.org
Sun Sep 26 13:00:00 CEST 2010


Hi Niko,

please excuse the late reply, been traveling all week.

On 19.09.2010 17:43, Niko Sams wrote:
> Hi,
>
> I just pushed an update, please review...
>    
Great work :-) I added some comments to gitorious, also synced the 
marble git clone.

One runtime problem I'm having is that if a plugin has no config widget 
and I include it in a profile, its inclusion is not remembered upon a 
restart of Marble. E.g. I made a "Monav only" profile where only monav 
was checked, but upon a restart none was included. Same for gosmore.

> Especially the way I implemented the API for template settings
> (RunnerPlugin::templateSettings())
>    
Looks fine to me.
I don't like the LastTemplate enum value too much though. I see that it 
is convenient to enumerate over the enum values, but it looks a bit 
hackish and forces you to check for this "invalid" enum value everywhere.
I wonder whether there should be another template "Car (ecological)" for 
eco routing (minimizing fuel consumption). Right now we don't have any 
router for it, but I think it makes sense to prepare for it. It would 
also be a test case to verify that if no runner plugin can handle a 
template, it shouldn't be shown to the user.

> Maybe routers should get a RouterPlugin base class that adds this
> settings stuff,
> as it's not needed for other runners.
>
>    
Yes, good point. I think we can delay it a bit and work on it when doing 
automatic recalculation of routes when the user deviates from the route 
-- this will likely add another routing specific method to the runner 
base class.

> After that I would merge into svn if that's ok for you.
> How should that be done?
> - as one large commit
> - keeping the git history (how to do that?)
>    

Sounds good to me. Personally I'd go for the "one large commit" variant, 
but I don't have a strong opinion on it. Both should work like this:

Setup a marble repository from svn trunk using git-svn. Add your 
gitorious clone as a remote repository, fetch it and merge the 
configurable-routers into the master branch. As individual commits simply
git merge configurable-routers
and for one large commit
git merge --squashed configurable-routers

Regards,
Dennis



More information about the Marble-devel mailing list