← Back to team overview

kicad-developers team mailing list archive

Re: [PATCH] Run time advanced options

 

Hi John,

That fixed it thanks.  I do like this patch set but I am concerned that
this could suffer from bit rot once these features are no longer run
time options.  As long as it's kept up to date, I'm fine with merging
it.  Anyone else have any objections or concerns?

Cheers,

Wayne

On 12/17/2018 12:47 PM, John Beard wrote:
> Hi Wayne,
> 
> Booleans are set as "0" or "1" by the wxConfigBase interface. I don't
> think it translates "true" or "false" on read, so they'd probably be
> defaults.
> 
> But I see I have somehow messed up the rebasing to make the SVG stuff
> a separate commit and lost a line as well. Please try the attached
> patches (1 and 3 should be the same) and a file with:
> 
> EnableLegacyCanvasWithGtk3 = 1
> EnableSvgImport = 1
> 
> Sorry about that!
> 
> Cheers,
> 
> John
> 
> On Mon, Dec 17, 2018 at 5:13 PM Wayne Stambaugh <stambaughw@xxxxxxxxx> wrote:
>>
>> Hey John,
>>
>> I'm not sure this is working correctly at least on windows.  I applied
>> all 3 patches and created a kicad_advanced file (attached) but I'm not
>> getting the debugging output I expect:
>>
>> [1588] (KICAD_ADVANCED_CONFIG) Init advanced config
>> [1588] (KICAD_ADVANCED_CONFIG) Loading advanced config from:
>> C:\Users\wstambaugh\AppData\Roaming\kicad\kicad_advanced
>> [1588] (KICAD_ADVANCED_CONFIG) AllowLegacyCanvasInGtk3: false
>>
>> I don't see the EnableSvgImport option and the AllowLegacyCanvasInGtk3
>> option is being read as false when it's set to true in the
>> kicad_advanced file.  Am I doing something wrong?
>>
>> Cheers,
>>
>> Wayne
>>
>> On 12/13/2018 8:30 AM, John Beard wrote:
>>> Whoops: the 16kB 0001 patch should not be there, that's a very old draft!
>>>
>>> Sorry,
>>>
>>> John
>>> On Thu, Dec 13, 2018 at 12:57 PM John Beard <john.j.beard@xxxxxxxxx> wrote:
>>>>
>>>> Hi,
>>>>
>>>> This is a patch for run time options, which are a more flexible alternative to compiler flags. Advantages include:
>>>>
>>>> * you can change the config without rebuilding
>>>> * it's sensitive to XDG_CONFIG_DIR, so you can quickly flip back and forth
>>>> * there's better documention for the config (it's in doxygen all in one place) and theres a trace to show it
>>>> * better type safety if the config has a value
>>>> * better compiler coverage, so less opportunity to break a different build which uses a different preprocessor block and better static analysis coverage
>>>>
>>>> These configs are not intended for general use by users so they are in their own file. You don't need this file, if you don't have it, you get defaults.
>>>>
>>>> The second patch uses the framework to add a config for the SVG import. The disablement is recast so it happens in a single place, and the same system could be used in future for other experimental importers. The reason it's done as a blacklist is so that a unit test could be written that *doesn't* disable the SVG plugin. However, nothing in Pcbnew can be unit tested yet, as I haven't worked out how to link Pcbnew code as a unit test.
>>>>
>>>> The third patch does another one for disabling legacy canvas on GTK3. Again, this is done at run-time to avoid conditionally compiling code.
>>>>
>>>> Cheers,
>>>>
>>>> John
>>>
>>> _______________________________________________
>>> Mailing list: https://launchpad.net/~kicad-developers
>>> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
>>> Unsubscribe : https://launchpad.net/~kicad-developers
>>> More help   : https://help.launchpad.net/ListHelp
>>>
>> _______________________________________________
>> Mailing list: https://launchpad.net/~kicad-developers
>> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
>> Unsubscribe : https://launchpad.net/~kicad-developers
>> More help   : https://help.launchpad.net/ListHelp


Follow ups

References