]> cloud.milkyroute.net Git - dolphin.git/commitdiff
minor adjustment to prevent code duplication
authorPeter Penz <peter.penz19@gmail.com>
Fri, 15 Aug 2008 13:27:52 +0000 (13:27 +0000)
committerPeter Penz <peter.penz19@gmail.com>
Fri, 15 Aug 2008 13:27:52 +0000 (13:27 +0000)
svn path=/trunk/KDE/kdebase/apps/; revision=847497

src/dolphinview.cpp
src/dolphinview.h

index 685177db440755c47ab9251b93c5cfb614adbb74..6f5aa8d6f61d99ca688c4fcb437e00253c5e4b00 100644 (file)
@@ -605,21 +605,13 @@ void DolphinView::renameSelectedItems()
 void DolphinView::trashSelectedItems()
 {
     emit doingOperation(KIO::FileUndoManager::Trash);
-    KUrl::List list = selectedUrls();
-    DolphinDetailsView *dv = qobject_cast<DolphinDetailsView*>(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<DolphinDetailsView*>(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<DolphinDetailsView*>(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"
index 63afaba58766b41a5e24fa1ede6ca22c5101bc9a..613141535684f206cb75d4d184f9e1dd90113016 100644 (file)
@@ -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)