コード例 #1
0
void PanelList::Mark( const unicode_t* mask, bool enable )
{
	int n = listCount;

	PanelCounter counter;

	for ( int i = 0; i < n; i++ )
	{
		FSNode* p = list[i];

		if ( !p ) { continue; }

		bool ok = accmask( p->GetUnicodeName(), mask );

		if ( ok )
		{
			if ( enable )
			{
				p->SetSelected();
			}
			else
			{
				p->ClearSelected();
			}
		}

		if ( p->IsSelected() ) { counter.AddOne( p->Size() ); }
	}

	selectedCn = counter;
}
コード例 #2
0
ファイル: vfs.cpp プロジェクト: KonstantinKuklin/WalCommander
int FSNode::CmpByExt( FSNode& a, bool case_sensitive )
{
	const unicode_t* s1 = unicode_rchr( GetUnicodeName(), '.' );
	const unicode_t* s2 = unicode_rchr( a.GetUnicodeName(), '.' );

	if ( s1 )
		return ( s2 ) ?
		       ( case_sensitive ? CmpStr<const unicode_t>( s1, s2 ) : CmpNoCase( s1, s2 ) )
		       : 1;
	else
	{
		return s2 ? -1 : 0;
	}
}