From 35370b6678686210491bbf681a715a386ee4edac Mon Sep 17 00:00:00 2001 From: Peter Penz Date: Tue, 10 Jun 2008 18:38:28 +0000 Subject: only resolve the MIME-types asynchronously, if no preview is generated CCMAIL: faure@kde.org CCMAIL: ereslibre@kde.org svn path=/trunk/KDE/kdebase/apps/; revision=819162 --- src/iconmanager.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'src/iconmanager.cpp') 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 #include #include +#include #include #include @@ -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() -- cgit v1.3