← Back to team overview

kicad-developers team mailing list archive

Re: [PATCH/RFC] Pcbnew initial startup user experience

 

On 3/5/2017 3:48 PM, John Beard wrote:
> Hi Wayne,
> 
> Thanks for taking a look!
> 
> On Mon, Mar 6, 2017 at 3:24 AM, Wayne Stambaugh <stambaughw@xxxxxxxxx> wrote:
>>
>> It is perfectly acceptable to have an empty global library table and
>> always use the project library table for defining footprint libraries so
>> this check would be annoying to users who prefer this.
>>
> 
> The first dialog (Quit/Copy/Create Empty) is invoked only when the
> global table is missing, not empty.
> 
> The second dialog (Cancel/Manual/Manager) is a more explicit version
> of the dialog that already occurs, e.g. on a keyword search, but I
> agree it would be annoying to have this on startup.
> 
> Should there still be a nag prompt on things like keyword search if
> all libraries come up empty in total (i.e. empty global and project
> libs)?

This would be acceptable to me with possibly a fallback to edit the
footprint library table.  I'm less concerned about empty libraries as I
am about libraries in the table that cannot be found.

> 
>> Rather than go through all of this, why not just use a single wizard to
>> step the user all of the way through the configuration.  The first page
>> of the wizard should have a list of valid footprint table configuration
>> choices followed by appropriate wizard pages.  I can see five plausible
>> global fp-lib-table config options.
>>
>> * Copy the default global footprint library table. (disabled if the
>> default global footprint table cannot be found)
>>
>> * Copy a custom global footprint library table.
>>
>> * I know what I'm doing and will configure my own footprint library table.
>>
>> * Use the footprint library table wizard to help me create a custom
>> global footprint library table.
>>
>> * I prefer to use project specific library tables, create an empty
>> global footprint library table.
> 
> That does make more sense, I will take a look at roughing something up
> like that. Logically it shouldn't be too hard, but getting UI right
> might take a little while, especially if taking care of all entry
> points (so far, pcbnew, cvpcb and eeschema component chooser) is not
> plain sailing!

It will take some refactoring to be able to use the footprint library
table editor and the footprint library table wizard into a initial
configuration wizard.

> 
> The third option still involves quitting and dealing with it
> externally, right? Otherwise Pcbnew will have to be ready for having
> no global table, not just an empty one.

The problem with no global fp-lib-table file, you will get an error on
load because the expectation is that there will be at least an empty one.

> 
> If the user cancels any of these processes (if they can), do you
> envision it dumping them back at the wizard entry point?

I would fall back to the default which is to create an empty fp-lib-table.

> 
> Perhaps also add "download latest table from Github", since that can
> change a lot over the lifetime of a release? Otherwise, all the
> "default" tables bundled with a release will become stale as Github
> repos change, unless the release packages get updates for that.

That could be another initial config option as well.  It's not uncommon
for the fp-lib-table that got installed to be out of date.

> 
> Cheers,
> 
> John
> 


References