]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/views/dolphinviewcontroller.cpp
Provide icon for LocallyModifiedUnstaged versions of a file
[dolphin.git] / src / views / dolphinviewcontroller.cpp
index 6ef32f07fc3b86782e816003052495e5d717e78e..6e2570007e5ec065a81fd4a7d64f124b50f0492e 100644 (file)
@@ -128,7 +128,9 @@ QList<QAction*> DolphinViewController::versionControlActions(const KFileItemList
 
 void DolphinViewController::handleKeyPressEvent(QKeyEvent* event)
 {
-    Q_ASSERT(m_itemView != 0);
+    if (m_itemView == 0) {
+        return;
+    }
 
     const QItemSelectionModel* selModel = m_itemView->selectionModel();
     const QModelIndex currentIndex = selModel->currentIndex();
@@ -194,12 +196,16 @@ void DolphinViewController::emitItemTriggered(const KFileItem& item)
 
 KFileItem DolphinViewController::itemForIndex(const QModelIndex& index) const
 {
-    Q_ASSERT(m_itemView != 0);
+    if (m_itemView != 0) {
+        QAbstractProxyModel* proxyModel = static_cast<QAbstractProxyModel*>(m_itemView->model());
+        if (proxyModel != 0) {
+            KDirModel* dirModel = static_cast<KDirModel*>(proxyModel->sourceModel());
+            const QModelIndex dirIndex = proxyModel->mapToSource(index);
+            return dirModel->itemForIndex(dirIndex);
+        }
+    }
 
-    QAbstractProxyModel* proxyModel = static_cast<QAbstractProxyModel*>(m_itemView->model());
-    KDirModel* dirModel = static_cast<KDirModel*>(proxyModel->sourceModel());
-    const QModelIndex dirIndex = proxyModel->mapToSource(index);
-    return dirModel->itemForIndex(dirIndex);
+    return KFileItem();
 }
 
 void DolphinViewController::triggerItem(const QModelIndex& index)
@@ -208,7 +214,7 @@ void DolphinViewController::triggerItem(const QModelIndex& index)
         const KFileItem item = itemForIndex(index);
         if (index.isValid() && (index.column() == KDirModel::Name)) {
             emit itemTriggered(item);
-        } else {
+        } else if (m_itemView != 0) {
             m_itemView->clearSelection();
             emit itemEntered(KFileItem());
         }