blob: 87d1ce7116087aedf065e443ce40eca77b885f95 (
plain)
| 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
 | #include "bookmarksproxy.h"
BookmarksProxy::BookmarksProxy( QObject *parent ):
	QSortFilterProxyModel( parent )
{
}
bool BookmarksProxy::filterAcceptsRow( int source_row, const QModelIndex &source_parent ) const
{
	QModelIndex idx = sourceModel()->index( source_row, 0, source_parent );
// 	return idx.data().toString().contains( filterRegExp() );
	return recursiveMatch( idx );
}
bool BookmarksProxy::recursiveMatch( const QModelIndex &index ) const
{
	if( index.data().toString().contains( filterRegExp() ) ) {
		return true;
	}
	for( int childRow = 0; childRow < sourceModel()->rowCount( index ); ++childRow ) {
		if( recursiveMatch( sourceModel()->index( childRow, 0, index ) ) ) {
			return true;
		}
	}
	return false;
}
 |