gssettingsuis/Gs/GSCallPlugin/inc/GSCallPluginContainer.h
branchRCL_3
changeset 24 8ee96d21d9bf
parent 23 8bda91a87a00
child 25 7e0eff37aedb
equal deleted inserted replaced
23:8bda91a87a00 24:8ee96d21d9bf
     1 /*
       
     2 * Copyright (c) 2002 - 2005 Nokia Corporation and/or its subsidiary(-ies).
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description:  
       
    15 *     Container for Call sub-menu in General Settings.
       
    16 *
       
    17 */
       
    18 
       
    19 
       
    20 #ifndef GSCALLPLUGINCONTAINER_H
       
    21 #define GSCALLPLUGINCONTAINER_H
       
    22 
       
    23 // INCLUDES
       
    24 #include "MGsFWMSKLabelObserver.h"
       
    25 #include "GSPhoneSettingConstants.h"
       
    26 
       
    27 #include <RSSSettings.h>
       
    28 #include <ConeResLoader.h>
       
    29 #include <StringLoader.h>
       
    30 #include <bautils.h>
       
    31 #include <softreject.rsg>
       
    32 #include <gsbasecontainer.h>
       
    33 #include <gssettingid.h>
       
    34 
       
    35 // FORWARD DECLARATIONS
       
    36 class RSSSettings;
       
    37 class CGSListBoxItemTextArray;
       
    38 class CGSCallPluginModel;
       
    39 
       
    40 // CONSTANTS
       
    41 // this is required also by the view class implementation.
       
    42 _LIT( KGSSoftRejectResource, "z:softreject.rsc" );
       
    43 
       
    44 
       
    45 // CLASS DECLARATION
       
    46 /**
       
    47 *  CGSCallPluginContainer container class
       
    48 */
       
    49 class CGSCallPluginContainer  : public CGSBaseContainer
       
    50     {
       
    51     public: // Constructors and destructor
       
    52         
       
    53         /**
       
    54         * Symbian OS default constructor.
       
    55         *
       
    56         * @param aRect gives the correct TRect for construction.
       
    57         */
       
    58         void ConstructL( const TRect& aRect );
       
    59 
       
    60         /**
       
    61         * Destructor.
       
    62         */
       
    63         ~CGSCallPluginContainer();
       
    64 
       
    65     public:
       
    66 
       
    67         /**
       
    68         * Updates list box
       
    69         *
       
    70         * @param aItemId is a updated list box item
       
    71         * @param aNewValue is a new value to be used for settings
       
    72         */
       
    73         virtual void UpdateListBoxL( TInt aItemId, TInt aNewValue );
       
    74 
       
    75         /**
       
    76         * Creates list box
       
    77         *
       
    78         * @param aResLbxId is resource number to create.
       
    79         */  
       
    80         void ConstructListBoxL( TInt aResLbxId );
       
    81 
       
    82         /**
       
    83         * Retrieves the currently selected listbox feature id
       
    84         * @return feature id.
       
    85         * @since 2.5
       
    86         */
       
    87         TInt CurrentFeatureId( ) const;
       
    88 
       
    89         /**
       
    90         * Retrieves soft reject text.
       
    91         * @param aSoftRejectTxt retrieved text.
       
    92         * @since 2.5
       
    93         */
       
    94         void GetSoftRejectTextL( TDes& aSoftRejectTxt );
       
    95 
       
    96         /** 
       
    97         * Reads from soft reject resource file.
       
    98         * @param aResourceId reource ID to read.
       
    99         * @return read resource text.
       
   100         * @since 2.5
       
   101         */
       
   102         HBufC* ReadFromResourceL( TInt aResourceId );
       
   103 
       
   104         /**
       
   105         * Defines observer for the middle softkey label changes.
       
   106         * Can only be set once. Further attempts are ignored.
       
   107         * @since S60 v3.1
       
   108         */
       
   109         void SetMiddleSoftkeyObserver( MGsFWMSKObserver* aObserver );
       
   110         
       
   111         /**
       
   112         * OfferKeyEvent to this Call Container class for updating the label
       
   113         * Up and Down rocker keys are handled 
       
   114         * @since S60 v3.1
       
   115         */
       
   116         TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent, 
       
   117                                                     TEventCode aType );
       
   118 
       
   119     protected: //new
       
   120 
       
   121         /**
       
   122         * Creates list box items
       
   123         */  
       
   124         virtual void CreateListBoxItemsL();
       
   125 
       
   126         
       
   127         /**
       
   128         * Creates Still Image list box item.
       
   129         */  
       
   130         virtual void MakeStillImageItemL();
       
   131 
       
   132         /**
       
   133         * Creates Own Number sending list box item.
       
   134         */  
       
   135         virtual void MakeONSItemL();
       
   136 
       
   137         /**
       
   138         * Creates Call Waiting list box item
       
   139         */  
       
   140         virtual void MakeCWItemL();
       
   141 
       
   142         /**
       
   143         * Creates Phone line used list box item
       
   144         * @param aAlsValue value of setting
       
   145         */  
       
   146         virtual void MakePLUItemL( TInt& aAlsValue);
       
   147 
       
   148         /**
       
   149         * Creates Phone line blocked list box item
       
   150         * @param aAlsBlockValue value of setting
       
   151         */  
       
   152         void MakePLBItemL( TInt& aAlsBlockValue );
       
   153 
       
   154         /**
       
   155         * Creates Speed Dialing, Anykey Answer, Summary After Call
       
   156         * and Automatic redial items.
       
   157         * @param aIndex which item to create 
       
   158         */  
       
   159         virtual void MakeCallItemL( TInt aIndex );
       
   160 
       
   161 
       
   162 
       
   163         /**
       
   164         * Creates Soft reject text item.
       
   165         */
       
   166         void MakeSoftRejectTxtItemL();               
       
   167 
       
   168         /**
       
   169         * Required for help.
       
   170         */
       
   171         void GetHelpContext(TCoeHelpContext& aContext) const;
       
   172 
       
   173         /**
       
   174         * Creates Replace Prefix list box item
       
   175         */
       
   176         void MakeReplacePrefixItemL();
       
   177 
       
   178         /**
       
   179         * Create IC CLIR item.
       
   180         * @since 3.0
       
   181         */
       
   182         void MakeICClirItemL();
       
   183 
       
   184         /**
       
   185         * Create IC waiting item.
       
   186         * @since 3.0
       
   187         */
       
   188         void MakeICWaitingItemL();
       
   189 
       
   190         /**
       
   191         * Create Preferred call type item.
       
   192         * @since 3.0
       
   193         */
       
   194         void MakeICPreferredCallTypeItemL();
       
   195         
       
   196         /**
       
   197         * Create DND item.
       
   198         * @since 3.0
       
   199         */
       
   200         void MakeDndItemL();
       
   201         
       
   202         /**
       
   203         * Create Call Duration item.
       
   204         * @since 3.1
       
   205         */
       
   206         void MakeCallDurationItemL();
       
   207         
       
   208         /**
       
   209         * Create Long press call key items.
       
   210         * @since 4.0
       
   211         */
       
   212         void MakeLongPressCallKeyItemL();
       
   213         
       
   214         /**
       
   215         * Creates Own Image during video call item
       
   216         * @since 3.2 
       
   217         */
       
   218         void MakeOwnImageVtCallItemL();
       
   219         
       
   220         /**
       
   221          * Create "Opening slide to answer call" and "Closing slide to end call" item
       
   222          * @since 5.1
       
   223          */
       
   224         void MakeSlideSettingsItem( TInt aItemId );
       
   225         
       
   226     protected: // Member variables
       
   227         //SsSettings engine for CLI.
       
   228         RSSSettings* iSsSettings;
       
   229         //Resource based features.
       
   230         CGSListBoxItemTextArray* iListboxItemArray;
       
   231         //user selection for still image
       
   232         CDesCArrayFlat* iStillImgValues;
       
   233         //replace prefix items
       
   234         CDesCArrayFlat* iChangeModeItems;
       
   235         // List items in Internet Call CLIR. 
       
   236         CDesCArrayFlat* iClirItems;  
       
   237         // List items in Internet Call waiting. 
       
   238         CDesCArrayFlat* iCWItems;  
       
   239         // List items in Preferred call type.
       
   240         CDesCArrayFlat* iPCTItems;  
       
   241         // List items in do not disturb.
       
   242         CDesCArrayFlat* iDndItems;
       
   243         // Call Plugin model object
       
   244         CGSCallPluginModel* iModel;
       
   245         // List items in call duration item.
       
   246         CDesCArrayFlat* iCallDurationItems;
       
   247         // List items in call duration item.
       
   248         CDesCArrayFlat* iLongPressCallKeyItems;
       
   249         // List items in own image vt call item.
       
   250         CDesCArrayFlat* iOwnImageVtCallItems;
       
   251         /**
       
   252         * Middle softkey label observer.
       
   253         * Own.
       
   254         */
       
   255         MGsFWMSKObserver* iMSKObserver;
       
   256         
       
   257     };
       
   258 
       
   259 #endif //GSCALLPLUGINCONTAINER_H