← Back to team overview

kicad-developers team mailing list archive

Re: [PATCH] Rework footprint selection filtering to improve behavior

 


> On Mar 2, 2018, at 10:28 AM, Andrzej Wolski <awolski.kicad@xxxxxxxxx> wrote:
> 
> Jon,
> 
> I probably didn't express myself clearly. What I mean is a situation when *only* enabled layer if F.Paste and then you disable "Pads Front". Now nothing is visible on the board, but footprints are still selectable.
> 
> In other words, when no single item belonging to footprint is visible, footprints should not be selectable.
> 
> Do you still disagree with me?

I agree with Andrzej. This is the crux of my bug report.

But I understand what Jon is saying, and it doesn’t contradict. If the _pads_ (for example) are invisible, but say the silkscreen is visible, then the footprint _should_ be selectable.

That, I think, is the difference between layer visibility and item visibility. All of the layers could be visible, but if I disable Footprints Front, then everything associated with all top-layer footprints vanishes and none of the footprints can be selected. That’s the proper operation.

The converse of that is if I leave Footprints Front visibility enabled, and then I go and disable all of the layers associated with front footprints, like I did in my bug report case (disable all layers except Cmts.User), I am still able to select all of the invisible footprints. That’s not correct (IMHO).

-a


> 
> Andrzej
> 
> W dniu 2018-03-02 o 15:42, Jon Evans pisze:
>> Hi Andrzej,
>> 
>> This was my intention, which is why I said I was prepared for other people to have other opinions :-)
>> 
>> I think that you should still be able to select footprints even if the "front pads" is hidden from layers like the paste layer, *unless* you are in high contrast mode.
>> 
>> -Jon
>> 
>> On Fri, Mar 2, 2018 at 3:53 AM, Andrzej Wolski <awolski.kicad@xxxxxxxxx <mailto:awolski.kicad@xxxxxxxxx>> wrote:
>> I've tried this patch, and there is a small issue: if you have only eg front paste layer enabled and front pads are hidden, footprint is still selectable.
>> 
>> Andrzej
>> 
>> 
>> W dniu 2018-02-27 o 04:11, Jon Evans pisze:
>>> This patch changes the selection logic for footprints to fix a reported issue[1] and to make the behavior more logical to me.
>>> 
>>> I know that correct selection behavior is something of a personal preference, so I'm ready to be flamed :-)
>>> 
>>> The new behavior:
>>> 
>>> A footprint may be selected if:
>>> 1) The corresponding "Footprints" switch is on in the Items tab, AND
>>> 2) One or more of the layers that the footprint draws on is visible
>>> 
>>> This means that if all of the layers are turned off, footprints are not selectable (fixes the bug), but it also means that now footprints can be selected if any draw layers are visible (for example, if you have only F.Mask enabled, you can select a footprint that has solder mask and is on the front layer).
>>> 
>>> Before anyone complains, this is only if high-contrast mode is turned OFF.  When it is on, you can still only select items that *only* exist on that layer (to make moving silkscreen around easier, for example)
>>> 
>>> Even though this adds some more for-loops to selection filtering, I have not noticed any performance hits on some selection of large boards that I tested.  More testing is welcome.
>>> 
>>> [1] https://bugs.launchpad.net/kicad/+bug/1751960 <https://bugs.launchpad.net/kicad/+bug/1751960>
>>> 
>>> -Jon
>>> 


Follow ups

References