From c89e237d0080dc328fb0a77d7bed56e768794121 Mon Sep 17 00:00:00 2001 From: con <qtc-committer@nokia.com> Date: Tue, 14 Jul 2009 11:52:10 +0200 Subject: [PATCH] Fix Locator's file system filter. This always selected the whole filter text when entering a directory. --- src/plugins/quickopen/filesystemfilter.cpp | 4 ++-- src/plugins/quickopen/quickopentoolwindow.cpp | 9 +++++---- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/src/plugins/quickopen/filesystemfilter.cpp b/src/plugins/quickopen/filesystemfilter.cpp index 55abc390fb2..387148091b3 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 86d46769dff..9a79f6dd243 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() -- GitLab