X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/d4287eb8e36ead543eb595bfcaa217fa0edd2654..2dd39ff2ad49695e4dc9fb0342a96af2cada5e8f:/src/dolphinview.cpp diff --git a/src/dolphinview.cpp b/src/dolphinview.cpp index 5a0f00bee..f0a4487c9 100644 --- a/src/dolphinview.cpp +++ b/src/dolphinview.cpp @@ -86,7 +86,6 @@ DolphinView::DolphinView(QWidget* parent, m_iconManager(0), m_toolTipManager(0) { - setFocusPolicy(Qt::StrongFocus); m_topLayout = new QVBoxLayout(this); m_topLayout->setSpacing(0); m_topLayout->setMargin(0); @@ -348,6 +347,20 @@ QPoint DolphinView::contentsPosition() const return QPoint(x, y); } +void DolphinView::setCurrentItem(const KUrl& url) +{ + const QModelIndex dirIndex = m_dolphinModel->indexForUrl(url); + if (dirIndex.isValid()) { + const QModelIndex proxyIndex = m_proxyModel->mapFromSource(dirIndex); + QAbstractItemView* view = itemView(); + const bool clearSelection = !hasSelection(); + view->setCurrentIndex(proxyIndex); + if (clearSelection) { + view->clearSelection(); + } + } +} + void DolphinView::zoomIn() { m_controller->triggerZoomIn(); @@ -749,7 +762,7 @@ void DolphinView::triggerItem(const KFileItem& item) return; } - // TODO: the m_isContextMenuOpen check is a workaround for Qt-issue xxxxxx + // TODO: the m_isContextMenuOpen check is a workaround for Qt-issue 207192 if (item.isNull() || m_isContextMenuOpen) { return; } @@ -778,7 +791,7 @@ void DolphinView::openContextMenu(const QPoint& pos) m_toolTipManager->hideTip(); } - m_isContextMenuOpen = true; // TODO: workaround for Qt-issue xxxxxx + m_isContextMenuOpen = true; // TODO: workaround for Qt-issue 207192 emit requestContextMenu(item, url()); m_isContextMenuOpen = false; }