diff -r 613943a21004 -r 9386f31cc85b bluetoothengine/btui/inc/btuimodelsortfilter.h --- a/bluetoothengine/btui/inc/btuimodelsortfilter.h Tue Aug 31 15:25:10 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,82 +0,0 @@ -/* -* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of "Eclipse Public License v1.0" -* which accompanies this distribution, and is available -* at the URL "http://www.eclipse.org/legal/epl-v10.html". -* -* Initial Contributors: -* Nokia Corporation - initial contribution. -* -* Contributors: -* -* Description: -* -*/ - -#ifndef BTUIMODELSORTFILTER_H -#define BTUIMODELSORTFILTER_H - -#include -#include - -/*! - \class BtuiModelSortFilter - \brief the class handling sorting and filtering Bluetooth devices. - - BtuiModelSortFilter handles filtering/sorting a list of Bluetooth devices. - - \\sa bluetoothuimodel - */ -class BTUIMODEL_IMEXPORT BtuiModelSortFilter : public QSortFilterProxyModel -{ - Q_OBJECT - -public: - - // matching mechanism applied for filters defined in Btuim::DeviceListFilter - enum FilterMode { - ExactMatch, // The filter value of the device must equal to the specified filters - AtLeastMatch, // The filter value of the device must contains - // all the specified filters at least. - RoughMatch, // match at least one of the specified filters - Exclusive, // not match any of the specified filters - }; - - explicit BtuiModelSortFilter( QObject *parent = 0 ); - virtual ~BtuiModelSortFilter(); - - void setDeviceMajorFilter( int filter, FilterMode mode ); - void addDeviceMajorFilter( int filter, FilterMode mode ); - void clearDeviceMajorFilter( int filter, FilterMode mode ); - void clearDeviceMajorFilters(); - - bool hasFilter( int filter, FilterMode mode ); - -signals: - void deviceAcceptedByFilter(int sourceRow); - -protected: - - bool filterAcceptsRow(int sourceRow, const QModelIndex &sourceParent) const; - bool lessThan(const QModelIndex &left, const QModelIndex &right) const; - -private: - class FilterItem { - public: - int mFilter; - FilterMode mMode; - FilterItem(int filter, FilterMode mode ) { - mFilter = filter; mMode = mode; - } - bool operator== ( const FilterItem & other ) const { - return mFilter == other.mFilter && mMode == other.mMode; - } - }; - -private: - QList mFilters; -}; - -#endif // BTUIMODELSORTFILTER_H