X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/78f8358cd5d3bdd2ca6755a7fbfcb28bddacbc6c..246c18a93c63cd3eaa7b53ce27f82009481f3401:/src/dolphinview.cpp diff --git a/src/dolphinview.cpp b/src/dolphinview.cpp index d74d9a64c..073ab5589 100644 --- a/src/dolphinview.cpp +++ b/src/dolphinview.cpp @@ -84,8 +84,8 @@ DolphinView::DolphinView(QWidget* parent, connect(m_dirLister, SIGNAL(completed()), this, SLOT(updateCutItems())); - connect(m_dirLister, SIGNAL(newItems(const KFileItemList&)), - this, SLOT(generatePreviews(const KFileItemList&))); + connect(m_dirLister, SIGNAL(newItems(const QList&)), + this, SLOT(generatePreviews(const QList&))); m_controller = new DolphinController(this); m_controller->setUrl(url); @@ -450,11 +450,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,50 +459,18 @@ 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 KFileItemList& items) +void DolphinView::generatePreviews(const QList& items) { if (m_controller->showPreview()) { - // QList must be turned to QList... - QList itemsToPreview; - foreach (KFileItem* it, items) { - itemsToPreview.append(*it); - } - - KIO::PreviewJob* job = KIO::filePreview(itemsToPreview, 128); + KIO::PreviewJob* job = KIO::filePreview(items, 128); connect(job, SIGNAL(gotPreview(const KFileItem&, const QPixmap&)), this, SLOT(showPreview(const KFileItem&, const QPixmap&))); } @@ -582,7 +546,7 @@ void DolphinView::startDirLister(const KUrl& url, bool reload) const KUrl& dirListerUrl = m_dirLister->url(); if ((dirListerUrl == url) || !m_dirLister->url().isParentOf(url)) { // The current URL is not a child of the dir lister - // URL. This may happen when e. g. a bookmark has been selected + // URL. This may happen when e. g. a place has been selected // and hence the view must be reset. keepOldDirs = false; }