┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPeter Penz <[email protected]>2008-06-10 18:38:28 +0000
committerPeter Penz <[email protected]>2008-06-10 18:38:28 +0000
commit35370b6678686210491bbf681a715a386ee4edac (patch)
tree92fd5287532b043d33714c02691e9cbe5fb797db /src
parent9b9bccc862274cfe0fd787ea97f375e758d7fabf (diff)
only resolve the MIME-types asynchronously, if no preview is generated
CCMAIL: [email protected] CCMAIL: [email protected] svn path=/trunk/KDE/kdebase/apps/; revision=819162
Diffstat (limited to 'src')
-rw-r--r--src/dolphincolumnwidget.cpp2
-rw-r--r--src/dolphinview.cpp1
-rw-r--r--src/iconmanager.cpp12
-rw-r--r--src/iconmanager.h3
4 files changed, 15 insertions, 3 deletions
diff --git a/src/dolphincolumnwidget.cpp b/src/dolphincolumnwidget.cpp
index 2ca4cdbbf..8f3b253aa 100644
--- a/src/dolphincolumnwidget.cpp
+++ b/src/dolphincolumnwidget.cpp
@@ -37,7 +37,6 @@
#include <kio/previewjob.h>
#include <kiconeffect.h>
#include <kjob.h>
-#include <kmimetyperesolver.h>
#include <konqmimedata.h>
#include "iconmanager.h"
@@ -133,7 +132,6 @@ DolphinColumnWidget::DolphinColumnWidget(QWidget* parent,
m_selectionManager, SLOT(reset()));
}
- new KMimeTypeResolver(this, m_dolphinModel);
m_iconManager = new IconManager(this, m_proxyModel);
m_iconManager->setShowPreview(m_view->m_controller->dolphinView()->showPreview());
diff --git a/src/dolphinview.cpp b/src/dolphinview.cpp
index 514f52009..783131c32 100644
--- a/src/dolphinview.cpp
+++ b/src/dolphinview.cpp
@@ -1125,7 +1125,6 @@ void DolphinView::createView()
view->setSelectionMode(QAbstractItemView::ExtendedSelection);
- new KMimeTypeResolver(view, m_dolphinModel);
m_iconManager = new IconManager(view, m_proxyModel);
m_iconManager->setShowPreview(m_showPreview);
diff --git a/src/iconmanager.cpp b/src/iconmanager.cpp
index d2169cb9e..ab73e1cea 100644
--- a/src/iconmanager.cpp
+++ b/src/iconmanager.cpp
@@ -25,6 +25,7 @@
#include <kiconeffect.h>
#include <kio/previewjob.h>
#include <kdirlister.h>
+#include <kmimetyperesolver.h>
#include <konqmimedata.h>
#include <QApplication>
@@ -45,6 +46,7 @@ IconManager::IconManager(QAbstractItemView* parent, DolphinSortFilterProxyModel*
m_previewJobs(),
m_dolphinModel(0),
m_proxyModel(model),
+ m_mimeTypeResolver(0),
m_cutItemsCache(),
m_previews(),
m_pendingItems(),
@@ -97,6 +99,16 @@ void IconManager::setShowPreview(bool show)
updatePreviews();
}
}
+
+ if (show && (m_mimeTypeResolver != 0)) {
+ // don't resolve the MIME types if the preview is turned on
+ m_mimeTypeResolver->deleteLater();
+ m_mimeTypeResolver = 0;
+ } else if (!show && (m_mimeTypeResolver == 0)) {
+ // the preview is turned off: resolve the MIME-types so that
+ // the icons gets updated
+ m_mimeTypeResolver = new KMimeTypeResolver(m_view, m_dolphinModel);
+ }
}
void IconManager::updatePreviews()
diff --git a/src/iconmanager.h b/src/iconmanager.h
index 3452b7ac9..85538f87d 100644
--- a/src/iconmanager.h
+++ b/src/iconmanager.h
@@ -30,6 +30,7 @@
class DolphinModel;
class DolphinSortFilterProxyModel;
class KJob;
+class KMimeTypeResolver;
class QAbstractItemView;
/**
@@ -166,6 +167,8 @@ private:
DolphinModel* m_dolphinModel;
DolphinSortFilterProxyModel* m_proxyModel;
+ KMimeTypeResolver* m_mimeTypeResolver;
+
QList<ItemInfo> m_cutItemsCache;
QList<ItemInfo> m_previews;