Generalize focus tracking from KTextEditor::View-only to any
focusable widget pane. paneForWidget() walks up the hierarchy:
- KTextEditor::View takes priority (editor splits)
- Falls back to any widget with StrongFocus/WheelFocus policy
(terminals, file browser, build output, plugin panels, etc.)
This means hovering over any Kate pane will give it keyboard
focus, not just editor splits.
Focus follows mouse across Kate split views. Configurable
focus-stealing prevention parameters:
- Focus delay (default 150ms)
- Minimum stay time (default 50ms)
- Ignore modal dialogs
- Ignore floating widgets
- Optional raise on focus
Uses qApp event filter to catch Enter events on all widgets,
walks up to find KTextEditor::View, and calls setFocus() to
activate the view in its current split pane without opening
new tabs.