X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/33ddc0e7913dfa5f90cbd0b231d766f39cd48b4b..ec00f379dc42b00a64ab1af25bb4bb1a06bd7449:/src/dolphinview.cpp diff --git a/src/dolphinview.cpp b/src/dolphinview.cpp index 207b236ee..7339b8227 100644 --- a/src/dolphinview.cpp +++ b/src/dolphinview.cpp @@ -302,11 +302,8 @@ QList DolphinView::selectedItems() const QList 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& 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);