wlanutilities/wlansettingsui/inc/wlansettingsuiscanintervalsettingitem.h
author Pat Downey <patd@symbian.org>
Wed, 01 Sep 2010 12:20:32 +0100
branchRCL_3
changeset 25 f28ada11abbf
parent 0 56b72877c1cb
permissions -rw-r--r--
Revert incorrect RCL_3 drop: Revision: 201029 Kit: 201035

/*
* 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:  Declaration of class CWlanSettingsUiScanIntervalSettingItem.
*
*/


#ifndef __WLAN_SETTINGS_UI_SCAN_INTERVAL_SETTING_ITEM_H__
#define __WLAN_SETTINGS_UI_SCAN_INTERVAL_SETTING_ITEM_H__

// System includes
#include <aknsettingitemlist.h>


/**
 *  Specialized version of CAknEnumeratedTextPopupSettingItem class.
 *
 *  @lib wlansettingsui.lib
 *  @since S60 v5.2
 */
NONSHARABLE_CLASS(CWlanSettingsUiScanIntervalSettingItem) : 
    public CAknEnumeratedTextPopupSettingItem
    {
    public:

        /**
        * Constructor
        * @param aResourceId Resource id for the parent class
        * @param aValue Value for the parent class
        */
        CWlanSettingsUiScanIntervalSettingItem( 
                        TInt aResourceId, TInt &aListValue, TInt& aValue,
                        CWlanSettingsUiModel* aModel );
    
        /**
        * Destructor.
        */       
        virtual ~CWlanSettingsUiScanIntervalSettingItem();

        /**
        * From CAknEnumeratedTextPopupSettingItem
        * @return Setting item text (current value).
        */
        const TDesC& SettingTextL();
        
        /**
        * From CAknEnumeratedTextPopupSettingItem
        * @param aCalledFromMenu Ignored in this class.
        */
        void EditItemL( TBool aCalledFromMenu );

        /**
        * From CAknSettingItem
        * @param aSettingPage Pointer to setting page which has caused this callback.
        * @param aEventType Occurred setting page event type.
        */
        void HandleSettingPageEventL( CAknSettingPage* aSettingPage,
                                      TAknSettingPageEvent aEventType );
        
    private:    

        /**
        * Displays scan interval query
        */
        TBool ShowScanIntervalQueryL();

        /**
        * Shows an information note if user tries to select a non-allowed
        * value during full or partial PowerSave Mode.
        */
        void ShowPowerSavingInfoNoteL();   
        
    private: // Data
        
        CWlanSettingsUiModel* iModel;
        RBuf iSettingText;
        TInt& iValue;
        CEikonEnv* iEnv;
        TBool iRevertBackToAutomaticScan;
    };

#endif // __WLAN_SETTINGS_UI_SCAN_INTERVAL_SETTING_ITEM_H__
//End of file