That's so better now, it's really a good job what you did.
There is just one thing, "keepClosestPointOnly" seems to be applied to the whole selection.
At line 336, the IF condition should be true if "item.size" is in the allowed range but also if "/options/snapclosestonly/value" is true:
if (((_items.size() > 0) && (_items.size() < 50)) || (prefs->getBool("/options/snapclosestonly/value", false)))
That's so better now, it's really a good job what you did.
There is just one thing, "keepClosestPoi ntOnly" seems to be applied to the whole selection.
At line 336, the IF condition should be true if "item.size" is in the allowed range but also if "/options/ snapclosestonly /value" is true:
if (((_items.size() > 0) && (_items.size() < 50)) || (prefs- >getBool( "/options/ snapclosestonly /value" , false)))