diff -r f3d95d9c00ab -r 46974bebc798 radioapp/radiowidgets/inc/radiostationsview.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/radioapp/radiowidgets/inc/radiostationsview.h Fri Mar 19 09:29:04 2010 +0200 @@ -0,0 +1,102 @@ +/* +* 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 RADIOSTATIONSVIEW_H +#define RADIOSTATIONSVIEW_H + +// System includes +#include + +// User includes +#include "radioviewbase.h" +#include "radiowidgetsexport.h" + +// Forward declarations +class RadioMainWindow; +class RadioStationModel; +class HbListView; +class HbPushButton; +class RadioBannerLabel; +class HbAbstractViewItem; +class RadioXmlUiLoader; +class RadioStation; +class RadioStationFilterModel; + +// Class declaration +class WIDGETS_DLL_EXPORT RadioStationsView : public RadioViewBase +{ + Q_OBJECT + Q_PROPERTY(HbIcon nowPlayingIcon READ nowPlayingIcon WRITE setNowPlayingIcon) + Q_PROPERTY(HbIcon favoriteIcon READ favoriteIcon WRITE setFavoriteIcon) + +public: + + explicit RadioStationsView( RadioXmlUiLoader* uiLoader ); + + void setNowPlayingIcon( const HbIcon& nowPlayingIcon ); + HbIcon nowPlayingIcon() const; + + void setFavoriteIcon( const HbIcon& favoriteIcon ); + HbIcon favoriteIcon() const; + +private slots: + + void listItemClicked( const QModelIndex& index ); + void listItemLongPressed( HbAbstractViewItem* item, const QPointF& coords ); + void updateHeadsetStatus( bool connected ); + void updateCurrentStation(); + void deckButtonPressed(); + void startScanAndSavePresets(); + void updateControlVisibilities(); + +private: + +// from base class RadioViewBase + + void init( RadioMainWindow* aMainWindow, RadioStationModel* aModel ); + +// from base class QGraphicsWidget + + void showEvent( QShowEvent* event ); + +// New functions + + void initListView(); + + void updateHeading(); + +private: //data + + RadioStationFilterModel* mFilterModel; + + HbAction* mScanStationsAction; + HbAction* mRemoveAllPresetsAction; + + HbListView* mStationsList; + + RadioBannerLabel* mHeadingBanner; + + HbAction* mFavoritesButton; + HbAction* mLocalStationsButton; + + HbIcon mFavoriteIcon; + + HbIcon mNowPlayingIcon; + +}; + +#endif // RADIOSTATIONSVIEW_H