X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/1cdb64a12bf5e6f3b97d38992799ba6bfbb06ef5..ec9841397ff92b872df5c3853a232cedae82dfde:/src/dolphinview.cpp diff --git a/src/dolphinview.cpp b/src/dolphinview.cpp index 8f06d3dc8..e49690a04 100644 --- a/src/dolphinview.cpp +++ b/src/dolphinview.cpp @@ -59,6 +59,7 @@ DolphinView::DolphinView(DolphinMainWindow* mainWindow, bool showHiddenFiles) : QWidget(parent), m_showProgress(false), + m_blockContentsMovedSignal(false), m_mode(mode), m_iconSize(0), m_folderCount(0), @@ -460,6 +461,11 @@ bool DolphinView::hasSelection() const return itemView()->selectionModel()->hasSelection(); } +void DolphinView::clearSelection() +{ + itemView()->selectionModel()->clear(); +} + KFileItemList DolphinView::selectedItems() const { const QAbstractItemView* view = itemView(); @@ -670,14 +676,14 @@ void DolphinView::triggerItem(const QModelIndex& index) else if (item->isFile()) { // allow to browse through ZIP and tar files KMimeType::Ptr mime = item->mimeTypePtr(); - if (mime->is("application/x-zip")) { + 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-tbz") || - mime->is("application/x-tgz") || + mime->is("application/x-bzip-compressed-tar") || + mime->is("application/x-compressed-tar") || mime->is("application/x-tzo")) { url.setProtocol("tar"); setUrl(url); @@ -726,6 +732,7 @@ void DolphinView::updateItemCount() updateStatusBar(); + m_blockContentsMovedSignal = false; QTimer::singleShot(0, this, SLOT(restoreContentsPos())); } @@ -736,11 +743,6 @@ void DolphinView::generatePreviews(const KFileItemList& items) connect(job, SIGNAL(gotPreview(const KFileItem*, const QPixmap&)), this, SLOT(showPreview(const KFileItem*, const QPixmap&))); } - - const QMimeData* mimeData = QApplication::clipboard()->mimeData(); - if (KonqMimeData::decodeIsCutSelection(mimeData)) { - QTimer::singleShot(0, this, SLOT(applyCutEffect())); - } } void DolphinView::showPreview(const KFileItem* item, const QPixmap& pixmap) @@ -751,11 +753,11 @@ void DolphinView::showPreview(const KFileItem* item, const QPixmap& pixmap) const QMimeData* mimeData = QApplication::clipboard()->mimeData(); if (KonqMimeData::decodeIsCutSelection(mimeData) && isCutItem(*item)) { KIconEffect iconEffect; - QPixmap cutPixmap = iconEffect.apply(pixmap, K3Icon::Desktop, K3Icon::DisabledState); - m_dirModel->setData(idx, cutPixmap, Qt::DecorationRole); + const QPixmap cutPixmap = iconEffect.apply(pixmap, K3Icon::Desktop, K3Icon::DisabledState); + m_dirModel->setData(idx, QIcon(cutPixmap), Qt::DecorationRole); } else { - m_dirModel->setData(idx, pixmap, Qt::DecorationRole); + m_dirModel->setData(idx, QIcon(pixmap), Qt::DecorationRole); } } } @@ -821,6 +823,7 @@ void DolphinView::startDirLister(const KUrl& url, bool reload) m_statusBar->setProgress(0); } + m_blockContentsMovedSignal = true; m_dirLister->stop(); m_dirLister->openUrl(url, false, reload); } @@ -927,12 +930,15 @@ void DolphinView::updateCutItems() while (it != end) { KFileItem* item = *it; if (isCutItem(*item)) { - QPixmap pixmap = item->pixmap(0); - KIconEffect iconEffect; - pixmap = iconEffect.apply(pixmap, K3Icon::Desktop, K3Icon::DisabledState); const QModelIndex idx = m_dirModel->indexForItem(*item); - if (idx.isValid()) { - m_dirModel->setData(idx, pixmap, Qt::DecorationRole); + const QVariant value = m_dirModel->data(idx, Qt::DecorationRole); + if (value.type() == QVariant::Icon) { + const QIcon icon(qvariant_cast(value)); + KIconEffect iconEffect; + const QPixmap pixmap = iconEffect.apply(icon.pixmap(128, 128), + K3Icon::Desktop, + K3Icon::DisabledState); + m_dirModel->setData(idx, QIcon(pixmap), Qt::DecorationRole); } } ++it; @@ -973,10 +979,7 @@ void DolphinView::openContextMenu(const QPoint& pos) item = fileItem(index); } - DolphinContextMenu contextMenu(m_mainWindow, - item, - url(), - selectedItems()); + DolphinContextMenu contextMenu(m_mainWindow, item, url()); contextMenu.open(); } @@ -1003,8 +1006,6 @@ void DolphinView::dropUrls(const KUrl::List& urls, const KUrl& destination = (directory == 0) ? url() : directory->url(); - kDebug() << "DolphinView::dropUrls() - destination: " << destination.prettyUrl() << endl; - dropUrls(urls, destination); } @@ -1037,7 +1038,9 @@ void DolphinView::updateSortOrder(Qt::SortOrder order) void DolphinView::emitContentsMoved() { - emit contentsMoved(contentsX(), contentsY()); + if (!m_blockContentsMovedSignal) { + emit contentsMoved(contentsX(), contentsY()); + } } void DolphinView::updateActivationState()