diff options
| author | Peter Penz <[email protected]> | 2008-06-10 18:38:28 +0000 |
|---|---|---|
| committer | Peter Penz <[email protected]> | 2008-06-10 18:38:28 +0000 |
| commit | 35370b6678686210491bbf681a715a386ee4edac (patch) | |
| tree | 92fd5287532b043d33714c02691e9cbe5fb797db /src/iconmanager.cpp | |
| parent | 9b9bccc862274cfe0fd787ea97f375e758d7fabf (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.cpp | 12 |
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() |
