]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/dolphinview.cpp
there is no need anymore to check whether the KDirLister is currently loading before...
[dolphin.git] / src / dolphinview.cpp
index 9379a49cb654ee4a7e6080cc2aa17ea786304d67..6a6c40c7bb23cc07753cdab7696b5ec6523b53e5 100644 (file)
@@ -84,8 +84,8 @@ DolphinView::DolphinView(QWidget* parent,
 
     connect(m_dirLister, SIGNAL(completed()),
             this, SLOT(updateCutItems()));
-    connect(m_dirLister, SIGNAL(newItems(const QList<KFileItem>&)),
-            this, SLOT(generatePreviews(const QList<KFileItem>&)));
+    connect(m_dirLister, SIGNAL(newItems(const KFileItemList&)),
+            this, SLOT(generatePreviews(const KFileItemList&)));
 
     m_controller = new DolphinController(this);
     m_controller->setUrl(url);
@@ -304,7 +304,7 @@ void DolphinView::clearSelection()
     itemView()->selectionModel()->clear();
 }
 
-QList<KFileItem> DolphinView::selectedItems() const
+KFileItemList DolphinView::selectedItems() const
 {
     const QAbstractItemView* view = itemView();
 
@@ -313,7 +313,7 @@ QList<KFileItem> DolphinView::selectedItems() const
     Q_ASSERT((view != 0) && (view->selectionModel() != 0));
 
     const QItemSelection selection = m_proxyModel->mapSelectionToSource(view->selectionModel()->selection());
-    QList<KFileItem> itemList;
+    KFileItemList itemList;
 
     const QModelIndexList indexList = selection.indexes();
     foreach (QModelIndex index, indexList) {
@@ -329,10 +329,9 @@ QList<KFileItem> DolphinView::selectedItems() const
 KUrl::List DolphinView::selectedUrls() const
 {
     KUrl::List urls;
-    const QList<KFileItem> list = selectedItems();
-    for ( QList<KFileItem>::const_iterator it = list.begin(), end = list.end();
-          it != end; ++it ) {
-        urls.append((*it).url());
+    const KFileItemList list = selectedItems();
+    foreach (KFileItem item, list) {
+        urls.append(item.url());
     }
     return urls;
 }
@@ -413,22 +412,13 @@ void DolphinView::setAdditionalInfo(KFileItemDelegate::InformationList info)
     ViewProperties props(viewPropsUrl);
     props.setAdditionalInfo(info);
 
-    m_controller->setShowAdditionalInfo(!info.isEmpty());
+    m_controller->setAdditionalInfoCount(info.count());
     m_fileItemDelegate->setShowInformation(info);
 
     emit additionalInfoChanged(info);
     startDirLister(viewPropsUrl, true);
 }
 
-void DolphinView::setAdditionalInfo(KFileItemDelegate::Information info)
-{
-    KFileItemDelegate::InformationList list;
-    if (info != KFileItemDelegate::NoInformation)
-        list << info;
-
-    setAdditionalInfo(list);
-}
-
 KFileItemDelegate::InformationList DolphinView::additionalInfo() const
 {
     return m_fileItemDelegate->showInformation();
@@ -510,7 +500,7 @@ void DolphinView::triggerItem(const QModelIndex& index)
     emit itemTriggered(item); // caught by DolphinViewContainer or DolphinPart
 }
 
-void DolphinView::generatePreviews(const QList<KFileItem>& items)
+void DolphinView::generatePreviews(const KFileItemList& items)
 {
     if (m_controller->showPreview()) {
         KIO::PreviewJob* job = KIO::filePreview(items, 128);
@@ -659,7 +649,7 @@ void DolphinView::applyViewProperties(const KUrl& url)
 
     KFileItemDelegate::InformationList info = props.additionalInfo();
     if (info != m_fileItemDelegate->showInformation()) {
-        m_controller->setShowAdditionalInfo(!info.isEmpty());
+        m_controller->setAdditionalInfoCount(info.count());
         m_fileItemDelegate->setShowInformation(info);
         emit additionalInfoChanged(info);
     }
@@ -671,7 +661,7 @@ void DolphinView::applyViewProperties(const KUrl& url)
     }
 }
 
-void DolphinView::changeSelection(const QList<KFileItem>& selection)
+void DolphinView::changeSelection(const KFileItemList& selection)
 {
     clearSelection();
     if (selection.isEmpty()) {
@@ -808,6 +798,11 @@ void DolphinView::clearHoverInformation()
 
 void DolphinView::createView()
 {
+    KFileItemDelegate::InformationList infoList;
+    if (m_fileItemDelegate != 0) {
+        infoList = m_fileItemDelegate->showInformation();
+    }
+
     // delete current view
     QAbstractItemView* view = itemView();
     if (view != 0) {
@@ -847,6 +842,7 @@ void DolphinView::createView()
     Q_ASSERT(view != 0);
 
     m_fileItemDelegate = new KFileItemDelegate(view);
+    m_fileItemDelegate->setShowInformation(infoList);
     view->setItemDelegate(m_fileItemDelegate);
 
     view->setModel(m_proxyModel);