void CSVNStatusListCtrl::ColumnManager::UpdateRelevance ( const std::vector<FileEntry*>& files , const std::vector<size_t>& visibleFiles , const std::map<CTSVNPath, PropertyList>& propertymap) { // collect all user-defined props that belong to shown files std::set<CString> aggregatedProps; for (size_t i = 0, count = visibleFiles.size(); i < count; ++i) { auto propEntry = propertymap.find(files[visibleFiles[i]]->GetPath()); if (propEntry != propertymap.end()) { propEntry->second.GetPropertyNames (aggregatedProps); } } itemProps = aggregatedProps; // invisible columns for unused props are not relevant for (int i = 0, count = GetColumnCount(); i < count; ++i) if (IsUserProp(i) && !IsVisible(i)) { columns[i].relevant = aggregatedProps.find (GetName(i)) != aggregatedProps.end(); } }
void ColumnManager::UpdateRelevance ( const std::vector<FileEntry*>& files , const std::vector<size_t>& visibleFiles) { // collect all user-defined props that belong to shown files std::set<CString> aggregatedProps; for (size_t i = 0, count = visibleFiles.size(); i < count; ++i) files[visibleFiles[i]]->present_props.GetPropertyNames (aggregatedProps); aggregatedProps.erase (_T("svn:needs-lock")); itemProps = aggregatedProps; // invisible columns for unused props are not relevant for (int i = 0, count = GetColumnCount(); i < count; ++i) if (IsUserProp(i) && !IsVisible(i)) { columns[i].relevant = aggregatedProps.find (GetName(i)) != aggregatedProps.end(); } }