Fix loop of FocusIn events
Summary:
Commit
43da84eefc7d introduced the risk of entering an endless loop of
`FocusIn`/`FocusOut` events sent to two DolphinSearchBox instances when
opening a second tab (see D11871).
This happens because we deactivate the first tab when we open a new one, but
since the `setActive(true)` is delayed with a QTimer, both the old tab
and the new one become active and receive their own `FocusIn` event
(which starts the loop of focus in/out events).
To prevent this issue, we schedule the searchbox activation only if the
searchbox is not already active.
Test Plan:
- Search something in dolphin
- Open a new tab after the search ends
- Check that dolphin does not eat the CPU
Reviewers: #dolphin, anthonyfieroni
Subscribers: kfm-devel
Tags: #dolphin
Differential Revision: https://phabricator.kde.org/D13152