The attached patch adds an offset, so that if the markY insertion point values of the selected items range between A and B originally, the layer-flipped items will range between B and A.
When flipping a single item, this means it stays at exactly the same coordinates as before, instead of moving halfway across the board. This is a big win for convenience.
When flipping a group of items, they stay roughly in the same area.
In a small fraction of cases, if components are near the board edge, it is possible that a portion of some outer components will be flipped off the board edge - however, the mark point will always be on-board, so it can be easily moved. The whole selection "snaps" back to the PCB when you move it anyway. I do not think this is a problem. It is still more convenient than having the whole selection move halfway across the PCB.
The attached patch adds an offset, so that if the markY insertion point values of the selected items range between A and B originally, the layer-flipped items will range between B and A.
When flipping a single item, this means it stays at exactly the same coordinates as before, instead of moving halfway across the board. This is a big win for convenience.
When flipping a group of items, they stay roughly in the same area.
In a small fraction of cases, if components are near the board edge, it is possible that a portion of some outer components will be flipped off the board edge - however, the mark point will always be on-board, so it can be easily moved. The whole selection "snaps" back to the PCB when you move it anyway. I do not think this is a problem. It is still more convenient than having the whole selection move halfway across the PCB.