Settings UI: Version input widget is broken on some linux dist
 ## Deccribtion
Some linux distributions will cause that hint view showing available versions will cause infinite loop of changing of focus and it is not possible to modify the value in it. Which distribution cause that is not clear but it happened on centos 7.

## To Reproduce
Prereq:
- be on centos 7 machine
- have some versions in version repository
1. Open Settings UI
2. Go to version input and click in the input

## System
 - OS: linux (Centos 7)

## Suggested solution
Try fix it so the focus changes don't happen. Or change how versions are shown maybe add a button which will show available versions with filter input so it is not visible all the time.

[cuID:]
diff --git a/openpype/tools/settings/settings/widgets.py b/openpype/tools/settings/settings/widgets.py
index 577c2630ab..6db001f2f6 100644
--- a/openpype/tools/settings/settings/widgets.py
+++ b/openpype/tools/settings/settings/widgets.py
@@ -97,6 +97,9 @@ class CompleterView(QtWidgets.QListView):
             QtCore.Qt.FramelessWindowHint
             | QtCore.Qt.Tool
         )
+
+        # Open the widget unactivated
+        self.setAttribute(QtCore.Qt.WA_ShowWithoutActivating)
         delegate = QtWidgets.QStyledItemDelegate()
         self.setItemDelegate(delegate)
 
@@ -225,10 +228,18 @@ class SettingsLineEdit(PlaceholderLineEdit):
     def __init__(self, *args, **kwargs):
         super(SettingsLineEdit, self).__init__(*args, **kwargs)
 
-        self._completer = None
+        # Timer which will get started on focus in and stopped on focus out
+        # - callback checks if line edit or completer have focus
+        #   and hide completer if not
+        focus_timer = QtCore.QTimer()
+        focus_timer.setInterval(50)
 
+        focus_timer.timeout.connect(self._on_focus_timer)
         self.textChanged.connect(self._on_text_change)
 
+        self._completer = None
+        self._focus_timer = focus_timer
+
     def _on_text_change(self, text):
         if self._completer is not None:
             self._completer.set_text_filter(text)
@@ -240,19 +251,19 @@ class SettingsLineEdit(PlaceholderLineEdit):
         new_point = self.mapToGlobal(point)
         self._completer.move(new_point)
 
+    def _on_focus_timer(self):
+        if not self.hasFocus() and not self._completer.hasFocus():
+            self._completer.hide()
+            self._focus_timer.stop()
+
     def focusInEvent(self, event):
         super(SettingsLineEdit, self).focusInEvent(event)
         self.focused_in.emit()
 
-        if self._completer is None:
-            return
-        self._completer.show()
-        self._update_completer()
-
-    def focusOutEvent(self, event):
-        super(SettingsLineEdit, self).focusOutEvent(event)
         if self._completer is not None:
-            self._completer.hide()
+            self._focus_timer.start()
+            self._completer.show()
+            self._update_completer()
 
     def paintEvent(self, event):
         super(SettingsLineEdit, self).paintEvent(event)
['openpype/tools/settings/settings/widgets.py']