From: Peter Penz Date: Fri, 15 Aug 2008 13:27:52 +0000 (+0000) Subject: minor adjustment to prevent code duplication X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/commitdiff_plain/5fc9514e6552a3af71c06e67b456f29601e022a9 minor adjustment to prevent code duplication svn path=/trunk/KDE/kdebase/apps/; revision=847497 --- diff --git a/src/dolphinview.cpp b/src/dolphinview.cpp index 685177db4..6f5aa8d6f 100644 --- a/src/dolphinview.cpp +++ b/src/dolphinview.cpp @@ -605,21 +605,13 @@ void DolphinView::renameSelectedItems() void DolphinView::trashSelectedItems() { emit doingOperation(KIO::FileUndoManager::Trash); - KUrl::List list = selectedUrls(); - DolphinDetailsView *dv = qobject_cast(itemView()); - if (dv && dv->itemsExpandable()) { - list = KonqOperations::simplifiedUrlList(list); - } + const KUrl::List list = simplifiedSelectedUrls(); KonqOperations::del(this, KonqOperations::TRASH, list); } void DolphinView::deleteSelectedItems() { - KUrl::List list = selectedUrls(); - DolphinDetailsView *dv = qobject_cast(itemView()); - if (dv && dv->itemsExpandable()) { - list = KonqOperations::simplifiedUrlList(list); - } + const KUrl::List list = simplifiedSelectedUrls(); const bool del = KonqOperations::askDeleteConfirmation(list, KonqOperations::DEL, KonqOperations::DEFAULT_CONFIRMATION, @@ -635,11 +627,7 @@ void DolphinView::deleteSelectedItems() void DolphinView::cutSelectedItems() { QMimeData* mimeData = new QMimeData(); - KUrl::List kdeUrls = selectedUrls(); - DolphinDetailsView *dv = qobject_cast(itemView()); - if (dv && dv->itemsExpandable()) { - kdeUrls = KonqOperations::simplifiedUrlList(kdeUrls); - } + const KUrl::List kdeUrls = simplifiedSelectedUrls(); const KUrl::List mostLocalUrls; KonqMimeData::populateMimeData(mimeData, kdeUrls, mostLocalUrls, true); QApplication::clipboard()->setMimeData(mimeData); @@ -1295,4 +1283,13 @@ void DolphinView::updateZoomLevel(int oldZoomLevel) } } +KUrl::List DolphinView::simplifiedSelectedUrls() const +{ + KUrl::List list = selectedUrls(); + if ((m_detailsView != 0) && m_detailsView->itemsExpandable()) { + list = KonqOperations::simplifiedUrlList(list); + } + return list; +} + #include "dolphinview.moc" diff --git a/src/dolphinview.h b/src/dolphinview.h index 63afaba58..613141535 100644 --- a/src/dolphinview.h +++ b/src/dolphinview.h @@ -673,16 +673,20 @@ private: * is emitted. */ void updateZoomLevel(int oldZoomLevel); + + /** + * Returns a list of URLs for all selected items. The list is + * simplified, so that when the URLs are part of different tree + * levels, only the parent is returned. + */ + KUrl::List simplifiedSelectedUrls() const; /** * Returns true, if the ColumnView is activated. As the column view * requires some special handling for iterating through directories, * this method has been introduced for convenience. */ - bool isColumnViewActive() const - { - return m_columnView != 0; - } + bool isColumnViewActive() const; private: bool m_active : 1; @@ -715,6 +719,11 @@ private: KUrl m_currentItemUrl; }; +inline bool DolphinView::isColumnViewActive() const +{ + return m_columnView != 0; +} + /// Allow using DolphinView::Mode in QVariant Q_DECLARE_METATYPE(DolphinView::Mode)