diff -r 1a6714c53019 -r cce62ebc198e radioapp/radiowidgets/inc/radiowindow.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/radioapp/radiowidgets/inc/radiowindow.h Tue Aug 31 15:15:02 2010 +0300 @@ -0,0 +1,126 @@ +/* +* 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 _RADIOWINDOW_H_ +#define _RADIOWINDOW_H_ + +// System includes +#include +#include +#include +#include +#include + +// User includes +#include "radiowidgetsexport.h" + +// Forward declarations +class RadioViewBase; +class RadioUiEngine; +class HbVolumeSliderPopup; +class HbMessageBox; + +typedef QScopedPointer VolumeSliderPtr; + +/** + * QWeakPointer is used to store the views because it tracks the deletion of the object and nulls + * the reference. Transient view like RadioHistoryView is destroyed after they are closed + * and QWeakPointer will notice it. + */ +typedef QWeakPointer ViewPtr; + +// Class declaration +class WIDGETS_DLL_EXPORT RadioWindow : public HbMainWindow +{ + Q_OBJECT + Q_DISABLE_COPY( RadioWindow ) + +public: + + RadioWindow( QWidget* parent = 0 ); + + ~RadioWindow(); + + void showErrorMessage( const QString& text ); + + void init(); + + QString orientationSection(); + +public slots: + + void activateMainView(); + + void activateStationsView(); + + void activateHistoryView(); + +private slots: + + void initView(); + void updateOrientation( Qt::Orientation orientation ); + void showVolumeLevel( int volume ); + void updateAntennaStatus( bool connected ); + +private: + +// New functions + + void activateView( RadioViewBase* aMember, const QString& docmlFile, Hb::ViewSwitchFlags flags = Hb::ViewSwitchDefault ); + +private: // data + + /*! + * Pointer to the UI engine + * Own, shared with views + */ + QSharedPointer mUiEngine; + + /** + * Tuning view. + * Own. + */ + ViewPtr mMainView; + + /** + * Stations view + * Own. + */ + ViewPtr mStationsView; + + /** + * Play history view + * Own. + */ + ViewPtr mHistoryView; + + /** + * Pointer to the volume slider + * Own. + */ + VolumeSliderPtr mVolSlider; + + /** + * Pointer to messagebox + * Own. + */ + QScopedPointer mMessageBox; + +}; + + +#endif // _RADIOWINDOW_H_