]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/dolphinview.cpp
use "Sort by" instead of "Sort By"
[dolphin.git] / src / dolphinview.cpp
index 207b236ee9e6e02e4c965fee23ec26e43d99b220..7339b82272f37cf6653045323aa5c4ce98748aea 100644 (file)
@@ -302,11 +302,8 @@ QList<KFileItem> DolphinView::selectedItems() const
     QList<KFileItem> itemList;
 
     const QModelIndexList indexList = selection.indexes();
-    QModelIndexList::const_iterator end = indexList.end();
-    for (QModelIndexList::const_iterator it = indexList.begin(); it != end; ++it) {
-        Q_ASSERT((*it).isValid());
-
-        KFileItem item = m_dirModel->itemForIndex(*it);
+    foreach (QModelIndex index, indexList) {
+        KFileItem item = m_dirModel->itemForIndex(index);
         if (!item.isNull()) {
             itemList.append(item);
         }
@@ -430,12 +427,11 @@ void DolphinView::setUrl(const KUrl& url)
         return;
     }
 
-    m_controller->setUrl(url);
+    m_controller->setUrl(url); // emits urlChanged, which we forward
 
     applyViewProperties(url);
 
     startDirLister(url);
-    emit urlChanged(url);
 }
 
 void DolphinView::mouseReleaseEvent(QMouseEvent* event)
@@ -450,11 +446,7 @@ void DolphinView::activate()
 
 void DolphinView::triggerItem(const QModelIndex& index)
 {
-    if (!isValidNameIndex(index)) {
-        clearSelection();
-        showHoverInformation(index);
-        return;
-    }
+    Q_ASSERT(index.isValid());
 
     const Qt::KeyboardModifiers modifier = QApplication::keyboardModifiers();
     if ((modifier & Qt::ShiftModifier) || (modifier & Qt::ControlModifier)) {
@@ -463,38 +455,12 @@ void DolphinView::triggerItem(const QModelIndex& index)
         return;
     }
 
-    KFileItem item = m_dirModel->itemForIndex(m_proxyModel->mapToSource(index));
+    const KFileItem item = m_dirModel->itemForIndex(m_proxyModel->mapToSource(index));
     if (item.isNull()) {
         return;
     }
 
-    // The stuff below should be moved to ViewContainer and be just a signal?
-
-    // Prefer the local path over the URL.
-    bool isLocal;
-    KUrl url = item.mostLocalUrl(isLocal);
-
-    if (item.isDir()) {
-        setUrl(url);
-    } else if (item.isFile()) {
-        // allow to browse through ZIP and tar files
-        KMimeType::Ptr mime = item.mimeTypePtr();
-        if (mime->is("application/zip")) {
-            url.setProtocol("zip");
-            setUrl(url);
-        } else if (mime->is("application/x-tar") ||
-                   mime->is("application/x-tarz") ||
-                   mime->is("application/x-bzip-compressed-tar") ||
-                   mime->is("application/x-compressed-tar") ||
-                   mime->is("application/x-tzo")) {
-            url.setProtocol("tar");
-            setUrl(url);
-        } else {
-            item.run();
-        }
-    } else {
-        item.run();
-    }
+    emit itemTriggered(item); // caught by DolphinViewContainer or DolphinPart
 }
 
 void DolphinView::generatePreviews(const QList<KFileItem>& items)
@@ -947,7 +913,7 @@ void DolphinView::updateViewportColor()
 {
     QColor color = KColorScheme(KColorScheme::View).background();
     if (m_active) {
-        emit urlChanged(url());
+        emit urlChanged(url()); // Hmm, this is a hack; the url hasn't really changed.
         emit selectionChanged(selectedItems());
     } else {
         color.setAlpha(0);