radioapp/radiowidgets/inc/radiostationcarousel.h
branchRCL_3
changeset 20 93c594350b9a
parent 19 cce62ebc198e
--- a/radioapp/radiowidgets/inc/radiostationcarousel.h	Tue Aug 31 15:15:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,234 +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 RADIOSTATIONCAROUSEL_H
-#define RADIOSTATIONCAROUSEL_H
-
-// System includes
-#include <HbScrollArea>
-#include <HbIcon>
-#include <QWeakPointer>
-
-// User includes
-#include "radiocarouselitemobserver.h"
-#include "radiowidgetsexport.h"
-#include "radiofrequencystripdef.h"
-#include "radio_global.h"
-
-// Forward declarations
-class RadioUiEngine;
-class RadioUiLoader;
-class RadioCarouselItem;
-class RadioStation;
-class RadioStationModel;
-class RadioStationCarousel;
-class RadioCarouselAnimator;
-class HbLabel;
-class HbMenu;
-
-namespace CarouselInfoText
-{
-    enum Type
-    {
-        None,
-        ConnectAntenna,
-        NoFavorites,
-        FavoriteIconHint,
-        Seeking,
-        Scanning,
-        ManualSeek
-    };
-}
-
-// Class declaration
-class WIDGETS_DLL_EXPORT RadioStationCarousel : public HbScrollArea
-                                              , public RadioCarouselItemObserver
-{
-    Q_OBJECT
-    Q_PROPERTY(HbIcon favoriteIcon READ favoriteIcon WRITE setFavoriteIcon)
-    Q_PROPERTY(HbIcon nonFavoriteIcon READ nonFavoriteIcon WRITE setNonFavoriteIcon)
-    Q_PROPERTY( int autoScrollTime READ autoScrollTime WRITE setAutoScrollTime )
-
-    friend class RadioCarouselAnimator;
-    friend class RadioCarouselItem;
-
-public:
-
-    enum ScrollFlag
-    {
-        Default             = 0,
-        NoAnim              = 1 << 0,
-        NoSignal            = 1 << 1,
-        IgnoreCenter        = 1 << 2,
-        UpdateItem          = 1 << 3,
-        FromPanGesture      = 1 << 4,
-        FromSwipeGesture    = 1 << 5
-    };
-    Q_DECLARE_FLAGS( ScrollMode, ScrollFlag )
-
-    RadioStationCarousel( QGraphicsItem* parent = 0 );
-
-    void setFavoriteIcon( const HbIcon& favoriteIcon );
-    HbIcon favoriteIcon() const;
-
-    void setNonFavoriteIcon( const HbIcon& nonFavoriteIcon );
-    HbIcon nonFavoriteIcon() const;
-
-    void setAutoScrollTime( const int time );
-    int autoScrollTime() const;
-
-    void init( RadioUiLoader& uiLoader, RadioUiEngine* uiEngine );
-
-    void setFrequency( uint frequency, int reason, Scroll::Direction direction = Scroll::Shortest );
-
-    RadioUiEngine* uiEngine();
-
-    bool isAntennaAttached() const;
-
-    void setScanningMode( bool scanning );
-    bool isInScanningMode() const;
-
-    void cleanRdsData();
-
-    void animateNewStation( const RadioStation& station );
-    void cancelAnimation();
-
-    void setInfoText( CarouselInfoText::Type type );
-    void clearInfoText();
-
-    void setManualSeekMode( bool manualSeekActive );
-
-    void drawOffScreen( QPainter& painter );
-
-    void setLandscape( bool landscape );
-
-signals:
-
-    void frequencyChanged( uint frequency, int reason, int direction );
-    void skipRequested( int skipMode );
-    void scanAnimationFinished();
-
-public slots:
-
-    void updateAntennaStatus( bool connected );
-
-private slots:
-
-    void scrollPosChanged( const QPointF& newPosition );
-    void adjustAfterScroll();
-    void update( const RadioStation& station );
-    void updateRadioText( const RadioStation& station );
-    void updateStations();
-    void timerFired();
-
-#ifdef USE_DEBUGGING_CONTROLS
-    void setRdsAvailable( bool available );
-#endif // USE_DEBUGGING_CONTROLS
-
-private:
-
-// from base class QGraphicsItem
-
-    void mousePressEvent( QGraphicsSceneMouseEvent* event );
-    void resizeEvent( QGraphicsSceneResizeEvent* event );
-    void showEvent( QShowEvent* event );
-    void gestureEvent( QGestureEvent* event );
-
-// from base class RadioCarouselItemObserver
-
-    void handleIconClicked( const RadioStation& station );
-    void handleRadiotextClicked( const RadioStation& station );
-    void handleUrlClicked( const RadioStation& station );
-    QString localizeGenre( int genre );
-    bool isInManualSeek() const;
-    RadioStation findStation( uint frequency );
-
-// New functions
-
-    bool isInitialized() const;
-
-    void setCenterIndex( int index, ScrollMode mode = Default );
-
-    void scrollToIndex( int index, Scroll::Direction direction = Scroll::Shortest,
-                        ScrollMode mode = Default );
-
-    int calculateDifference( int targetIndex, Scroll::Direction& direction );
-
-    bool isScrollingAllowed() const;
-
-    void adjustPos( int offset );
-
-    int trimIndex( int index );
-
-    int prevIndex( int index );
-    int nextIndex( int index );
-
-    void skip( StationSkip::Mode mode );
-
-private: // data
-
-    enum TimerMode { NoTimer, SetFrequency, RtPlusCheck, InfoText, FavoriteHintShow, FavoriteHintHide };
-
-    RadioUiEngine*                      mUiEngine;
-
-    int                                 mAutoScrollTime;
-
-    HbIcon                              mFavoriteIcon;
-    HbIcon                              mNonFavoriteIcon;
-
-    QTimer*                             mGenericTimer;
-    TimerMode                           mTimerMode;
-
-    QString                             mRadioTextHolder;
-
-    QWeakPointer<RadioCarouselAnimator> mAnimator;
-
-    HbLabel*                            mInfoText;
-
-    HbMenu*                             mRadiotextPopup;
-
-    HbWidget*                           mContainer;
-
-    enum CarouselItem                   { LeftItem, CenterItem, RightItem };
-    RadioCarouselItem*                  mItems[3];
-
-    int                                 mMidScrollPos;
-    int                                 mMaxScrollPos;
-
-    int                                 mCurrentIndex;
-    int                                 mTargetIndex;
-    bool                                mIsCustomFreq;
-
-    CarouselInfoText::Type              mInfoTextType;
-
-    RadioStationModel*                  mModel;
-
-    bool                                mPosAdjustmentDisabled;
-
-    Scroll::Direction                   mScrollDirection;
-
-    bool                                mManualSeekMode;
-
-#ifdef USE_DEBUGGING_CONTROLS
-    RadioFadingLabel*                   mRdsLabel;
-#endif
-
-};
-
-Q_DECLARE_OPERATORS_FOR_FLAGS( RadioStationCarousel::ScrollMode )
-
-#endif // RADIOSTATIONCAROUSEL_H