kquickcontrols: Use QML Dialogs for reporting shortcut conflicts in KeySequenceItem
- kquickcontrols: Drop validation code from KeySequenceHelper
This has been moved to its own class now so should no longer be needed here.
- kquickcontrols: Use KeySequenceValidator in KeySequenceItem
Replace the internal logic of KeySequenceHelper with KeySequenceValidator. This gives us control of what should happen when a conflict has been detected, in this case we add some QtQuick dialogs to ask those questions in a way that is compatible with QtQuick rather than using nested event loops that cause crashes.
- kquickcontrols: Introduce private KeySequenceValidator type
This extracts the validation logic out of KeySequenceHelper and allows us more control over the exact execution order of things. Most importantly, this does not rely on internal message boxes and the nasty nested event loops that come with them. Instead, KeySequenceValidator is a little more stateful but allows the using code to indicate what should happen if something needs handling by the user.