radioapp/radiowidgets/inc/radioviewbase.h
branchGCC_SURGE
changeset 37 451b2e1545b2
parent 19 afea38384506
parent 33 11b6825f0862
equal deleted inserted replaced
26:6bcf277166c1 37:451b2e1545b2
    18 #ifndef _RADIOVIEWBASE_H_
    18 #ifndef _RADIOVIEWBASE_H_
    19 #define _RADIOVIEWBASE_H_
    19 #define _RADIOVIEWBASE_H_
    20 
    20 
    21 // System includes
    21 // System includes
    22 #include <HbView>
    22 #include <HbView>
    23 
       
    24 #include <QScopedPointer>
    23 #include <QScopedPointer>
       
    24 #include <QSharedPointer>
    25 
    25 
    26 // User includes
    26 // User includes
    27 
    27 
    28 // Forward declarations
    28 // Forward declarations
    29 class RadioWindow;
    29 class RadioWindow;
    30 class RadioStationModel;
    30 class RadioStationModel;
    31 class RadioUiLoader;
    31 class RadioUiLoader;
    32 class HbAction;
    32 class HbAction;
       
    33 class RadioUiEngine;
    33 
    34 
    34 // Constants
    35 // Constants
    35 namespace MenuItem
    36 namespace MenuItem
    36 {
    37 {
    37     enum CommonMenuItem
    38     enum CommonMenuItem
    38     {
    39     {
    39         UseLoudspeaker
    40         UseLoudspeaker,
       
    41         Exit
    40     };
    42     };
    41 }
    43 }
    42 
    44 
    43 // Class declaration
    45 // Class declaration
    44 class RadioViewBase : public HbView
    46 class RadioViewBase : public HbView
    49 public:
    51 public:
    50     explicit RadioViewBase( bool transient = true );
    52     explicit RadioViewBase( bool transient = true );
    51 
    53 
    52     virtual ~RadioViewBase();
    54     virtual ~RadioViewBase();
    53 
    55 
    54     void setMembers( RadioUiLoader* uiLoader, RadioWindow* mainWindow );
    56     void setMembers( RadioWindow* mainWindow, RadioUiLoader* uiLoader );
    55 
    57 
    56     virtual void init() = 0;
    58     virtual void preLazyLoadInit();
       
    59 
       
    60     void initialize( QSharedPointer<RadioUiEngine> uiEngine );
    57 
    61 
    58     bool isInitialized() const;
    62     bool isInitialized() const;
    59 
    63 
    60     bool isTransient() const;
    64     bool isTransient() const;
    61 
    65 
    62     void updateOrientation( Qt::Orientation orientation, bool forceUpdate = false );
    66     void updateOrientation( Qt::Orientation orientation, bool forceUpdate = false );
       
    67 
       
    68     void bringToForeground();
    63 
    69 
    64 protected slots:
    70 protected slots:
    65 
    71 
    66     void updateAudioRouting( bool loudspeaker );
    72     void updateAudioRouting( bool loudspeaker );
    67     void activatePreviousView();
    73     void activatePreviousView();
    74 protected:
    80 protected:
    75 
    81 
    76 // New functinos
    82 // New functinos
    77 
    83 
    78     void initBackAction();
    84     void initBackAction();
    79     
    85 
    80     void connectCommonMenuItem( int menuItem );
    86     void connectCommonMenuItem( int menuItem );
    81 
    87 
    82     void connectXmlElement( const char* name, const char* signal, QObject* receiver, const char* slot );
    88     void connectXmlElement( const QString& name, const char* signal, QObject* receiver, const char* slot );
    83 
    89 
    84     void connectViewChangeMenuItem( QString name, const char* slot );
    90     void connectViewChangeMenuItem( QString name, const char* slot );
    85 
    91 
    86     void loadSection( const QString& docml, const QString& section );
    92     void loadSection( const QString& docml, const QString& section );
    87 
    93 
    88     void askQuestion( const QString& question );
    94     void askQuestion( const QString& question );
    89 
    95 
    90 private:
    96 private:
       
    97 
       
    98     virtual void init() = 0;
    91 
    99 
    92     virtual void setOrientation();
   100     virtual void setOrientation();
    93     virtual void userAccepted();
   101     virtual void userAccepted();
    94 
   102 
    95 protected: // data
   103 protected: // data
   104      * Pointer to the XML UI (DocML) loader
   112      * Pointer to the XML UI (DocML) loader
   105      * Own.
   113      * Own.
   106      */
   114      */
   107     QScopedPointer<RadioUiLoader>       mUiLoader;
   115     QScopedPointer<RadioUiLoader>       mUiLoader;
   108 
   116 
   109     bool                                mInitialized;
   117     /**
       
   118      * Pointer to the ui engine
       
   119      * Shared among all views and the radio window
       
   120      */
       
   121     QSharedPointer<RadioUiEngine>       mUiEngine;
   110 
   122 
   111     /**
   123     /**
   112      * Flag indicating whether or not the view is transient
   124      * Flag indicating whether or not the view is transient
   113      * Transient views are deleted when they are hidden.
   125      * Transient views are deleted when they are hidden.
   114      */
   126      */