We wanted to select an extruder based on wether or not it has support-material, so that the user doesn't have to think about selecting a support extruder any more and in most cases, can't forget anymore either. The formula present in fdmprinter to do that was not only an unreadable nightmare, but also very slow. We decided to pull most of that functionality into the settings-function machinery instead (but just a bit more generic so other properties can be selected, not just 'material_is_support_material').
done as part of finishing off CURA-10643
By default, the alignment would cause the entire mass of objects to have its center of gravity to be at the origin, including any fixed object. So there was an unwanted 'whole space' translation that we didn't take into account could occur beforehand. Fortunately, there's an option to just set it not to re-translate the whole space. It's unlcear to me how this would've worked in 5.2.2 and prior (and it did ... somehow), since we didn't change anything, including that default, as far as I can see. Anyway, the arrange function can handle 'fixed' objects again (as in loading them in one by one, or loading in a whole bunch of files instead of just 'arrange all').
CURA-10476 -- should fix#14838
Some rework was needed as to not get the entire Preferences window to show up, which previously came along with the add profile action.
part of CURA-9347
Re-use Discard Or Keep dialogue, but have different buttons. (Safe to New/Override instead of Keep/Discard.) The actual safa action is still the old one though (for either new button, it still goes to the old 'make a new profile' action). Besides that, some cosmetics have to be done to the texts as well still.
part of CURA-9347
Currently only works for creating a new profile from current changes (when on top of a built-in profile). Only does the compare (not the safe yet) in the other circumstance. Also already anticipate the next commits by being able to hide the text and icon (because this will be added to the custom mode view as well).
part of CURA-9347
Bit of an ugly hack. At later point in the code it is assumed the first element of the list is the main part and the remaining elements form the suffix. Intent and the profile form both the main part so these need to be grouped together.
Cura-9773
Generation quality display names in `CustomPrintSetup.qml` and `PrintSetupSelectorHeader.qml` were so similar that I decided to combine the logic.
Cura-9773