KF6: NavigationTabBar enchancements
Proposals to refactor NavigationTabBar for KF6.
- Move delegate out of Instantiator to a top-level customizable property + inline component as a default implementation. Bing essential properties such as preferable width, action and parent in onObjectAdded hook. Use preferable with if set, fallback to normal Item::implicitWidth.
Reason: this way behavior and appearance can be altered without rolling out full NavigationTabBar override. For example, some buttons could handle long presses and show a menu, like Dictionary Universal does on iOS for its first Search tab (it shows the list of dictionary sets, if configured in preferences).
- Replace Row in contentItem with custom positioning code.
Reason: Allow buttons to be reordered via drag&dropped in the edit mode (which is to be done too).
- Implement optional edit mode, exposed as a top-level bool property. Needs some model management for actions, at the very least via sort proxy.
Reason: self-descriptive.