Skip to content
Snippets Groups Projects
Commit 7e6fd6fb authored by Matthias Fuchs's avatar Matthias Fuchs
Browse files

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
parent 176183d3
No related branches found
No related tags found
No related merge requests found
......@@ -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);
......
......@@ -61,8 +61,10 @@ public:
/**
* Sets the directory URL of the child column that is shown next to
* this column. This property is only used for a visual indication
* this column. This property is used for a visual indication
* of the shown directory, it does not trigger a loading of the model.
* When no url is selected and the user presses right, then child
* url will be used as column.
*/
void setChildUrl(const KUrl& url);
KUrl childUrl() const;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment