From 5d31c9831da42ffb5f720b147d99be6d9eb93e30 Mon Sep 17 00:00:00 2001 From: Kaligin Sergey Date: Wed, 11 May 2016 14:46:47 +0300 Subject: QTreeView: fix keyboard navigation when using the right arrow key MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The visual column index needs to be replaced by the logical column index in QModelIndex::sibling() call in QTreeView::moveCursor() method. [ChangeLog][QtWidgets][QTreeView] Fixed a key navigation bug when the columns were reordered. Task-number: QTBUG-52793 Change-Id: I4dc89a2705966a94b20edd7f9a4422f089bb670f Reviewed-by: Thorbjørn Lund Martsum --- src/widgets/itemviews/qtreeview.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/widgets/itemviews') diff --git a/src/widgets/itemviews/qtreeview.cpp b/src/widgets/itemviews/qtreeview.cpp index 135c417f15..01ebae0848 100644 --- a/src/widgets/itemviews/qtreeview.cpp +++ b/src/widgets/itemviews/qtreeview.cpp @@ -2314,8 +2314,8 @@ QModelIndex QTreeView::moveCursor(CursorAction cursorAction, Qt::KeyboardModifie int visualColumn = d->header->visualIndex(current.column()) + 1; while (visualColumn < d->model->columnCount(current.parent()) && isColumnHidden(d->header->logicalIndex(visualColumn))) visualColumn++; - - QModelIndex next = current.sibling(current.row(), visualColumn); + const int newColumn = d->header->logicalIndex(visualColumn); + const QModelIndex next = current.sibling(current.row(), newColumn); if (next.isValid()) return next; } -- cgit v1.2.3