-void DolphinColumnView::triggerItem(const QModelIndex& index)
-{
- m_controller->triggerItem(index);
-
- const Qt::KeyboardModifiers modifiers = QApplication::keyboardModifiers();
- if ((modifiers & Qt::ControlModifier) || (modifiers & Qt::ShiftModifier)) {
- return;
- }
-
- const KFileItem item = m_dolphinModel->itemForIndex(m_proxyModel->mapToSource(index));
- if ((item.url() != activeColumn()->url()) && item.isDir()) {
- deleteInactiveChildColumns();
-
- const KUrl& childUrl = m_controller->url();
- activeColumn()->setChildUrl(childUrl);
-
- ColumnWidget* column = new ColumnWidget(viewport(), this, childUrl);
- column->setModel(model());
- column->setRootIndex(index);
-
- m_columns.append(column);
-
- setActiveColumnIndex(m_index + 1);
-
- // Before invoking layoutColumns() the column must be shown. To prevent
- // a flickering the initial geometry is set to be invisible.
- column->setGeometry(QRect(-1, -1, 1, 1));
- column->show();
-
- layoutColumns();
- updateScrollBar();
- assureVisibleActiveColumn();
- }
-}
-