diff --git a/src/plugins/quickopen/filesystemfilter.cpp b/src/plugins/quickopen/filesystemfilter.cpp index 55abc390fb23f4deb149e6024f6055b2bdb365f8..387148091b3763e903e0f8c31005515773a3627c 100644 --- a/src/plugins/quickopen/filesystemfilter.cpp +++ b/src/plugins/quickopen/filesystemfilter.cpp @@ -94,8 +94,8 @@ void FileSystemFilter::accept(FilterEntry selection) const { QFileInfo info(selection.internalData.toString()); if (info.isDir()) { - m_toolWindow->show(shortcutString()+" " - +QDir::toNativeSeparators(info.absoluteFilePath()+"/")); + QString value = shortcutString() + " " + QDir::toNativeSeparators(info.absoluteFilePath()+"/"); + m_toolWindow->show(value, value.length()); return; } m_editorManager->openEditor(selection.internalData.toString()); diff --git a/src/plugins/quickopen/quickopentoolwindow.cpp b/src/plugins/quickopen/quickopentoolwindow.cpp index 86d46769dfff802b8559c4e8c360898eb3842366..9a79f6dd2437efc362e68c9b776e5e971a181b89 100644 --- a/src/plugins/quickopen/quickopentoolwindow.cpp +++ b/src/plugins/quickopen/quickopentoolwindow.cpp @@ -345,8 +345,6 @@ bool QuickOpenToolWindow::eventFilter(QObject *obj, QEvent *event) } else if (obj == m_fileLineEdit && event->type() == QEvent::FocusOut) { m_completionList->hide(); } else if (obj == m_fileLineEdit && event->type() == QEvent::FocusIn) { - if (static_cast<QFocusEvent*>(event)->reason() != Qt::MouseFocusReason) - m_fileLineEdit->selectAll(); showPopup(); } else if (obj == this && event->type() == QEvent::ShortcutOverride) { QKeyEvent *ke = static_cast<QKeyEvent *>(event); @@ -445,10 +443,13 @@ void QuickOpenToolWindow::show(const QString &text, int selectionStart, int sele else showPopup(); - if (selectionStart >= 0) + if (selectionStart >= 0) { m_fileLineEdit->setSelection(selectionStart, selectionLength); - else + if (selectionLength == 0) // make sure the cursor is at the right position (Mac-vs.-rest difference) + m_fileLineEdit->setCursorPosition(selectionStart); + } else { m_fileLineEdit->selectAll(); + } } void QuickOpenToolWindow::filterSelected()