Search results: Open editor on pressing enter on file item

Only do that on enter/return, not on double-click which also expands the
item (we don't want double-click to do both).

Task-number: QTCREATORBUG-18200
Change-Id: Ib4f939a76054832f12b84c8e4353b88e010f1126
Reviewed-by: David Schulz <david.schulz@qt.io>
This commit is contained in:
Eike Ziller
2019-02-18 15:49:07 +01:00
parent efecd9ac4d
commit 1f3f15f01d
2 changed files with 17 additions and 0 deletions

View File

@@ -78,6 +78,21 @@ void SearchResultTreeView::addResults(const QList<SearchResultItem> &items, Sear
}
}
void SearchResultTreeView::keyPressEvent(QKeyEvent *event)
{
if ((event->key() == Qt::Key_Return
|| event->key() == Qt::Key_Enter)
&& event->modifiers() == 0
&& currentIndex().isValid()
&& state() != QAbstractItemView::EditingState) {
const SearchResultItem item
= model()->data(currentIndex(), ItemDataRoles::ResultItemRole).value<SearchResultItem>();
emit jumpToSearchResult(item);
return;
}
TreeView::keyPressEvent(event);
}
void SearchResultTreeView::emitJumpToSearchResult(const QModelIndex &index)
{
if (model()->data(index, ItemDataRoles::IsGeneratedRole).toBool())

View File

@@ -49,6 +49,8 @@ public:
SearchResultTreeModel *model() const;
void addResults(const QList<SearchResultItem> &items, SearchResult::AddMode mode);
void keyPressEvent(QKeyEvent *event) override;
signals:
void jumpToSearchResult(const SearchResultItem &item);