--- a/radioapp/radiouiengine/src/radiostationfiltermodel.cpp Fri Jun 11 16:24:13 2010 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,179 +0,0 @@
-/*
-* Copyright (c) 2009 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:
-*
-*/
-
-#include "radiostationfiltermodel.h"
-#include "radiouiengine.h"
-#include "radiostationmodel.h"
-#include "radiologger.h"
-
-#include "radiostation.h" // Remove
-
-/*!
- *
- */
-RadioStationFilterModel::RadioStationFilterModel( RadioUiEngine& uiEngine, QObject* parent ) :
- QSortFilterProxyModel( parent ),
- mUiEngine( uiEngine ),
- mIsCyclic( false )
-{
- setSourceModel( &mUiEngine.stationModel() );
- setDynamicSortFilter( true );
-}
-
-/*!
- *
- */
-RadioStationFilterModel::~RadioStationFilterModel()
-{
-}
-
-/*!
- * \reimp
- */
-int RadioStationFilterModel::rowCount( const QModelIndex& parent ) const
-{
- const int count = QSortFilterProxyModel::rowCount( parent );
- return mIsCyclic ? count * 2 : count;
-}
-
-/*!
- * \reimp
- */
-QModelIndex RadioStationFilterModel::index( int row, int column,
- const QModelIndex &parent ) const
-{
- const int count = QSortFilterProxyModel::rowCount();
- if ( row < count ) {
- return QSortFilterProxyModel::index( row, column, parent );
- } else {
- foreach ( const QModelIndex& shadowIndex, mShadowIndexes.keys() ) {
- if ( shadowIndex.row() == row ) {
- return shadowIndex;
- }
- }
-
- return QModelIndex();
- }
-}
-
-/*!
- * \reimp
- */
-QVariant RadioStationFilterModel::data( const QModelIndex& index, int role ) const
-{
- QModelIndex dataIndex = index;
- if ( mShadowIndexes.contains( index ) ) {
- dataIndex = mShadowIndexes.value( index );
- }
-
- if ( !index.isValid() || !dataIndex.isValid() ) {
- return QVariant();
- }
-
- return QSortFilterProxyModel::data( dataIndex, role );
-}
-
-/*!
- *
- */
-void RadioStationFilterModel::setTypeFilter( RadioStation::Type filter )
-{
- mFilter = filter;
- filterChanged();
-}
-
-/*!
- * Returns the model index corresponding to the given frequency
- */
-QModelIndex RadioStationFilterModel::modelIndexFromFrequency( uint frequency )
-{
- QModelIndex index = static_cast<RadioStationModel*>( sourceModel() )->modelIndexFromFrequency( frequency );
- return mapFromSource( index );
-}
-
-/*!
- *
- */
-void RadioStationFilterModel::setCyclic( bool cyclic )
-{
- mIsCyclic = cyclic;
- if ( mIsCyclic ) {
- const int realCount = QSortFilterProxyModel::rowCount();
- LOG_FORMAT( "Station count: %d", realCount );
- for ( int i = 0; i < realCount; ++i ) {
- QModelIndex realIndex = QSortFilterProxyModel::index( i, 0 );
- QModelIndex shadowIndex = createIndex( i + realCount, 0, realIndex.internalPointer() );
- //const uint freq = realIndex.data( RadioStationModel::RadioStationRole ).value<RadioStation>().frequency();
-// LOG_FORMAT( "Adding shadow index %d for index %d. Freq: %u", shadowIndex.row(), realIndex.row(), freq );
- mShadowIndexes.insert( shadowIndex, realIndex );
- }
- }
-}
-
-/*!
- *
- */
-bool RadioStationFilterModel::hasLooped( const QModelIndex& index ) const
-{
- return mShadowIndexes.contains( index );
-}
-
-/*!
- *
- */
-QModelIndex RadioStationFilterModel::realIndex( const QModelIndex& shadowIndex ) const
-{
- return mShadowIndexes.value( shadowIndex );
-}
-
-/*!
- *
- */
-bool RadioStationFilterModel::isEqual( const QModelIndex& first, const QModelIndex& second ) const
-{
- if ( first == second ) {
- return true;
- }
-
- QModelIndex realFirst = first;
- if ( mShadowIndexes.contains( first ) ) {
- realFirst = mShadowIndexes.value( first );
- }
-
- QModelIndex realSecond = second;
- if ( mShadowIndexes.contains( second ) ) {
- realSecond = mShadowIndexes.value( second );
- }
-
- if ( realFirst == realSecond ) {
- return true;
- }
-
- return false;
-}
-
-/*!
- *
- */
-bool RadioStationFilterModel::filterAcceptsRow( int sourceRow, const QModelIndex& sourceParent ) const
-{
- QAbstractItemModel* source = sourceModel();
- QModelIndex index = source->index( sourceRow, 0, sourceParent );
- const RadioStation station = source->data( index, RadioStationModel::RadioStationRole ).value<RadioStation>();
- const bool isType = station.isType( mFilter );
- return isType;
-}