diff options
| author | Matthias Fuchs <[email protected]> | 2011-05-27 18:00:00 +0200 |
|---|---|---|
| committer | Matthias Fuchs <[email protected]> | 2011-05-28 01:10:37 +0200 |
| commit | e508685bae6a2171b0a681dbbe4764bfd16071e5 (patch) | |
| tree | a37bf16d52f5ca423d546611fe66a1224ff4fd5d /src/views/dolphincolumnview.cpp | |
| parent | 009535d910180ae7293d784d37543e5e1a1782fe (diff) | |
DolphinColumnView navigation works more intuitively.
If no item is selected then pressing right moves to a column view with child url, instead of the first index.
BUG:263110
REVIEW:101449
Diffstat (limited to 'src/views/dolphincolumnview.cpp')
| -rw-r--r-- | src/views/dolphincolumnview.cpp | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/views/dolphincolumnview.cpp b/src/views/dolphincolumnview.cpp index fa1f620e4..3425c460b 100644 --- a/src/views/dolphincolumnview.cpp +++ b/src/views/dolphincolumnview.cpp @@ -338,6 +338,7 @@ void DolphinColumnView::mousePressEvent(QMouseEvent* event) void DolphinColumnView::keyPressEvent(QKeyEvent* event) { + const bool hadSelection = selectionModel()->hasSelection(); DolphinTreeView::keyPressEvent(event); DolphinViewController* controller = m_container->m_dolphinViewController; @@ -346,7 +347,15 @@ void DolphinColumnView::keyPressEvent(QKeyEvent* event) case Qt::Key_Right: { // Special key handling for the column: A Key_Right should // open a new column for the currently selected folder. - const QModelIndex dolphinModelIndex = m_proxyModel->mapToSource(currentIndex()); + QModelIndex dolphinModelIndex = m_proxyModel->mapToSource(currentIndex()); + + // If there is no selection we automatically move to the child url + // instead of the first directory. + // See BUG:263110 + if (!hadSelection && !childUrl().isEmpty()) { + dolphinModelIndex = m_dolphinModel->indexForUrl(childUrl()); + } + const KFileItem item = m_dolphinModel->itemForIndex(dolphinModelIndex); if (!item.isNull() && item.isDir()) { controller->emitItemTriggered(item); |
