┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/iconmanager.cpp
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/iconmanager.cpp
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/iconmanager.cpp')
-rw-r--r--src/iconmanager.cpp12
1 files changed, 12 insertions, 0 deletions
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()