Revives #640, closed only to clear a review backlog. Two entries in
the Configuration menu: "Enregistrer la configuration sous..." saves
the settings to a .conf file, "Charger une configuration..." replaces
them with one. The file is always ini format, so a profile made on one
platform loads on the others.
Changes from #640:
- Window sizes, positions and dock layouts (".../geometry",
".../state") and the recent-files lists stay out of a profile and
are kept on load: they describe this computer, not a preference.
- A saved file carries a format marker; loading refuses files that
QElectroTech did not save.
- Loading closes QElectroTech and asks the user to start it again,
instead of starting a second copy: a second copy started while this
one is still running hands its arguments over and exits (main.cpp).
- The colour dialog's custom colours are reloaded from the profile
before quitting, since ~QETApp() saves them over the loaded ones.
- Both actions are registered with ShortcutManager, so they appear in
command search and can be given a shortcut.
- The copy rules live in the header-only utils/configprofile.h and
are unit tested (tst_configprofile).
Loading still replaces rather than merges: a setting the profile does
not have is removed, or switching profiles would keep settings from the
previous one.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>