void VaultSearchPanel::SetFilterIndex( const tstring& filter ) { size_t index = 0; std::vector< tstring > splitFilter; Tokenize( filter, splitFilter, TXT( "\\|" ) ); if ( (int)splitFilter.size() % 2 != 0 ) return; // error OS_Filter::Iterator itr = m_Filters.Begin(); OS_Filter::Iterator end = m_Filters.End(); for ( size_t count = 0; itr != end; ++itr, ++count ) { const Filter& filter = *itr; if ( filter.GetName() == splitFilter.at( 0 ) ) { index = count; break; } } SetFilterIndex( static_cast< int >( index ) ); }