Locator: Fix locator behavior with qt5

Task-number: QTCREATORBUG-10013

Change-Id: I2bf55cfa2fe1e11bac56cced765789566b659469
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
This commit is contained in:
Daniel Teske
2013-08-20 17:57:05 +02:00
parent b8bd672365
commit 3416ecc594

View File

@@ -97,12 +97,9 @@ public:
QSize preferredSize() const { return m_preferredSize; }
void focusOutEvent (QFocusEvent * event) {
if (Utils::HostOsInfo::isWindowsHost()) {
if (event->reason() == Qt::ActiveWindowFocusReason)
hide();
} else {
QTreeView::focusOutEvent(event);
}
if (event->reason() == Qt::ActiveWindowFocusReason)
hide();
QTreeView::focusOutEvent(event);
}
void next() {
@@ -400,14 +397,9 @@ bool LocatorWidget::eventFilter(QObject *obj, QEvent *event)
}
}
} else if (obj == m_fileLineEdit && event->type() == QEvent::FocusOut) {
bool hideList = true;
if (Utils::HostOsInfo::isWindowsHost()) {
QFocusEvent *fev = static_cast<QFocusEvent*>(event);
if (fev->reason() == Qt::ActiveWindowFocusReason &&
!(fev->reason() == Qt::ActiveWindowFocusReason && !m_completionList->isActiveWindow()))
hideList = false;
}
if (hideList) {
QFocusEvent *fev = static_cast<QFocusEvent*>(event);
if (fev->reason() != Qt::ActiveWindowFocusReason
|| (fev->reason() == Qt::ActiveWindowFocusReason && !m_completionList->isActiveWindow())) {
m_completionList->hide();
m_fileLineEdit->clearFocus();
}