From: Frank Reininghaus Date: Thu, 20 Jun 2013 17:23:43 +0000 (+0200) Subject: Some simplifications in KFileItemModelRolesUpdater X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/commitdiff_plain/6db55f54432937e60dd875802cc3530639c0a45d?ds=inline Some simplifications in KFileItemModelRolesUpdater This removes some things that are obsolete after the recent commits: (a) resolveNextPendingRoles() is not called any more when the preview job is running. (b) In applyResolvedRoles(), we always load the icon if it isn't known yet. This ensures that every item has an icon. REVIEW: 111012 --- diff --git a/src/kitemviews/kfileitemmodelrolesupdater.cpp b/src/kitemviews/kfileitemmodelrolesupdater.cpp index bfb4e644e..294778621 100644 --- a/src/kitemviews/kfileitemmodelrolesupdater.cpp +++ b/src/kitemviews/kfileitemmodelrolesupdater.cpp @@ -678,7 +678,7 @@ void KFileItemModelRolesUpdater::resolveNextSortRole() void KFileItemModelRolesUpdater::resolveNextPendingRoles() { - if (m_state != ResolvingAllRoles && m_state != PreviewJobRunning) { + if (m_state != ResolvingAllRoles) { return; } @@ -690,21 +690,15 @@ void KFileItemModelRolesUpdater::resolveNextPendingRoles() continue; } - if (m_previewShown) { - // Only determine the icon. The other roles are resolved when the preview is received. - applyResolvedRoles(item, ResolveFast); - } else { - applyResolvedRoles(item, ResolveAll); - m_finishedItems.insert(item); - m_changedItems.remove(item); - } - + applyResolvedRoles(item, ResolveAll); + m_finishedItems.insert(item); + m_changedItems.remove(item); break; } if (!m_pendingIndexes.isEmpty()) { QTimer::singleShot(0, this, SLOT(resolveNextPendingRoles())); - } else if (m_state != PreviewJobRunning) { + } else { m_state = Idle; if (m_clearPreviews) { @@ -1117,9 +1111,7 @@ bool KFileItemModelRolesUpdater::applyResolvedRoles(const KFileItem& item, Resol if (!item.isMimeTypeKnown() || !item.isFinalIconKnown()) { item.determineMimeType(); iconChanged = true; - } else if (m_state == ResolvingSortRole || m_state == PreviewJobRunning) { - // We are currently performing a fast determination of all icons - // in the visible area. + } else { const int index = m_model->index(item); if (!m_model->data(index).contains("iconName")) { iconChanged = true;