]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/dolphinview.cpp
people want tabs, give them tabs
[dolphin.git] / src / dolphinview.cpp
index 5a0f00beecd7b11ddc9449205f633e6701fa3b09..f0a4487c939d10e5ec9eb7e532e7a69b5e1e82a6 100644 (file)
@@ -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;
 }