radioapp/radiouiengine/inc/radiostationmodel.h
branchRCL_3
changeset 20 93c594350b9a
parent 19 cce62ebc198e
--- a/radioapp/radiouiengine/inc/radiostationmodel.h	Tue Aug 31 15:15:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,230 +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:
-*
-*/
-
-#ifndef RADIOSTATIONMODEL_H_
-#define RADIOSTATIONMODEL_H_
-
-// System includes
-#include <QAbstractListModel>
-#include <QScopedPointer>
-#include <QMap>
-
-// User includes
-#include "radio_global.h"
-#include "radiouiengineexport.h"
-#include "radiostation.h"
-
-// Forward declarations
-class RadioStationModelPrivate;
-class RadioPresetStorage;
-class RadioStationHandlerIf;
-class RadioEngineWrapper;
-class RadioStation;
-class RadioUiEnginePrivate;
-class QIcon;
-
-// Constants
-typedef QMap<uint,RadioStation> Stations;
-
-namespace FindCriteria
-{
-    enum Criteria
-    {
-        OnlySavedStations,
-        IncludeManualStation
-    };
-}
-
-// Class declaration
-class UI_ENGINE_DLL_EXPORT RadioStationModel : public QAbstractListModel
-{
-    Q_OBJECT
-    Q_DECLARE_PRIVATE_D( d_ptr.data(), RadioStationModel )
-    Q_DISABLE_COPY( RadioStationModel )
-
-public:
-
-    enum DetailFlag
-    {
-        Minimal     = 1 << 0,
-        ShowIcons   = 1 << 1,
-        ShowGenre   = 1 << 2
-    };
-    Q_DECLARE_FLAGS( Detail, DetailFlag )
-
-    explicit RadioStationModel( RadioUiEnginePrivate& uiEngine );
-
-    ~RadioStationModel();
-
-// from base class QAbstractListModel
-
-    Qt::ItemFlags flags ( const QModelIndex& index ) const;
-    int rowCount( const QModelIndex& parent = QModelIndex() ) const;
-    QVariant data( const QModelIndex& index, int role = Qt::DisplayRole ) const;
-    bool setData( const QModelIndex& index, const QVariant& value, int role = Qt::EditRole );
-
-// New functions
-
-    /*!
-     * Called by the engine to initialize the list with given amount of presets
-     */
-    void initialize( RadioPresetStorage* storage, RadioEngineWrapper* wrapper );
-
-    /*!
-     * Sets the icons to be used in the lists
-     */
-    void setIcons( const QIcon& favoriteIcon, const QIcon& nowPlayingIcon );
-
-    /*!
-     * Returns a reference to the station handler interface
-     */
-    RadioStationHandlerIf& stationHandlerIf();
-
-    /*!
-     * Returns a reference to the underlying QList so that it can be easily looped
-     */
-    const Stations& list() const;
-
-    /*!
-     * Returns the station at the given index.
-     * The station is returned by value, but it is cheap because it is implicitly shared
-     */
-    RadioStation stationAt( int index ) const;
-
-    /*!
-     * Finds a station by frequency
-     */
-    bool findFrequency( uint frequency, RadioStation& station, FindCriteria::Criteria criteria = FindCriteria::OnlySavedStations ) const;
-
-    /*!
-     * Convenience function to find a radio station.
-     * Internally uses findFrequency() and returns an invalid station if the given frequency is not found
-     */
-    RadioStation findStation( uint frequency, FindCriteria::Criteria criteria = FindCriteria::OnlySavedStations ) const;
-
-    /*!
-     * Functions to find stations by preset index
-     */
-    int findPresetIndex( int presetIndex );
-    int findPresetIndex( int presetIndex, RadioStation& station );
-
-    /*!
-     * Finds the closest station from the given frequency
-     */
-    RadioStation findClosest( const uint frequency, StationSkip::Mode mode );
-
-    /*!
-     * Checks if the model contains the given frequency
-     */
-    bool contains( const uint frequency ) const;
-
-    /*!
-     * Functions to remove stations
-     */
-    void removeByFrequency( uint frequency );
-    void removeByPresetIndex( int presetIndex );
-    void removeStation( const RadioStation& station );
-
-    /**
-     * Removes all stations
-     */
-    enum RemoveMode{ RemoveAll, RemoveLocalStations, RemoveFavorites  };
-    void removeAll( RemoveMode mode = RemoveAll );
-
-    /*!
-     * Functions to add and save stations
-     */
-    void addStation( const RadioStation& station );
-    void saveStation( RadioStation& station );
-
-    /*!
-     * Function to check the number of favorite stations
-     */
-    int favoriteCount();
-
-    /*!
-     * Convenience functions to change common settings
-     */
-    void setFavoriteByFrequency( uint frequency, bool favorite );
-    void setFavoriteByPreset( int presetIndex, bool favorite );
-    void renameStation( int presetIndex, const QString& name );
-    void setFavorites( const QModelIndexList& favorites );
-
-    /*!
-     * Functions to init and access the currently tuned station
-     */
-    RadioStation& currentStation();
-    const RadioStation& currentStation() const;
-
-    /*!
-     * Sets the model detail level
-     */
-    void setDetail( Detail level );
-
-    /*!
-     * Returns a list of radio stations in the given frequency range
-     */
-    QList<RadioStation> stationsInRange( uint minFrequency, uint maxFrequency );
-
-    /*!
-     * Returns the model index corresponding to the given frequency
-     */
-    int indexFromFrequency( uint frequency );
-
-signals:
-
-    void stationDataChanged( const RadioStation& station );
-    void radioTextReceived( const RadioStation& station );
-    void dynamicPsChanged( const RadioStation& station );
-    void favoriteChanged( const RadioStation& station );
-
-private slots:
-
-    /*!
-     * Timer timeout slot to indicate that the dynamic PS check has ended
-     */
-    void dynamicPsCheckEnded();
-
-private:
-
-// New functions
-
-    /*!
-     * Checks the given station and emits signals based on what member variables had been changed
-     * since the last save or reset.
-     */
-    void emitChangeSignals( const RadioStation& station, RadioStation::Change flags );
-
-    void emitDataChanged( const RadioStation& station );
-
-    /*!
-     * Finds an unused preset index
-     */
-    int findUnusedPresetIndex();
-
-private: // data
-
-    /**
-     * Unmodifiable pointer to the private implementation
-     */
-    const QScopedPointer<RadioStationModelPrivate> d_ptr;
-
-};
-
-Q_DECLARE_OPERATORS_FOR_FLAGS( RadioStationModel::Detail )
-
-#endif // RADIOSTATIONMODEL_H_