--- a/group/bld.inf Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
-* Copyright (c) 2006 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: This file provides the information required for building Profile.
-*
-*/
-
-// Application layer
-// profile ADO
-
-//Components:
-
-//profile
-#include "../profilesapplication/group/bld.inf"
-
-//profile_plat
-#include "../profile_plat/group/bld.inf"
-
-#include "../help/group/bld.inf"
Binary file help/data/xhtml.zip has changed
--- a/help/group/bld.inf Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,26 +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:
-* Export help related files.
-*
-*/
-
-#include <platform_paths.hrh>
-PRJ_EXPORTS
-:zip ../data/xhtml.zip /epoc32/data/z/resource/ overwrite
-:zip ../data/xhtml.zip /epoc32/winscw/c/resource/ overwrite
-
-../inc/mode.hlp.hrh MW_LAYER_PLATFORM_EXPORT_PATH(csxhelp/mode.hlp.hrh)
-../rom/profilesapplicationhelps_variant.iby CUSTOMER_APP_LAYER_IBY_EXPORT_PATH(profilesapplicationhelps_variant.iby)
--- a/help/inc/mode.hlp.hrh Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +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:
-*
-*/
-
-//
-// mode.hlp.hrh generated by CSXHelp Utilities.
-//
-
-#ifndef __MODE_HLP_HRH__
-#define __MODE_HLP_HRH__
-
-_LIT(KMODE_HLP_PERSONALISE, "MODE_HLP_PERSONALISE"); //
-_LIT(KSET_HLP_PERSONAL_TONES, "SET_HLP_PERSONAL_TONES"); //
-_LIT(KMODE_HLP_PROFILES_LIST, "MODE_HLP_PROFILES_LIST"); //
-
-#endif
\ No newline at end of file
--- a/help/rom/profilesapplicationhelps_variant.iby Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +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 __PROFILESAPPLICATIONHELPS_VARIANT_IBY__
-#define __PROFILESAPPLICATIONHELPS_VARIANT_IBY__
-
-#if defined(FF_S60_HELPS_IN_USE)
- data=LOCALISE(DATAZ_\resource\xhtml\%02d\0x100058F8\contents.zip, RESOURCE_FILES_DIR\xhtml\%02d\0x100058F8\contents.zip)
- data=LOCALISE(DATAZ_\resource\xhtml\%02d\0x100058F8\index.xml, RESOURCE_FILES_DIR\xhtml\%02d\0x100058F8\index.xml)
- data=LOCALISE(DATAZ_\resource\xhtml\%02d\0x100058F8\keywords.xml, RESOURCE_FILES_DIR\xhtml\%02d\0x100058F8\keywords.xml)
- data=LOCALISE(DATAZ_\resource\xhtml\%02d\0x100058F8\meta.xml, RESOURCE_FILES_DIR\xhtml\%02d\0x100058F8\meta.xml)
-#endif
-
-#endif
\ No newline at end of file
--- a/layers.sysdef.xml Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,21 +0,0 @@
-<?xml version="1.0"?>
-
-<!DOCTYPE SystemDefinition SYSTEM "sysdef_1_4_0.dtd" [
- <!ENTITY layer_real_source_path "sf/app/profile" >
-]>
-
-<SystemDefinition name="profile" schema="1.4.0">
- <systemModel>
- <layer name="app_layer">
- <module name="profile">
- <unit name="profile" unitID="presdo.profile" bldFile="&layer_real_source_path;/group" mrp="" />
- </module>
- </layer>
- <layer name="api_test_layer">
- <module name="profile_test">
- <!--<unit unitID="presdo.profile_test" mrp="" bldFile="&layer_real_source_path;/tsrc/group" name="profile_test" />-->
- <unit unitID="presdo.profile_test" mrp="" bldFile="&layer_real_source_path;/profilesapplication/Profiles/ProfileApp/tsrc/public/basic/group" name="profile_test" />
- </module>
- </layer>
- </systemModel>
-</SystemDefinition>
--- a/package_definition.xml Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<SystemDefinition schema="3.0.0">
- <package id="profile" name="Profiles" levels="app">
- <collection id="profilesapplication" name="Profiles Application" level="app">
- <component id="profiles" filter="s60" name="Profiles">
- <unit bldFile="profilesapplication/profiles/group"/>
- <!-- this can only have one unit. can the test be #included? -->
- <unit bldFile="profilesapplication/profiles/profileapp/tsrc/public/basic/group"/>
- <!-- should these be #included? -->
- <!-- <unit bldFile="profilesapplication/profiles/gsprofilesplugin/group"/> -->
- <!-- <unit bldFile="profilesapplication/profiles/profileaiwprovider/group"/> -->
- <!-- <unit bldFile="profilesapplication/profiles/profileapp/group"/> -->
- <!-- <unit bldFile="profilesapplication/profiles/profilesgstonesplugin/group"/> -->
- </component>
- <component id="profilesapplication_test" filter="s60" purpose="development" name="Profiles Application Test">
- <!-- does this need to be built? -->
- <!-- <unit bldFile="profilesapplication/tsrc/public/basic/group"/> -->
- </component>
- <component id="profile_help" filter="s60" name="Profiles Help">
- <unit bldFile="help/group"/>
- </component>
- </collection>
- <collection id="profile_info" name="Profiles Info" level="app">
- <component id="profile_plat" filter="s60" name="Profiles Platform Interfaces" class="api">
- <unit bldFile="profile_plat/group"/>
- </component>
- </collection>
- </package>
-</SystemDefinition>
--- a/profile_plat/group/bld.inf Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,20 +0,0 @@
-/*
-* Copyright (c) 2006 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: Includes all the Domain API specific bld.inf files, which
-* export files.
-*
-*/
-
-
-#include "../profiles_settings_view_api/group/bld.inf"
--- a/profile_plat/profiles_settings_view_api/group/bld.inf Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,26 +0,0 @@
-/*
-* Copyright (c) 2006 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: File that exports the files belonging to
-: Profiles Settings View API
-*
-*/
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-
-../inc/CProfileToneHandler.h APP_LAYER_PLATFORM_EXPORT_PATH(cprofiletonehandler.h)
--- a/profile_plat/profiles_settings_view_api/inc/CProfileToneHandler.h Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,413 +0,0 @@
-/*
-* Copyright (c) 2002-2006 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: A helper interface to be used by S60 applications for
-* setting ringing and alert tones for different profiles.
-* Registers DRM protected tones as automated content
-* and removes old content from automated content list.
-* Shows a content activation query if necessary.
-*
-*/
-
-
-
-#ifndef CPROFILETONEHANDLER_H
-#define CPROFILETONEHANDLER_H
-
-// INCLUDES
-#include <f32file.h> // CBase, RFs
-#include <msssettingsobserver.h> // MSSSettingsObserver, RSSSettings
-#include <apmstd.h> // KMaxDataTypeLength
-#include <data_caging_path_literals.hrh>
-
-// DATA TYPES
-
-/**
-* Enumerations for different tone settings in Profiles.
-* Should there become a need e.g. for separately place line 1 and line 2
-* ringing tones, we just add them to these enumerations.
-*/
-enum TProfileTones
- {
- EProfileRingingToneSetting = 1,
- EProfileVideoCallToneSetting = 2,
- EProfileMessageAlertToneSetting = 3,
- EProfileInstantMessageAlertToneSetting = 4,
- EProfileEmailAlertToneSetting = 5
- };
-
-// FORWARD DECLARATIONS
-class DRMCommon;
-class CDRMHelper;
-class MProfileExtended;
-class MProfileEngineExtended;
-class MProfilesLocalFeatures;
-
-// CLASS DECLARATION
-
-/**
-* A helper interface to be used by S60 applications for
-* setting ringing and alert tones for different profiles.
-* Registers DRM protected tones as automated content
-* and removes old content from automated content list.
-* Shows a content activation query and other DRM related
-* notes if necessary.
-
-*
-* @lib ProfileSettingsView.lib
-* @since Series 60 2.6
-*/
-class CProfileToneHandler : public CBase, public MSSSettingsObserver
- {
- public: // Constructors and destructor
-
- // Two-phased constructors.
- IMPORT_C static CProfileToneHandler* NewL();
- IMPORT_C static CProfileToneHandler* NewLC();
-
- // Destructor.
- ~CProfileToneHandler();
-
- public: // New functions
-
- /**
- * Sets the ringing tone of the current active profile.
- * If the file does not exist, leaves with KErrNotFound.
- * If the file is of an unsupported type, leaves with KErrNotSupported.
- * If the file is an unprotected MP3/AAC in user data area
- * and if those are not allowed as ringing or alert tones,
- * leaves with KErrPermissionDenied.
- * If the file is a WMA file in user data area and those are not
- * allowed, leaves with KErrArgument.
- * If the active profile is not allowed to be changed
- * (e.g. Drive-profile) leaves with KErrAccessDenied.
- * If Alternate Line Service is enabled, finds out the line in use
- * and sets the ringing tone for that line respectively.
- * @since 2.6
- * @param aFileName Full path and filename of the tone to be used
- * as the new ringing tone. An empty descriptor
- * will be replaced with "No_Sound.wav".
- * @return KErrNone if successful,
- * KErrCancel if user answers No to a DRM activation query.
- * (See DRMHelper::SetAutomatedPassive)
- * KErrGeneral if DRM rights are insufficient.
- * KErrArgument if the file is DRM protected
- * audio/mp4 and those are not allowed as ringingtones.
- */
- IMPORT_C TInt SetActiveProfileRingingToneL( const TDesC& aFileName );
-
- /**
- * Sets a ringing or alert tone for a profile.
- * If the file does not exist, leaves with KErrNotFound.
- * If the file is of an unsupported type, leaves with KErrNotSupported.
- * If the file is an unprotected MP3/AAC in user data area
- * and if those are not allowed as ringing or alert tones,
- * leaves with KErrPermissionDenied.
- * If the file is a WMA file in user data area and those are not
- * allowed, leaves with KErrArgument.
- * If the file is not allowed to be changed
- * leaves with KErrAccessDenied.
- * If the selected profile is not allowed to be changed
- * (e.g. Drive-profile) leaves with KErrAccessDenied.
- * In case of a ringing tone, if Alternate Line Service is enabled,
- * finds out the line in use and sets the ringing tone for that
- * line respectively.
- * @since 2.6
- * @param aProfileId The ID of the profile (NOT an index).
- * @param aToneSetting Identifies the tone which is updated.
- * @param aFileName Full path and filename of the tone to be used
- * as the new ringing or alert tone. An empty descriptor
- * will be replaced with "No_Sound.wav".
- * @return Returns KErrNone if successful,
- * KErrCancel if user answers No to a DRM activation query.
- * (See DRMHelper::SetAutomatedPassive)
- * KErrGeneral if DRM rights are insufficient.
- * KErrArgument if the file is DRM protected
- * audio/mp4 and those are not allowed as ringingtones.
- */
- IMPORT_C TInt SetProfileToneL( TInt aProfileId,
- TProfileTones aToneSetting, const TDesC& aFileName );
-
- /**
- * Sets a ringing or alert tone for a profile and not check the file.
- * This function only can be used when user set a ringing or alert tone
- * for some profiles and avoid to repeat check the file.
- * Notice: the SetProfileToneL should be executed before this function, because
- * SetProfileToneL will check the file.
- * leaves with KErrPermissionDenied.
- * If the file is a WMA file in user data area and those are not
- * allowed, leaves with KErrArgument.
- * If the file is not allowed to be changed
- * leaves with KErrAccessDenied.
- * If the selected profile is not allowed to be changed
- * (e.g. Drive-profile) leaves with KErrAccessDenied.
- * In case of a ringing tone, if Alternate Line Service is enabled,
- * finds out the line in use and sets the ringing tone for that
- * line respectively.
- * @param aProfileId The ID of the profile (NOT an index).
- * @param aToneSetting Identifies the tone which is updated.
- * @param aFileName Full path and filename of the tone to be used
- * as the new ringing or alert tone. An empty descriptor
- * will be replaced with "No_Sound.wav".
- * @return Returns KErrNone this function didn't check the file, so return KErrNone.
- */
- IMPORT_C TInt SetProfileToneNotCheckL( TInt aProfileId,
- TProfileTones aToneSetting, const TDesC& aFileName );
-
- /**
- * Sets a ringing or alert tone for all profiles.
- * If the file does not exist, leaves with KErrNotFound.
- * If the file is of an unsupported type, leaves with KErrNotSupported.
- * If the file is an unprotected MP3/AAC in user data area
- * and if those are not allowed as ringing or alert tones,
- * leaves with KErrPermissionDenied.
- * If the file is a WMA file in user data area and those are not
- * allowed, leaves with KErrArgument.
- * If the file is not allowed to be changed
- * (e.g. Drive-profile) method ignores profile changes
- * and selects next profile.
- * In case of a ringing tone, if Alternate Line Service is enabled,
- * finds out the line in use and sets the ringing tone for that
- * line respectively.
- * Does not affect on user created profiles except if the active profile
- * is user created of which the ringing or alert tone is also changed.
- * @since 2.6
- * @param aToneSetting Identifies the tone which is updated.
- * @param aFileName Full path and filename of the tone to be used
- * as the new ringing or alert tone. An empty descriptor
- * will be replaced with "No_Sound.wav".
- * @return Returns KErrNone if successful,
- * KErrCancel if user answers No to a DRM activation query.
- * (See DRMHelper::SetAutomatedPassive)
- * KErrGeneral if DRM rights are insufficient.
- * KErrArgument if the file is DRM protected
- * audio/mp4 and those are not allowed as ringingtones.
- */
- IMPORT_C TInt SetToneForAllProfilesL( TProfileTones aToneSetting,
- const TDesC& aFileName );
-
- public: // From base classes
-
- /**
- * From MSSSettings
- */
- void PhoneSettingChanged( TSSSettingsSetting aSetting, TInt aNewValue );
-
- protected: // New functions
-
- /**
- * Stores the settings to Profiles Engine and adds the file to automated
- * content list and removes the old file from automated content list.
- * Do not call until the file is checked using CheckFileL.
- * @param aProfileId The ID of the profile (NOT an index).
- * @param aToneSetting Identifies the tone which is updated.
- * @param aFileName Full path and filename of the tone to be used
- * as the new ringing or alert tone.
- */
- void DoSetProfileToneL( TInt aProfileId,
- TProfileTones aToneSetting, const TDesC& aFileName );
-
- /**
- * Sets the tone to an MProfileExtended instance.
- * @param aProfile The MProfileExtended instance.
- * @param aToneSetting Identifies the tone which is updated.
- * @param aFileName The tone file name.
- */
- void SetToneL( MProfileExtended& aProfile,
- TProfileTones aToneSetting, const TDesC& aFileName );
-
- /**
- * Reads a tone setting from an MProfileExtended instance.
- * @param aProfile The MProfileExtended instance.
- * @param aToneSetting Identifies the tone which is read.
- * @return Returns the tone file name.
- */
- const TDesC& ReadToneL( const MProfileExtended& aProfile,
- TProfileTones aToneSetting ) const;
-
- /**
- * Checks that the given tone file exists and that it is
- * a legal file to be used as a ringing or alert tone.
- * @since 2.6
- * @param aFileName Full path and filename of the file to be checked.
- * @return KErrNone if the file can be used as a ringing or alert tone,
- * KErrNotFound if the file cannot be found,
- * KErrNotSupported if a file is of an unsupported type or
- * KErrPermissionDenied if the file is not allowed
- * to be used as a ringing or alert tone.
- * KErrGeneral if DRM rights are insufficient.
- * KErrArgument if the file is DRM protected
- * audio/mp4 and those are not allowed as ringingtones.
- */
- TInt CheckFileL( const TDesC& aFileName );
-
- /**
- * Checks if a DRM protected file can be used as a ringing or alert tone.
- * @since 2.6
- * @param aFileName Full path and filename of the file to be checked.
- * @return KErrNone if the file can be used as a ringing or alert tone or
- * KErrGeneral if DRM rights are insufficient.
- */
- TInt CheckProtectedFileL( const TDesC& aFileName );
-
- /**
- * Tells whether a file can be registered as automated content or not.
- * If DRM is not supported, returns always EFalse.
- * @param aFileName File to be registered as automated content.
- * @return Returns ETrue if aFileName can be set as automated content.
- * Returns EFalse if can't or DRM is not supported.
- */
- TBool CanSetAutomated( const TDesC& aFileName );
-
- /**
- * Asks user if he/she wants to activate unactivated content.
- * Shows a query. Does nothing if DRM is not supported.
- * @param aFileName File to be registered as automated content.
- * @return Returns KErrCancel if user cancels the query.
- */
- TInt AskAutomated( const TDesC& aFileName );
-
- /**
- * Registers a file to automated content list without any queries.
- * Errors are omitted. Does nothing if DRM is not supported.
- * @param aToneSetting The type of tone (e.g. ringing tone, SMS tone) to
- * be registered as automated content.
- * @param aFileName File to be registered as automated content.
- * @return KErrNone or a system-wide error code.
- */
- TInt SetAutomated( TProfileTones aToneSetting, const TDesC& aFileName );
-
- /**
- * Removes a file from automated content list.
- * Errors are omitted. Does nothing if DRM is not supported.
- * @param aFileName File to be removed from automated content list.
- */
- void RemoveAutomated( const TDesC& aFileName );
-
- /**
- * Returns data type of a file.
- * @param aFileName Full path and filename.
- * @return Returns the data type of the file.
- */
- TBuf<KMaxDataTypeLength> DataTypeL( const TDesC& aFileName ) const;
-
- /**
- * Returns whether a file is protected content or not.
- * Returns always EFalse if DRM is not supported.
- * @param aFileName The file name.
- * @return Returns whether the file is protected content or not.
- */
- TBool IsProtected( const TDesC& aFileName ) const;
-
- /**
- * Returns whether a file is protected content or not.
- * Returns always EFalse if DRM is not supported.
- * @param aFileName The file name.
- * @return Returns whether the file is protected content or not.
- */
- TBool IsProtectedL( const TDesC& aFileName ) const;
-
- /**
- * Displays an error note.
- * @param aResourceId Resource ID to a TBUF resource.
- */
- void ShowErrorNoteL( TInt aResourceId ) const;
-
- /**
- * Returns info whether given filetype is allowed as ringingtone
- * @param aDataType Tone MIME type
- * @return ETrue if tone is allowed to be selected
- */
- TBool AllowSelect( const TDesC& aDataType ) const;
-
- /**
- * Checks the result of CheckFileL() and leaves if needed. Also checks
- * if the file is protected and can be set as automated content.
- * @param aResult result of the CheckFileL() call made before this.
- * @param aFileName the name of the file to be checked for protection
- * and if it is settable as automated content.
- * @return KErrNone, if ok, otherwise a system-wide error code.
- */
- TInt CheckResultAndProtectionL( TInt aResult,
- const TDesC& aFileName );
- /**
- * Checks ringing tone file size.
- * @param aFile file to check.
- * @param aSizeLimitKB maximum allowed file size in KB.
- * @return KErrNone, if ok.
- * KErrTooBig, if configurable file size limit exceeded.
- */
- TInt CheckToneFileSizeL( const TDesC& aFile, TInt aSizeLimitKB );
-
- /**
- * Reads maximimum ringing tone file size in KB from cenrep.
- */
- void GetMaxToneFileSizeL();
-
- /**
- * Displays error note about exceeded tone file size.
- * @param aSizeLimitKB file size limit.
- */
- void ShowSizeErrorNoteL( TInt aSizeLimitKB );
-
- private:
-
- /// Default constructor
- CProfileToneHandler();
-
- /// 2nd phase constructor
- void ConstructL();
-
- /// Constructor for the DRM objects
- void DrmConstructL();
-
- /// Destructor for the DRM objects
- void ReleaseDrm();
-
- /// Functions related to WMDRM protection check
- TBool IsFileWMDRMProtectedL( const TDesC& aFileName );
-
- /// Called by SetAutomated
- TInt SetAutomatedL( TProfileTones aToneSetting, const TDesC& aFileName );
-
- private: // Data
-
- /// Owns: DRM Helper client.
- CDRMHelper* iDrmHelper;
-
- /// Owns: DRM Common client
- DRMCommon* iDrmCommon;
-
- /// Owns: Profile Engine Extended interface.
- MProfileEngineExtended* iProfileEngine;
-
- /// Owns: Profiles local features.
- MProfilesLocalFeatures* iProfilesFeatures;
-
- /// Supplementary services client for reading Alternate Line Service.
- RSSSettings iSSSettings;
-
- /// File Server client.
- RFs iFs;
-
- /// Alternate Line Setting value.
- TInt iAlternateLineSetting;
-
- /// Maximum allowed tone file size in kilo bytes.
- TInt iMaxSizeKB;
-
- };
-
-#endif // CPROFILETONEHANDLER_H
-
-// End of File
--- a/profile_plat/profiles_settings_view_api/profiles_settings_view_api.metaxml Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,18 +0,0 @@
-<?xml version="1.0" ?>
-<api id="a8d7604ba9929f05efcfc04175b05882" dataversion="2.0">
- <name>Profiles Settings View API</name>
- <description>API which exports a view for personalising profile settings.</description>
- <type>c++</type>
- <collection>profilesapplication</collection>
- <libs>
- <lib name="ProfileSettingsView.lib" />
- </libs>
- <release category="platform"/>
- <attributes>
- <!-- This indicates wether the api provedes separate html documentation -->
- <!-- or is the additional documentation generated from headers. -->
- <!-- If you are unsuere then the value is "no" -->
- <htmldocprovided>no</htmldocprovided>
- <adaptation>no</adaptation>
- </attributes>
-</api>
--- a/profile_plat/profiles_settings_view_api/tsrc/group/bld.inf Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,24 +0,0 @@
-/*
-* Copyright (c) 2007 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:
-* This file provides the information required for building
-* Profiles Settings View API test cases.
-*
-*/
-
-////////////////////////////////////////////////////////////
-// bld.inf
-// Part of EUnit library test
-
-#include "../../../../profilesapplication/Profiles/ProfileApp/tsrc/public/basic/group/bld.inf"
--- a/profilesapplication/Profiles/GSProfilesPlugin/data/10283386.rss Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,62 +0,0 @@
-/*
-* Copyright (c) 2005 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: ECOM plugin resource file for GSConfigPlugin.
-*
-*/
-
-#include <registryinfo.rh>
-
-RESOURCE REGISTRY_INFO theInfo
- {
- dll_uid = 0x10283386; // dll UID
- interfaces =
- {
- INTERFACE_INFO
- {
- interface_uid = 0x10207236; // common UID for all GS plugins
- implementations =
- {
- IMPLEMENTATION_INFO
- {
- implementation_uid = 0x10283387; // dll UID + 1
- version_no = 1;
- display_name = "Profiles Plugin";
- default_data = "0x1020723B"; // Parent UID
- //default_data = "0x10207239"; // Parent UID
- opaque_data = "5"; // Order number
- }
- };
- },
-
- INTERFACE_INFO
- {
- // UID of interface that is implemented
- interface_uid = 0x2000B189; // from psmpluginbase.h
- implementations =
- {
- IMPLEMENTATION_INFO
- {
- implementation_uid = 0x10283388; // dll UID + 2
- //implementation_uid = 0x10200FE1;
- version_no = 1;
- //display_name = "PSMPluginStub1";
- display_name = "Profiles plugin";
- default_data = "";
- opaque_data = "";
- }
- };
- }
- };
- }
-
--- a/profilesapplication/Profiles/GSProfilesPlugin/data/10283386.xml Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,14 +0,0 @@
-<PowerSaveModeConfig>
- <Setting mode="1"><!-- PSM mode in multilevel power save mode -->
- <SetItem key="1" type="0" value="0"></SetItem> <!-- vibra -->
- <SetItem key="2" type="0" value="0"></SetItem> <!-- keypad volume -->
- <SetItem key="3" type="0" value="0"></SetItem> <!-- tactile feedback -->
- <SetItem key="4" type="0" value="0"></SetItem> <!-- audio feedback -->
- </Setting>
- <Setting mode="2"><!-- PSM mode in multilevel power save mode, not supported yet -->
- <SetItem key="1" type="0" value="0"></SetItem>
- <SetItem key="2" type="0" value="1"></SetItem>
- <SetItem key="3" type="0" value="1"></SetItem>
- <SetItem key="4" type="0" value="1"></SetItem>
- </Setting>
-</PowerSaveModeConfig>
\ No newline at end of file
--- a/profilesapplication/Profiles/GSProfilesPlugin/data/GSProfilesPluginRsc.rss Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,61 +0,0 @@
-/*
-* Copyright (c) 2005 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: Resource file for GSProfilesPlugin.
-*
-*/
-
-
-// RESOURCE IDENTIFIER
-NAME GSPR // 4 letter ID
-
-// INCLUDES
-
-
-#include <data_caging_paths_strings.hrh>
-#include <gsprofilesplugin.loc>
-
-
-#include <uikon.rh>
-
-// CONSTANTS
-
-// RESOURCE DEFINITIONS
-
-//----------------------------------------------------
-//
-//
-// Needed or loading the resource fails!
-//
-//----------------------------------------------------
-//
-RESOURCE RSS_SIGNATURE
- {
- }
-
-//----------------------------------------------------
-//
-// r_gs_config_plugin_caption
-// Configuration Contexts Plugin caption.
-//
-//----------------------------------------------------
-//
-RESOURCE TBUF r_gs_profiles_plugin_caption
- {
- // from GSProfilesPlugin.loc
- buf = qtn_cp_folder_profiles;
- }
-
-
-
-//End of File
--- a/profilesapplication/Profiles/GSProfilesPlugin/group/ABLD.BAT Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,15 +0,0 @@
-@ECHO OFF
-
-REM Bldmake-generated batch file - ABLD.BAT
-REM ** DO NOT EDIT **
-
-perl -S ABLD.PL "\s60\app\devicecontrol\profilesapplication\Profiles\GSProfilesPlugin\group\\" %1 %2 %3 %4 %5 %6 %7 %8 %9
-if errorlevel==1 goto CheckPerl
-goto End
-
-:CheckPerl
-perl -v >NUL
-if errorlevel==1 echo Is Perl, version 5.003_07 or later, installed?
-goto End
-
-:End
--- a/profilesapplication/Profiles/GSProfilesPlugin/group/GSProfilesPlugin.mmp Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,83 +0,0 @@
-/*
-* Copyright (c) 2005 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: Project specification file for GSProfilesPlugin.
-*
-*/
-
-
-#include <data_caging_paths.hrh> //this is needed for RESOURCE_FILES_DIR
-#include <platform_paths.hrh>
-
-CAPABILITY CAP_ECOM_PLUGIN
-TARGET gsprofilesplugin.dll
-TARGETTYPE PLUGIN
-UID 0x10009D8D 0x10283386 // dll uid is 0x10283386
-VENDORID VID_DEFAULT
-
-SOURCEPATH ../src
-SOURCE GSProfilesPlugin.cpp
-SOURCE GSProfilesPluginImplementationTable.cpp
-
-USERINCLUDE ../data
-USERINCLUDE ../inc
-
-SYSTEMINCLUDE .
-SYSTEMINCLUDE /epoc32/include/cshelp
-SYSTEMINCLUDE /epoc32/include/ecom
-
-// Default system include paths for application layer modules.
-APP_LAYER_SYSTEMINCLUDE
-
-SOURCEPATH ../data
-
-//ECOM resource definition
-START RESOURCE 10283386.rss
-TARGET gsprofilesplugin.rsc
-TARGETPATH ECOM_RESOURCE_DIR
-END // ECOM resource definition
-
-//OperatorLogo resources
-START RESOURCE GSProfilesPluginRsc.rss
-HEADER
-TARGETPATH RESOURCE_FILES_DIR
-LANGUAGE_IDS
-END // OperatorLogo resources
-
-
-LIBRARY apparc.lib
-LIBRARY avkon.lib
-LIBRARY bafl.lib
-LIBRARY commonengine.lib // RConeResourceLoader
-LIBRARY cone.lib
-LIBRARY ecom.lib
-LIBRARY efsrv.lib
-LIBRARY egul.lib
-LIBRARY eikcoctl.lib
-LIBRARY eikcore.lib
-LIBRARY euser.lib
-LIBRARY featmgr.lib
-LIBRARY gsecomplugin.lib
-LIBRARY gsframework.lib // Base classes
-LIBRARY ws32.lib
-LIBRARY aknskins.lib // AknsUtils.h
-LIBRARY apgrfx.lib // RApaLsSession
-LIBRARY psmclient.lib
-LIBRARY centralrepository.lib
-LIBRARY profileengine.lib // Profile engine wrapper api
-LIBRARY profileeng.lib // Profile Engine
-
-
-DEBUGLIBRARY flogger.lib
-
-// End of File
--- a/profilesapplication/Profiles/GSProfilesPlugin/group/GSProfilesPluginExports.inc Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-/*
-* ==============================================================================
-* Name : GSProfilesPluginExports.inc
-* Part of : GSProfilesPlugin
-* Interface : ?Interface_category, ?Interface_name
-* Description : ?Description
-* Version : ?Version
-*
-* Copyright (c) 2007 Nokia Corporation.
-* This material, including documentation and any related
-* computer programs, is protected by copyright controlled by
-* Nokia Corporation. All rights are reserved. Copying,
-* including reproducing, storing, adapting or translating, any
-* or all of this material requires the prior written consent of
-* Nokia Corporation. This material also contains confidential
-* information which may not be disclosed to others without the
-* prior written consent of Nokia Corporation.
-* ==============================================================================
-*/
-// To get the APP_LAYER_SYSTEMINCLUDE-definition
-#include <platform_paths.hrh>
-
-#ifndef GSPROFILESPLUGINEXPORTS_INC
-#define GSPROFILESPLUGINEXPORTS_INC
-
-../loc/GSProfilesPlugin.loc APP_LAYER_LOC_EXPORT_PATH(gsprofilesplugin.loc)
-
-// Export PSM config file
-../data/10283386.xml z:/private/2000b187/10283386.xml
-#endif // GSPROFILESPLUGINEXPORTS_INC
-
-// End of File
--- a/profilesapplication/Profiles/GSProfilesPlugin/group/GSProfilesPluginIcons.mk Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,71 +0,0 @@
-#
-# Copyright (c) 2005 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: Icons for GSConfigPlugin
-#
-
-ifeq (WINS,$(findstring WINS, $(PLATFORM)))
-ZDIR=\epoc32\release\$(PLATFORM)\$(CFG)\Z
-else
-ZDIR=\epoc32\data\z
-endif
-
-# ----------------------------------------------------------------------------
-# : Configure these
-# ----------------------------------------------------------------------------
-
-TARGETDIR=$(ZDIR)\resource\apps
-HEADERDIR=\epoc32\include
-ICONTARGETFILENAME=$(TARGETDIR)\gsprofilesplugin.mif
-HEADERFILENAME=$(HEADERDIR)\gsprofilesplugin.mbg
-
-do_nothing :
- @rem do_nothing
-
-MAKMAKE : do_nothing
-
-BLD : do_nothing
-
-CLEAN : do_nothing
-
-LIB : do_nothing
-
-CLEANLIB : do_nothing
-
-# ----------------------------------------------------------------------------
-# : Configure these.
-#
-# NOTE 1: DO NOT DEFINE MASK FILE NAMES! They are included automatically by
-# MifConv if the mask detph is defined.
-#
-# NOTE 2: Usually, source paths should not be included in the bitmap
-# definitions. MifConv searches for the icons in all icon directories in a
-# predefined order, which is currently \s60\icons, \s60\bitmaps2, \s60\bitmaps.
-# The directory \s60\icons is included in the search only if the feature flag
-# __SCALABLE_ICONS is defined.
-# ----------------------------------------------------------------------------
-
-RESOURCE :
- mifconv $(ICONTARGETFILENAME) /h$(HEADERFILENAME) \
- /c8,8 qgn_prop_cp_perso_prof.svg
-
-
-FREEZE : do_nothing
-
-SAVESPACE : do_nothing
-
-RELEASABLES :
- @echo $(HEADERFILENAME)&& \
- @echo $(ICONTARGETFILENAME)
-
-FINAL : do_nothing
--- a/profilesapplication/Profiles/GSProfilesPlugin/group/bld.inf Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
-* Copyright (c) 2005 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: Information required for building GSConfigPlugin.
-*
-*/
-
-// To get the APP_LAYER_LOC_EXPORT_PATH-definition
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-#include "GSProfilesPluginExports.inc"
-
-PRJ_EXTENSIONS
-START EXTENSION s60/mifconv
- OPTION TARGETFILE gsprofilesplugin.mif
- OPTION HEADERFILE gsprofilesplugin.mbg
- OPTION SOURCES -c8,8 qgn_prop_cp_perso_prof
-END
-
-
-PRJ_MMPFILES
-//gnumakefile GSProfilesPluginIcons.mk
-GSProfilesPlugin.mmp
-
-PRJ_TESTMMPFILES
-
-// End of File
--- a/profilesapplication/Profiles/GSProfilesPlugin/inc/GSProfilesPlugin.h Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,251 +0,0 @@
-/*
-* Copyright (c) 2005 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: GSProfilesPlugin implementation.
-*
-*/
-
-#ifndef GSPROFILESPLUGIN_H
-#define GSPROFILESPLUGIN_H
-
-// User includes
-
-#include <psmpluginbase.h> // power save management plugin base
-
-
-// System includes
-#include <gsplugininterface.h>
-#include <ConeResLoader.h>
-#include <AknServerApp.h>
-
-// Classes referenced
-class CAknNullService;
-class CRepository;
-class CApaDocument;
-// Constants
-const TUid KGSProfilesPluginUID = { 0x10283386 }; // dll uid
-const TUid KGSProfilesPluginImplUID = { 0x10283387 }; // dll impl uid
-const TUid KGsProfilesAppUid = { 0x100058F8 }; // from ProfileApp.mmp
-
-_LIT( KGSProfilesApp, "z:\\sys\\bin\\ProfileApp.exe" );
-_LIT( KGSProfilesPluginResourceFileName, "z:GSProfilesPluginRsc.rsc" );
-_LIT( KGSProfilesPluginIconDirAndName, "z:GSProfilesPlugin.mbm"); // Use KDC_BITMAP_DIR
-
-
-enum TPsmPluginKeys
- {
- EPsmPluginKeyVibra = 1,
- EPsmPluginKeyKbdVolume = 2,
- EPsmPluginTactileFeedback = 3,
- EPsmPluginAudioFeedback = 4
- };
-
-
-// CLASS DECLARATION
-
-//For embedding CC in CS
-class TAppInfo
- {
- public:
- TAppInfo( TUid aUid, const TDesC& aFile )
- : iUid( aUid ), iFile( aFile )
- {}
- TUid iUid;
- TFileName iFile;
- };
-
-
-/**
-* CGSProfilesPlugin.
-*
-* This class handles state and application logic of CGSProfilesPlugin.
-* The plugin is a type of EGSItemTypeSettingDialog and therefore the GS FW will
-* call HandleSelection() instead of DoActivate(). No CAknView functionality is
-* supported even though the base class is CAknView derived via
-* CGSPluginInterface.
-*
-*/
-class CGSProfilesPlugin : public CGSPluginInterface,
- public MAknServerAppExitObserver // Embedding
- {
- public: // Constructors and destructor
-
- /**
- * Symbian OS two-phased constructor
- * @return
- */
- static CGSProfilesPlugin* NewL( TAny* aInitParams );
-
- /**
- * Destructor.
- */
- ~CGSProfilesPlugin();
-
- public: // From CAknView
-
- /**
- * See base class.
- */
- TUid Id() const;
-
- public: // From CGSPluginInterface
-
- /**
- * See base class.
- */
- void GetCaptionL( TDes& aCaption ) const;
-
- /**
- * See base class.
- */
- TInt PluginProviderCategory() const;
-
- /**
- * See base class.
- */
- TGSListboxItemTypes ItemType();
-
- /**
- * See base class.
- */
- void GetValue( const TGSPluginValueKeys aKey,
- TDes& aValue );
-
- /**
- * See base class.
- */
- void HandleSelection( const TGSSelectionTypes aSelectionType );
-
- /**
- * See base class.
- */
- CGulIcon* CreateIconL( const TUid aIconType );
-
- protected: // New
-
- /**
- * C++ default constructor.
- */
- CGSProfilesPlugin();
-
- /**
- * Symbian OS default constructor.
- */
- void ConstructL();
-
- protected: // From CAknView
-
- /**
- * This implementation is empty because this class, being just a dialog,
- * does not implement the CAknView finctionality.
- */
- void DoActivateL( const TVwsViewId& aPrevViewId,
- TUid aCustomMessageId,
- const TDesC8& aCustomMessage );
-
- /**
- * This implementation is empty because this class, being just a dialog,
- * does not implement the CAknView finctionality.
- */
- void DoDeactivate();
-
- private:
-
- /**
- * Opens localized resource file.
- */
- void OpenLocalizedResourceFileL(
- const TDesC& aResourceFileName,
- RConeResourceLoader& aResourceLoader );
-
- /**
- * Launches provisioning application.
- */
- void LaunchProfilesAppL();
-
- /**
- * Launches application as embedded.
- */
- void EmbedAppL( const TAppInfo& aApp );
-
- protected:
-
- // Resource loader.
- RConeResourceLoader iResources;
-
- CAknNullService* iNullService;
-
- CApaDocument* iEmbedded;
- };
-
-
-
-
-class TPsmSettingItems
- {
- public:
- TInt iVibraAlert;
- TInt iKeypadVolume;
- TInt iTactileFeedback;
- TInt iAudioFeedback;
- };
-
-
-/**
-* CPSMProfilesPlugin.
-*
-* Psm server calls this plugin is when power save mode changes. Plugin
-* is needed for writing psm specific setting values into profile
-* central repository. These settings are vibrating alert, keypad volume,
-* tactile feedback and audio feedback. Psm values come from
-* psm server which reads them from CPSMProfilesPlugin .xml file
-* (10283386.xml).
-*
-*/
-class CPSMProfilesPlugin : public CPsmPluginBase
- {
- public:
-
- /**
- * Two-phased constructor.
- * @return The created object.
- */
- static CPSMProfilesPlugin* NewL( TPsmPluginCTorParams& initParams );
-
- /**
- * Destructor.
- */
- virtual ~CPSMProfilesPlugin();
-
- private:
- CPSMProfilesPlugin( TPsmPluginCTorParams& aInitParams );
- void ConstructL();
-
-
- public: // From CPsmPluginBase
- void NotifyModeChange( const TInt aMode );
-
- private:
- void NotifyModeChangeL( const TInt aMode );
- void GetPsmConfigSettingsL( TPsmSettingItems& aItems );
- void GetActiveProfileSettingsL( TPsmSettingItems& aItems );
- //void GetActiveProfileSettings2L( TPsmSettingItems& aItems );
- TUint32 ResolveKey( TUint aPartialKey, TInt aProfileId );
- void CPSMProfilesPlugin::Panic( TInt aReason );
- };
-
-
-
-
-#endif // GSPROFILESPLUGIN_H
-// End of File
--- a/profilesapplication/Profiles/GSProfilesPlugin/loc/GSProfilesPlugin.loc Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-/*
-* Copyright (c) 2007 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: Localization strings for GSProfilesPlugin.
-*
-*/
-
-
-// LOCALISATION STRINGS
-
-// **CAPTIONS
-
-//d:Text of a list item in main view list
-//d:Used by GS FW
-//l:list_single_large_graphic_pane_t1
-//w:
-//r: 5.0
-#define qtn_cp_folder_profiles "Profiles"
-
-// End of File
--- a/profilesapplication/Profiles/GSProfilesPlugin/src/GSProfilesPlugin.cpp Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,587 +0,0 @@
-/*
-* Copyright (c) 2005 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: GSProfilesPlugin implementation.
-*
-*/
-
-
-// User includes
-#include "GSProfilesPlugin.h"
-#include <gsparentplugin.h>
-#include <gscommon.hrh>
-#include <GSProfilesPluginRsc.rsg> // GUI Resource
-#include <gsprofilesplugin.mbg>
-#include <gsprivatepluginproviderids.h>
-#include <ProfileEngineSDKCRKeys.h>
-#include <hwrmvibrasdkcrkeys.h>
-
-// System includes
-#include <apadoc.h>
-#include <aknnullservice.h>
-#include <bautils.h>
-#include <StringLoader.h>
-#include <centralrepository.h>
-
-#include <ProEngFactory.h>
-#include <MProfileEngine.h>
-#include <MProfile.h>
-#include <MProfileTones.h>
-#include <MProEngToneSettings.h>
-#include <MProfileExtraSettings.h>
-#include <MProfileFeedbackSettings.h>
-#include <TProfileToneSettings.h>
-
-#include <ProfileEng.hrh>
-#include <ProfileEngineInternalCRKeys.h>
-
-// PSM client
-#include <psmclient.h>
-#include <psmsettings.h>
-#include <e32property.h>
-#include <MProfileEngineExtended.h>
-#include <MProfileExtended.h>
-#include <ProfileEnginePrivatePSKeys.h>
-
-
-// ========================= MEMBER FUNCTIONS ================================
-
-// ---------------------------------------------------------------------------
-// CGSProfilesPlugin::CGSProfilesPlugin
-//
-// ---------------------------------------------------------------------------
-//
-CGSProfilesPlugin::CGSProfilesPlugin()
- : iResources( *iCoeEnv ), iNullService(NULL)
- {
- }
-
-
-// ---------------------------------------------------------------------------
-// CGSProfilesPlugin::~CGSProfilesPlugin
-//
-// ---------------------------------------------------------------------------
-//
-CGSProfilesPlugin::~CGSProfilesPlugin()
- {
- iResources.Close();
-
- if ( iNullService )
- {
- delete iNullService;
- }
- }
-
-
-// ---------------------------------------------------------------------------
-// CGSProfilesPlugin::ConstructL
-//
-// ---------------------------------------------------------------------------
-//
-void CGSProfilesPlugin::ConstructL()
- {
- OpenLocalizedResourceFileL( KGSProfilesPluginResourceFileName, iResources );
- }
-
-
-// ---------------------------------------------------------------------------
-// CGSProfilesPlugin::NewL
-//
-// ---------------------------------------------------------------------------
-//
-CGSProfilesPlugin* CGSProfilesPlugin::NewL( TAny* /*aInitParams*/ )
- {
- CGSProfilesPlugin* self = new ( ELeave ) CGSProfilesPlugin();
- CleanupStack::PushL(self);
- self->ConstructL();
- CleanupStack::Pop(self);
- return self;
- }
-
-
-// -----------------------------------------------------------------------------
-// CGSProfilesPlugin::Id (from CGSPluginInterface)
-//
-// -----------------------------------------------------------------------------
-//
-TUid CGSProfilesPlugin::Id() const
- {
- return KGSProfilesPluginImplUID;
- }
-
-
-// -----------------------------------------------------------------------------
-// CGSProfilesPlugin::DoActivateL (from CGSPluginInterface)
-//
-// -----------------------------------------------------------------------------
-//
-void CGSProfilesPlugin::DoActivateL( const TVwsViewId& /*aPrevViewId*/,
- TUid /*aCustomMessageId*/,
- const TDesC8& /*aCustomMessage*/ )
- {
- }
-
-
-// -----------------------------------------------------------------------------
-// CGSProfilesPlugin::DoDeactivate (from CGSPluginInterface)
-//
-// -----------------------------------------------------------------------------
-//
-void CGSProfilesPlugin::DoDeactivate()
- {
- }
-
-
-
-// -----------------------------------------------------------------------------
-// CGSProfilesPlugin::GetCaptionL (from CGSPluginInterface)
-//
-// -----------------------------------------------------------------------------
-//
-void CGSProfilesPlugin::GetCaptionL( TDes& aCaption ) const
- {
- HBufC* result = StringLoader::LoadL( R_GS_PROFILES_PLUGIN_CAPTION );
-
- if (result->Des().Length() < aCaption.MaxLength())
- {
- aCaption.Copy( *result );
- }
- else
- {
- aCaption = KNullDesC;
- }
-
- delete result;
- }
-
-
-// -----------------------------------------------------------------------------
-// CGSProfilesPlugin::PluginProviderCategory (from CGSPluginInterface)
-//
-// -----------------------------------------------------------------------------
-//
-TInt CGSProfilesPlugin::PluginProviderCategory() const
- {
- return KGSPluginProviderInternal;
- }
-
-
-// -----------------------------------------------------------------------------
-// CGSProfilesPlugin::ItemType (from CGSPluginInterface)
-//
-// -----------------------------------------------------------------------------
-//
-TGSListboxItemTypes CGSProfilesPlugin::ItemType()
- {
- return EGSItemTypeSettingDialog;
- }
-
-
-// -----------------------------------------------------------------------------
-// CGSProfilesPlugin::GetValue (from CGSPluginInterface)
-//
-// -----------------------------------------------------------------------------
-//
-void CGSProfilesPlugin::GetValue( const TGSPluginValueKeys /*aKey*/,
- TDes& /*aValue*/ )
- {
- }
-
-
-// -----------------------------------------------------------------------------
-// CGSProfilesPlugin::HandleSelection (from CGSPluginInterface)
-//
-// -----------------------------------------------------------------------------
-//
-void CGSProfilesPlugin::HandleSelection(
- const TGSSelectionTypes /*aSelectionType*/ )
- {
- TRAP_IGNORE( LaunchProfilesAppL() );
- }
-
-// ---------------------------------------------------------------------------
-// CGSProfilesPlugin::CreateIconL (from CGSPluginInterface)
-//
-// ---------------------------------------------------------------------------
-//
-
-CGulIcon* CGSProfilesPlugin::CreateIconL( const TUid aIconType )
- {
- CGulIcon* icon;
- TParse* fp = new ( ELeave ) TParse();
- CleanupStack::PushL( fp );
- fp->Set( KGSProfilesPluginIconDirAndName, &KDC_BITMAP_DIR, NULL );
-
- if ( aIconType == KGSIconTypeLbxItem )
- {
- icon = AknsUtils::CreateGulIconL(
- AknsUtils::SkinInstance(),
- KAknsIIDQgnPropCpPersoProf,
- fp->FullName(),
- EMbmGsprofilespluginQgn_prop_cp_perso_prof,
- EMbmGsprofilespluginQgn_prop_cp_perso_prof_mask );
- }
- else
- {
- icon = CGSPluginInterface::CreateIconL( aIconType );
- }
-
- CleanupStack::PopAndDestroy( fp );
-
- return icon;
- }
-
-
-// -----------------------------------------------------------------------------
-// CGSProfilesPlugin::OpenLocalizedResourceFileL
-//
-// -----------------------------------------------------------------------------
-//
-void CGSProfilesPlugin::OpenLocalizedResourceFileL(
- const TDesC& aResourceFileName,
- RConeResourceLoader& aResourceLoader )
- {
- RFs fsSession;
- User::LeaveIfError( fsSession.Connect() );
- CleanupClosePushL(fsSession);
-
- // Find the resource file:
- TParse parse;
- parse.Set( aResourceFileName, &KDC_RESOURCE_FILES_DIR, NULL );
- TFileName fileName( parse.FullName() );
-
- // Get language of resource file:
- BaflUtils::NearestLanguageFile( fsSession, fileName );
-
- // Open resource file:
- aResourceLoader.OpenL( fileName );
-
- CleanupStack::PopAndDestroy(&fsSession);
- }
-
-
-// -----------------------------------------------------------------------------
-// CGSProfilesPlugin::LaunchProfilesAppL
-//
-// -----------------------------------------------------------------------------
-//
-void CGSProfilesPlugin::LaunchProfilesAppL()
- {
- // Get the correct application data
- RWsSession ws;
- User::LeaveIfError(ws.Connect());
- CleanupClosePushL(ws);
-
- // Find the task with uid
- TApaTaskList taskList(ws);
- TApaTask task = taskList.FindApp( KGsProfilesAppUid );
-
- if ( task.Exists() )
- {
- task.BringToForeground();
- }
- else
- {
- //Launch Profiles application as embedded
- TAppInfo app( KGsProfilesAppUid, KGSProfilesApp );
- iEmbedded=NULL;
- EmbedAppL( app );
- }
- CleanupStack::PopAndDestroy(&ws);
- }
-
-
-// -----------------------------------------------------------------------------
-// CGSProfilesPlugin::EmbedAppL
-//
-// -----------------------------------------------------------------------------
-//
-void CGSProfilesPlugin::EmbedAppL( const TAppInfo& aApp )
- {
- // Launch settings app
- if ( iNullService )
- {
- delete iNullService;
- iNullService = NULL;
- }
- iNullService = CAknNullService::NewL( aApp.iUid, this );
- }
-
-
-
-/******************************************************************************
- * class CPSMProfilesPlugin
- ******************************************************************************/
-
-
-//
-// config file goes to:
-// \epoc32\release\winscw\udeb\Z\private\2000B187 (emulator)
-// \epoc32\data\Z\private\2000B187 (image)
-//
-
-
-
-// ----------------------------------------------------------------------------------
-// CPSMProfilesPlugin::CPSMProfilesPlugin()
-// ----------------------------------------------------------------------------------
-//
-CPSMProfilesPlugin::CPSMProfilesPlugin( TPsmPluginCTorParams& aInitParams ) :
- CPsmPluginBase( aInitParams )
- {
- }
-
-// -----------------------------------------------------------------------------
-// CPSMProfilesPlugin::ConstructL(
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CPSMProfilesPlugin::ConstructL()
- {
- }
-
-
-// ----------------------------------------------------------------------------------
-// CPSMProfilesPlugin::NewL()
-// ----------------------------------------------------------------------------------
-//
-CPSMProfilesPlugin* CPSMProfilesPlugin::NewL( TPsmPluginCTorParams& aInitParams )
- {
- CPSMProfilesPlugin* self = new ( ELeave ) CPSMProfilesPlugin( aInitParams );
-
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop( self );
-
- return self;
- }
-
-
-// ----------------------------------------------------------------------------------
-// CPSMProfilesPlugin::~CPSMProfilesPlugin()
-// ----------------------------------------------------------------------------------
-//
-CPSMProfilesPlugin::~CPSMProfilesPlugin()
- {
- }
-
-
-
-// ----------------------------------------------------------------------------------
-// CPSMProfilesPlugin::NotifyModeChange (from CPsmPluginBase)
-// ----------------------------------------------------------------------------------
-//
-void CPSMProfilesPlugin::NotifyModeChange( const TInt aMode )
- {
- TInt ignoreError = KErrNone;
-
- TRAP( ignoreError, NotifyModeChangeL( aMode) );
- }
-
-
-// ----------------------------------------------------------------------------------
-// CPSMProfilesPlugin::NotifyModeChangeL()
-// ----------------------------------------------------------------------------------
-//
-void CPSMProfilesPlugin::NotifyModeChangeL( const TInt aMode )
- {
- TPsmSettingItems set;
-
- if ( aMode == EPsmsrvModeNormal || aMode == EPsmsrvPartialMode )
- {
- GetActiveProfileSettingsL( set );
- }
- else if ( aMode == EPsmsrvModePowerSave )
- {
- GetPsmConfigSettingsL( set );
- }
- else
- {
- User::Leave( KErrUnknown );
- }
-
- CRepository* cenrep = CRepository::NewLC( KCRUidVibraCtrl );
- User::LeaveIfError( cenrep->Set( KVibraCtrlProfileVibraEnabled,
- set.iVibraAlert ) );
- User::LeaveIfError( cenrep->Set( KVibraCtrlProfileFeedbackEnabled,
- set.iTactileFeedback ) );
- CleanupStack::PopAndDestroy( cenrep );
-
- cenrep = CRepository::NewLC( KCRUidProfileEngine );
- User::LeaveIfError( cenrep->Set( KProEngActiveKeypadVolume,
- set.iKeypadVolume ) );
- User::LeaveIfError( cenrep->Set( KProEngActiveAudioFeedback,
- set.iAudioFeedback ) );
- User::LeaveIfError( cenrep->Set( KProEngActiveTactileFeedback,
- set.iTactileFeedback ) );
- CleanupStack::PopAndDestroy( cenrep );
-
- // Set up internal PSM PubSub key
- _LIT_SECURITY_POLICY_PASS( KProfileEngReadPolicy );
- const TSecurityPolicy KProfileEngWritePolicy( ECapabilityWriteDeviceData );
- TInt err = RProperty::Define( KPSUidProfileEngine,
- KProEngPsmChanged, RProperty::EInt,
- KProfileEngReadPolicy, KProfileEngWritePolicy );
- if( err == KErrNone || err == KErrAlreadyExists )
- {
- RProperty::Set( KPSUidProfileEngine, KProEngPsmChanged, aMode );
-
- // Notify engine about power save mode change
- MProfileEngine* profileEngine = CreateProfileEngineL();
- CleanupReleasePushL( *profileEngine );
- TInt activeProfileId = profileEngine->ActiveProfileId();
- CleanupStack::PopAndDestroy( profileEngine );
-
- MProfileEngineExtended* engine = CreateProfileEngineExtendedL();
- CleanupReleasePushL( *engine );
- MProfileExtended* profile = engine->ProfileL( activeProfileId );
- CleanupReleasePushL( *profile );
-
- // CommitChangeL is needed so that an event will be created for profile
- // modification listeners.
- engine->CommitChangeL( *profile );
-
- CleanupStack::PopAndDestroy( profile );
- CleanupStack::PopAndDestroy( engine );
- }
-
- }
-
-
-// ----------------------------------------------------------------------------------
-// CPSMProfilesPlugin::GetActiveProfileSettingsL()
-// ----------------------------------------------------------------------------------
-//
-void CPSMProfilesPlugin::GetActiveProfileSettingsL( TPsmSettingItems& aSettings )
- {
- CRepository* repository = CRepository::NewLC( KCRUidProfileEngine );
-
- TInt activeProfile = KErrNotFound;
- User::LeaveIfError( repository->Get( KProEngActiveProfile, activeProfile ) );
-
- TInt num = ResolveKey( EProfileSettingIdVibra, activeProfile );
- User::LeaveIfError( repository->Get( num, aSettings.iVibraAlert ) );
-
- num = ResolveKey( EProfileSettingIdKeypadVolume, activeProfile );
- User::LeaveIfError( repository->Get( num, aSettings.iKeypadVolume ) );
-
- num = ResolveKey( EProfileSettingIdTactileFeedback, activeProfile );
- User::LeaveIfError( repository->Get( num, aSettings.iTactileFeedback ) );
-
- num = ResolveKey( EProfileSettingIdAudioFeedback, activeProfile );
- User::LeaveIfError( repository->Get( num, aSettings.iAudioFeedback ) );
-
- CleanupStack::PopAndDestroy( repository );
-
- return;
- }
-
-
-// ----------------------------------------------------------------------------------
-// CPSMProfilesPlugin::GetActiveProfileSettingsL()
-// ----------------------------------------------------------------------------------
-//
-/*
-void CPSMProfilesPlugin::GetActiveProfileSettings2L( TPsmSettingItems& aSettings )
- {
- MProfileEngine* profileEngine = CreateProfileEngineL();
- CleanupReleasePushL( *profileEngine );
-
- MProfile* activeProfile = profileEngine->ActiveProfileLC();
-
- const MProfileTones& tones = activeProfile->ProfileTones();
- const TProfileToneSettings& ts = tones.ToneSettings();
-
- aSettings.iVibraAlert = ts.iVibratingAlert;
- aSettings.iKeypadVolume = ts.iKeypadVolume;
-
- const MProfileExtraSettings& extra = activeProfile->ProfileExtraSettings();
- const MProfileFeedbackSettings& feedBack = extra.ProfileFeedbackSettings();
- aSettings.iTactileFeedback = feedBack.TactileFeedback();
- aSettings.iAudioFeedback = feedBack.AudioFeedback();
-
- CleanupStack::PopAndDestroy(); // profile
- CleanupStack::PopAndDestroy( profileEngine );
- }
-*/
-
-// ----------------------------------------------------------------------------------
-// CPSMProfilesPlugin::GetPsmConfigSettingsL()
-// ----------------------------------------------------------------------------------
-//
-void CPSMProfilesPlugin::GetPsmConfigSettingsL( TPsmSettingItems& aSettings )
- {
- RConfigInfoArray arr;
- CleanupClosePushL( arr );
-
- TPsmsrvConfigInfo info;
- info.iConfigId = EPsmPluginKeyVibra;
- info.iConfigType = EConfigTypeInt;
- info.iIntValue = KErrNotFound;
- User::LeaveIfError( arr.Append( info ) );
-
- info.iConfigId = EPsmPluginKeyKbdVolume;
- info.iConfigType = EConfigTypeInt;
- info.iIntValue = KErrNotFound;
- User::LeaveIfError( arr.Append( info ) );
-
- info.iConfigId = EPsmPluginTactileFeedback ;
- info.iConfigType = EConfigTypeInt;
- info.iIntValue = KErrNotFound;
- User::LeaveIfError( arr.Append( info ) );
-
- info.iConfigId = EPsmPluginAudioFeedback;
- info.iConfigType = EConfigTypeInt;
- info.iIntValue = KErrNotFound;
- User::LeaveIfError( arr.Append( info ) );
-
- iSettingsProvider.GetSettingsL( arr, KGSProfilesPluginUID.iUid );
-
- aSettings.iVibraAlert = arr[0].iIntValue;
- aSettings.iKeypadVolume = arr[1].iIntValue;
- aSettings.iTactileFeedback = arr[2].iIntValue;
- aSettings.iAudioFeedback = arr[3].iIntValue;
-
- CleanupStack::PopAndDestroy( &arr );
- }
-
-
-// -----------------------------------------------------------------------------
-// CPSMProfilesPlugin::ResolveKey
-//
-// -----------------------------------------------------------------------------
-//
-TUint32 CPSMProfilesPlugin::ResolveKey( TUint aPartialKey, TInt aProfileId )
- {
- const TInt KProfileIdShift = 24;
-
- return ( ( aProfileId << KProfileIdShift ) | aPartialKey );
- }
-
-
-// -----------------------------------------------------------------------------
-// CPSMProfilesPlugin::Panic
-//
-// -----------------------------------------------------------------------------
-//
-void CPSMProfilesPlugin::Panic( TInt aReason )
- {
- _LIT(KPanicCategory,"CPSMProfilesPlugin");
-
- User::Panic(KPanicCategory, aReason);
- }
-
-
-
-
-// End of file
--- a/profilesapplication/Profiles/GSProfilesPlugin/src/GSProfilesPluginImplementationTable.cpp Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,51 +0,0 @@
-/*
-* Copyright (c) 2005 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: ECOM proxy table for GSProfilesPlugin.
-*
-*/
-
-
-// User includes
-#include "GSProfilesPlugin.h"
-
-// System includes
-#include <e32std.h>
-#include <implementationproxy.h>
-
-
-// Constants
-const TImplementationProxy KGSProfilesPluginImplementationTable[] =
- {
- IMPLEMENTATION_PROXY_ENTRY( 0x10283387, CGSProfilesPlugin::NewL ),
- IMPLEMENTATION_PROXY_ENTRY( 0x10283388, CPSMProfilesPlugin::NewL )
- };
-
-
-// ---------------------------------------------------------------------------
-// ImplementationGroupProxy
-// Gate/factory function
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C const TImplementationProxy* ImplementationGroupProxy(
- TInt& aTableCount )
- {
- RDebug::Print( _L( "[GSLog] ImplementationGroupProxy()" ) );
- aTableCount = sizeof( KGSProfilesPluginImplementationTable )
- / sizeof( TImplementationProxy );
- return KGSProfilesPluginImplementationTable;
- }
-
-
-// End of File
--- a/profilesapplication/Profiles/Group/Profiles.lnt Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,37 +0,0 @@
-/** Unused Enum scan
--e???? +e749
-*/
-
-/** Unused header scan
--e???? +e766
-*/
-
-/** standard lint check
-*/
--w1 -e322
-
-/** define unicode
--D_UNICODE
-*/
-
-/** Standard include directories */
--i..\profileengine\doc
--i..\profileengine\group
--i..\profileengine\inc
--i..\profileengine\src
--i..\profileengine\EngInc
--i..\profileengine\EngSrc
--i..\profileapp\aif
--i..\profileapp\doc
--i..\profileapp\group
--i..\profileapp\help
--i..\profileapp\uisrc
--i..\profileapp\settingsviewinc
--i..\profileapp\settingsviewsrc
--i\epoc32\include
--i\epoc32\include\oem
-
-/** Examined application source directories */
-..\profileengine\EngSrc\*.cpp
-..\profileapp\uisrc\*.cpp
-..\profileapp\settingsviewsrc\*.cpp
--- a/profilesapplication/Profiles/Group/ProfilesDebug.h Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,39 +0,0 @@
-/*
-* Copyright (c) 2005 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: Debug macros for Profiles.
-*
-*/
-
-
-#ifndef PROFILESDEBUG_H
-#define PROFILESDEBUG_H
-
-#include <e32debug.h>
-
-#ifdef _DEBUG
-#define PRODEBUG(a) RDebug::Print( _L( a ) )
-#define PRODEBUG1(a,b) RDebug::Print( _L( a ),b )
-#define PRODEBUG2(a,b,c) RDebug::Print( _L( a ),b,c )
-#define PRODEBUG3(a,b,c,d) RDebug::Print( _L( a ),b,c,d )
-#else
-#define PRODEBUG(a)
-#define PRODEBUG1(a,b)
-#define PRODEBUG2(a,b,c)
-#define PRODEBUG3(a,b,c,d)
-#endif // _DEBUG
-
-#endif // PROFILESDEBUG_H
-
-// End of File
-
--- a/profilesapplication/Profiles/Group/ProfilesUID.h Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
-/*
-* Copyright (c) 2002 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: Profile change notify handler.
-*
-*/
-
-
-#ifndef __PROFILESUID_H__
-#define __PROFILESUID_H__
-
-#define KEComRecognitionUID2 0x10009d8d
-
-#define INTERFACE_UID_PROFILEENG_PEC 0x101f85b4
-#define IMPLEMENTATION_UID_PROFILEENG_PEC 0x101f85b5
-
-#define INTERFACE_UID_PROFILESETTINGSVIEW_PEC 0x101f85b6
-#define IMPLEMENTATION_UID_PROFILESETTINGSVIEW_PEC 0x101f85b7
-
-#define IMPLEMENTATION_UID_PROFILES_GS_TONES_PLUGIN 0x1020729b
-
-#endif
-
-// End of File
--- a/profilesapplication/Profiles/Group/bld.inf Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,68 +0,0 @@
-/*
-* Copyright (c) 2002 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: This file provides the information required for building the
-* whole of Profiles
-*
-*/
-
-// To get the APP_LAYER_PLATFORM_EXPORT_PATH-definition
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
- DEFAULT
-
-PRJ_EXPORTS
-
-#include "../GSProfilesPlugin/group/GSProfilesPluginExports.inc"
-#include "../ProfileAiwProvider/group/ProfileAiwProviderExports.inc"
-#include "../ProfileApp/group/ProfileAppExports.inc"
-
-../rom/Profile.iby CORE_APP_LAYER_IBY_EXPORT_PATH(profile.iby)
-../rom/ProfileResources.iby LANGUAGE_APP_LAYER_IBY_EXPORT_PATH(profileresources.iby)
-
-PRJ_EXTENSIONS
-
-START EXTENSION s60/mifconv
-OPTION TARGETFILE profileapp_aif.mif
-OPTION SOURCES -c8,8 qgn_menu_mode
-END
-
-START EXTENSION s60/mifconv
-OPTION TARGETFILE gsprofilesplugin.mif
-OPTION HEADERFILE gsprofilesplugin.mbg
-OPTION SOURCES -c8,8 qgn_prop_cp_perso_prof
-END
-PRJ_MMPFILES
-
-//#ifdef __SCALABLE_ICONS
-// gnumakefile ../ProfileApp/group/icons_aif_scalable_dc.mk
-//#else
- //gnumakefile ../ProfileApp/group/icons_aif_bitmaps_dc.mk
-//#endif // __SCALABLE_ICONS
-
-../ProfileApp/group/ProfileSettingsView.mmp
-../ProfileApp/group/ProfileApp.mmp
-#ifdef RD_GS_RENOVATION
-#ifndef RD_CONTROL_PANEL
-../ProfilesGSTonesPlugin/group/ProfilesGSTonesPlugin.mmp
-#endif // RD_CONTROL_PANEL
-#ifdef RD_CONTROL_PANEL
-//gnumakefile ../GSProfilesPlugin/group/GSProfilesPluginIcons.mk
-../GSProfilesPlugin/group/GSProfilesPlugin.mmp
-#endif // RD_CONTROL_PANEL
-#endif // RD_GS_RENOVATION
-
-../ProfileAiwProvider/group/ProfileAiwProvider.mmp
-
-// End of File
--- a/profilesapplication/Profiles/ProfileAiwProvider/group/ProfileAiwProvider.mmp Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,77 +0,0 @@
-/*
-* Copyright (c) 2002 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: Project definition file for ProfileAiwProvider
-*
-*/
-
-#include "ProfileAiwProviderUid.h"
-// To get the APP_LAYER_SYSTEMINCLUDE-definition
-#include <platform_paths.hrh>
-#include <data_caging_paths.hrh>
-
-TARGET profileaiwprovider.dll
-TARGETTYPE PLUGIN
-UID KEComRecognitionUID2 KProfileAiwProviderDllUid
-CAPABILITY CAP_ECOM_PLUGIN
-VENDORID VID_DEFAULT
-
-SOURCEPATH ../src
-SOURCE Dllmain.cpp
-SOURCE CProfileAiwProvider.cpp
-SOURCE CPapPopupList.cpp
-
-USERINCLUDE ../rss
-USERINCLUDE ../group
-USERINCLUDE ../../ProfileApp/SettingsViewInc
-USERINCLUDE ../../ProfileApp/group
-SYSTEMINCLUDE ../../../inc
-
-APP_LAYER_SYSTEMINCLUDE
-SYSTEMINCLUDE /epoc32/include/ecom
-
-SOURCEPATH ../rss
-
-START RESOURCE ProfileAiwProviderResource.rss
- HEADER
- TARGETPATH RESOURCE_FILES_DIR
- LANGUAGE_IDS
-END
-
-// ECom resource
-START RESOURCE 10281F18.rss
- TARGET profileaiwprovider.rsc
-END
-
-
-LIBRARY euser.lib
-LIBRARY cone.lib
-LIBRARY commonengine.lib
-LIBRARY avkon.lib
-LIBRARY servicehandler.lib
-LIBRARY efsrv.lib
-LIBRARY bafl.lib
-LIBRARY profilesettingsview.lib
-LIBRARY aknskins.lib
-LIBRARY eikcoctl.lib
-LIBRARY centralrepository.lib
-LIBRARY featmgr.lib // Feature Manager
-LIBRARY egul.lib // CGulIcon
-LIBRARY eikcore.lib
-LIBRARY platformenv.lib
-
-#ifdef RD_DRM_COMMON_INTERFACE_FOR_OMA_AND_WMDRM
-LIBRARY drmutility.lib
-#endif
-
-// End of File
--- a/profilesapplication/Profiles/ProfileAiwProvider/group/ProfileAiwProviderExports.inc Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-/*
-* ==============================================================================
-* Name : ProfileAiwProviderExports.inc
-* Part of : ProfileAiwProvider
-* Interface : ?Interface_category, ?Interface_name
-* Description : ?Description
-* Version : ?Version
-*
-* Copyright (c) 2007 Nokia Corporation.
-* This material, including documentation and any related
-* computer programs, is protected by copyright controlled by
-* Nokia Corporation. All rights are reserved. Copying,
-* including reproducing, storing, adapting or translating, any
-* or all of this material requires the prior written consent of
-* Nokia Corporation. This material also contains confidential
-* information which may not be disclosed to others without the
-* prior written consent of Nokia Corporation.
-* ==============================================================================
-*/
-// To get the APP_LAYER_SYSTEMINCLUDE-definition
-#include <platform_paths.hrh>
-
-#ifndef PROFILEAIWPROVIDEREXPORTS_INC
-#define PROFILEAIWPROVIDEREXPORTS_INC
-
-../loc/ProfileAiwProvider.loc APP_LAYER_LOC_EXPORT_PATH(profileaiwprovider.loc)
-
-#endif // PROFILEAIWPROVIDEREXPORTS_INC
-
-// End of File
--- a/profilesapplication/Profiles/ProfileAiwProvider/group/ProfileAiwProviderUid.h Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,25 +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: Uids for profile Aiw service.
-*
-*/
-
-#ifndef __PROFILEAIWPROVIDER_H__
-#define __PROFILEAIWPROVIDER_H__
-
-#define KProfileAiwProviderDllUid 0x10281F18
-#define KProfileAiwProviderImplUid 0x10281F18
-#define KEComRecognitionUID2 0x10009D8D
-
-#endif // __PROFILEAIWPROVIDER_H__
--- a/profilesapplication/Profiles/ProfileAiwProvider/group/bld.inf Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +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: This file provides the information required for building ProfileAiwProvider
-*
-*/
-// To get the APP_LAYER_LOC_EXPORT_PATH-definition
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-#include "ProfileAiwProviderExports.inc"
-
-PRJ_MMPFILES
-ProfileAiwProvider.mmp
--- a/profilesapplication/Profiles/ProfileAiwProvider/loc/ProfileAiwProvider.loc Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,59 +0,0 @@
-/*
-* Copyright (c) 2002 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: ProfileAiwProvider localisation strings.
-*
-*/
-
-
-
-// LOCALISATION STRINGS
-
-//d:Command in options list
-//d:Uses tone as ringing tone
-//l:list_single_popup_submenu_pane_t1
-//w:
-//r:3.1
-#define qtn_mg_options_set_as_rt "Set as ringing tone"
-
-//d: Error message text for non-supported file formats
-//l: popup_note_window
-//w:
-//r:3.1
-#define qtn_profiles_info_tone_drm_protected "Protected file. Cannot be selected as ringing tone."
-
-//d: ListBox dialog header
-//l: heading_pane_t1
-//w:
-//r:3.1
-#define qtn_profiles_query_select_profiles "Select profiles:"
-
-//d: Error message text for non-supported file formats
-//l: popup_note_window
-//w:
-//r:3.1
-#define qtn_profiles_info_mime_type_not_supported "Files of this format cannot be set as ringing tone."
-
-//d: Information note for changed profiles
-//l: popup_note_window
-//w:
-//r:3.1
-#define qtn_profiles_confirm_ringtone_changed "Ringing tone changed for selected profiles."
-
-//d: Information note shown when a file is copied from a remote drive
-//l: popup_note_window
-//w:
-//r:5.0
-#define qtn_profiles_info_remote_drive_copy "File copied to Gallery and set as ringing tone for selected profiles."
-
-// End of File
--- a/profilesapplication/Profiles/ProfileAiwProvider/rss/10281F18.rss Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,52 +0,0 @@
-/*
-* Copyright (c) 2002 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: ProfileAiwProvider resources
-*
-*/
-
-// INCLUDES
-#include <ecom/registryinfov2.rh>
-#include <AiwCommon.hrh>
-#include "ProfileAiwProviderUid.h"
-
-// -----------------------------------------------------------------------------
-//
-// theInfo
-// ?description
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE REGISTRY_INFO theInfo
- {
- resource_format_version = RESOURCE_FORMAT_VERSION_2;
- dll_uid = KProfileAiwProviderDllUid;
- interfaces =
- {
- INTERFACE_INFO
- {
- interface_uid = KAiwClassMenu;
- implementations =
- {
- IMPLEMENTATION_INFO
- {
- implementation_uid = KProfileAiwProviderImplUid;
- version_no = 1;
- display_name = "";
- default_data = "*";
- opaque_data = KAiwCmdAssignStr; // for KAiwCmdAssign command id
- }
- };
- }
- };
- }
--- a/profilesapplication/Profiles/ProfileAiwProvider/rss/ProfileAiwProviderResource.rss Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,150 +0,0 @@
-/*
-* Copyright (c) 2002 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: ProfileAiwProvider resources
-*
-*/
-
-
-// RESOURCE IDENTIFIER
-NAME AIPP
-
-// INTERNAL INCLUDES
-#include <profileaiwprovider.loc>
-#include <profileapp.loc> // For qtn_profiles_tone_maxsize_error
-
-// EXTERNAL INCLUDES
-#include <eikon.rh> // For RESOURCE MENU_PANE
-#include <AiwCommon.hrh> // For KAiwCmdView
-#include <avkon.loc> // For text_not_allowed
-
-// RESOURCE DEFINITIONS
-
-RESOURCE RSS_SIGNATURE { }
-
-// -----------------------------------------------------------------------------
-//
-// r_profileaiwprovider_menu
-// ?description
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE MENU_PANE r_profileaiwprovider_menu
- {
- items=
- {
- MENU_ITEM
- {
- command = KAiwCmdAssign;
- txt = qtn_mg_options_set_as_rt;
- }
- };
- }
-
-// -----------------------------------------------------------------------------
-//
-// r_profileaiwprovider_info_tone_drm_protected
-// ?description
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_profileaiwprovider_info_tone_drm_protected
- {
- buf = qtn_profiles_info_tone_drm_protected;
- }
-
-// -----------------------------------------------------------------------------
-//
-// r_profileaiwprovider_text_not_allowed
-// ?description
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_profileaiwprovider_text_not_allowed
- {
- buf = text_not_allowed;
- }
-
-// -----------------------------------------------------------------------------
-//
-// r_profileaiwprovider_info_tone_no_drm
-// ?description
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_profileaiwprovider_info_tone_no_drm
- {
- buf = qtn_profiles_info_tone_no_drm;
- }
-
-// -----------------------------------------------------------------------------
-//
-// r_profileaiwprovider_query_select_profiles
-// ?description
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_profileaiwprovider_query_select_profiles
- {
- buf = qtn_profiles_query_select_profiles;
- }
-
-// -----------------------------------------------------------------------------
-//
-// r_profileaiwprovider_info_mime_type_not_supported
-// ?description
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_profileaiwprovider_info_mime_type_not_supported
- {
- buf = qtn_profiles_info_mime_type_not_supported;
- }
-
-// -----------------------------------------------------------------------------
-//
-// r_profileaiwprovider_confirm_ringtone_changed
-// ?description
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_profileaiwprovider_confirm_ringtone_changed
- {
- buf = qtn_profiles_confirm_ringtone_changed;
- }
-
-// -----------------------------------------------------------------------------
-//
-// r_profileaiwprovider_tone_maxsize_error
-// ?description
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_profileaiwprovider_tone_maxsize_error
- {
- buf = qtn_profiles_tone_maxsize_error;
- }
-
-// -----------------------------------------------------------------------------
-//
-// r_profileaiwprovider_confirm_ringtone_copied
-// ?description
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_profileaiwprovider_confirm_ringtone_copied
- {
- buf = qtn_profiles_info_remote_drive_copy;
- }
-
-// End of File
--- a/profilesapplication/Profiles/ProfileAiwProvider/src/CPapPopupList.cpp Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,209 +0,0 @@
-/*
-* Copyright (c) 2007 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: A thin CAknPopupList extension.
-*
-*/
-
-
-
-// CLASS HEADER
-#include "CPapPopupList.h"
-
-// INTERNAL INCLUDES
-
-// EXTERNAL INCLUDES
-#include <AknIconArray.h>
-#include <aknlists.h>
-#include <AknsSkinInstance.h>
-#include <AknsUtils.h>
-#include <aknconsts.h>
-#include <avkon.mbg>
-#include <gulicon.h>
-
-// CONSTANTS
-namespace
- {
- // Granularities
- const TInt KIconGranularity( 3 );
- }
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CPapPopupList::CPapPopupList
-// C++ constructor can NOT contain any code, that might leave.
-// -----------------------------------------------------------------------------
-//
-CPapPopupList::CPapPopupList()
- : CAknPopupList()
- {
- }
-
-
-void CPapPopupList::ConstructL( CEikListBox* aListBox, TInt aCbaResource )
- {
- CAknPopupList::ConstructL( aListBox, aCbaResource, AknPopupLayouts::EMenuWindow );
- }
-
-// -----------------------------------------------------------------------------
-// CPapPopupList::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CPapPopupList* CPapPopupList::NewL( CEikListBox* aListBox, TInt aCbaResource )
- {
- CPapPopupList* self = new( ELeave ) CPapPopupList();
- CleanupStack::PushL( self );
- self->ConstructL( aListBox, aCbaResource );
- CleanupStack::Pop( self );
- return self;
- }
-
-// Destructor
- CPapPopupList::~CPapPopupList()
- {
- }
-
-// -----------------------------------------------------------------------------
-// CPapPopupList::HandleResourceChange
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPapPopupList::HandleResourceChange( TInt aType )
- {
- if( aType == KAknsMessageSkinChange )
- {
- TRAP_IGNORE( SetIconsL() );
- }
- CAknPopupList::HandleResourceChange( aType );
- }
-
-// -----------------------------------------------------------------------------
-// CPapPopupList::HandleListBoxEventL
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPapPopupList::HandleListBoxEventL( CEikListBox* aListBox, TListBoxEvent aEventType )
- {
- switch( aEventType )
- {
- case EEventItemClicked:
- UpdateCba();
- break;
-
- default:
- break;
- }
-
- CAknPopupList::HandleListBoxEventL( aListBox, aEventType );
- }
-
-// -----------------------------------------------------------------------------
-// CPapPopupList::ProcessCommandL
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPapPopupList::ProcessCommandL( TInt aCommandId )
- {
- switch( aCommandId )
- {
- // Fall through
- case EAknSoftkeyMark:
- case EAknSoftkeyUnmark:
- UpdateCba();
- break;
-
- default:
- break;
- }
-
- CAknPopupList::ProcessCommandL( aCommandId );
- }
-
-// -----------------------------------------------------------------------------
-// CPapPopupList::UpdateCba
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPapPopupList::UpdateCba()
- {
- // Cache the pointer to button group container
- CEikButtonGroupContainer* cba = ButtonGroupContainer();
- // Left softkey should be visible if there are items selected,
- // i.e. the selection index array has items.
- TBool visible( ListBox()->View()->SelectionIndexes()->Count() > 0 );
- // Resolve left softkey command id
- TInt leftId( cba->ButtonGroup()->CommandId( 0 ) );
- // Check if left softkey visibility has changed
- if( visible != cba->IsCommandVisible( leftId ) )
- {
- // Left softkey visibility has changed, update it
- cba->MakeCommandVisible( leftId, visible );
- }
- }
-
-// ----------------------------------------------------------------------------
-// CPapPopupList::SetIconsL
-// (other items were commented in a header).
-// ----------------------------------------------------------------------------
-//
-void CPapPopupList::SetIconsL()
- {
- CAknSingleGraphicPopupMenuStyleListBox* listBox =
- static_cast<CAknSingleGraphicPopupMenuStyleListBox*>( ListBox() );
-
- // Create new icon array
- CAknIconArray* iconArray = new( ELeave ) CAknIconArray( KIconGranularity );
- CleanupStack::PushL( iconArray );
-
- MAknsSkinInstance* skin = AknsUtils::SkinInstance();
- CGulIcon* icon = CGulIcon::NewLC();
- CFbsBitmap* bitmap = 0;
- CFbsBitmap* mask = 0;
- AknsUtils::CreateColorIconL( skin, KAknsIIDQgnIndiCheckboxOn,
- KAknsIIDQsnIconColors, EAknsCIQsnIconColorsCG15,
- bitmap, mask, KAvkonBitmapFile, EMbmAvkonQgn_indi_checkbox_on,
- EMbmAvkonQgn_indi_checkbox_on_mask, KRgbBlack );
- icon->SetBitmap( bitmap );
- icon->SetMask( mask );
- iconArray->AppendL( icon );
- CleanupStack::Pop( icon );
-
- icon = CGulIcon::NewLC();
- AknsUtils::CreateColorIconL( skin, KAknsIIDQgnIndiCheckboxOff,
- KAknsIIDQsnIconColors, EAknsCIQsnIconColorsCG15,
- bitmap, mask, KAvkonBitmapFile, EMbmAvkonQgn_indi_checkbox_off,
- EMbmAvkonQgn_indi_checkbox_off_mask, KRgbBlack );
- icon->SetBitmap( bitmap );
- icon->SetMask( mask );
- iconArray->AppendL( icon );
- CleanupStack::Pop( icon );
-
- // Delete old icons
- CArrayPtr<CGulIcon>* arr = listBox->ItemDrawer()->ColumnData()->IconArray();
- if( arr )
- {
- arr->ResetAndDestroy();
- delete arr;
- arr = NULL;
- }
-
- // Set new icon array
- listBox->ItemDrawer()->ColumnData()->SetIconArray( iconArray ); // changes ownership
- CleanupStack::Pop( iconArray );
-
- }
-
-
-// End of File
--- a/profilesapplication/Profiles/ProfileAiwProvider/src/CPapPopupList.h Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,88 +0,0 @@
-/*
-* Copyright (c) 2007 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: A thin CAknPopupList extension.
-*
-*/
-
-
-
-#ifndef CPAPPOPUPLIST_H
-#define CPAPPOPUPLIST_H
-
-// EXTERNAL INCLUDES
-#include <aknPopup.h>
-
-// FORWARD DECLARATIONS
-
-// CLASS DECLARATION
-
-/**
-* A thin CAknPopupList extension.
-* Handles resource changes.
-*
-* @lib ProfileSettingsView.lib
-* @since 3.1
-*/
-NONSHARABLE_CLASS( CPapPopupList ) : public CAknPopupList
- {
-
- public: // New methods
-
- /**
- * Two-phased constructor.
- * @param aListbox A parameter to CAknPopupList.
- * @param aCbaResource A parameter to CAknPopupList.
- * @param aType A parameter to CAknPopupList.
- */
- static CPapPopupList* NewL( CEikListBox* aListBox, TInt aCbaResource );
-
- void ConstructL( CEikListBox* aListBox, TInt aCbaResource );
-
- /**
- * Destructor.
- */
- virtual ~CPapPopupList();
-
- /**
- * Fills in ListBox icon array.
- */
- void SetIconsL();
-
- private: // From CAknPopupList
-
- void HandleResourceChange( TInt aType );
- void HandleListBoxEventL( CEikListBox* aListBox, TListBoxEvent aEventType );
- void ProcessCommandL( TInt aCommandId );
-
- private:
-
- /**
- * C++ constructor.
- */
- CPapPopupList();
-
- private: // New methods
-
- /**
- * Updates softkeys.
- */
- void UpdateCba();
-
- private: // Data
-
- };
-
-#endif // CPAPPOPUPLIST_H
-
-// End of File
--- a/profilesapplication/Profiles/ProfileAiwProvider/src/CProfileAiwProvider.cpp Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,873 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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: Profile Aiw service provider.
-*
-*/
-
-
-// CLASS HEADER
-#include "CProfileAiwProvider.h"
-
-// INTERNAL INCLUDES
-#include "CProfileEngineHandler.h"
-#include "CPapPopupList.h"
-
-// EXTERNAL INCLUDES
-#include <AiwMenu.h> // For CAiwMenuPane
-#include <AiwCommon.hrh> // For KAiwCmdAssign
-#include <AiwCommon.h> // For MAiwNotifyCallback
-#include <barsread.h> // For TResourceReader
-#include <ProfileAiwProviderResource.rsg> // For resource texts
-#include <data_caging_path_literals.hrh>
-#include <coemain.h> // CCoeEnv
-#include <ConeResLoader.h> // RConeResourceLoader
-#include <StringLoader.h>
-#include <aknnotewrappers.h> // For CAknInformationNote
-#include <aknlists.h> // For CAknSingleGraphicPopupMenuStyleListBox
-#include <cprofiletonehandler.h>
-#include <mprofilesnamesarray.h>
-#include <mprofilename.h>
-#include <mprofileengineextended.h>
-#include <mprofileextended.h>
-#include <profileenginedomaincrkeys.h>
-#include <profileeng.hrh> // For PROFILES_MAX_NAME_LENGTH
-#include <eikfutil.h> // For EikFileUtils
-#include <centralrepository.h>
-#include <featmgr.h>
-#include <pathinfo.h>
-#include <driveinfo.h>
-
-#ifdef RD_DRM_COMMON_INTERFACE_FOR_OMA_AND_WMDRM
-#include <drmutility.h>
-#include <drmagents.h>
-#endif
-
-
-// CONSTANTS
-namespace
- {
- _LIT( KProfileAiwProviderResourceFileName, "z:ProfileAiwProviderResource.rsc" );
- // Allowed MIME types
- _LIT( KAudioCommonMimeType, "audio/*");
- _LIT( KAudioRngMimeType, "application/vnd.nokia.ringing-tone" );
-#ifdef RD_VIDEO_AS_RINGING_TONE
- _LIT( KVideoCommonMimeType, "video/*");
- _LIT( KRMVideoMimeType, "application/vnd.rn-realmedia" );
- _LIT( KRMVideoMimeType2, "application/x-pn-realmedia" );
- _LIT( KSDPVideoMimeType, "application/sdp" );
-#endif
- // Granularities
- const TInt KArrayGranularity( 3 );
- // List item format
- _LIT( KProfileAIWProviderIconAndTab, "1\t");
- // Maximum profile name length
- const TInt KProfileAiwProviderMaxNameLength( PROFILES_MAX_NAME_LENGTH );
- }
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CProfileAiwProvider::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CProfileAiwProvider* CProfileAiwProvider::NewL()
- {
- CProfileAiwProvider* self = new(ELeave) CProfileAiwProvider;
- CleanupStack::PushL(self);
- self->ConstructL();
- CleanupStack::Pop(self);
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// CProfileAiwProvider::CProfileAiwProvider
-// C++ default constructor can NOT contain any code, that might leave.
-// -----------------------------------------------------------------------------
-//
-CProfileAiwProvider::CProfileAiwProvider()
- {
- }
-
-// -----------------------------------------------------------------------------
-// CProfileAiwProvider::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CProfileAiwProvider::ConstructL()
- {
- FeatureManager::InitializeLibL();
- TParse* fp = new(ELeave) TParse();
- fp->Set(KProfileAiwProviderResourceFileName, &KDC_RESOURCE_FILES_DIR, NULL);
- TFileName resourceFileName( fp->FullName() );
- delete fp;
-
- // Get language of resource file
- BaflUtils::NearestLanguageFile( CCoeEnv::Static()->FsSession(), resourceFileName );
- iResourceOffset = CCoeEnv::Static()->AddResourceFileL( resourceFileName );
- iProfileToneHandler = CProfileToneHandler::NewL();
- // Move this to PopulateListBox()
- //iEngineHandler = CProfileEngineHandler::NewL();
-
- TResourceReader reader;
- CCoeEnv::Static()->CreateResourceReaderLC( reader,
- R_PROFILEAIWPROVIDER_MENU );
- // load strings from resource
- iWMAErrorText = StringLoader::LoadL(
- R_PROFILEAIWPROVIDER_TEXT_NOT_ALLOWED );
- iMP4ErrorText = StringLoader::LoadL(
- R_PROFILEAIWPROVIDER_INFO_TONE_DRM_PROTECTED );
- iUnprotectedErrorText = StringLoader::LoadL(
- R_PROFILEAIWPROVIDER_INFO_TONE_NO_DRM );
- iNotSupportedErrorText = StringLoader::LoadL(
- R_PROFILEAIWPROVIDER_INFO_MIME_TYPE_NOT_SUPPORTED );
- iPopupTitle = StringLoader::LoadL(
- R_PROFILEAIWPROVIDER_QUERY_SELECT_PROFILES );
- iChangedProfilesText = StringLoader::LoadL(
- R_PROFILEAIWPROVIDER_CONFIRM_RINGTONE_CHANGED );
- iCopiedAndChangedText = StringLoader::LoadL(
- R_PROFILEAIWPROVIDER_CONFIRM_RINGTONE_COPIED );
-
- // Read the maximum limit for the size of a tone file:
- CRepository* cenrep = CRepository::NewL( KCRUidProfileEngine );
- CleanupStack::PushL( cenrep );
- User::LeaveIfError( cenrep->Get( KProEngRingingToneMaxSize, iMaxSize ) );
- CleanupStack::PopAndDestroy( cenrep );
- iSizeErrorText = StringLoader::LoadL(
- R_PROFILEAIWPROVIDER_TONE_MAXSIZE_ERROR, iMaxSize );
-
- CleanupStack::PopAndDestroy(); // reader
- }
-
-// Destructor
-CProfileAiwProvider::~CProfileAiwProvider()
- {
- delete iIndexToIdArray;
- delete iWMAErrorText;
- delete iMP4ErrorText;
- delete iUnprotectedErrorText;
- delete iNotSupportedErrorText;
- delete iPopupTitle;
- delete iChangedProfilesText;
- delete iSizeErrorText;
- delete iCopiedAndChangedText;
-
- delete iProfileToneHandler;
- delete iEngineHandler;
- CCoeEnv::Static()->DeleteResourceFile( iResourceOffset );
- FeatureManager::UnInitializeLib();
- }
-
-// -----------------------------------------------------------------------------
-// CProfileAiwProvider::InitialiseL
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CProfileAiwProvider::InitialiseL( MAiwNotifyCallback& /*aFrameworkCallback*/,
- const RCriteriaArray& /*aInterest*/ )
- {
- }
-
-// -----------------------------------------------------------------------------
-// CProfileAiwProvider::HandleServiceCmdL
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CProfileAiwProvider::HandleServiceCmdL( const TInt& aCmdId,
- const CAiwGenericParamList& aInParamList,
- CAiwGenericParamList& /*aOutParamList*/,
- TUint aCmdOptions,
- const MAiwNotifyCallback* aCallback )
- {
- // Cope with the design problems of AIW framework
- iConstNotifyCallback = const_cast<MAiwNotifyCallback*> (aCallback);
-
- if( aCmdOptions & KAiwOptCancel )
- {
- if( iPopup )
- {
- iPopup->CancelPopup();
- iPopup = NULL;
- }
- return;
- }
-
- if( aCmdId == KAiwCmdAssign )
- {
- // Retrieve filename and file MIME type from AIW param list
- TPtrC fileName =
- GetAiwParamAsDescriptor(aInParamList, EGenericParamFile);
-
- TPtrC mimeTypeString =
- GetAiwParamAsDescriptor(aInParamList, EGenericParamMIMEType);
-
- // Leave, if there were not given all the required parameters
- if ((fileName == KNullDesC) || (mimeTypeString == KNullDesC))
- {
- return;
- }
-
- if( !CheckMimeTypeL( mimeTypeString ) )
- {
- // Not supported format
- ShowErrorNoteL( *iNotSupportedErrorText );
- }
- else if( IsFileWMDRMProtectedL( fileName ) )
- {
- ShowErrorNoteL( *iMP4ErrorText );
- }
- else if( !IsToneFileSizeOkL( fileName ) )
- {
- // Too big file
- ShowErrorNoteL( *iSizeErrorText );
- }
- else
- {
- LaunchL( *iPopupTitle, fileName );
- }
- }
- }
-
-// -----------------------------------------------------------------------------
-// CProfileAiwProvider::PerformProfileChangeL
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CProfileAiwProvider::PerformProfileChangeL(
- const TDesC& aFileName, const TBool& aChangeAllProfiles ) const
- {
- TInt count( iSelectionArray->Count() );
- TInt err( KErrNone );
- TInt r( KErrNone );
-
- // Check location of the tone and copy if needed
- TFileName target;
- TBool remote = CopyIfRemoteL( aFileName, target );
-
- if( aChangeAllProfiles )
- {
- if( remote )
- {
- TRAP( r, err = iProfileToneHandler->SetToneForAllProfilesL(
- EProfileRingingToneSetting, target ) );
- }
- else
- {
- TRAP( r, err = iProfileToneHandler->SetToneForAllProfilesL(
- EProfileRingingToneSetting, aFileName ) );
- }
- }
- else
- {
- TInt profileId( 0 );
- for( TInt index(0); index < count; index++ )
- {
- profileId = iIndexToIdArray->At( iSelectionArray->At( index ) );
-
- if( remote )
- {
- // The first time set the tone, use SetProfileToneL to check the file
- if ( index == 0 )
- {
-
- TRAP( r, err = iProfileToneHandler->SetProfileToneL(
- profileId, EProfileRingingToneSetting, target ) );
- }
- // the file has been checked at first time, use SetProfileToneL to
- // avoid repeat check.
- else
- {
- TRAP( r, err = iProfileToneHandler->SetProfileToneNotCheckL(
- profileId, EProfileRingingToneSetting, target ) );
- }
- }
- else
- {
- // The first time set the tone, use SetProfileToneL to check the file
- if ( index == 0 )
- {
- TRAP( r, err = iProfileToneHandler->SetProfileToneL( profileId,
- EProfileRingingToneSetting, aFileName ) );
- }
- // the file has been checked at first time, use SetProfileToneL to
- // avoid repeat check.
- else
- {
- TRAP( r, err = iProfileToneHandler->SetProfileToneNotCheckL(
- profileId, EProfileRingingToneSetting, aFileName ) );
- }
-
- }
-
- // KErrNotFound is checked for the unlikely case in which the user
- // has first popped up the list of profiles and then switched to
- // Profiles App and deleted a profile or more, and finally completed
- // this "assigned to ringing tone" operation
- if( r == KErrNotFound )
- {
- r = KErrNone;
- }
- // The case r == KErrAccessDenied needn't be checked since only
- // those profiles that are modifiable are included in the list in
- // PopulateListBoxL() below
- if( r != KErrNone || err != KErrNone )
- {
- // no use to go on with other profiles if the tone can not be
- // assigned as an alert tone:
- break;
- }
- }
- }
-
- if( r == KErrPermissionDenied )
- {
- // Unprotected DRM tone case
- ShowErrorNoteL( *iUnprotectedErrorText );
- }
- else if( r == KErrArgument )
- {
- // WMA case
- ShowErrorNoteL( *iWMAErrorText );
- }
- else if( r != KErrNone )
- {
- User::Leave( r );
- }
-
- if ( err == KErrArgument )
- {
- // MP4 case
- ShowErrorNoteL( *iMP4ErrorText );
- }
-
- if( ( err == KErrNone ) && ( r == KErrNone ) && ( count > 0 ) )
- {
- CAknConfirmationNote* note = new( ELeave ) CAknConfirmationNote( EFalse );
- if( remote )
- {
- note->ExecuteLD( iCopiedAndChangedText->Des() );
- }
- else
- {
- note->ExecuteLD( iChangedProfilesText->Des() );
- }
- }
- }
-
-// -----------------------------------------------------------------------------
-// CProfileAiwProvider::LaunchL
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CProfileAiwProvider::LaunchL( const TDesC& aPopupTitle,
- const TDesC& aFileName )
- {
- // create listbox
- // list item string format: "0\tLabel" where 0 is an index to icon array
- CEikFormattedCellListBox* listBox =
- new ( ELeave ) CAknSingleGraphicPopupMenuStyleListBox;
- CleanupStack::PushL( listBox );
-
- // create popup
- CPapPopupList* popup = CPapPopupList::NewL( listBox,
- R_AVKON_SOFTKEYS_OK_CANCEL__UNMARK );
- CleanupStack::PushL( popup );
- popup->SetTitleL( aPopupTitle );
-
-#ifdef RD_SCALABLE_UI_V2
- if( AknLayoutUtils::PenEnabled() )
- {
- listBox->ConstructL( popup, EAknListBoxStylusMultiselectionList );
- }
- else
- {
- listBox->ConstructL( popup, EAknListBoxMultiselectionList );
- }
-#else
- listBox->ConstructL( popup, EAknListBoxMultiselectionList );
-#endif
-
- listBox->CreateScrollBarFrameL(ETrue);
- listBox->ScrollBarFrame()->
- SetScrollBarVisibilityL(
- CEikScrollBarFrame::EOff, CEikScrollBarFrame::EAuto );
-
- popup->SetIconsL();
-
- // create model
- CDesCArrayFlat* items = new (ELeave)CDesCArrayFlat( KArrayGranularity );
-
- // populate model
- CleanupStack::PushL(items);
- CProfileAiwProvider::PopulateListBoxL( items );
- CleanupStack::Pop(items);
-
- CTextListBoxModel* model = listBox->Model();
- model->SetItemTextArray(items);
-
- // set all items as selected
- TInt count( listBox->Model()->NumberOfItems() );
- for( TInt index( 0 ); index < count; index++ )
- {
- listBox->View()->SelectItemL( index );
- }
-
- TBool changeAllProfiles( EFalse );
-
- // launch popup
- iPopup = popup;
- TInt res = popup->ExecuteLD();
- // No leaving functions allowed between executeLD and CleanupStack::Pop().
- CleanupStack::Pop( popup );
- iPopup = NULL;
-
- if( res )
- {
- iSelectionArray = listBox->View()->SelectionIndexes();
- if( count == iSelectionArray->Count() )
- {
- // User has selected to change all profiles
- changeAllProfiles = ETrue;
- }
- CProfileAiwProvider::PerformProfileChangeL( aFileName, changeAllProfiles );
- }
- CleanupStack::PopAndDestroy(); // listBox
- }
-
-// -----------------------------------------------------------------------------
-// CProfileAiwProvider::PopulateListBoxL
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CProfileAiwProvider::PopulateListBoxL( CDesCArrayFlat* aItems )
- {
- // iEngineHandler must be instantiated each time to make sure
- // profile list is up to date
- delete iEngineHandler;
- iEngineHandler = NULL;
- iEngineHandler = CProfileEngineHandler::NewL();
-
- MProfilesNamesArray* array = iEngineHandler->IdArray();
- MProfileEngineExtended* engine = iEngineHandler->Engine();
-
- // Create the mapping array so that the IDs can be mapped to Profile IDs
- // after the selection has been made
- // Delete it first in case we're called several times (in the same instance)
- delete iIndexToIdArray;
- iIndexToIdArray = NULL;
- iIndexToIdArray = new ( ELeave ) CArrayFixFlat<TInt>( array->MdcaCount() );
-
- // Add items
- TInt count( array->MdcaCount() );
- TBuf<PROFILES_MAX_NAME_LENGTH + 3> name; // + 3 for icon and tab characters
- for( TInt index( 0 ); index < count; index++ )
- {
- const MProfileName* profileName = array->ProfileName( index );
- if( !profileName )
- {
- continue;
- }
-
- TInt profileId( profileName->Id() );
- // Only the profiles which modifiable flag of ringing tone item is
- // enabled should be included in the list. In Off-line profile case also
- // VoIP and WLAN must be supported (otherwise there wouldn't be need for
- // ringing tone in Off-line profile)
- if( ( profileId != EProfileOffLineId ) ||
- ( FeatureManager::FeatureSupported( KFeatureIdCommonVoip ) &&
- FeatureManager::FeatureSupported( KFeatureIdProtocolWlan ) ) )
- {
- MProfileExtended* profile( engine->ProfileLC( profileId ) );
- TUint32 modFlags( profile->ModifiableFlags() );
- CleanupStack::PopAndDestroy(); // profile
- // Only the profiles which ringing tone item is modifiable should
- // be included in the list
- if( modFlags & EProfileFlagRingingTone )
- {
- name.Copy( KProfileAIWProviderIconAndTab );
- TBuf< KProfileAiwProviderMaxNameLength >
- tmpName( array->MdcaPoint( index ) );
- AknTextUtils::ReplaceCharacters( tmpName,
- KAknReplaceListControlChars,
- TChar( ' ' ) );
- name.Append( tmpName );
- aItems->AppendL( name );
- iIndexToIdArray->AppendL( profileId );
- }
- }
- }
- iIndexToIdArray->Compress();
- }
-
-// -----------------------------------------------------------------------------
-// CProfileAiwProvider::InitializeMenuPaneL
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CProfileAiwProvider::InitializeMenuPaneL( CAiwMenuPane& aMenuPane,
- TInt aIndex,
- TInt /*aCascadeId*/,
- const CAiwGenericParamList& aInParamList )
- {
- TResourceReader reader;
- CCoeEnv::Static()->CreateResourceReaderLC( reader,
- R_PROFILEAIWPROVIDER_MENU );
-
- // Retrieve filename and file MIME type from AIW param list
- TPtrC mimeTypeString = CProfileAiwProvider::GetAiwParamAsDescriptor
- (aInParamList, EGenericParamMIMEType);
-
- if( CProfileAiwProvider::CheckMimeTypeL( mimeTypeString ) )
- {
- // Only add menuitem if MIME type is valid
- aMenuPane.AddMenuItemsL( reader, KAiwCmdAssign, aIndex );
- }
-
- CleanupStack::PopAndDestroy(); // reader
- }
-
-// -----------------------------------------------------------------------------
-// CProfileAiwProvider::HandleMenuCmdL
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CProfileAiwProvider::HandleMenuCmdL( TInt aMenuCmdId,
- const CAiwGenericParamList& aInParamList,
- CAiwGenericParamList& aOutParamList,
- TUint aCmdOptions,
- const MAiwNotifyCallback* aCallback )
- {
- // Route to HandleServiceCmdL
- HandleServiceCmdL(aMenuCmdId, aInParamList,
- aOutParamList, aCmdOptions, aCallback);
- }
-
-// -----------------------------------------------------------------------------
-// CProfileAiwProvider::GetAiwParamAsDescriptor
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TPtrC CProfileAiwProvider::GetAiwParamAsDescriptor(
- const CAiwGenericParamList& aParamList,
- TGenericParamId aParamType)
- {
- TInt index = 0;
- const TAiwGenericParam* genericParam = NULL;
- genericParam = aParamList.FindFirst(
- index,
- aParamType,
- EVariantTypeDesC);
-
- if (index >= 0 && genericParam)
- {
- // Get the data
- return genericParam->Value().AsDes();
- }
- else
- {
- return KNullDesC();
- }
- }
-
-// -----------------------------------------------------------------------------
-// CProfileAiwProvider::CheckMimeTypeL
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TBool CProfileAiwProvider::CheckMimeTypeL(const TDesC& aMimeTypeString)
- {
- if( ( aMimeTypeString.MatchF( KAudioCommonMimeType ) == 0 ) ||
- ( aMimeTypeString.CompareF( KAudioRngMimeType ) == 0 ) )
- {
- iIsVideo = EFalse;
- return ETrue;
- }
-
-#ifdef RD_VIDEO_AS_RINGING_TONE
- if( aMimeTypeString.MatchF( KVideoCommonMimeType ) == 0 ||
- aMimeTypeString.CompareF( KRMVideoMimeType ) == 0 ||
- aMimeTypeString.CompareF( KRMVideoMimeType2 ) == 0 ||
- aMimeTypeString.CompareF( KSDPVideoMimeType ) == 0 )
- {
- iIsVideo = ETrue;
- return ETrue;
- }
-#endif
-
- return EFalse;
- }
-
-// -----------------------------------------------------------------------------
-// CProfileAiwProvider::IsToneFileSizeOkL
-// -----------------------------------------------------------------------------
-//
-TBool CProfileAiwProvider::IsToneFileSizeOkL( const TDesC& aFile )
- {
- if( !iMaxSize )
- { // no limit set -> every tone will be ok (what comes to size):
- return ETrue;
- }
-
- // Get file size
- TInt size = 0;
- TBool result( ETrue );
-
- TEntry entry;
- if ( CCoeEnv::Static()->FsSession().Entry( aFile, entry ) == KErrNone )
- {
- size = entry.iSize;
- }
-
- // Check. NOTE: now if file size couldn't be determined, check fails.
- if ( size > (iMaxSize*KKilo) )
- {
- result = EFalse;
- }
-
- return result;
- }
-
-// -----------------------------------------------------------------------------
-// CProfileAiwProvider::ShowErrorNoteL
-// -----------------------------------------------------------------------------
-//
-void CProfileAiwProvider::ShowErrorNoteL( const TDesC& aErrorText ) const
- {
- CAknInformationNote* note = new( ELeave ) CAknInformationNote( EFalse );
- note->ExecuteLD( aErrorText );
- }
-
-
-// -----------------------------------------------------------------------------
-// CProfileAiwProvider::CopyIfRemoteL
-// -----------------------------------------------------------------------------
-//
-TBool CProfileAiwProvider::CopyIfRemoteL( const TDesC& aFileName, TFileName& aTarget ) const
- {
- TBool remote( EFalse );
- TParsePtrC parsedName( aFileName );
- RFs& fsSession( CCoeEnv::Static()->FsSession() );
- TDriveUnit driveUnit( parsedName.Drive() );
- TUint driveStatus( 0 );
-
- DriveInfo::GetDriveStatus( fsSession, driveUnit, driveStatus );
- remote = ( ( driveStatus & DriveInfo::EDriveRemote ) == DriveInfo::EDriveRemote );
-
- if( remote )
- {
- // If the tone is on a remote drive, it must be copied
- aTarget.Insert( 0, parsedName.NameAndExt() );
- if( iIsVideo )
- {
- aTarget.Insert( 0, PathInfo::VideosPath() );
- }
- else
- {
- aTarget.Insert( 0, PathInfo::SoundsPath() );
- }
- aTarget.Insert( 0, PathInfo::PhoneMemoryRootPath() );
- User::LeaveIfError( EikFileUtils::CopyFile( aFileName, aTarget ) );
- }
-
- return remote;
- }
-
-
-// -----------------------------------------------------------------------------
-//
-// Functions related to WMDRM protection check
-//
-// -----------------------------------------------------------------------------
-
-#ifndef RD_DRM_COMMON_INTERFACE_FOR_OMA_AND_WMDRM
-
-// Some magic constants
-static const TInt KMinContentLength( 16 );
-//_LIT8( KContentProtectionType, "DRM" );
-_LIT8( KASFHeaderObject, "75B22630668E11CFA6D900AA0062CE6C" );
-_LIT8( KWrmHeader, "W\0R\0M\0H\0E\0A\0D\0E\0R\0" );
-
-
-// -----------------------------------------------------------------------------
-// FormatGUID
-// -----------------------------------------------------------------------------
-//
-LOCAL_C void FormatGUID( TDes8& aGUID )
- {
- TBuf8<16> copyGUID( aGUID );
- TInt i;
- for( i = 0; i < 4; i++ )
- {
- copyGUID[i] = aGUID[3-i];
- }
- for( i = 4; i < 6; i++ )
- {
- copyGUID[i] = aGUID[9 - i];
- }
- for( i = 6; i < 8; i++ )
- {
- copyGUID[i] = aGUID[13 - i];
- }
- for( i = 8; i < 16 ; i++ )
- {
- copyGUID[i] = aGUID[i];
- }
- aGUID.Delete( 0, 32 );
- for( i = 0; i <16; i++ )
- {
- aGUID.AppendNumFixedWidthUC( copyGUID[i], EHex, 2 );
- }
- }
-
-// -----------------------------------------------------------------------------
-// ConvertToInt64
-// -----------------------------------------------------------------------------
-//
-LOCAL_C TInt64 ConvertToInt64( TDesC8& aDes )
- {
- TInt64 num = 0;
- TInt i;
- for( i = 7 ; i >= 0; i-- )
- {
- num <<= 8;
- num |= aDes[i];
- }
- return num;
- }
-
-
-// -----------------------------------------------------------------------------
-// IsProtectedWmDrmL
-// returns ETrue, if file is protected WMDRM file
-// EFalse if file is not protected WMDRM file
-// Leaves with KErrUnderflow if file has too little data to decide
-// whether WmDrm or not
-// may also leave with other system wide error code
-// -----------------------------------------------------------------------------
-//
-LOCAL_C TBool IsProtectedWmDrmL( RFile& aFileHandle )
- {
- TInt r( KErrNone );
- HBufC8* buffer( NULL );
- TInt pos( 0 );
- RFile file;
- TBuf8< 32 > header;
-
- TInt64 headerSize( 0 );
- TBool isProtectedWmDrm( EFalse );
- TPtr8 headerPtr( NULL, 0 );
-
- // Leave if given handle is invalid
- if( !aFileHandle.SubSessionHandle() )
- {
- User::Leave( KErrBadHandle );
- }
-
- User::LeaveIfError( file.Duplicate( aFileHandle ) );
- CleanupClosePushL( file );
-
- User::LeaveIfError( file.Seek( ESeekStart, pos ) );
-
- // Check if the file is an ASF file
- // : Check on runtime wether WM DRM is supporeted or not
-
- User::LeaveIfError( file.Read( 0, header, KMinContentLength ) );
- if( header.Length() < KMinContentLength )
- {
- User::Leave( KErrUnderflow );
- }
-
- FormatGUID( header );
-
- if( header == KASFHeaderObject )
- {
- // It's ASF, check still whether it's WM DRM protected or not
- file.Read( header,8 );
- headerSize = ConvertToInt64( header );
- if( headerSize <= 30 )
- {
- User::Leave( KErrUnderflow );
- }
- if ( headerSize > ( ( KMaxTInt32 / 2 ) - 1 ) )
- {
- User::Leave( KErrOverflow );
- }
- buffer = HBufC8::NewLC( headerSize );
-
- headerPtr.Set( buffer->Des() );
- User::LeaveIfError( file.Read( headerPtr, headerSize - 24 ) );
-
- r = headerPtr.Find( KWrmHeader );
- if ( KErrNotFound != r )
- {
- isProtectedWmDrm = ETrue;
- }
- CleanupStack::PopAndDestroy( buffer ); // buffer
- }
- CleanupStack::PopAndDestroy(); // file
-
- return isProtectedWmDrm;
- }
-
-#endif // RD_DRM_COMMON_INTERFACE_FOR_OMA_AND_WMDRM
-
-// -----------------------------------------------------------------------------
-// CProfileAiwProvider::IsFileWMDRMProtectedL
-// -----------------------------------------------------------------------------
-//
-TBool CProfileAiwProvider::IsFileWMDRMProtectedL( const TDesC& aFileName ) const
- {
- TBool res = EFalse;
- RFs& fsSession( CCoeEnv::Static()->FsSession() );
- RFile hFile;
-
- TInt err = hFile.Open( fsSession, aFileName,
- EFileRead | EFileStream | EFileShareReadersOnly );
- if( err == KErrInUse )
- {
- err = hFile.Open( fsSession, aFileName,
- EFileRead | EFileStream | EFileShareAny );
- }
- if( err != KErrNone )
- {
- User::Leave( err );
- }
- CleanupClosePushL( hFile );
-
-#ifdef RD_DRM_COMMON_INTERFACE_FOR_OMA_AND_WMDRM
- TPtrC agent( KNullDesC );
- DRM::CDrmUtility* drmUtil( DRM::CDrmUtility::NewLC() );
- drmUtil->GetAgentL( hFile, agent );
- if( agent.Compare( DRM::KDrmWMAgentName ) == 0 )
- {
- res = ETrue;
- }
- CleanupStack::PopAndDestroy( drmUtil );
-#else
- res = IsProtectedWmDrmL( hFile );
-#endif
-
- CleanupStack::PopAndDestroy( &hFile );
- return res;
- }
-
-
-// -----------------------------------------------------------------------------
-//
-// End of Functions related to WMDRM protection check
-//
-// -----------------------------------------------------------------------------
-
-
-// End of File
--- a/profilesapplication/Profiles/ProfileAiwProvider/src/CProfileAiwProvider.h Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,216 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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: Profile Aiw service provider.
-*
-*/
-
-
-#ifndef __CPROFILEAIWPROVIDER_H__
-#define __CPROFILEAIWPROVIDER_H__
-
-// INTERNAL INCLUDES
-
-// EXTERNAL INCLUDES
-#include <AiwServiceIfMenu.h>
-
-// FORWARD DECLARATIONS
-class CProfileToneHandler;
-class CProfileEngineHandler;
-class CAknPopupList;
-
-// CLASS DECLARATION
-
-/**
-* Profiles AIW Provider
-* AIW Provider for seting files as ringingtone
-*
-* @lib ProfileSettingsView.lib
-* @since 3.1
-*/
-
-NONSHARABLE_CLASS( CProfileAiwProvider )
- : public CAiwServiceIfMenu
- {
- public: // Constructors and destructors
-
- /**
- * Two-phase static constructor
- * @return A pointer to a fully constructed CProfileAiwProvider instance
- */
- static CProfileAiwProvider* NewL();
-
- /**
- * Destructor
- */
- virtual ~CProfileAiwProvider();
-
- private: // From CAiwServiceIfMenu
-
- void InitialiseL( MAiwNotifyCallback& aFrameworkCallback,
- const RCriteriaArray& aInterest );
-
- void HandleServiceCmdL( const TInt& aCmdId,
- const CAiwGenericParamList& aInParamList,
- CAiwGenericParamList& aOutParamList,
- TUint aCmdOptions = 0,
- const MAiwNotifyCallback* aCallback = NULL );
-
- void InitializeMenuPaneL( CAiwMenuPane& aMenuPane,
- TInt aIndex,
- TInt aCascadeId,
- const CAiwGenericParamList& aInParamList );
-
- void HandleMenuCmdL( TInt aMenuCmdId,
- const CAiwGenericParamList& aInParamList,
- CAiwGenericParamList& aOutParamList,
- TUint aCmdOptions = 0,
- const MAiwNotifyCallback* aCallback = NULL );
-
- private: // Constructors and destructors
-
- /**
- * Constructor
- */
- CProfileAiwProvider();
-
- /**
- * Second phase constructor
- */
- void ConstructL();
-
- private: // New functions
-
- /*
- * Reads AIW parameters
- * @param aParamList Generic parameterlist
- * @param aParamType Generic parameterID
- * @return Parameter in text form
- */
- TPtrC GetAiwParamAsDescriptor(
- const CAiwGenericParamList& aParamList,
- TGenericParamId aParamType);
- /*
- * Checks MIME type
- * @param aMimeTypeString MIME type to be checked
- * @return Returns ETrue if MIME type is valid ( audio or video )
- */
- TBool CheckMimeTypeL(const TDesC& aMimeTypeString);
-
- /*
- * Launches multiselection popup listbox containing profile names
- * @param aPopupTitle Listbox title
- * @param aFilename Filename to be assigned as ringing tone
- */
- void LaunchL( const TDesC& aPopupTitle, const TDesC& aFileName );
- /*
- * Populates listbox
- * @param aItems Pointer to constructed listbox item array
- */
- void PopulateListBoxL( CDesCArrayFlat* aItems );
- /*
- * Performs the setting of ringing tone through ProfileSettingsView API
- * @param aFileName Filename to be assigned as ringing tone
- * @param aChangeAllProfiles Boolean value defines whether all
- * profiles are changed
- */
- void PerformProfileChangeL(
- const TDesC& aFileName, const TBool& aChangeAllProfiles ) const;
-
- /**
- * Checks that the size of the tone file does not exceed the set limit
- * (if one has been set).
- * @param aFileName the name of the file to be assigned as ringing tone
- * @return ETrue if the size of the file does not rule the file out to
- * be set as ringing tone
- */
- TBool IsToneFileSizeOkL( const TDesC& aFile );
-
- /**
- * Displays an error note.
- * @param aResourceId Resource ID to a TBUF resource.
- */
- void ShowErrorNoteL( const TDesC& aErrorText ) const;
-
- /**
- * Checks if file is WMDRM protected.
- * @param aFileName Name of the file to be checked.
- * @return ETrue if file is WMDRM protected, EFalse otherwise.
- */
- TBool IsFileWMDRMProtectedL( const TDesC& aFileName ) const;
-
- /**
- * Checks if file is located on a remote drive and copies it if so.
- * @param aFileName Name of the file to be checked/copied.
- * @param aTarget File name on device after copying.
- * @return ETrue if file is remote, EFalse otherwise.
- */
- TBool CopyIfRemoteL( const TDesC& aFileName, TFileName& aTarget ) const;
-
- private: // Data
-
- /// Own: Profile tone handler
- CProfileToneHandler* iProfileToneHandler;
-
- /// Own: Engine handler.
- CProfileEngineHandler* iEngineHandler;
-
- /// Ref: AIWCallback
- MAiwNotifyCallback* iConstNotifyCallback;
-
- /// Own: WMA Error text
- HBufC* iWMAErrorText;
-
- /// Own: MP4 Error text
- HBufC* iMP4ErrorText;
-
- /// Own: Unprotected Error text
- HBufC* iUnprotectedErrorText;
-
- /// Own: Not supported Error text
- HBufC* iNotSupportedErrorText;
-
- /// Own: Popup
- CAknPopupList* iPopup;
-
- /// Own: Popup title text
- HBufC* iPopupTitle;
-
- /// Own: Changed profile information text
- HBufC* iChangedProfilesText;
-
- /// Own: File was copied and set
- HBufC* iCopiedAndChangedText;
-
- /// Own: Tone file size too big error text
- HBufC* iSizeErrorText;
-
- /// Own: ListBox selection array
- const CArrayFix<TInt>* iSelectionArray;
-
- /// Own: Array for mapping of original indexes in Profile name array
- /// to Profile IDs
- CArrayFixFlat<TInt>* iIndexToIdArray;
-
- /// Resource offset
- TInt iResourceOffset;
-
- /// Maximum allowed size for tone files:
- TInt iMaxSize;
-
- /// Is file video:
- TBool iIsVideo;
-
- };
-
-#endif // __CPROFILEAIWPROVIDER_H__
--- a/profilesapplication/Profiles/ProfileAiwProvider/src/Dllmain.cpp Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,39 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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: The Aiw application gets instantiated starting from this class.
-*
-*/
-
-
-// INTERNAL INCLUDES
-#include "ProfileAiwProviderUid.h"
-#include "CProfileAiwProvider.h"
-
-// EXTERNAL INCLUDES
-#include <e32std.h>
-#include <implementationproxy.h>
-
-// Define the interface UIDs
-const TImplementationProxy ImplementationTable[] =
- {
- IMPLEMENTATION_PROXY_ENTRY( KProfileAiwProviderImplUid, CProfileAiwProvider::NewL )
- };
-
-// The one and only exported function that is the ECom entry point
-EXPORT_C const TImplementationProxy* ImplementationGroupProxy( TInt& aTableCount )
- {
- aTableCount = sizeof( ImplementationTable ) / sizeof( TImplementationProxy );
-
- return ImplementationTable;
- }
--- a/profilesapplication/Profiles/ProfileApp/BWINS/PROFILESETTINGSVIEWU.DEF Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +0,0 @@
-EXPORTS
- ?AllowedToChange@CProfileSettingsContainer@@QBEHH@Z @ 1 NONAME ; int CProfileSettingsContainer::AllowedToChange(int) const
- ?CurrentProfileIndex@CProfileIndexHandler@@QBEHXZ @ 2 NONAME ; int CProfileIndexHandler::CurrentProfileIndex(void) const
- ?EditItemL@CProfileSettingsContainer@@UAEXHH@Z @ 3 NONAME ; void CProfileSettingsContainer::EditItemL(int, int)
- ?Engine@CProfileEngineHandler@@QBEPAVMProfileEngineExtended@@XZ @ 4 NONAME ; class MProfileEngineExtended * CProfileEngineHandler::Engine(void) const
- ?IdArray@CProfileEngineHandler@@QBEPAVMProfilesNamesArray@@XZ @ 5 NONAME ; class MProfilesNamesArray * CProfileEngineHandler::IdArray(void) const
- ?IdForIndex@CProfileEngineHandler@@QBEHH@Z @ 6 NONAME ; int CProfileEngineHandler::IdForIndex(int) const
- ?NewL@CProfileEngineHandler@@SAPAV1@XZ @ 7 NONAME ; class CProfileEngineHandler * CProfileEngineHandler::NewL(void)
- ?NewL@CProfileIndexHandler@@SAPAV1@AAVCProfileEngineHandler@@@Z @ 8 NONAME ; class CProfileIndexHandler * CProfileIndexHandler::NewL(class CProfileEngineHandler &)
- ?NewL@CProfileSettingsContainer@@SAPAV1@AAVCAknView@@AAVCProfileEngineHandler@@PAVCProfileIndexHandler@@PAVCProfileTabHandler@@PAVCAknTitlePane@@@Z @ 9 NONAME ; class CProfileSettingsContainer * CProfileSettingsContainer::NewL(class CAknView &, class CProfileEngineHandler &, class CProfileIndexHandler *, class CProfileTabHandler *, class CAknTitlePane *)
- ?NewL@CProfileTabHandler@@SAPAV1@AAVCProfileEngineHandler@@AAVCProfileIndexHandler@@AAVCAknNavigationControlContainer@@@Z @ 10 NONAME ; class CProfileTabHandler * CProfileTabHandler::NewL(class CProfileEngineHandler &, class CProfileIndexHandler &, class CAknNavigationControlContainer &)
- ?NewL@CProfileToneHandler@@SAPAV1@XZ @ 11 NONAME ; class CProfileToneHandler * CProfileToneHandler::NewL(void)
- ?NewLC@CProfileToneHandler@@SAPAV1@XZ @ 12 NONAME ; class CProfileToneHandler * CProfileToneHandler::NewLC(void)
- ?ReadIdArrayL@CProfileEngineHandler@@QAEXXZ @ 13 NONAME ; void CProfileEngineHandler::ReadIdArrayL(void)
- ?SetActiveProfileRingingToneL@CProfileToneHandler@@QAEHABVTDesC16@@@Z @ 14 NONAME ; int CProfileToneHandler::SetActiveProfileRingingToneL(class TDesC16 const &)
- ?SetCurrentProfileIndex@CProfileIndexHandler@@QAEXH@Z @ 15 NONAME ; void CProfileIndexHandler::SetCurrentProfileIndex(int)
- ?SetProfileToneL@CProfileToneHandler@@QAEHHW4TProfileTones@@ABVTDesC16@@@Z @ 16 NONAME ; int CProfileToneHandler::SetProfileToneL(int, enum TProfileTones, class TDesC16 const &)
- ?SetToneForAllProfilesL@CProfileToneHandler@@QAEHW4TProfileTones@@ABVTDesC16@@@Z @ 17 NONAME ; int CProfileToneHandler::SetToneForAllProfilesL(enum TProfileTones, class TDesC16 const &)
- ?TabGroup@CProfileTabHandler@@QBEPAVCAknTabGroup@@XZ @ 18 NONAME ; class CAknTabGroup * CProfileTabHandler::TabGroup(void) const
- ?NewL@CProfileSettingsContainer@@SAPAV1@AAVMProfileViewHandler@@AAVCProfileEngineHandler@@AAVMProfileExternalSettingsHandler@@PAVCProfileIndexHandler@@PAVCProfileTabHandler@@PAVCAknTitlePane@@@Z @ 19 NONAME ; class CProfileSettingsContainer * CProfileSettingsContainer::NewL(class MProfileViewHandler &, class CProfileEngineHandler &, class MProfileExternalSettingsHandler &, class CProfileIndexHandler *, class CProfileTabHandler *, class CAknTitlePane *)
- ?NewL@CProfileSettingsContainer@@SAPAV1@AAVMProfileViewHandler@@AAVCProfileEngineHandler@@AAVMProfileExternalSettingsHandler@@PAVCProfileIndexHandler@@PAVCProfileTabHandler@@PAVCAknTitlePane@@H@Z @ 20 NONAME ; class CProfileSettingsContainer * CProfileSettingsContainer::NewL(class MProfileViewHandler &, class CProfileEngineHandler &, class MProfileExternalSettingsHandler &, class CProfileIndexHandler *, class CProfileTabHandler *, class CAknTitlePane *, int)
- ?ItemEdited@CProfileSettingsContainer@@QBEHXZ @ 21 NONAME ; int CProfileSettingsContainer::ItemEdited(void) const
- ?SetProfileToneNotCheckL@CProfileToneHandler@@QAEHHW4TProfileTones@@ABVTDesC16@@@Z @ 22 NONAME ; int CProfileToneHandler::SetProfileToneNotCheckL(int, enum TProfileTones, class TDesC16 const &)
- ?SetNaviPaneTextL@CProfileNaviPaneContainer@@QAEXABVTDesC16@@@Z @ 23 NONAME ; void CProfileNaviPaneContainer::SetNaviPaneTextL(class TDesC16 const &)
- ?SetNaviPaneTextL@CProfileNaviPaneContainer@@QAEXXZ @ 24 NONAME ; void CProfileNaviPaneContainer::SetNaviPaneTextL(void)
- ?NewL@CProfileNaviPaneContainer@@SAPAV1@AAVCEikStatusPane@@AAVCProfileEngineHandler@@@Z @ 25 NONAME ; class CProfileNaviPaneContainer * CProfileNaviPaneContainer::NewL(class CEikStatusPane &, class CProfileEngineHandler &)
-
--- a/profilesapplication/Profiles/ProfileApp/EABI/ProfileSettingsViewU.DEF Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,39 +0,0 @@
-EXPORTS
- _ZN18CProfileTabHandler4NewLER21CProfileEngineHandlerR20CProfileIndexHandlerR30CAknNavigationControlContainer @ 1 NONAME
- _ZN19CProfileToneHandler15SetProfileToneLEi13TProfileTonesRK7TDesC16 @ 2 NONAME
- _ZN19CProfileToneHandler22SetToneForAllProfilesLE13TProfileTonesRK7TDesC16 @ 3 NONAME
- _ZN19CProfileToneHandler28SetActiveProfileRingingToneLERK7TDesC16 @ 4 NONAME
- _ZN19CProfileToneHandler4NewLEv @ 5 NONAME
- _ZN19CProfileToneHandler5NewLCEv @ 6 NONAME
- _ZN20CProfileIndexHandler22SetCurrentProfileIndexEi @ 7 NONAME
- _ZN20CProfileIndexHandler4NewLER21CProfileEngineHandler @ 8 NONAME
- _ZN21CProfileEngineHandler12ReadIdArrayLEv @ 9 NONAME
- _ZN21CProfileEngineHandler4NewLEv @ 10 NONAME
- _ZN25CProfileSettingsContainer4NewLER8CAknViewR21CProfileEngineHandlerP20CProfileIndexHandlerP18CProfileTabHandlerP13CAknTitlePane @ 11 NONAME
- _ZN25CProfileSettingsContainer9EditItemLEii @ 12 NONAME
- _ZNK18CProfileTabHandler8TabGroupEv @ 13 NONAME
- _ZNK20CProfileIndexHandler19CurrentProfileIndexEv @ 14 NONAME
- _ZNK21CProfileEngineHandler10IdForIndexEi @ 15 NONAME
- _ZNK21CProfileEngineHandler6EngineEv @ 16 NONAME
- _ZNK21CProfileEngineHandler7IdArrayEv @ 17 NONAME
- _ZNK25CProfileSettingsContainer15AllowedToChangeEi @ 18 NONAME
- _ZTI18CProfileTabHandler @ 19 NONAME ; #<TI>#
- _ZTI19CProfileToneHandler @ 20 NONAME ; #<TI>#
- _ZTI20CProfileIndexHandler @ 21 NONAME ; #<TI>#
- _ZTI21CProfileEngineHandler @ 22 NONAME ; #<TI>#
- _ZTI25CProfileSettingsContainer @ 23 NONAME ; #<TI>#
- _ZTI31CProfileKeypadVolumeSettingPage @ 24 NONAME ; #<TI>#
- _ZTV18CProfileTabHandler @ 25 NONAME ; #<VT>#
- _ZTV19CProfileToneHandler @ 26 NONAME ; #<VT>#
- _ZTV20CProfileIndexHandler @ 27 NONAME ; #<VT>#
- _ZTV21CProfileEngineHandler @ 28 NONAME ; #<VT>#
- _ZTV25CProfileSettingsContainer @ 29 NONAME ; #<VT>#
- _ZTV31CProfileKeypadVolumeSettingPage @ 30 NONAME ; #<VT>#
- _ZN25CProfileSettingsContainer4NewLER19MProfileViewHandlerR21CProfileEngineHandlerR31MProfileExternalSettingsHandlerP20CProfileIndexHandlerP18CProfileTabHandlerP13CAknTitlePane @ 31 NONAME
- _ZN25CProfileSettingsContainer4NewLER19MProfileViewHandlerR21CProfileEngineHandlerR31MProfileExternalSettingsHandlerP20CProfileIndexHandlerP18CProfileTabHandlerP13CAknTitlePanei @ 32 NONAME
- _ZNK25CProfileSettingsContainer10ItemEditedEv @ 33 NONAME
- _ZN19CProfileToneHandler23SetProfileToneNotCheckLEi13TProfileTonesRK7TDesC16 @ 34 NONAME
- _ZN25CProfileNaviPaneContainer16SetNaviPaneTextLERK7TDesC16 @ 35 NONAME
- _ZN25CProfileNaviPaneContainer16SetNaviPaneTextLEv @ 36 NONAME
- _ZN25CProfileNaviPaneContainer4NewLER14CEikStatusPaneR21CProfileEngineHandler @ 37 NONAME
-
--- a/profilesapplication/Profiles/ProfileApp/SettingsViewInc/CProfileEngineHandler.h Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,98 +0,0 @@
-/*
-* Copyright (c) 2002 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: Profile engine handler
-*
-*/
-
-
-
-#ifndef CPROFILEENGINEHANDLER_H
-#define CPROFILEENGINEHANDLER_H
-
-// INCLUDES
-#include <e32base.h>
-
-// FORWARD DECLARATIONS
-class MProfileEngineExtended;
-class MProfilesNamesArray;
-
-// CLASS DECLARATION
-
-/**
-* Profile Engine Handler.
-* Keeps an instance of Profile Engine and maintains a list of profile names.
-*
-* @lib ProfileSettingsView.lib
-* @since 2.5
-*/
-class CProfileEngineHandler : public CBase
- {
- public: // Constructors and destructor
-
- /**
- * Symbian 2-phase constructor.
- * @return Returns an instance of CProfileEngineHandler.
- */
- IMPORT_C static CProfileEngineHandler* NewL();
-
- // Destructor.
- ~CProfileEngineHandler();
-
- public: // New methods
-
- /**
- * Returns pointer to Profile Engine extended interface.
- * @return Returns pointer to Profile Engine extended interface.
- */
- IMPORT_C MProfileEngineExtended* Engine() const;
-
- /**
- * Reads an array of profile IDs from Profile Engine.
- */
- IMPORT_C void ReadIdArrayL();
-
- /**
- * Returns an array of profile names and IDs.
- * @return Returns an array of profile names and IDs.
- */
- IMPORT_C MProfilesNamesArray* IdArray() const;
-
- /**
- * Returns the ID of a profile at index in iProfileIdArray
- * @param aIndex Index of the profile.
- * @return Returns ID of the profile.
- */
- IMPORT_C TInt IdForIndex( TInt aIndex ) const;
-
- protected:
-
- // C++ default constructor.
- CProfileEngineHandler();
-
- // Symbian 2nd phase construct.
- void ConstructL();
-
- private: // Data
-
- // Own: Profile engine extended instance.
- MProfileEngineExtended* iEngine;
-
- // Own: Array of profile names and IDs.
- MProfilesNamesArray* iIdArray;
-
- };
-
-#endif // CPROFILEENGINEHANDLER_H
-
-// End of File
--- a/profilesapplication/Profiles/ProfileApp/SettingsViewInc/CProfileIndexHandler.h Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,167 +0,0 @@
-/*
-* Copyright (c) 2002 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: Profile index handler (for use of Settings Container
-* if multiple profiles are edited)
-*
-*/
-
-
-#ifndef CPROFILEINDEXHANDLER_H
-#define CPROFILEINDEXHANDLER_H
-
-// INCLUDES
-#include <e32base.h>
-
-// FORWARD DECLARATIONS
-class CProfileEngineHandler;
-class CEikListBox;
-
-// CLASS DECLARATION
-
-/**
-* Profile index handler.
-* For use of Settings Container if multiple profiles are edited.
-*
-* @lib ProfileSettingsView.lib
-* @since 2.5
-*/
-class CProfileIndexHandler : public CBase
- {
- public:
-
- /**
- * Symbian 2-phase constructor.
- * @param aEngineHandler An instance of Engine Handler.
- * @return Returns an instance of CProfileIndexHandler.
- */
- IMPORT_C static CProfileIndexHandler* NewL(
- CProfileEngineHandler& aEngineHandler );
-
- // Destructor
- ~CProfileIndexHandler();
-
- public: // New methods
-
- /**
- * Returns the index of current profile.
- * @return Returns the index of current profile.
- */
- IMPORT_C TInt CurrentProfileIndex() const;
-
- /**
- * Sets the index of current profile.
- * @param aIndex The index of the new current profile.
- */
- IMPORT_C void SetCurrentProfileIndex( TInt aIndex );
-
- /**
- * Creates the index array.
- */
- void CreateIndexArrayL();
-
- /**
- * Stores current indices (top item index and current item index).
- */
- void StoreIndices();
-
- /**
- * Loads previous indices.
- */
- void LoadIndices();
-
- /**
- * Indexes the index array.
- * @param aIndex Index of the item index.
- * @return Returns item index at index.
- */
- TInt IndexAt( TInt aIndex ) const;
-
- /**
- * Indexes the top index array.
- * @param aIndex Index of the top item index.
- * @return Returns top item index at index.
- */
- TInt TopIndexAt( TInt aIndex ) const;
-
- /**
- * Removes items from the index arrays and inserts a new ones.
- * @param aOldIndex Index of the old items to be removed.
- * @param aNewIndex Index of the new items to be added.
- * @param aIndexValue Value of the new item index.
- * @param aTopIndexValue Value of the new top item index.
- * @return Returns KErrNotFound if the old index is not found,
- * KErrArgument if the new index is out of bounds,
- * KErrNone if no errors.
- */
- TInt RemoveAndInsert(
- TInt aOldIndex, TInt aNewIndex,
- TInt aIndexValue, TInt aTopIndexValue );
-
- /**
- * Sets a list box pointer so indices can be stored and loaded.
- * @param aListBox The List box pointer.
- * Remember to set back to NULL when listbox is deleted!
- */
- void SetListBox( CEikListBox* aListBox );
-
- /**
- * Calls Engine Handler's ReadIdArrayL and re-arranges index array.
- * @return Returns the index of the edited profile after re-arrange.
- */
- TInt ReadIdArrayAndUpdateL();
-
- protected:
-
- /**
- * C++ constuctor.
- * @param aEngineHandler An instance of Engine Handler.
- */
- CProfileIndexHandler(
- CProfileEngineHandler& aEngineHandler );
-
- /**
- * By default Symbian 2nd phase constructor is private.
- */
- void ConstructL();
-
- private: // Data
-
- // Profile Engine handler.
- CProfileEngineHandler& iEngineHandler;
-
- // Index of the currently focused profile.
- TInt iCurrentProfileIndex;
-
- // Ref: Listbox pointer to load and store top item and current item indices.
- CEikListBox* iListBox;
-
- // Struct for one index
- struct TItem
- {
- // Current item index in listbox
- TInt iIndex;
- // Top item index in listbox
- // Value 0 means that the focused item is the first in view,
- // 1 means that it's the second and 2 the last.
- TInt iTopIndex;
- };
-
- // Array of item indices.
- RArray<TItem> iIndexArray;
-
- };
-
-#endif // CPROFILEINDEXHANDLER_H
-
-// End of File
--- a/profilesapplication/Profiles/ProfileApp/SettingsViewInc/CProfileNaviPaneContainer.h Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,105 +0,0 @@
-/*
-* Copyright (c) 2002 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: Container for navi pane decorator.
-*
-*/
-
-
-
-#ifndef CPROFILENAVIPANECONTAINER_H
-#define CPROFILENAVIPANECONTAINER_H
-
-// INCLUDES
-#include <e32base.h>
-
-// FORWARD DECLARATIONS
-class CEikStatusPane;
-class CProfileEngineHandler;
-class CAknNavigationControlContainer;
-class CAknNavigationDecorator;
-
-// CLASS DECLARATION
-/**
-* Container for navi pane decorator.
-*
-* @lib Profileapp.app
-* @since 2.5
-*/
-NONSHARABLE_CLASS( CProfileNaviPaneContainer ) : public CBase
- {
- public: // Constructors and destructor
-
- /**
- * Two-phased constructor.
- * @param aStatusPane An instance of status pane.
- * @param aEngineHandler An instance of Engine Handler.
- * @return Returns an instance of CProfileNaviPaneContainer
- */
- IMPORT_C static CProfileNaviPaneContainer* NewL(
- CEikStatusPane& aStatusPane,
- CProfileEngineHandler& aEngineHandler );
-
- /**
- * Destructor.
- */
- ~CProfileNaviPaneContainer();
-
- public: // New functions
-
- /**
- * Sets navi pane text.
- * @param aText Navi pane text.
- */
- IMPORT_C void SetNaviPaneTextL( const TDesC& aText );
-
- /**
- * Sets active profile name as navi pane text.
- */
- IMPORT_C void SetNaviPaneTextL();
-
- private:
-
- /**
- * C++ constructor.
- * @param aEngineHandler An instance of Engine Handler.
- */
- CProfileNaviPaneContainer( CProfileEngineHandler& aEngineHandler );
-
- /**
- * By default Symbian 2nd phase constructor is private.
- * @param aStatusPane An instance of status pane.
- */
- void ConstructL( CEikStatusPane& aStatusPane );
-
- private: // New functions
- void Release();
-
- private: // Data
-
- // Profile Engine Handler.
- CProfileEngineHandler& iEngineHandler;
-
- // Ref: Pointer to navi pane
- CAknNavigationControlContainer* iNaviPane;
-
- // Own: Navigation decorator.
- CAknNavigationDecorator* iNaviDecorator;
-
- };
-
-
-#endif // CPROFILENAVIPANECONTAINER_H
-
-
-// End of File
--- a/profilesapplication/Profiles/ProfileApp/SettingsViewInc/CProfileSettingsContainer.h Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,418 +0,0 @@
-/*
-* Copyright (c) 2002 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: Container class of settings view.
-*
-*/
-
-
-#ifndef CPROFILESETTINGSCONTAINER_H
-#define CPROFILESETTINGSCONTAINER_H
-
-// INCLUDES
-#include <aknsettingitemlist.h> // CAknSettingItemList
-#include <MSSSettingsObserver.h>
-#include <ConeResLoader.h> // RConeResourceLoader
-#include <AknTabObserver.h> // MAknTabObserver
-#include <MProfileChangeObserver.h>
-#include "MProfileExternalSettingsObserver.h"
-#include "MProfileExternalSettingsHandler.h"
-#include <centralrepository.h>
-#include <cenrepnotifyhandler.h>
-
-// FORWARD DECLARATIONS
-class MProfileViewHandler;
-class CAknTitlePane;
-class CProfileEngineHandler;
-class CProfileIndexHandler;
-class CProfileTabHandler;
-class MProfileExtended;
-class CProfileStruct;
-class CAknKeySoundSystem;
-class CProfileChangeNotifyHandler;
-class MProfilesLocalFeatures;
-class CProfileSettingsView;
-class CAknView;
-class CRepository;
-class CCenRepNotifyHandler;
-class CProfileNaviPaneContainer;
-
-// CLASS DECLARATION
-/**
-* Container class of settings view.
-* Inherited from...
-* MSSSettingsObserver
-* to receive notifications of changes in Alternate Line Service setting.
-* MAknTabObserver
-* to receive notifications if tabs are changed.
-* MProfileChangeObserver
-* to receive notification when the active profile changes.
-*
-* @lib ProfileSettingsView.lib
-* @since 1.2
-*/
-class CProfileSettingsContainer : public CAknSettingItemList,
- public MSSSettingsObserver,
- public MAknTabObserver,
- public MProfileChangeObserver,
- public MProfileExternalSettingsObserver,
- public MCenRepNotifyHandlerCallback
- {
- public: // Constructors and destructor
-
- /**
- * Two-phased constructor.
- * Note, this constructor has been deprecated and should not be used.
- * @return always NULL.
- */
- IMPORT_C static CProfileSettingsContainer* NewL(
- CAknView& aAknView,
- CProfileEngineHandler& aEngineHandler,
- CProfileIndexHandler* aIndexHandler,
- CProfileTabHandler* aTabHandler,
- CAknTitlePane* aTitlePane );
-
- /**
- * Two-phased constructor.
- * @param aAknView Parent view to get ClientRect and set MopParent.
- * @param aEngineHandler Engine handler to access Profile Engine.
- * @param aExternalSettingsHandler handler class for those settings that
- * are saved outside of Profiles.
- * @param aIndexHandler Index handler for supporting several profiles
- * in view functionality. Can be NULL.
- * @param aTabHandler Tab handler for supporting tab functionality
- * in Settings view. Can be NULL.
- * @param aTitlePane Title pane access for setting title pane text.
- * Can be NULL.
- */
- IMPORT_C static CProfileSettingsContainer* NewL(
- MProfileViewHandler& aProfileViewHandler,
- CProfileEngineHandler& aEngineHandler,
- MProfileExternalSettingsHandler& aExternalSettingsHandler,
- CProfileIndexHandler* aIndexHandler,
- CProfileTabHandler* aTabHandler,
- CAknTitlePane* aTitlePane );
-
- /**
- * Two-phased constructor.
- * @param aAknView Parent view to get ClientRect and set MopParent.
- * @param aEngineHandler Engine handler to access Profile Engine.
- * @param aIndexHandler Index handler for supporting several profiles
- * in view functionality. Can be NULL.
- * @param aTabHandler Tab handler for supporting tab functionality
- * in Settings view. Can be NULL.
- * @param aTitlePane Title pane access for setting title pane text.
- * Can be NULL.
- * @param aResourceId the id of the setting item list resource.
- */
- IMPORT_C static CProfileSettingsContainer* NewL(
- MProfileViewHandler& aProfileViewHandler,
- CProfileEngineHandler& aEngineHandler,
- MProfileExternalSettingsHandler& aExternalSettingsHandler,
- CProfileIndexHandler* aIndexHandler,
- CProfileTabHandler* aTabHandler,
- CAknTitlePane* aTitlePane,
- TInt aResourceId );
-
- /**
- * Destructor.
- */
- ~CProfileSettingsContainer();
-
- public: // New functions
-
- /**
- * Tells if information of a setting can be changed.
- * If EFalse is returned, EditItemL for the setting item in question
- * should not be called and "Change" should be removed from the Options menu.
- * @param aSettingItemId The setting item ID.
- * @return Returns if information of a setting can be changed.
- */
- IMPORT_C TBool AllowedToChange( TInt aSettingItemId ) const;
-
- /**
- * Runs CheckFileExistenceL (by calling DoFileCheckL)
- * @param TAny* aObj CProfileSettingContainer pointer
- * @return 1
- */
- static TInt StartFileCheckL( TAny* aObj );
-
- public: // Functions from base classes
-
- /**
- * From CAknSettingItemList.
- */
- IMPORT_C void EditItemL( TInt aIndex, TBool aCalledFromMenu );
-
- public: // from MCentRepNotifyHandlerCallback
- /**
- * @see MCentRepNotifyHandlerCallback.
- * @param aId Id of the key that has changed.
- * @param aNewValue The new value of the key.
- */
- void HandleNotifyInt(
- TUint32 aId, TInt aNewValue );
-
- protected: // New functions
-
- /**
- * Frees resources allocated for profile data.
- * Remember to maintain class state before calling this method!
- */
- void ReleaseProfile();
-
- /**
- * Reads profile data from Profile Engine.
- */
- void ReadProfileL();
-
- /**
- * Hides all setting items that have been set hidden for current profile
- * ands sets visible all that aren't.
- */
- void SetHiddenFlagsL();
-
- /**
- * Updates all setting items.
- * Called when the changed settings must be updated to the UI.
- * @param aReadProfileSettings if this is ETrue, the profile settings are
- * read from Profiles Engine.
- */
- void UpdateSettingsL( TBool aReadProfileSettings = ETrue );
-
- /**
- * Creates a setting item for FileListDialog.
- * @param aFileName Filename.
- * @param aIdentifier Setting item identifier.
- * @return Returns the created setting item object.
- */
- CAknSettingItem* CreateFileListSettingItemL(
- TDes& aFileName, TInt aIdentifier );
-
- /**
- * Returns the index of a setting item in setting item array.
- * @param aId Setting item identifier.
- * @return Returns the index of a setting item if found, otherwise
- * KErrNotFound.
- */
- TInt IndexForId( TInt aId ) const;
-
- /**
- * Sets one setting item hidden.
- * @param aId Identifier of the setting item.
- * @param aArray Pointer to setting item array.
- * @param aHidden Boolean hidden value.
- */
- void SetItemHidden( TInt aId, CAknSettingItemArray* aArray, TBool aHidden );
-
- /**
- * Sets title pane text.
- * @param aTitle Title pane text.
- * If descriptor has zero length, the application name is used.
- */
- void SetTitlePaneTextL( const TDesC& aTitle );
-
- /**
- * Updates names of profiles in tabs and/or title pane.
- */
- void UpdateProfileNamesL();
-
- /*
- * Launches confirmation dialog
- * @param aTitleText Dialog title text
- */
- void LaunchDialogL( const TDesC& aTitleText );
-
- /*
- * Chechks that used tones assigned for settings can be found.
- * If tone is not found, user is informed by confirmation dialog
- * and tone is replaced with default tone.
- */
- void CheckFileExistenceL();
-
- /*
- * Checks whether settingitem is hidden
- * @param aId Identifier of the setting item.
- * @param aArray Pointer to setting item array.
- * @return Returns ETrue if item is hidden.
- */
- TBool IsItemHidden( TInt aId, CAknSettingItemArray* aArray ) const;
-
- /**
- * Runs CheckFileExistenceL
- * @param None
- * @return None
- */
- void DoFileCheckL();
-
- protected: // Functions from base classes
-
- /**
- * From CAknSettingItemList
- */
- CAknSettingItem* CreateSettingItemL( TInt aIdentifier );
-
- /**
- * From CCoeControl
- */
- void SizeChanged();
-
- /**
- * From CCoeControl
- */
- void GetHelpContext( TCoeHelpContext& aContext ) const;
-
- /**
- * From CCoeControl
- */
- void HandleResourceChange(TInt aType);
-
- /**
- * From MEikListBoxObserver
- */
- void HandleListBoxEventL( CEikListBox* aListBox, TListBoxEvent aEventType );
-
- /**
- * From MSSSettingsObserver
- */
- void PhoneSettingChanged(
- TSSSettingsSetting aSetting,
- TInt aNewValue );
-
- /**
- * From MAknTabObserver
- */
- void TabChangedL( TInt aIndex );
-
- /**
- * From MProfileChangeObserver
- */
- void HandleActiveProfileEventL(
- TProfileEvent aProfileEvent, TInt aProfileId );
-
- /**
- * From MProfileExternalSettingsObserver
- */
- void HandleExternalSettingsChangedL();
-
- protected:
-
- /**
- * C++ constructor.
- */
- CProfileSettingsContainer(
- MProfileViewHandler& aProfileViewHandler,
- CProfileEngineHandler& aEngineHandler,
- MProfileExternalSettingsHandler& aExternalSettingsHandler,
- CProfileIndexHandler* aIndexHandler,
- CProfileTabHandler* aTabHandler,
- CAknTitlePane* aTitlePane );
-
- /**
- * Symbian 2nd phase constructor.
- * @param aRect View rect.
- * @param aResourceId the id of the setting item list resource.
- */
- void ConstructL( const TRect& aRect,
- TInt aResourceId );
-
- public: // New functions
-
- /**
- * Is a setting item being edited?
- * @return ETrue if a setting is being edited, EFalse otherwise.
- */
- IMPORT_C TBool ItemEdited() const;
-
- private:
- TBool PowerSaveMode();
- TBool PowerSaveModeL();
- TBool PowerSaveMode( TInt aSettingId );
-
- private: // Data
-
- // For reading ALS setting and
- // for receiving change notifications.
- RSSSettings iSSSettings;
-
- // Own: CR session for KProfilesLVFlags (KProEngFeatureIdTTSRingingTone)
- CRepository* iTTSSession;
-
- /// Own: CR session for KProEngDefaultRingingTone
- CRepository* iSession;
-
- // Resource loader.
- RConeResourceLoader iResourceLoader;
-
- // View handler to get ClientRect and set MopParent.
- MProfileViewHandler& iProfileViewHandler;
-
- // Profile Engine handler.
- CProfileEngineHandler& iEngineHandler;
-
- // Ref: Handler for settings that are saved outside of Profiles:
- MProfileExternalSettingsHandler& iExternalSettingsHandler;
-
- // Ref: Index handler.
- CProfileIndexHandler* iIndexHandler;
-
- // Ref: Tab handler.
- CProfileTabHandler* iTabHandler;
-
- // Ref: Title pane access.
- CAknTitlePane* iTitlePane;
-
- // Own: One profile data
- MProfileExtended* iProfile;
-
- // Own: One profile data.
- CProfileStruct* iCopyProfile;
-
- // Alternate Line Service support.
- TBool iAlternateLineService;
-
- // Own: Avkon key sounds
- CAknKeySoundSystem* iKeySounds;
-
- // Own: Profile change notify handler.
- CProfileChangeNotifyHandler* iNotifier;
-
- // ETrue if an item is currently being edited.
- TBool iItemEdited;
-
- // Not own: locally variated features of Profiles:
- MProfilesLocalFeatures* iLocalFeatures;
-
- /// Own: fileserver session
- RFs* iFs;
-
- /// Default tone
- TFileName* iDefaultTone;
-
- // VoIP supported
- TBool iVoIPStatus;
-
- // A CR and notifier for dynamic VoIP
- CRepository* iVoIPVariation;
- CCenRepNotifyHandler* iVoIPVariationNotifier;
-
- /// Timer to run CheckFileExistenceL
- CPeriodic* iPeriodic;
-
- // Navi Pane Container
- CProfileNaviPaneContainer* iNaviPaneContainer;
- };
-
-#endif // CPROFILESETTINGSCONTAINER_H
-
-// End of File
--- a/profilesapplication/Profiles/ProfileApp/SettingsViewInc/CProfileTabHandler.h Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,149 +0,0 @@
-/*
-* Copyright (c) 2002 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: Tab handler for handling tabs in Profiles
-*
-*/
-
-
-#ifndef CPROFILETABHANDLER_H
-#define CPROFILETABHANDLER_H
-
-// INCLUDES
-#include <e32base.h>
-#include <AknTabObserver.h>
-
-// FORWARD DECLARATIONS
-class CProfileEngineHandler;
-class CProfileIndexHandler;
-class CAknNavigationControlContainer;
-class CCoeAppUi;
-class MCoeView;
-class CAknNavigationDecorator;
-class CAknTabGroup;
-
-// CLASS DECLARATION
-
-/**
-* Tab handler class for handling tabs in Profiles
-* When instantiated, creates a tab for each profile and puts itself visible.
-* Needs an instance of Index handler to handle indices of the profiles.
-* Inherited from MAknTabObserver in order to receive events when tabs change.
-* That however requires adding the tab group as topmost item in control stack.
-*
-* @lib CProfileSettingsView.lib
-* @since 2.5
-*/
-class CProfileTabHandler : public CBase,
- public MAknTabObserver
- {
- public: // Constructors and destructor
-
- /**
- * Two-phased constructor.
- * @param aEngineHandler An instance of Engine Handler.
- * @param aIndexHandler An instance of Index Handler.
- * @param aNaviPane An instance of CAknNavigationControlContainer.
- * @return Returns an instance of CProfileTabHandler.
- */
- IMPORT_C static CProfileTabHandler* NewL(
- CProfileEngineHandler& aEngineHandler,
- CProfileIndexHandler& aIndexHandler,
- CAknNavigationControlContainer& aNaviPane );
-
- // Destructor.
- ~CProfileTabHandler();
-
- public: // New methods
-
- /**
- * Returns tab group instance to be added to control stack.
- * @return Returns tab group instance.
- */
- IMPORT_C CAknTabGroup* TabGroup() const;
-
- /**
- * Sets a tab active.
- * @param aIndex Index of the tab to be activated.
- */
- void SetActiveTab( TInt aIndex );
-
- /**
- * Refreshes tab texts with profile names.
- */
- void RefreshTabsL();
-
- /**
- * Sets tab observer.
- * Tab events are forwarded to the observer if set.
- * @param aTabObserver Tab observer.
- */
- void SetTabObserver( MAknTabObserver* aTabObserver );
-
- protected: // New methods
-
- /**
- * Creates tab group and reads names of profiles to tab texts.
- * Separated to own method to enable updating tabs dynamically
- * (i.e. supports profiles being added or deleted).
- */
- void CreateTabGroupL();
-
- protected: // From base classes
-
- /**
- * From MAknTabObserver
- */
- void TabChangedL( TInt aIndex );
-
- protected:
-
- /**
- * C++ constructor.
- * @param aEngineHandler An instance of Engine Handler.
- * @param aIndexHandler An instance of Index Handler.
- * @param aNaviPane An instance of CAknNavigationControlContainer.
- */
- CProfileTabHandler(
- CProfileEngineHandler& aEngineHandler,
- CProfileIndexHandler& aIndexHandler,
- CAknNavigationControlContainer& aNaviPane );
-
- /**
- * By default Symbian 2nd phase constructor is private.
- */
- void ConstructL();
-
- private: // Data
-
- // Profile Engine handler.
- CProfileEngineHandler& iEngineHandler;
-
- // Index handler
- CProfileIndexHandler& iIndexHandler;
-
- // Navi pane. Needed for creating tab group.
- CAknNavigationControlContainer& iNaviPane;
-
- // Own: Navigation decorator.
- CAknNavigationDecorator* iNaviDecorator;
-
- // Ref: Tab group owned by the navigation decorator.
- CAknTabGroup* iTabGroup;
-
- // Ref: Tab observer. Tab events are forwarded to the observer if set.
- MAknTabObserver* iTabObserver;
-
- };
-
-#endif // CPROFILETABHANDLER_H
--- a/profilesapplication/Profiles/ProfileApp/SettingsViewInc/MProfileExternalSettingsHandler.h Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,108 +0,0 @@
-/*
-* Copyright (c) 2002 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: Interface for loading/storing the settings outside Profiles
-* itself.
-*
-*/
-
-
-
-#ifndef MPROFILEEXTERNALSETTINGSHANDLER_H
-#define MPROFILEEXTERNALSETTINGSHANDLER_H
-
-// INCLUDES
-#include <e32std.h>
-
-// FORWARD DECLARATIONS
-class CAknSettingItem;
-class CAknSettingItemArray;
-class MProfileExternalSettingsObserver;
-class TCoeHelpContext;
-// CLASS DECLARATION
-
-/**
-* Interface for loading/storing the settings outside Profiles itself.
-*
-* @lib ProfileSettingsView.dll
-* @since 3.1
-*/
-class MProfileExternalSettingsHandler
- {
-
- public: // New functions
-
- /**
- * Creates a setting item for a listbox for editing a setting.
- * @param aIdentifier identifies the setting to be edited by the item.
- * @return a setting item for the given setting, the ownership is
- * transferred to the caller.
- * @since 3.1
- */
- virtual CAknSettingItem* CreateSettingItemL( TInt aIdentifier ) = 0;
-
- /**
- * Sets an observer for the external settings.
- * @param aObserver the observer to be notified when the settings are
- * changed.
- * @since 3.1
- */
- virtual void SetObserver(
- MProfileExternalSettingsObserver& aObserver ) = 0;
-
- /**
- * Check if the user should be allowed to change the value of the given
- * setting item or not.
- * @param aSettingItemId the ID of the setting item to check for.
- * @return ETrue if modification is allowed, EFalse otherwise.
- * @since 3.1
- */
- virtual TBool AllowedToChange( TInt aSettingItemId ) const = 0;
-
- /**
- * Gets the help context for context sensitive help.
- * @param aContext the context object in which the help context of the
- * component must be set in the implementation of this method.
- * @return ETrue if this method has set the context appropriately,
- * otherwise the caller should set the context by itself.
- * @since 3.1
- */
- virtual TBool GetHelpContext( TCoeHelpContext& /* aContext */ ) const
- {
- return EFalse;
- }
-
- /**
- * Sets hidden items in the setting item array.
- * @param aSettingItemArray array containing the settings items to set
- * visible/invisible.
- * @since 3.1
- */
- virtual void SetHiddenItems( CAknSettingItemArray& /* aSettingItemArray */ )
- const
- {}
-
- /**
- * Checks if the setting with the given setting ID has been modified by
- * the user and saves the value in storage if it has been changed.
- * @param aSettingItemId the setting to be checked.
- * @since 3.1
- */
- virtual void StoreIfChangedL( TInt /* aSettingItemId */ ) {}
-
- };
-
-#endif // MPROFILEEXTERNALSETTINGSHANDLER_H
-
-// End of File
-
--- a/profilesapplication/Profiles/ProfileApp/SettingsViewInc/MProfileExternalSettingsObserver.h Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,52 +0,0 @@
-/*
-* Copyright (c) 2002 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: Interface for observing changes in the settings outside
-* Profiles itself.
-*
-*/
-
-
-
-#ifndef MPROFILEEXTERNALSETTINGSOBSERVER_H
-#define MPROFILEEXTERNALSETTINGSOBSERVER_H
-
-// INCLUDES
-#include <e32std.h>
-
-// CLASS DECLARATION
-
-/**
-* Interface for observing changes in the settings outside Profiles itself.
-*
-* @lib ProfileSettingsView.dll
-* @since 3.1
-*/
-class MProfileExternalSettingsObserver
- {
-
- public: // New functions
-
- /**
- * Notifies that the external settings have changed somehow.
- * @since 3.1
- */
- virtual void HandleExternalSettingsChangedL() = 0;
-
- };
-
-#endif // MPROFILEEXTERNALSETTINGSOBSERVER_H
-
-// End of File
-
-
--- a/profilesapplication/Profiles/ProfileApp/SettingsViewInc/MProfileViewHandler.h Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,60 +0,0 @@
-/*
-* Copyright (c) 2002 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: Interface for getting client rect area and getting reference to
-* the view in use.
-*
-*/
-
-
-
-#ifndef MPROFILEVIEWHANDLER_H
-#define MPROFILEVIEWHANDLER_H
-
-// INCLUDES
-#include <e32std.h>
-
-// FORWARD DECLARATIONS
-class CAknView;
-
-// CLASS DECLARATION
-
-/**
-* Interface for updating the active area and getting reference to the view in
-* use.
-*
-* @lib ProfileSettingsView.dll
-* @since 3.1
-*/
-class MProfileViewHandler
- {
-
- public: // New functions
-
- /**
- * Updates the client drawing area.
- * @since 3.1
- */
- virtual void UpdateClientRect() = 0;
-
- /**
- * Returns the view instance in use.
- * @since 3.1
- */
- virtual CAknView& View() = 0;
-
- };
-
-#endif // MProfileViewHandler_H
-
-// End of File
--- a/profilesapplication/Profiles/ProfileApp/SettingsViewSrc/CProfile3dSettingItem.cpp Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,84 +0,0 @@
-/*
-* Copyright (c) 2008 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: Setting item class for 3D settings.
-*
-*/
-
-
-
-// INCLUDES
-#include "CProfile3dSettingItem.h"
-#include "CProfile3dSettingPage.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CProfile3dSettingItem::CProfile3dSettingItem
-// C++ constructor can NOT contain any code, that might leave.
-// -----------------------------------------------------------------------------
-//
-CProfile3dSettingItem::CProfile3dSettingItem(
- TInt aIdentifier,
- TInt& aValue,
- const TDesC& aRingingTone,
- const TInt& aRingingType,
- const TBool& aVibratingAlert,
- const TInt& aVolume,
- const TInt& a3DEffectOrEcho )
- : CAknEnumeratedTextPopupSettingItem( aIdentifier, aValue ),
- iRingingTone( aRingingTone ),
- iRingingType( aRingingType ),
- iVibratingAlert( aVibratingAlert ),
- iVolume( aVolume ),
- i3DEffectOrEcho( a3DEffectOrEcho )
- {
- iIdentifier = aIdentifier;
- }
-
-// -----------------------------------------------------------------------------
-// CProfile3dSettingItem::CompleteConstructionL
-// -----------------------------------------------------------------------------
-//
-void CProfile3dSettingItem::CompleteConstructionL()
- {
- CAknEnumeratedTextPopupSettingItem::CompleteConstructionL();
- CArrayPtr<CAknEnumeratedText>* array = EnumeratedTextArray();
- TInt count( array->Count() );
- HBufC* text = NULL;
- while( count-- )
- {
- text = array->At( count )->Value();
- TPtr modifiable( text->Des() );
- AknTextUtils::LanguageSpecificNumberConversion( modifiable );
- }
- }
-
-// -----------------------------------------------------------------------------
-// CProfile3dSettingItem::CreateSettingPageL
-// -----------------------------------------------------------------------------
-//
-CAknSettingPage* CProfile3dSettingItem::CreateSettingPageL()
- {
- return new( ELeave ) CProfile3dSettingPage(
- SettingPageResourceId(),
- *QueryValue(),
- iRingingTone,
- iRingingType,
- iVibratingAlert,
- iVolume,
- i3DEffectOrEcho,
- iIdentifier );
- }
-
-// End of File
--- a/profilesapplication/Profiles/ProfileApp/SettingsViewSrc/CProfile3dSettingItem.h Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,97 +0,0 @@
-/*
-* Copyright (c) 2008 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: Setting item class for 3D settings.
-*
-*/
-
-
-
-#ifndef CPROFILE3DSETTINGITEM_H
-#define CPROFILE3DSETTINGITEM_H
-
-// INCLUDES
-#include <aknsettingitemlist.h>
-
-// FORWARD DECLARATIONS
-class CAknSettingPage;
-
-// CLASS DECLARATION
-/**
-* Setting item class for 3D settings.
-* CProfile3dSettingItem extends CAknEnumeratedTextPopupSettingItem
-* in order to launch CProfile3dSettingPage
-* instead of CAknPopupSettingPage.
-*
-* @lib ProfileSettingsView.lib
-* @since 5.0
-*/
-NONSHARABLE_CLASS( CProfile3dSettingItem ) : public CAknEnumeratedTextPopupSettingItem
- {
- public: // Constructors and destructor
-
- /**
- * C++ constructor.
- * @param aIdentifier Setting item identifier.
- * @param aRingingVolume Ringing volume.
- * @param aRingingTone Ringing tone.
- * @param aRingingType Ringing type.
- * @param aVibratingAlert Vibrating alert.
- * @param aVolume Volume.
- * @param a3DEffectOrEcho 3D effect/echo
- */
- CProfile3dSettingItem(
- TInt aIdentifier,
- TInt& aValue,
- const TDesC& aRingingTone,
- const TInt& aRingingType,
- const TBool& aVibratingAlert,
- const TInt& aVolume,
- const TInt& a3DEffectOrEcho );
-
- private: // Functions from base classes
-
- /**
- * From CAknEnumeratedTextPopupSettingItem
- */
- void CompleteConstructionL();
-
- /**
- * From CAknEnumeratedTextPopupSettingItem
- */
- CAknSettingPage* CreateSettingPageL();
-
- private: // Data
-
- // Ringing tone.
- const TDesC& iRingingTone;
-
- // Ringing type.
- const TInt& iRingingType;
-
- // Vibrating alert.
- const TBool& iVibratingAlert;
-
- // Volume.
- const TInt& iVolume;
-
- // 3D effect or echo
- const TInt& i3DEffectOrEcho;
-
- // Setting item identifier
- TInt iIdentifier;
- };
-
-#endif // CPROFILE3DSETTINGITEM_H
-
-// End of File
--- a/profilesapplication/Profiles/ProfileApp/SettingsViewSrc/CProfile3dSettingPage.cpp Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,269 +0,0 @@
-/*
-* Copyright (c) 2008 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: Setting page class for 3D settings.
-*
-*/
-
-
-
-// INCLUDES
-#include "CProfile3dSettingPage.h"
-#include "ProfileSettingsView.hrh"
-
-#include <CFLDController.h>
-#include <ProfileSettingsView.rsg>
-#include <apgcli.h> // For RApaLsSession
-#include <bautils.h> // For BaflUtils
-#include <centralrepository.h>
-#include <ProfileEngineInternalCRKeys.h>
-#include <ProfileInternal.hrh>
-
-// CONSTANTS
-namespace
- {
- const TInt K3DEffectBase( 1000 );
- const TInt K3DEchoBase( 2000 );
-
- const TInt KRepeatDelayInMicroSeconds( 1000000 ); // One second
-
-#ifdef RD_VIDEO_AS_RINGING_TONE
- _LIT( KFLDCommonVideoType, "video/*" );
- _LIT( KFLDRM1VideoMimeType, "application/vnd.rn-realmedia" );
- _LIT( KFLDRM2VideoMimeType, "application/x-pn-realmedia" );
- _LIT( KFLDSDPVideoMimeType, "application/sdp" );
-#endif
-
- }
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CProfile3dSettingPage::CProfile3dSettingPage
-// C++ constructor can NOT contain any code, that might leave.
-// -----------------------------------------------------------------------------
-//
-CProfile3dSettingPage::CProfile3dSettingPage(
- TInt aResourceID,
- MAknQueryValue& aQueryValue,
- const TDesC& aRingingTone,
- const TInt& aRingingType,
- const TBool& aVibratingAlert,
- const TInt& aVolume,
- const TInt& a3DEffectOrEcho,
- TInt aIdentifier )
- : CAknPopupSettingPage( aResourceID, aQueryValue ),
- iRingingTone( aRingingTone ),
- iRingingType( aRingingType ),
- iVibratingAlert( aVibratingAlert ),
- iVolume( aVolume ),
- i3DEffectOrEcho( a3DEffectOrEcho ),
- iIdentifier( aIdentifier )
- {
- }
-
-// -----------------------------------------------------------------------------
-// CProfile3dSettingPage::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CProfile3dSettingPage::ConstructL()
- {
- CAknPopupSettingPage::ConstructL();
-
- TBool showErrorMsgs( EFalse );
-
- iFs = new ( ELeave ) RFs;
- User::LeaveIfError( iFs->Connect() );
-
- CheckRingingToneTypeL();
-
- iController = CFLDController::NewL( showErrorMsgs, KRepeatDelayInMicroSeconds );
- iController->CompleteConstructionL( Window() );
- iController->SetRingingType( iRingingType );
- iController->SetVibra( iVibratingAlert );
- iController->SetVolume( iVolume );
- }
-
-// Destructor.
-CProfile3dSettingPage::~CProfile3dSettingPage()
- {
- if( iFs )
- {
- iFs->Close();
- }
- delete iFs;
- delete iController;
- delete iPreviewTone;
- }
-
-// -----------------------------------------------------------------------------
-// CProfile3dSettingPage::OfferKeyEventL
-// -----------------------------------------------------------------------------
-//
-TKeyResponse CProfile3dSettingPage::OfferKeyEventL(
- const TKeyEvent& aKeyEvent, TEventCode aType )
- {
- if( aType == EEventKey )
- {
- if( ( aKeyEvent.iCode == EKeyUpArrow ) ||
- ( aKeyEvent.iCode == EKeyDownArrow ) )
- {
- // Get current setting
- TInt currentValue = PopupSettingListBox()->CurrentItemIndex();
-
- // Call base classes method
- TKeyResponse response( CAknPopupSettingPage::OfferKeyEventL( aKeyEvent, aType ) );
-
- // Get new setting
- TInt newValue = PopupSettingListBox()->CurrentItemIndex();
-
- if( newValue != currentValue )
- {
- // Setting has changed
- if( ( iIdentifier == EProfileSetting3dEffectId && newValue != EProfile3DEffectOff ) ||
- ( iIdentifier == EProfileSetting3dEchoId && i3DEffectOrEcho != EProfile3DEffectOff ) )
- {
- // Set 3D parameters
- if( iIdentifier == EProfileSetting3dEffectId )
- {
- iController->Set3dEffects( K3DEffectBase + newValue );
- iController->Set3dEffects( K3DEchoBase + i3DEffectOrEcho );
- }
- else
- {
- iController->Set3dEffects( K3DEffectBase + i3DEffectOrEcho );
- iController->Set3dEffects( K3DEchoBase + newValue );
- }
- iController->Set3dEffects( ETrue );
- }
- else
- {
- iController->Set3dEffects( EFalse );
- }
- iController->HandleFileListBoxEventL(
- MFLDFileListBoxObserver::EFocusChanged, iPreviewTone->Des() );
- }
- return response;
- }
- // Cancels playback on any key event
- iController->HandleFileListBoxEventL(
- MFLDFileListBoxObserver::EOtherKeyEvent, iPreviewTone->Des() );
- }
-
- return CAknPopupSettingPage::OfferKeyEventL( aKeyEvent, aType );
- }
-
-
-// -----------------------------------------------------------------------------
-// CProfile3dSettingPage::HandlePointerEventL
-// -----------------------------------------------------------------------------
-//
-void CProfile3dSettingPage::HandlePointerEventL(
- const TPointerEvent& aPointerEvent )
- {
- if( aPointerEvent.iType == TPointerEvent::EButton1Down )
- {
- // Get current setting
- iTempValue = PopupSettingListBox()->CurrentItemIndex();
- }
- else if( aPointerEvent.iType == TPointerEvent::EButton1Up )
- {
- CAknPopupSettingPage::HandlePointerEventL( aPointerEvent );
- // Get new setting
- TInt newValue = PopupSettingListBox()->CurrentItemIndex();
- if( newValue != iTempValue )
- {
- // Setting has changed
- if( ( iIdentifier == EProfileSetting3dEffectId && newValue != EProfile3DEffectOff ) ||
- ( iIdentifier == EProfileSetting3dEchoId && i3DEffectOrEcho != EProfile3DEffectOff ) )
- {
- // Set 3D parameters
- if( iIdentifier == EProfileSetting3dEffectId )
- {
- iController->Set3dEffects( K3DEffectBase + newValue );
- iController->Set3dEffects( K3DEchoBase + i3DEffectOrEcho );
- }
- else
- {
- iController->Set3dEffects( K3DEffectBase + i3DEffectOrEcho );
- iController->Set3dEffects( K3DEchoBase + newValue );
- }
- iController->Set3dEffects( ETrue );
- }
- else
- {
- iController->Set3dEffects( EFalse );
- }
-
- iController->HandleFileListBoxEventL(
- MFLDFileListBoxObserver::EFocusChanged, iPreviewTone->Des() );
- }
- return;
- }
- // Cancels playback on any key event
- iController->HandleFileListBoxEventL(
- MFLDFileListBoxObserver::EOtherKeyEvent, iPreviewTone->Des() );
-
- CAknPopupSettingPage::HandlePointerEventL( aPointerEvent );
- }
-
-
-// -----------------------------------------------------------------------------
-// CProfile3dSettingPage::CheckRingingToneTypeL
-// -----------------------------------------------------------------------------
-//
-void CProfile3dSettingPage::CheckRingingToneTypeL()
- {
- // Get default tone from cenrep
- TFileName defaultTone;
- CRepository* cenrep = CRepository::NewL( KCRUidProfileEngine );
- CleanupStack::PushL( cenrep );
- User::LeaveIfError( cenrep->Get( KProEngDefaultRingingTone, defaultTone ) );
- CleanupStack::PopAndDestroy( cenrep );
-
- if( !BaflUtils::FileExists( *iFs, iRingingTone ) )
- {
- // If the file does not exist, use default tone for volume preview
- iPreviewTone = defaultTone.AllocL();
- return;
- }
-
-#ifdef RD_VIDEO_AS_RINGING_TONE
- // Find out MIME type
- RApaLsSession apaLsSession;
- User::LeaveIfError( apaLsSession.Connect() );
- CleanupClosePushL( apaLsSession );
- TUid dummyUid = { 0 }; // instantiate as zero
- TDataType dataType( dummyUid );
- User::LeaveIfError(
- apaLsSession.AppForDocument( iRingingTone, dummyUid, dataType ) );
- CleanupStack::PopAndDestroy(); // apaLsSession.Close()
-
- // See if this is a video MIME type
- if ( dataType.Des().MatchF( KFLDCommonVideoType ) == 0 ||
- dataType.Des().CompareF( KFLDRM1VideoMimeType ) == 0 ||
- dataType.Des().CompareF( KFLDRM2VideoMimeType ) == 0 ||
- dataType.Des().CompareF( KFLDSDPVideoMimeType ) == 0 )
- {
- iPreviewTone = defaultTone.AllocL();
- }
- else
- {
- iPreviewTone = iRingingTone.AllocL();
- }
-#else
- iPreviewTone = iRingingTone.AllocL();
-#endif
- }
-
-// End of File
--- a/profilesapplication/Profiles/ProfileApp/SettingsViewSrc/CProfile3dSettingPage.h Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,123 +0,0 @@
-/*
-* Copyright (c) 2008 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: Setting page class for 3D settings.
-*
-*/
-
-
-
-#ifndef CPROFILE3DSETTINGPAGE_H
-#define CPROFILE3DSETTINGPAGE_H
-
-// INCLUDES
-#include <aknpopupsettingpage.h>
-
-// FORWARD DECLARATIONS
-class CFLDController;
-
-// CLASS DECLARATION
-/**
-* Setting page class for 3D settings.
-* CProfile3dSettingPage extends CAknPopupSettingPage.
-*
-* @lib ProfileSettingsView.lib
-* @since 5.0
-*/
-NONSHARABLE_CLASS( CProfile3dSettingPage ) : public CAknPopupSettingPage
- {
- public: // Constructors and destructor
-
- /**
- * C++ constructor.
- * @param aResourceID Setting page resource ID.
- * @param aQueryValue
- * @param aRingingTone Ringing tone.
- * @param aRingingType Ringing type.
- * @param aVibratingAlert Vibrating alert.
- * @param aVolume Volume.
- * @param a3DEffectOrEcho 3D effect or echo.
- * @param aIdentifier Setting item identifier.
- */
- CProfile3dSettingPage(
- TInt aResourceID,
- MAknQueryValue& aQueryValue,
- const TDesC& aRingingTone,
- const TInt& aRingingType,
- const TBool& aVibratingAlert,
- const TInt& aVolume,
- const TInt& a3DEffectOrEcho,
- TInt aIdentifier );
-
- /**
- * Symbian 2nd phase constructor.
- */
- void ConstructL();
-
- /**
- * Destructor.
- */
- ~CProfile3dSettingPage();
-
- private: // Functions from base classes
-
- /**
- * From CCoeControl
- */
- TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent, TEventCode aType );
- void HandlePointerEventL(const TPointerEvent& aPointerEvent);
-
- private: // New functions
-
- /**
- * Checks if ringing tone is video and if so, sets default tone
- */
- void CheckRingingToneTypeL();
-
- private: // Data
-
- // Ringing tone.
- const TDesC& iRingingTone;
-
- // Ringing type.
- const TInt& iRingingType;
-
- // Vibrating alert.
- const TBool& iVibratingAlert;
-
- // Volume.
- const TInt& iVolume;
-
- // 3D effect or echo
- const TInt& i3DEffectOrEcho;
-
- // Setting item identifier
- TInt iIdentifier;
-
- // Temporary setting value
- TInt iTempValue;
-
- // Own: File List Dialog
- CFLDController* iController;
-
- // Preview tone: either ringing tone or default tone
- HBufC* iPreviewTone;
-
- // Fileserver session
- RFs* iFs;
-
- };
-
-#endif // CPROFILE3DSETTINGPAGE_H
-
-// End of File
--- a/profilesapplication/Profiles/ProfileApp/SettingsViewSrc/CProfileAlertForSettingItem.cpp Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,446 +0,0 @@
-/*
-* Copyright (c) 2002 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: Setting item class for "Alert for" setting.
-*
-*/
-
-
-
-// INCLUDES
-#include "CProfileAlertForSettingItem.h"
-
-#include <coemain.h>
-#include <cntdb.h>
-#include <cntitem.h>
-#include <StringLoader.h>
-#include <CPbkContactEngine.h>
-#include <CPbkContactChangeNotifier.h>
-#include <ProfileSettingsView.rsg>
-
-#include "CProfileAlertForSettingPage.h"
-
-// CONSTANTS
-const TInt KContactItemArrayGranularity( 8 );
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CProfileAlertForSettingItem::CProfileAlertForSettingItem
-// C++ constructor can NOT contain any code, that might leave.
-// -----------------------------------------------------------------------------
-//
-CProfileAlertForSettingItem::CProfileAlertForSettingItem(
- TInt aIdentifier,
- RArray<TContactItemId>& aContactList,
- CCoeEnv* aCoeEnv )
- : CAknSettingItem( aIdentifier ),
- iPopupArray( KContactItemArrayGranularity ),
- iExternalContactArray( aContactList ),
- iCoeEnv( aCoeEnv )
- {
- }
-
-// Destructor
-CProfileAlertForSettingItem::~CProfileAlertForSettingItem()
- {
- delete iChangeNotifier;
- delete iPbkContactEngine;
- delete iTextSeveralGroups;
- delete iTextAllCallers;
- iFullContactArray.Close();
- iPopupArray.ResetAndDestroy();
- }
-
-// -----------------------------------------------------------------------------
-// CProfileAlertForSettingItem::CompleteConstructionL
-// -----------------------------------------------------------------------------
-//
-void CProfileAlertForSettingItem::CompleteConstructionL()
- {
- // Read localised texts from resource
- iTextAllCallers = StringLoader::LoadL( R_PROFILE_TEXT_ALL_CALLERS );
- iTextSeveralGroups = StringLoader::LoadL( R_PROFILE_TEXT_SEVERAL_GROUPS );
-
- // Create Phonebook contact engine and change notifier
- iPbkContactEngine = CPbkContactEngine::NewL();
- iChangeNotifier = iPbkContactEngine->CreateContactChangeNotifierL( this );
-
- PopulatePopupArrayL();
- }
-
-// -----------------------------------------------------------------------------
-// CProfileAlertForSettingItem::AlertForStatus
-// -----------------------------------------------------------------------------
-//
-CProfileAlertForSettingItem::TAlertForStatus CProfileAlertForSettingItem::AlertForStatus() const
- {
- TInt count( iPopupArray.Count() );
- if( count > 1 )
- {
- // Array contains 2 or more items
- if( SelectionStatus( 0 ) )
- {
- // If first item is selected, return EAlertForAllCallers
- return EAlertForAllCallers;
- }
- TInt selectCount( 0 );
- // Start from index 1, because 0 is "All callers"
- for( TInt index( 1 ); index < count; index++ )
- {
- if( SelectionStatus( index ) )
- {
- // Found a selected item, increase counter
- selectCount++;
- }
- }
- if( selectCount == 1 )
- {
- return EAlertForSingleGroup;
- }
- return EAlertForSeveralGroups;
- }
- // Pop-up array is empty or contains only "All callers"
- return EAlertForAllCallers;
- }
-
-// -----------------------------------------------------------------------------
-// CProfileAlertForSettingItem::SetSelectionStatus
-// -----------------------------------------------------------------------------
-//
-void CProfileAlertForSettingItem::SetSelectionStatus( TInt aIndex, TBool aStatus )
- {
- if( aIndex < iPopupArray.MdcaCount() )
- {
- iPopupArray.At( aIndex )->SetSelectionStatus( aStatus );
- }
- }
-
-// -----------------------------------------------------------------------------
-// CProfileAlertForSettingItem::SelectionStatus
-// -----------------------------------------------------------------------------
-//
-TBool CProfileAlertForSettingItem::SelectionStatus( TInt aIndex ) const
- {
- if( aIndex < iPopupArray.MdcaCount() )
- {
- return iPopupArray.At( aIndex )->SelectionStatus();
- }
- else
- {
- return EFalse;
- }
- }
-
-// -----------------------------------------------------------------------------
-// CProfileAlertForSettingItem::PopulatePopupArrayL
-// -----------------------------------------------------------------------------
-//
-void CProfileAlertForSettingItem::PopulatePopupArrayL()
- {
- iPopupArray.ResetAndDestroy();
- iFullContactArray.Reset();
-
- // Create first item to popup array, "All callers"
- CSelectableItem* item = new( ELeave ) CSelectableItem(
- *iTextAllCallers, EFalse );
- CleanupStack::PushL( item );
- item->ConstructL();
- iPopupArray.AppendL( item ); // Ownership is transferred
- CleanupStack::Pop( item );
-
- CContactIdArray* groupIdArray = iPbkContactEngine->Database().GetGroupIdListL();
- CleanupStack::PushL( groupIdArray );
- TInt count( groupIdArray->Count() );
- TContactItemId contactId;
- CContactGroup* contactGroup = NULL;
- TPtrC contactGroupName;
- for( TInt index( 0 ); index < count; index++ )
- {
- contactId = ( *groupIdArray )[ index ];
-
- iFullContactArray.Append( contactId );
- contactGroup = iPbkContactEngine->ReadContactGroupL( contactId );
- CleanupStack::PushL( contactGroup );
- contactGroupName.Set( contactGroup->GetGroupLabelL() );
-
- item = new( ELeave ) CSelectableItem( contactGroupName, EFalse );
- CleanupStack::PushL( item );
- item->ConstructL();
- iPopupArray.AppendL( item ); // Ownership is transferred
- CleanupStack::Pop( item );
-
- CleanupStack::PopAndDestroy( contactGroup );
- }
-
- CleanupStack::PopAndDestroy( groupIdArray );
- }
-
-// -----------------------------------------------------------------------------
-// CProfileAlertForSettingItem::CheckAllCallersSetting
-// -----------------------------------------------------------------------------
-//
-void CProfileAlertForSettingItem::CheckAllCallersSetting()
- {
- TInt count( iPopupArray.Count() );
- if( count > 0 )
- {
- // Check whether the first item, "All callers", is selected or not.
- if( SelectionStatus( 0 ) )
- {
- // "All callers" is selected.
- // Set other groups unselected.
- for( TInt index( 1 ); index < count; index++ )
- {
- SetSelectionStatus( index, EFalse );
- }
- }
- }
- }
-
-// -----------------------------------------------------------------------------
-// CProfileAlertForSettingItem::UpdateSettingPageL
-// -----------------------------------------------------------------------------
-//
-void CProfileAlertForSettingItem::UpdateSettingPageL()
- {
- // Closing and opening the database has because
- // the database doesn't update its information otherwise
- iPbkContactEngine->Database().CloseTables();
- iPbkContactEngine->Database().OpenTablesL();
-
- RArray<TContactItemId> selectedContacts;
- CleanupClosePushL( selectedContacts );
- StoreL( selectedContacts );
- PopulatePopupArrayL();
- LoadL( selectedContacts );
- CleanupStack::PopAndDestroy(); // selectedContacts
-
- UpdateListBoxTextL(); // Calls SettingTextL()
-
- if( SettingPage() )
- {
- // Pop-up is popped up
- CProfileAlertForSettingPage* sp =
- static_cast< CProfileAlertForSettingPage* >( SettingPage() );
- TInt lastIndex( iPopupArray.Count() - 1 );
- TInt currentIndex( sp->ListBoxControl()->View()->CurrentItemIndex() );
- if( currentIndex > lastIndex )
- {
- sp->ListBoxControl()->SetCurrentItemIndex( lastIndex );
- }
- if( currentIndex < 0 )
- {
- sp->ListBoxControl()->SetCurrentItemIndex( 0 );
- }
-
- // Must clear listbox view's selections, because if items have been deleted,
- // non existent selections remain in view's selection array.
- sp->ListBoxControl()->View()->ClearSelection();
- // Set the new selection array to setting page
- sp->SetSelectionItemArrayL( &iPopupArray );
- // Update possibly changed CBA visibility
- sp->UpdateCba();
- }
- else // Setting page is not visible
- {
- LoadL();
- }
- }
-
-// -----------------------------------------------------------------------------
-// CProfileAlertForSettingItem::StoreL
-// -----------------------------------------------------------------------------
-//
-void CProfileAlertForSettingItem::StoreL( RArray<TContactItemId>& aArray ) const
- {
- aArray.Reset();
- TInt count( iPopupArray.Count() );
- // Start from index 1 (0 is 'All callers')
- for( TInt index( 1 ); index < count; index++ )
- {
- // If an item in array is selected
- if( SelectionStatus( index ) )
- {
- // Add its id to external contact array
- aArray.Append( iFullContactArray[ index - 1 ] );
- }
- }
- }
-
-// -----------------------------------------------------------------------------
-// CProfileAlertForSettingItem::LoadL
-// -----------------------------------------------------------------------------
-//
-void CProfileAlertForSettingItem::LoadL( const RArray<TContactItemId>& aArray )
- {
- TInt index( 0 );
- TInt count( iPopupArray.Count() );
-
- // Set all selections false
- for( ; index < count; index++ )
- {
- SetSelectionStatus( index, EFalse );
- }
-
- TContactItemId contactId;
- TInt foundCount( 0 );
- TInt foundIndex;
- count = aArray.Count();
- for( index = 0; index < count; index++ )
- {
- contactId = aArray[ index ];
- // Try to find contact id from full contact group array
- foundIndex = iFullContactArray.Find( contactId );
- if( foundIndex >= 0 )
- {
- // Indices in iFullContactArray are the same as in iPopupArray
- // except that iPopupArray's 1st item is "All callers". Therefore + 1.
- SetSelectionStatus( foundIndex + 1, ETrue );
- // A valid contact id is found, increase counter
- foundCount++;
- }
- }
-
- // If there were no contact groups selected,
- // or selected groups are not longer valid, select "All callers"
- if( foundCount == 0 )
- {
- SetSelectionStatus( 0, ETrue );
- }
- }
-
-// -----------------------------------------------------------------------------
-// CProfileAlertForSettingItem::StoreL
-// -----------------------------------------------------------------------------
-//
-void CProfileAlertForSettingItem::StoreL()
- {
- StoreL( iExternalContactArray );
- }
-
-// -----------------------------------------------------------------------------
-// CProfileAlertForSettingItem::LoadL
-// -----------------------------------------------------------------------------
-//
-void CProfileAlertForSettingItem::LoadL()
- {
- LoadL( iExternalContactArray );
- }
-
-// -----------------------------------------------------------------------------
-// CProfileAlertForSettingItem::EditItemL
-// -----------------------------------------------------------------------------
-//
-void CProfileAlertForSettingItem::EditItemL( TBool /* aCalledFromMenu */ )
- {
- CProfileAlertForSettingPage* dlg = new( ELeave ) CProfileAlertForSettingPage(
- SettingPageResourceId(), &iPopupArray );
- SetSettingPage( dlg ); // Set iSettingPage to indicate that pop-up is displayed
- dlg->SetSettingPageObserver( this );
- dlg->ExecuteLD();
- SetSettingPage( NULL ); // iSettingPage is NULL, pop-up is closed
- }
-
-// -----------------------------------------------------------------------------
-// CProfileAlertForSettingItem::SettingTextL
-// -----------------------------------------------------------------------------
-//
-const TDesC& CProfileAlertForSettingItem::SettingTextL()
- {
- switch( AlertForStatus() )
- {
- case EAlertForAllCallers:
- {
- iSettingText = *iTextAllCallers;
- break;
- }
- case EAlertForSingleGroup:
- {
- TInt count( iPopupArray.Count() );
- if( count > 0 )
- {
- // Search the selected group
- while( !SelectionStatus( --count ) && count > 1 ) {}
- // Get its name
- iSettingText = iPopupArray.At( count )->ItemText();
- }
- break;
- }
- case EAlertForSeveralGroups:
- {
- iSettingText = *iTextSeveralGroups;
- break;
- }
- default:
- {
- break;
- }
- }
- return iSettingText;
- }
-
-// -----------------------------------------------------------------------------
-// CProfileAlertForSettingItem::HandleDatabaseEventL
-// -----------------------------------------------------------------------------
-//
-void CProfileAlertForSettingItem::HandleDatabaseEventL( TContactDbObserverEvent aEvent )
- {
- if( ( aEvent.iType == EContactDbObserverEventGroupAdded ) || // A contact item group has been added.
- ( aEvent.iType == EContactDbObserverEventGroupChanged ) || // A contact item group has been updated.
- ( aEvent.iType == EContactDbObserverEventGroupDeleted ) ) // A contact item group has been deleted from the database.
- {
- UpdateSettingPageL();
- }
- }
-
-// -----------------------------------------------------------------------------
-// CProfileAlertForSettingItem::HandleSettingPageEventL
-// After settings have been accepted, some checks are made in this method.
-// If "Alert for" is selected , all other groups must be unselected.
-// If nothing is selected , "Alert for" must be selected.
-// -----------------------------------------------------------------------------
-//
-void CProfileAlertForSettingItem::HandleSettingPageEventL(
- CAknSettingPage* aSettingPage, TAknSettingPageEvent aEventType )
- {
- switch( aEventType )
- {
- case EEventSettingOked:
- {
- // Check that "All callers" is in correct state
- CheckAllCallersSetting();
- break;
- }
- case EEventSettingCancelled:
- {
- // If setting is cancelled, load old values
- LoadL();
- break;
- }
- case EEventSettingChanged:
- {
- // If setting has changed, update CBA visibility
- static_cast<CProfileAlertForSettingPage*>( aSettingPage )->UpdateCba();
- break;
- }
- default:
- {
- break;
- }
- }
- CAknSettingItem::HandleSettingPageEventL( aSettingPage, aEventType );
- }
-
-
-// End of File
--- a/profilesapplication/Profiles/ProfileApp/SettingsViewSrc/CProfileAlertForSettingItem.h Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,202 +0,0 @@
-/*
-* Copyright (c) 2002 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: Setting item class for "Alert for" setting.
-*
-*/
-
-
-
-#ifndef CPROFILEALERTFORSETTINGITEM_H
-#define CPROFILEALERTFORSETTINGITEM_H
-
-// INCLUDES
-#include <aknsettingitemlist.h>
-#include <MPbkContactDbObserver.h>
-#include <akncheckboxsettingpage.h> // For CSelectionItemList member data
-
-// FORWARD DECLARATIONS
-class CCoeEnv;
-class CPbkContactChangeNotifier;
-
-// CONSTANTS
-const TInt KMaxPbkContactGroupNameLength( 64 );
-
-// CLASS DECLARATION
-/**
-* Setting item class for "Alert for" setting.
-* CProfileAlertForSettingItem reads user defined groups from
-* Phonebook contact database and shows a list of the groups
-* in a check box setting page (CAknCheckBoxSettingPage).
-* CProfileAlertForSettingItem is inherited from MPbkContactDbObserver
-* in order to catch Phonebook contact group change events and
-* dynamically update its contents.
-*
-* @lib ProfileSettingsView.lib
-* @since 1.2
-*/
-NONSHARABLE_CLASS( CProfileAlertForSettingItem ) : public CAknSettingItem
- ,public MPbkContactDbObserver
- {
-
- public: // Constructors and destructor
-
- /**
- * C++ constructor.
- * @param aIdentifier Resource identifier.
- * @aContactList Array where selected contact groups are stored.
- * @aCoeEnv A pointer to Control Environment.
- */
- CProfileAlertForSettingItem(
- TInt aIdentifier,
- RArray<TContactItemId>& aContactList,
- CCoeEnv* aCoeEnv );
-
- /**
- * Destructor
- */
- ~CProfileAlertForSettingItem();
-
- private: // Enumerations
-
- enum TAlertForStatus
- {
- EAlertForAllCallers,
- EAlertForSingleGroup,
- EAlertForSeveralGroups
- };
-
- private: // New functions
-
- /**
- * Resolves the alert for status of iPopupArray.
- * @return Returns the alert for status of iPopupArray.
- */
- TAlertForStatus AlertForStatus() const;
-
- /**
- * Sets selection status to iPopupArray at specified index.
- * @param aIndex Index in iPopupArray.
- * @param aStatus Selection status of an item.
- */
- void SetSelectionStatus( TInt aIndex, TBool aStatus );
-
- /**
- * Returns selection status of an item in iPopupArray.
- * @param aIndex Index in iPopupArray.
- * @return Returns selection status of an item.
- */
- TBool SelectionStatus( TInt aIndex ) const;
-
- /**
- * Populates iPopupArray. Reads contact group names from Phonebook engine.
- */
- void PopulatePopupArrayL();
-
- /**
- * Sets other groups unselected if "All callers" has been selected.
- */
- void CheckAllCallersSetting();
-
- /**
- * Updates iPopupArray and if setting page is opened,
- * updates items of the setting page too.
- */
- void UpdateSettingPageL();
-
- /**
- * Stores currently selected groups to given array.
- * @param aArray An array to store currently selected groups to.
- */
- void StoreL( RArray<TContactItemId>& aArray ) const;
-
- /**
- * Loads selected groups from given array and sets them to iPopupArray.
- * @param aArray An array to load currently selected groups from.
- */
- void LoadL( const RArray<TContactItemId>& aArray );
-
- private: // Functions from base classes
-
- /**
- * From CAknSettingItem
- */
- void CompleteConstructionL();
-
- /**
- * From CAknSettingItem
- */
- void StoreL();
-
- /**
- * From CAknSettingItem
- */
- void LoadL();
-
- /**
- * From CAknSettingItem
- */
- void EditItemL( TBool aCalledFromMenu );
-
- /**
- * From CAknSettingItem
- */
- const TDesC& SettingTextL();
-
- /**
- * From MPbkContactDbObserver
- */
- void HandleDatabaseEventL( TContactDbObserverEvent aEvent );
-
- /**
- * From MAknSettingPageObserver
- */
- void HandleSettingPageEventL(
- CAknSettingPage* aSettingPage,
- TAknSettingPageEvent aEventType );
-
- private: // Data
-
- // Contains all items in check box setting list
- // (item name string and selection status boolean value)
- CSelectionItemList iPopupArray;
-
- // Own: Localised text "All callers"
- HBufC* iTextAllCallers;
-
- // Own: Localised text "Several groups"
- HBufC* iTextSeveralGroups;
-
- // Text to return with SettingTextL()
- TBuf<KMaxPbkContactGroupNameLength> iSettingText;
-
- // An array which contains contact item id:s of all contact groups
- RArray<TContactItemId> iFullContactArray;
-
- // Array of selected contact groups
- RArray<TContactItemId>& iExternalContactArray;
-
- // Own: PhoneBook contact change notifier
- CPbkContactChangeNotifier* iChangeNotifier;
-
- // Own: PhoneBook contact engine
- CPbkContactEngine* iPbkContactEngine;
-
- // Ref: Pointer to Control Environment
- CCoeEnv* iCoeEnv;
-
- };
-
-#endif // CPROFILEALERTFORSETTINGITEM_H
-
-// End of File
--- a/profilesapplication/Profiles/ProfileApp/SettingsViewSrc/CProfileAlertForSettingPage.cpp Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,59 +0,0 @@
-/*
-* Copyright (c) 2002 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: Setting page class for "Alert for" setting.
-*
-*/
-
-
-
-// INCLUDES
-#include "CProfileAlertForSettingPage.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CProfileAlertForSettingPage::CProfileAlertForSettingPage
-// C++ constructor can NOT contain any code, that might leave.
-// -----------------------------------------------------------------------------
-//
-CProfileAlertForSettingPage::CProfileAlertForSettingPage(
- TInt aResourceID,
- CSelectionItemList* aItemArray )
- : CAknCheckBoxSettingPage( aResourceID, aItemArray )
- {
- }
-
-// -----------------------------------------------------------------------------
-// CProfileAlertForSettingPage::UpdateCba
-// -----------------------------------------------------------------------------
-//
-void CProfileAlertForSettingPage::UpdateCba()
- {
- // Cache the pointer to button group container
- CEikButtonGroupContainer* cba = Cba();
- // Left softkey should be visible if there are items selected,
- // i.e. the selection index array has items.
- TBool visible( ListBoxControl()->View()->SelectionIndexes()->Count() > 0 );
- // Resolve left softkey command id
- TInt leftId( cba->ButtonGroup()->CommandId( 0 ) );
- // Check if left softkey visibility has changed
- if( visible != cba->IsCommandVisible( leftId ) )
- {
- // Left softkey visibility has changed, update it
- cba->MakeCommandVisible( leftId, visible );
- }
- cba->DrawDeferred();
- }
-
-// End of File
--- a/profilesapplication/Profiles/ProfileApp/SettingsViewSrc/CProfileAlertForSettingPage.h Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,62 +0,0 @@
-/*
-* Copyright (c) 2002 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: Setting page class for "Alert for" setting.
-*
-*/
-
-
-
-#ifndef CPROFILEALERTFORSETTINGPAGE_H
-#define CPROFILEALERTFORSETTINGPAGE_H
-
-// INCLUDES
-#include <akncheckboxsettingpage.h>
-
-// CLASS DECLARATION
-/**
-* Setting page class for "Alert for" setting.
-* CProfileAlertForSettingPage extends CAknCheckBoxSettingPage in order to
-* hide left softkey when no contact groups are selected. However, it is
-* the responsibility of the setting page observer to call UpdateCbaL, when
-* setting changes.
-*
-* @lib ProfileSettingsView.lib
-* @since 1.2
-*/
-NONSHARABLE_CLASS( CProfileAlertForSettingPage )
- : public CAknCheckBoxSettingPage
- {
-
- public: // Constructor
-
- /**
- * C++ constructor.
- * @param aResourceID Setting page resource id.
- * @param aItemArray The array which contains all setting items.
- */
- CProfileAlertForSettingPage(
- TInt aResourceID, CSelectionItemList* aItemArray );
-
- public: // New functions
-
- /**
- * Hides left softkey (Ok) if no items are selected.
- */
- void UpdateCba();
-
- };
-
-#endif // CPROFILEALERTFORSETTINGPAGE_H
-
-// End of File
--- a/profilesapplication/Profiles/ProfileApp/SettingsViewSrc/CProfileEngineHandler.cpp Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,114 +0,0 @@
-/*
-* Copyright (c) 2002 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: Profile engine handler
-*
-*/
-
-
-
-// INCLUDE FILES
-#include "CProfileEngineHandler.h"
-
-#include <MProfileEngineExtended.h>
-#include <MProfilesNamesArray.h>
-#include <MProfileName.h>
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CProfileEngineHandler::CProfileEngineHandler
-// C++ default constructor can NOT contain any code, that might leave.
-// -----------------------------------------------------------------------------
-//
-CProfileEngineHandler::CProfileEngineHandler()
- {
- }
-
-// -----------------------------------------------------------------------------
-// CProfileEngineHandler::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CProfileEngineHandler::ConstructL()
- {
- // Create the Profile Engine
- iEngine = CreateProfileEngineExtendedL();
- // Get a list of profile Id:s
- ReadIdArrayL();
- }
-
-// -----------------------------------------------------------------------------
-// CProfileEngineHandler::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CProfileEngineHandler* CProfileEngineHandler::NewL()
- {
- CProfileEngineHandler* self = new( ELeave ) CProfileEngineHandler();
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop( self );
- return self;
- }
-
-// Destructor.
-CProfileEngineHandler::~CProfileEngineHandler()
- {
- delete iIdArray;
- if( iEngine )
- {
- iEngine->Release();
- }
- }
-
-// -----------------------------------------------------------------------------
-// CProfileEngineHandler::Engine
-// -----------------------------------------------------------------------------
-//
-EXPORT_C MProfileEngineExtended* CProfileEngineHandler::Engine() const
- {
- return iEngine;
- }
-
-// -----------------------------------------------------------------------------
-// CProfileEngineHandler::ReadIdArrayL
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CProfileEngineHandler::ReadIdArrayL()
- {
- MProfilesNamesArray* idArray = iEngine->ProfilesNamesArrayLC();
- CleanupStack::Pop();
- delete iIdArray;
- iIdArray = idArray;
- }
-
-// -----------------------------------------------------------------------------
-// CProfileEngineHandler::IdArray
-// -----------------------------------------------------------------------------
-//
-EXPORT_C MProfilesNamesArray* CProfileEngineHandler::IdArray() const
- {
- return iIdArray;
- }
-
-// -----------------------------------------------------------------------------
-// CProfileEngineHandler::IdForIndex
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TInt CProfileEngineHandler::IdForIndex( TInt aIndex ) const
- {
- return iIdArray->ProfileName( aIndex )->Id();
- }
-
-// End of File
--- a/profilesapplication/Profiles/ProfileApp/SettingsViewSrc/CProfileFeedbackSettingItem.cpp Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,68 +0,0 @@
-/*
-* Copyright (c) 2008 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: Setting item class for Feedback settings.
-*
-*/
-
-
-
-// INCLUDES
-#include "CProfileFeedbackSettingItem.h"
-#include "CProfileFeedbackSettingPage.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CProfileFeedbackSettingItem::CProfileFeedbackSettingItem
-// C++ constructor can NOT contain any code, that might leave.
-// -----------------------------------------------------------------------------
-//
-CProfileFeedbackSettingItem::CProfileFeedbackSettingItem(
- TInt aIdentifier, TInt& aValue )
- : CAknEnumeratedTextPopupSettingItem( aIdentifier, aValue )
- {
- iIdentifier = aIdentifier;
- }
-
-// -----------------------------------------------------------------------------
-// CProfileFeedbackSettingItem::CompleteConstructionL
-// -----------------------------------------------------------------------------
-//
-void CProfileFeedbackSettingItem::CompleteConstructionL()
- {
- CAknEnumeratedTextPopupSettingItem::CompleteConstructionL();
- CArrayPtr<CAknEnumeratedText>* array = EnumeratedTextArray();
- TInt count( array->Count() );
- HBufC* text = NULL;
- while( count-- )
- {
- text = array->At( count )->Value();
- TPtr modifiable( text->Des() );
- AknTextUtils::LanguageSpecificNumberConversion( modifiable );
- }
- }
-
-// -----------------------------------------------------------------------------
-// CProfileFeedbackSettingItem::CreateSettingPageL
-// -----------------------------------------------------------------------------
-//
-CAknSettingPage* CProfileFeedbackSettingItem::CreateSettingPageL()
- {
- return new( ELeave ) CProfileFeedbackSettingPage(
- SettingPageResourceId(),
- *QueryValue(),
- iIdentifier );
- }
-
-// End of File
--- a/profilesapplication/Profiles/ProfileApp/SettingsViewSrc/CProfileFeedbackSettingItem.h Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,72 +0,0 @@
-/*
-* Copyright (c) 2008 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: Setting item class for Feedback settings.
-*
-*/
-
-
-
-#ifndef CPROFILEFEEDBACKSETTINGITEM_H
-#define CPROFILEFEEDBACKSETTINGITEM_H
-
-// INCLUDES
-#include <aknsettingitemlist.h>
-
-// FORWARD DECLARATIONS
-class CAknSettingPage;
-
-// CLASS DECLARATION
-/**
-* Setting item class for Feedback settings.
-* CProfileFeedbackSettingItem extends CAknEnumeratedTextPopupSettingItem
-* in order to launch CProfileFeedbackSettingPage
-* instead of CAknPopupSettingPage.
-*
-* @lib ProfileSettingsView.lib
-* @since 5.0
-*/
-NONSHARABLE_CLASS( CProfileFeedbackSettingItem ) : public CAknEnumeratedTextPopupSettingItem
- {
- public: // Constructors and destructor
-
- /**
- * C++ constructor.
- * @param aIdentifier Setting item identifier.
- * @param aValue Feedback setting value.
- */
- CProfileFeedbackSettingItem(
- TInt aIdentifier,
- TInt& aValue );
-
- private: // Functions from base classes
-
- /**
- * From CAknEnumeratedTextPopupSettingItem
- */
- void CompleteConstructionL();
-
- /**
- * From CAknEnumeratedTextPopupSettingItem
- */
- CAknSettingPage* CreateSettingPageL();
-
- private: // Data
-
- // Setting item identifier
- TInt iIdentifier;
- };
-
-#endif // CPROFILEFEEDBACKSETTINGITEM_H
-
-// End of File
--- a/profilesapplication/Profiles/ProfileApp/SettingsViewSrc/CProfileFeedbackSettingPage.cpp Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,111 +0,0 @@
-/*
-* Copyright (c) 2008 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: Setting page class for Feedback settings.
-*
-*/
-
-
-
-// INCLUDES
-#include <ProfileSettingsView.rsg>
-#include <StringLoader.h> // For StringLoader
-#include <aknnotewrappers.h> // For CAknInformationNote
-
-// for power save mode handling
-#include <psmsettings.h>
-#include <psmsrvdomaincrkeys.h>
-#include <centralrepository.h>
-
-#include "CProfileFeedbackSettingPage.h"
-#include "ProfileSettingsView.hrh"
-
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CProfileFeedbackSettingPage::CProfileFeedbackSettingPage
-// C++ constructor can NOT contain any code, that might leave.
-// -----------------------------------------------------------------------------
-//
-CProfileFeedbackSettingPage::CProfileFeedbackSettingPage(
- TInt aResourceID,
- MAknQueryValue& aQueryValue,
- TInt aIdentifier )
- : CAknPopupSettingPage( aResourceID, aQueryValue ),
- iIdentifier( aIdentifier )
- {
- }
-
-// -----------------------------------------------------------------------------
-// CProfileFeedbackSettingPage::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CProfileFeedbackSettingPage::ConstructL()
- {
- CAknPopupSettingPage::ConstructL();
- }
-
-// Destructor.
-CProfileFeedbackSettingPage::~CProfileFeedbackSettingPage()
- {
- }
-
-// -----------------------------------------------------------------------------
-// CProfileFeedbackSettingPage::OkToExitL
-// -----------------------------------------------------------------------------
-//
-TBool CProfileFeedbackSettingPage::OkToExitL( TBool aAccept )
- {
- if( aAccept )
- {
- TInt psm = EPsmsrvModeNormal;
- CRepository* cenrep = CRepository::NewLC( KCRUidPowerSaveMode );
- cenrep->Get( KPsmCurrentMode, psm );
- CleanupStack::PopAndDestroy( cenrep );
- if( psm == EPsmsrvModePowerSave )
- {
- HBufC* buf = StringLoader::LoadLC( R_PROFILE_TEXT_PSM_INFONOTE );
- CAknInformationNote* queryDialog = new (ELeave) CAknInformationNote( EFalse );
- queryDialog->ExecuteLD( *buf );
- CleanupStack::PopAndDestroy( buf );
- }
- }
- return ETrue;
- }
-
-
-// -----------------------------------------------------------------------------
-// CProfileFeedbackSettingPage::OfferKeyEventL
-// -----------------------------------------------------------------------------
-//
-TKeyResponse CProfileFeedbackSettingPage::OfferKeyEventL(
- const TKeyEvent& aKeyEvent, TEventCode aType )
- {
- return CAknPopupSettingPage::OfferKeyEventL( aKeyEvent, aType );
- }
-
-
-// -----------------------------------------------------------------------------
-// CProfileFeedbackSettingPage::HandlePointerEventL
-// -----------------------------------------------------------------------------
-//
-void CProfileFeedbackSettingPage::HandlePointerEventL(
- const TPointerEvent& aPointerEvent )
- {
- CAknPopupSettingPage::HandlePointerEventL( aPointerEvent );
- }
-
-
-// End of File
--- a/profilesapplication/Profiles/ProfileApp/SettingsViewSrc/CProfileFeedbackSettingPage.h Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,90 +0,0 @@
-/*
-* Copyright (c) 2008 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: Setting page class for Feedback settings.
-*
-*/
-
-
-
-#ifndef CPROFILEFEEDBACKSETTINGPAGE_H
-#define CPROFILEFEEDBACKSETTINGPAGE_H
-
-// INCLUDES
-#include <aknpopupsettingpage.h>
-
-// FORWARD DECLARATIONS
-class CFLDController;
-
-// CLASS DECLARATION
-/**
-* Setting page class for Feedback settings.
-* CProfileFeedbackSettingPage extends CAknPopupSettingPage.
-*
-* @lib ProfileSettingsView.lib
-* @since 5.0
-*/
-NONSHARABLE_CLASS( CProfileFeedbackSettingPage ) : public CAknPopupSettingPage
- {
- public: // Constructors and destructor
-
- /**
- * C++ constructor.
- * @param aResourceID Setting page resource ID.
- * @param aQueryValue
- * @param aIdentifier Setting item identifier.
- */
- CProfileFeedbackSettingPage(
- TInt aResourceID,
- MAknQueryValue& aQueryValue,
- TInt aIdentifier );
-
- /**
- * Symbian 2nd phase constructor.
- */
- void ConstructL();
-
- /**
- * Destructor.
- */
- ~CProfileFeedbackSettingPage();
-
- private: // Functions from base classes
-
- /**
- * From CCoeControl
- */
- TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent, TEventCode aType );
- void HandlePointerEventL(const TPointerEvent& aPointerEvent);
-
- /**
- * From CAknSettingPage
- */
- TBool OkToExitL( TBool aAccept );
-
- private: // New functions
-
-
- private: // Data
-
- // Setting item identifier
- TInt iIdentifier;
-
- // Temporary setting value
- TInt iTempValue;
-
- };
-
-#endif // CPROFILEFEEDBACKSETTINGPAGE_H
-
-// End of File
--- a/profilesapplication/Profiles/ProfileApp/SettingsViewSrc/CProfileFileListSettingItem.cpp Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,268 +0,0 @@
-/*
-* Copyright (c) 2002-2006 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: Setting item class for tone selection.
-*
-*/
-
-
-
-// CLASS HEADER
-#include "CProfileFileListSettingItem.h"
-
-// INTERNAL INCLUDES
-#include <coemain.h>
-
-#include <Profile.hrh> // From Profile Engine
-#include <StringLoader.h>
-#include <centralrepository.h>
-#include <ProfileEngineInternalCRKeys.h>
-#include <ProfileSettingsView.rsg>
-#include <data_caging_path_literals.hrh>
-#include <CLFContentListing.hrh> // For TCLFMediaType::ECLFMediaTypeVideo
-
-// for mediafilelist
-#include <mediafilelist.h>
-#include <ProfileInternal.hrh>
-#include <DRMHelper.h>
-
-
-// EXTERNAL INCLUDES
-#include "ProfilePanics.h"
-#include "ProfileSettingsView.hrh"
-
-namespace
- {
-// CONSTANTS
- _LIT( KIgnoredExtension, ".RNG" );
- _LIT( KProfileSilentTone, "Z:No_Sound.wav" );
-
- _LIT( KProfileAudioMpeg, "audio/mpegurl" );
- _LIT( KProfileAudioRAPlugin, "audio/x-pn-realaudio-plugin" );
-#ifndef __WMA
- _LIT( KProfileAudioWMA, "audio/x-ms-wma" );
-#endif
- }
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CProfileFileListSettingItem::CProfileFileListSettingItem
-// C++ constructor can NOT contain any code, that might leave.
-// -----------------------------------------------------------------------------
-//
-CProfileFileListSettingItem::CProfileFileListSettingItem(
- TInt aIdentifier,
- TDes& aToneFileName,
- const TInt& aRingingType,
- const TInt& aRingingVolume,
- const TBool& aVibratingAlert,
- TInt& a3DEffect,
- TInt& a3DEcho,
- CCoeEnv* aCoeEnv )
- : CAknSettingItem( aIdentifier ),
- iExternalToneFileName( aToneFileName ),
- iRingingType( aRingingType ),
- iRingingVolume( aRingingVolume ),
- iVibratingAlert( aVibratingAlert ),
- i3DEffect( a3DEffect ),
- i3DEcho( a3DEcho ),
- iCoeEnv( aCoeEnv )
- {
- }
-
-// Destructor
-CProfileFileListSettingItem::~CProfileFileListSettingItem()
- {
- delete iTitle;
- delete iNoSoundFileName;
- delete iNoSoundText;
- delete iInternalToneFileName;
- }
-
-// -----------------------------------------------------------------------------
-// CProfileFileListSettingItem::CompleteConstructionL
-// -----------------------------------------------------------------------------
-//
-void CProfileFileListSettingItem::CompleteConstructionL()
- {
- iNoSoundText =
- StringLoader::LoadL( R_PROFILE_TEXT_NONE );
-
- TFileName fileName;
- TParse* fp = new(ELeave) TParse();
- fp->Set(KProfileSilentTone, &KDC_RESOURCE_FILES_DIR, NULL);
- fileName.Copy( fp->FullName() );
- delete fp;
- iNoSoundFileName = fileName.AllocL();
- iTitle =
- StringLoader::LoadL( R_PROFILE_TEXT_SELECT_TONE );
-
- iInternalToneFileName = new( ELeave ) TFileName();
- }
-
-// -----------------------------------------------------------------------------
-// CProfileFileListSettingItem::StoreL
-// -----------------------------------------------------------------------------
-//
-void CProfileFileListSettingItem::StoreL()
- {
- if( iInternalToneFileName->Length() == 0 )
- {
- iInternalToneFileName->Copy( iNoSoundFileName->Des() );
- }
- iExternalToneFileName.Copy( *iInternalToneFileName );
- }
-
-// -----------------------------------------------------------------------------
-// CProfileFileListSettingItem::LoadL
-// -----------------------------------------------------------------------------
-//
-void CProfileFileListSettingItem::LoadL()
- {
- iInternalToneFileName->Copy( iExternalToneFileName );
-
- if( iInternalToneFileName->Length() == 0 )
- {
- iInternalToneFileName->Copy( iNoSoundFileName->Des() );
- }
- }
-
-
-// -----------------------------------------------------------------------------
-// CProfileFileListSettingItem::EditItemL
-// -----------------------------------------------------------------------------
-//
-void CProfileFileListSettingItem::EditItemL( TBool /*aCalledFromMenu*/ )
- {
- TInt ringingType( iRingingType );
- TInt id( Identifier() );
- if( ( id == EProfileSettingMessageAlertToneId ) ||
- ( id == EProfileSettingEmailAlertToneId ) )
- {
- // Message alert tone is always played EProfileRingingTypeRingingOnce
- // Exceptions are Silent and Beeb Once
- if( ( ringingType == EProfileRingingTypeRinging ) ||
- ( ringingType == EProfileRingingTypeAscending ) )
- {
- ringingType = EProfileRingingTypeRingingOnce;
- }
- }
-
- TFileName fileName;
- TInt nullItem = KErrNotFound;
-
- CMediaFileList* list = CMediaFileList::NewL();
- CleanupStack::PushL( list );
-
- list->SetAttrL( CMediaFileList::EAttrTitle, *iTitle );
- list->SetAttrL( CMediaFileList::EAttrVolume, iRingingVolume );
- list->SetAttrL( CMediaFileList::EAttrVibra, iVibratingAlert );
- list->SetAttrL( CMediaFileList::EAttrRingingType, ringingType );
- list->SetAttrL( CMediaFileList::EAttrExcludeMimeType, KProfileAudioMpeg );
- list->SetAttrL( CMediaFileList::EAttrExcludeMimeType, KProfileAudioRAPlugin );
-#ifndef __WMA
- list->SetAttrL( CMediaFileList::EAttrExcludeMimeType, KProfileAudioWMA );
-#endif
-
- list->SetAttrL( CMediaFileList::EAttrAutomatedType, CDRMHelper::EAutomatedTypeRingingTone );
-
- if( id == EProfileSettingPTTRingingToneId )
- {
- // PTT does not allow videos
- list->SetAttrL( CMediaFileList::EAttrExcludeFolder, CMediaFileList::EMediaFileTypeVideo );
- }
-
- if( id == EProfileSettingMessageAlertToneId )
- {
- list->SetAttrL( CMediaFileList::EAttrAutomatedType, CDRMHelper::EAutomatedTypeMessageAlert );
- }
- else if( id == EProfileSettingEmailAlertToneId )
- {
- list->SetAttrL( CMediaFileList::EAttrAutomatedType, CDRMHelper::EAutomatedTypeEmailAlert );
- }
-
- // Size limit for voice call tone files
- if ( id == EProfileSettingRingingToneId ||
- id == EProfileSettingRingingToneLine1Id ||
- id == EProfileSettingRingingToneLine2Id )
- {
- TInt sizeLimitKB = 0;
- CRepository* cenrep = CRepository::NewL( KCRUidProfileEngine );
- CleanupStack::PushL( cenrep );
- User::LeaveIfError( cenrep->Get( KProEngRingingToneMaxSize, sizeLimitKB ) );
- CleanupStack::PopAndDestroy(); // cenrep
-
- list->SetAttrL( CMediaFileList::EAttrFileSize, sizeLimitKB );
-
-
- }
-
- list->SetAttrL( CMediaFileList::EAttr3DEffect, i3DEffect );
- list->SetAttrL( CMediaFileList::EAttr3DEcho, i3DEcho );
-
- list->SetNullItemL( *iNoSoundText, *iNoSoundFileName,
- CMediaFileList::EMediaFileTypeAudio,
- CMediaFileList::ENullItemIconOff );
-
- TInt ret = list->ShowMediaFileListL( iInternalToneFileName, &nullItem, NULL, NULL );
-
- CleanupStack::PopAndDestroy( list );
-
- if( ret )
- {
- // Setting Oked.
- UpdateListBoxTextL();
- }
- }
-
-
-
-
-// -----------------------------------------------------------------------------
-// CProfileFileListSettingItem::SettingTextL
-// -----------------------------------------------------------------------------
-//
-const TDesC& CProfileFileListSettingItem::SettingTextL()
- {
- if( iInternalToneFileName->Length() > 0 )
- {
- // FLD has returned a filename
- if( iInternalToneFileName->CompareF( *iNoSoundFileName ) == 0 )
- {
- // Filename is "No_Sound", return localized text "None"
- iSettingText.Set( *iNoSoundText );
- }
- else
- {
- // Filename is something else
- TParsePtrC parse( *iInternalToneFileName );
- if( parse.Ext().CompareF( KIgnoredExtension ) == 0 )
- {
- iSettingText.Set( parse.Name() );
- }
- else
- {
- iSettingText.Set( parse.NameAndExt() );
- }
- }
- }
- else
- {
- // Filename is an empty descriptor, return localised text "None"
- iSettingText.Set( *iNoSoundText );
- }
- return iSettingText;
- }
-
-// End Of File
--- a/profilesapplication/Profiles/ProfileApp/SettingsViewSrc/CProfileFileListSettingItem.h Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,135 +0,0 @@
-/*
-* Copyright (c) 2002 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: Setting item class for tone selection.
-*
-*/
-
-
-
-#ifndef CPROFILEFILELISTSETTINGITEM_H
-#define CPROFILEFILELISTSETTINGITEM_H
-
-// INCLUDES
-#include <aknsettingitemlist.h>
-
-// FORWARD DECLARATIONS
-class CCoeEnv;
-
-
-// CLASS DECLARATION
-/**
-* Setting item class for tone selection.
-* CProfileFileListSettingItem launches File List Dialog common component
-* from which user can select a file for ringing tone.
-*
-* @lib ProfileSettingsView.lib
-* @since 1.2
-*/
-NONSHARABLE_CLASS( CProfileFileListSettingItem ) : public CAknSettingItem
- {
-
- public: // Constructors and destructor
-
- /**
- * C++ constructor.
- * @param aIdentifier Resource identifier.
- * Tells which setting item is currently edited.
- * @param aToneFileName File name of the selected tone is stored here.
- * @param aRingingType Describes how the tone is played.
- * @param aRingingVolume The volume how loud the tone is played.
- * @param aVibratingAlert Setting of the vibrating alert.
- * @param aCoeEnv Pointer to Control Environment.
- */
- CProfileFileListSettingItem(
- TInt aIdentifier,
- TDes& aToneFileName,
- const TInt& aRingingType,
- const TInt& aRingingVolume,
- const TBool& aVibratingAlert,
- TInt& a3DEffect,
- TInt& a3DEcho,
- CCoeEnv* aCoeEnv );
-
- /**
- * Destructor.
- */
- ~CProfileFileListSettingItem();
-
- private: // Functions from base classes
-
- /**
- * From CAknSettingItem
- */
- void CompleteConstructionL();
-
- /**
- * From CAknSettingItem
- */
- void StoreL();
-
- /**
- * From CAknSettingItem
- */
- void LoadL();
-
- /**
- * From CAknSettingItem
- */
- void EditItemL( TBool aCalledFromMenu );
-
- /**
- * From CAknSettingItem
- */
- const TDesC& SettingTextL();
-
-
- private: // Data
-
- // Internal buffer for filename of selected tone
- TFileName* iInternalToneFileName;
-
- // External filename for selected tone
- TDes& iExternalToneFileName;
-
- // Ringing type for tone playback
- const TInt& iRingingType;
-
- // Ringing volume for tone playback
- const TInt& iRingingVolume;
-
- // Vibrating alert setting for tone playback
- const TBool& iVibratingAlert;
-
- // Own: Localised text qtn_tc_none
- HBufC* iNoSoundText;
-
- // Own: "No_Sound.wav" file name
- HBufC* iNoSoundFileName;
-
- // Own: Localised text for title for tone selection
- HBufC* iTitle; /// Title for tone selection
-
- // Text that is returned by SettingTextL
- TPtrC iSettingText;
-
- TInt& i3DEffect;
- TInt& i3DEcho;
- // Ref: Pointer to Control Environment
- CCoeEnv* iCoeEnv;
-
- };
-
-#endif // CPROFILEFILELISTSETTINGITEM_H
-
-// End of File
--- a/profilesapplication/Profiles/ProfileApp/SettingsViewSrc/CProfileIndexHandler.cpp Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,235 +0,0 @@
-/*
-* Copyright (c) 2002 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: Profile index handler (for use of Settings Container
-* if multiple profiles are edited)
-*
-*/
-
-
-// INCLUDES
-#include "CProfileIndexHandler.h"
-
-#include <MProfilesNamesArray.h>
-#include <eiklbx.h>
-
-#include "CProfileEngineHandler.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CProfileIndexHandler::CProfileIndexHandler
-// C++ constructor can NOT contain any code, that might leave.
-// -----------------------------------------------------------------------------
-//
-CProfileIndexHandler::CProfileIndexHandler(
- CProfileEngineHandler& aEngineHandler )
- : iEngineHandler( aEngineHandler )
- {
- }
-
-void CProfileIndexHandler::ConstructL()
- {
- }
-
-EXPORT_C CProfileIndexHandler* CProfileIndexHandler::NewL(
- CProfileEngineHandler& aEngineHandler )
- {
- CProfileIndexHandler* self =
- new( ELeave ) CProfileIndexHandler( aEngineHandler );
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop( self );
- return self;
- }
-
-CProfileIndexHandler::~CProfileIndexHandler()
- {
- iIndexArray.Close();
- }
-
-// -----------------------------------------------------------------------------
-// CProfileIndexHandler::CurrentProfileIndex
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TInt CProfileIndexHandler::CurrentProfileIndex() const
- {
- return iCurrentProfileIndex;
- }
-
-// -----------------------------------------------------------------------------
-// CProfileIndexHandler::SetCurrentProfileIndex
-// Note that there is no boundary checking.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CProfileIndexHandler::SetCurrentProfileIndex( TInt aIndex )
- {
- iCurrentProfileIndex = aIndex;
- }
-
-// -----------------------------------------------------------------------------
-// CProfileIndexHandler::CreateIndexArrayL
-// Resets the index array and populates it with zeroes
-// -----------------------------------------------------------------------------
-//
-void CProfileIndexHandler::CreateIndexArrayL()
- {
- iIndexArray.Reset();
- TItem item = { 0, 0 };
- TInt count( iEngineHandler.IdArray()->MdcaCount() );
- while( --count >= 0 )
- {
- User::LeaveIfError( iIndexArray.Append( item ) );
- }
- }
-
-// -----------------------------------------------------------------------------
-// CProfileIndexHandler::StoreIndices
-// -----------------------------------------------------------------------------
-//
-void CProfileIndexHandler::StoreIndices()
- {
- if( !iListBox )
- {
- return;
- }
-
- TItem& item = iIndexArray[iCurrentProfileIndex];
- item.iIndex = iListBox->View()->CurrentItemIndex();
- item.iTopIndex = iListBox->View()->TopItemIndex() - item.iIndex;
- }
-
-// -----------------------------------------------------------------------------
-// CProfileIndexHandler::LoadIndices
-// -----------------------------------------------------------------------------
-//
-void CProfileIndexHandler::LoadIndices()
- {
- if( !iListBox )
- {
- return;
- }
-
- const TInt KMaxLastIndex( 2 ); // Three items fit to screen at the same time
-
- TInt lastIndex( iListBox->Model()->MatchableTextArray()->MdcaCount() - 1 );
-
- TItem item = iIndexArray[iCurrentProfileIndex];
- if( item.iIndex > lastIndex )
- {
- item.iIndex = lastIndex;
- }
- if( item.iIndex < 0 )
- {
- item.iIndex = 0;
- }
- item.iTopIndex += item.iIndex;
- if( item.iTopIndex > lastIndex - KMaxLastIndex )
- {
- item.iTopIndex = lastIndex - KMaxLastIndex;
- }
- if( item.iTopIndex < 0 )
- {
- item.iTopIndex = 0;
- }
-
- iListBox->View()->SetCurrentItemIndex( item.iIndex );
- iListBox->View()->SetTopItemIndex( item.iTopIndex );
- iListBox->DrawDeferred();
- }
-
-// -----------------------------------------------------------------------------
-// CProfileIndexHandler::IndexAt
-// -----------------------------------------------------------------------------
-//
-TInt CProfileIndexHandler::IndexAt( TInt aIndex ) const
- {
- return iIndexArray[aIndex].iIndex;
- }
-
-// -----------------------------------------------------------------------------
-// CProfileIndexHandler::TopIndexAt
-// -----------------------------------------------------------------------------
-//
-TInt CProfileIndexHandler::TopIndexAt( TInt aIndex ) const
- {
- return iIndexArray[aIndex].iTopIndex;
- }
-
-// -----------------------------------------------------------------------------
-// CProfileIndexHandler::RemoveAndInsert
-// -----------------------------------------------------------------------------
-//
-TInt CProfileIndexHandler::RemoveAndInsert(
- TInt aOldIndex, TInt aNewIndex, TInt aIndexValue, TInt aTopIndexValue )
- {
- TInt count( iIndexArray.Count() );
- if( aOldIndex < 0 || aOldIndex >= count )
- {
- return KErrNotFound;
- }
- if( aNewIndex < 0 || aNewIndex > count )
- {
- return KErrArgument;
- }
- iIndexArray.Remove( aOldIndex );
- TItem item = { aIndexValue, aTopIndexValue };
- iIndexArray.Insert( item, aNewIndex );
- return KErrNone;
- }
-
-// -----------------------------------------------------------------------------
-// CProfileIndexHandler::SetListBox
-// -----------------------------------------------------------------------------
-//
-void CProfileIndexHandler::SetListBox( CEikListBox* aListBox )
- {
- iListBox = aListBox;
- }
-
-// -----------------------------------------------------------------------------
-// CProfileIndexHandler::ReadIdArrayAndUpdateL
-// -----------------------------------------------------------------------------
-//
-TInt CProfileIndexHandler::ReadIdArrayAndUpdateL()
- {
- // Index of the profile before the engine rearranges the profiles.
- TInt oldProfileIndex( iCurrentProfileIndex );
-
- // ID of the profile so that we can find it after the engine
- // rearranges the profiles.
- TInt profileId( iEngineHandler.IdForIndex( oldProfileIndex ) );
-
- // Store the indices for edited profile.
- StoreIndices();
-
- TInt newItemIndex( IndexAt( oldProfileIndex ) );
- TInt newTopItemIndex( TopIndexAt( oldProfileIndex ) );
-
- // Refresh profile names. Order of the profiles may change.
- iEngineHandler.ReadIdArrayL();
-
- // Find out which of the profiles is now the edited profile
- TInt newProfileIndex( iEngineHandler.IdArray()->FindById( profileId ) );
-
- // Set it to current profile
- SetCurrentProfileIndex( newProfileIndex );
-
- // Update indices
- User::LeaveIfError( RemoveAndInsert( oldProfileIndex, newProfileIndex,
- newItemIndex, newTopItemIndex ) );
-
- return newProfileIndex;
- }
-
-// End of File
--- a/profilesapplication/Profiles/ProfileApp/SettingsViewSrc/CProfileKeypadVolumeSettingItem.cpp Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,73 +0,0 @@
-/*
-* Copyright (c) 2002 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: Setting item class for keypad volume setting.
-*
-*/
-
-
-
-// INCLUDES
-#include <AknUtils.h>
-
-#include "CProfileKeypadVolumeSettingItem.h"
-#include "CProfileKeypadVolumeSettingPage.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CProfileKeypadVolumeSettingItem::CProfileKeypadVolumeSettingItem
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CProfileKeypadVolumeSettingItem::CProfileKeypadVolumeSettingItem(
- TInt aIdentifier,
- TInt& aValue,
- CAknKeySoundSystem* aSoundSystem )
- : CAknEnumeratedTextPopupSettingItem( aIdentifier, aValue ),
- iSoundSystem( aSoundSystem )
- {
- }
-
-// -----------------------------------------------------------------------------
-// CProfileKeypadVolumeSettingItem::CompleteConstructionL
-// -----------------------------------------------------------------------------
-//
-void CProfileKeypadVolumeSettingItem::CompleteConstructionL()
- {
- CAknEnumeratedTextPopupSettingItem::CompleteConstructionL();
- CArrayPtr<CAknEnumeratedText>* array = EnumeratedTextArray();
- TInt count( array->Count() );
- HBufC* text = NULL;
- while( count-- )
- {
- text = array->At( count )->Value();
- TPtr modifiable( text->Des() );
- AknTextUtils::LanguageSpecificNumberConversion( modifiable );
- }
- }
-
-// -----------------------------------------------------------------------------
-// CProfileKeypadVolumeSettingItem::CreateSettingPageL
-// -----------------------------------------------------------------------------
-//
-CAknSettingPage* CProfileKeypadVolumeSettingItem::CreateSettingPageL()
- {
- return new( ELeave ) CProfileKeypadVolumeSettingPage(
- SettingPageResourceId(),
- *QueryValue(),
- iSoundSystem );
- }
-
-// End of File
--- a/profilesapplication/Profiles/ProfileApp/SettingsViewSrc/CProfileKeypadVolumeSettingItem.h Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,74 +0,0 @@
-/*
-* Copyright (c) 2002 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: Setting item class for keypad volume setting.
-*
-*/
-
-
-
-#ifndef CPROFILEKEYPADVOLUMESETTINGITEM_H
-#define CPROFILEKEYPADVOLUMESETTINGITEM_H
-
-// INCLUDES
-#include <aknsettingitemlist.h>
-
-// FORWARD DECLARATIONS
-class CAknSettingPage;
-class CAknKeySoundSystem;
-
-// CLASS DECLARATION
-/**
-* Setting item class for keypad volume setting.
-* CProfileKeypadVolumeSettingItem extends CAknEnumeratedTextPopupSettingItem
-* in order to launch
-* CProfileKeypadVolumeSettingPage instead of CAknPopupSettingPage.
-*
-* @lib ProfileSettingsView.lib
-* @since 1.2
-*/
-NONSHARABLE_CLASS( CProfileKeypadVolumeSettingItem )
- : public CAknEnumeratedTextPopupSettingItem
- {
- public: // Constructor
-
- /**
- * C++ constructor.
- */
- CProfileKeypadVolumeSettingItem(
- TInt aIdentifier,
- TInt& aValue,
- CAknKeySoundSystem* aSoundSystem );
-
- private: // Functions from base classes
-
- /**
- * From CAknEnumeratedTextPopupSettingItem
- */
- void CompleteConstructionL();
-
- /**
- * From CAknEnumeratedTextPopupSettingItem
- */
- CAknSettingPage* CreateSettingPageL();
-
- private: // Data
-
- // Ref: Pointer to AVKON key sound system
- CAknKeySoundSystem* iSoundSystem;
-
- };
-
-#endif // CPROFILEKEYPADVOLUMESETTINGITEM_H
-
-// End of File
--- a/profilesapplication/Profiles/ProfileApp/SettingsViewSrc/CProfileKeypadVolumeSettingPage.cpp Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,198 +0,0 @@
-/*
-* Copyright (c) 2002 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: Setting page class for keypad volume setting.
-*
-*/
-
-
-
-// INCLUDES
-#include "CProfileKeypadVolumeSettingPage.h"
-
-#include <AudioPreference.h>
-#include <aknsoundsystem.h>
-#include <StringLoader.h> // For StringLoader
-#include <aknnotewrappers.h> // For CAknInformationNote
-#include <ProfileSettingsView.rsg>
-
-// for power save mode handling
-#include <psmsettings.h>
-#include <psmsrvdomaincrkeys.h>
-#include <centralrepository.h>
-
-namespace
- {
-// CONSTANTS
-#ifdef __WINS__
- // These constants are for WINS only because sequences are not played in emulator.
- const TInt KKeypadToneFrequency( 1760 ); /// In Hz
- const TInt KKeypadToneDuration( 20000 ); /// In microseconds
-#endif // __WINS__
- }
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CProfileKeypadVolumeSettingPage::CProfileKeypadVolumeSettingPage
-// C++ constructor can NOT contain any code, that might leave.
-// -----------------------------------------------------------------------------
-//
-CProfileKeypadVolumeSettingPage::CProfileKeypadVolumeSettingPage(
- TInt aResourceID,
- MAknQueryValue& aQueryValue,
- CAknKeySoundSystem* aSoundSystem )
- : CAknPopupSettingPage( aResourceID, aQueryValue ),
- iSoundSystem( aSoundSystem )
- {
- }
-
-// Destructor.
-CProfileKeypadVolumeSettingPage::~CProfileKeypadVolumeSettingPage()
- {
- if( iAudioUtility )
- {
- if( iAudioUtility->State() != EMdaAudioToneUtilityNotReady )
- {
- // Set volume back to original
- iAudioUtility->SetVolume( iOriginalVolume );
- }
- delete iAudioUtility;
- }
- if( iSoundSystem )
- {
- // Re-enable keypad sounds
- iSoundSystem->PopContext();
- }
- }
-
-// -----------------------------------------------------------------------------
-// CProfileKeypadVolumeSettingPage::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CProfileKeypadVolumeSettingPage::ConstructL()
- {
- User::LeaveIfNull( iSoundSystem );
-
- CAknPopupSettingPage::ConstructL();
-
- // Own construction starts here
-
- // Disable keypad sounds
- iSoundSystem->PushContextL( R_AVKON_SILENT_SKEY_LIST );
-
- // Create audio player and prepare to play a tone
- iAudioUtility = CMdaAudioToneUtility::NewL( *this );
-
-#ifdef __WINS__ // Sequences are not supported on emulator
- iAudioUtility->PrepareToPlayTone( KKeypadToneFrequency,
- TTimeIntervalMicroSeconds( KKeypadToneDuration ) );
-#else
- CAknSoundInfo* soundInfo = CAknSoundInfo::NewL();
- CleanupStack::PushL( soundInfo );
- User::LeaveIfError( iSoundSystem->RequestSoundInfoL(
- EAvkonSIDStandardKeyClick, *soundInfo ) );
- iAudioUtility->PrepareToPlayDesSequence( *soundInfo->iSequence );
- CleanupStack::PopAndDestroy( soundInfo );
-#endif // __WINS__
- }
-
-
-// -----------------------------------------------------------------------------
-// CProfileKeypadVolumeSettingPage::OkToExitL
-// -----------------------------------------------------------------------------
-//
-TBool CProfileKeypadVolumeSettingPage::OkToExitL( TBool aAccept )
- {
- if( aAccept )
- {
- TInt psm = EPsmsrvModeNormal;
- CRepository* cenrep = CRepository::NewLC( KCRUidPowerSaveMode );
- cenrep->Get( KPsmCurrentMode, psm );
- CleanupStack::PopAndDestroy( cenrep );
- if( psm == EPsmsrvModePowerSave )
- {
- HBufC* buf = StringLoader::LoadLC( R_PROFILE_TEXT_PSM_INFONOTE );
- CAknInformationNote* queryDialog = new (ELeave) CAknInformationNote( EFalse );
- queryDialog->ExecuteLD( *buf );
- CleanupStack::PopAndDestroy( buf );
- }
- }
- return ETrue;
- }
-
-// -----------------------------------------------------------------------------
-// CProfileKeypadVolumeSettingPage::OfferKeyEventL
-// -----------------------------------------------------------------------------
-//
-TKeyResponse CProfileKeypadVolumeSettingPage::OfferKeyEventL(
- const TKeyEvent& aKeyEvent, TEventCode aType )
- {
- // Cache pointer used multiple times
- CAknSetStyleListBox* listBoxControl = ListBoxControl();
- // Get current index from listbox
- TInt oldIndex( listBoxControl->CurrentItemIndex() );
- // Call OfferKeyEventL of base class
- TKeyResponse response( CAknPopupSettingPage::OfferKeyEventL( aKeyEvent, aType ) );
- // Get audio player state
- TInt state( iAudioUtility->State() );
- // Get new index from listbox
- TInt newIndex( listBoxControl->CurrentItemIndex() );
-
- if( ( oldIndex != newIndex ) && // check if listbox focus has changed
- ( newIndex != 0 ) && // check that new focus is not on first item "Off"
- ( state != EMdaAudioToneUtilityNotReady ) ) // check that tone player is ready
- {
- // Resolve last index of listbox
- TInt lastIndex( listBoxControl->Model()->MatchableTextArray()->MdcaCount() - 1 );
- // Resolve correct volume from current listbox index
- TInt volume( iAudioUtility->MaxVolume() * newIndex / lastIndex );
-
- if( state == EMdaAudioToneUtilityPlaying )
- {
- // Cancel play if still playing previous keyclick
- iAudioUtility->CancelPlay();
- }
- iAudioUtility->SetVolume( volume );
- iAudioUtility->Play();
- }
- return response;
- }
-
-// -----------------------------------------------------------------------------
-// CProfileKeypadVolumeSettingPage::MatoPrepareComplete
-// -----------------------------------------------------------------------------
-//
-void CProfileKeypadVolumeSettingPage::MatoPrepareComplete( TInt aError )
- {
- if( !aError )
- {
- // After prepare is completed, store original volume level
- iOriginalVolume = iAudioUtility->Volume();
- // Set priority
- iAudioUtility->SetPriority( KAudioPriorityKeyPress,
- TMdaPriorityPreference( KAudioPrefKeyPressPreview ) );
- }
- }
-
-// -----------------------------------------------------------------------------
-// CProfileKeypadVolumeSettingPage::MatoPlayComplete
-// Error ignored because if playing of the keypad tone is unsuccesful
-// nothing can be done.
-// -----------------------------------------------------------------------------
-//
-void CProfileKeypadVolumeSettingPage::MatoPlayComplete( TInt /*aError*/ )
- {
- }
-
-// End of File
--- a/profilesapplication/Profiles/ProfileApp/SettingsViewSrc/CProfileKeypadVolumeSettingPage.h Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,103 +0,0 @@
-/*
-* Copyright (c) 2002 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: Setting page class for keypad volume setting.
-*
-*/
-
-
-
-#ifndef CPROFILEKEYPADVOLUMESETTINGPAGE_H
-#define CPROFILEKEYPADVOLUMESETTINGPAGE_H
-
-// INCLUDES
-#include <aknpopupsettingpage.h>
-#include <mdaaudiotoneplayer.h>
-
-// FORWARD DECLARATIONS
-class CAknKeySoundSystem;
-
-// CLASS DECLARATION
-/**
-* Setting page class for keypad volume setting.
-* CProfileKeypadVolumeSettingPage extends CAknPopupSettingPage in order to
-* play a preview sound of the selected keypad volume when changing focus
-* in the setting list.
-*
-* @lib ProfileSettingsView.lib
-* @since 1.2
-*/
-class CProfileKeypadVolumeSettingPage : public CAknPopupSettingPage
- , public MMdaAudioToneObserver
- {
- public: // Constructors and destructor
-
- /**
- * C++ constructor.
- * @param aResourceID Setting page resource id.
- * @param aQueryValue
- * @param aSoundSystem Pointer to AVKON key sound system.
- */
- CProfileKeypadVolumeSettingPage(
- TInt aResourceID,
- MAknQueryValue& aQueryValue,
- CAknKeySoundSystem* aSoundSystem );
-
- /**
- * Destructor.
- */
- ~CProfileKeypadVolumeSettingPage();
-
- /**
- * Symbian 2nd phase constructor.
- */
- void ConstructL();
-
- private: // Function from base classes
-
- /**
- * From CCoeControl
- */
- TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent, TEventCode aType );
-
- /**
- * From CAknSettingPage
- */
- TBool OkToExitL( TBool aAccept );
-
- /**
- * From MMdaAudioToneObserver
- */
- void MatoPrepareComplete( TInt aError );
-
- /**
- * From MMdaAudioToneObserver
- */
- void MatoPlayComplete( TInt aError );
-
- private: // Data
-
- // Ref: Pointer to AVKON key sound system.
- CAknKeySoundSystem* iSoundSystem;
-
- // Own: Media client to play audio.
- CMdaAudioToneUtility* iAudioUtility;
-
- // Original volume value.
- TInt iOriginalVolume;
-
- };
-
-#endif // CPROFILEKEYPADVOLUMESETTINGPAGE_H
-
-// End of File
--- a/profilesapplication/Profiles/ProfileApp/SettingsViewSrc/CProfileNameSettingItem.cpp Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,59 +0,0 @@
-/*
-* Copyright (c) 2002 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: Setting item class for profile name setting.
-*
-*/
-
-
-
-// INCLUDES
-#include "CProfileNameSettingItem.h"
-#include "CProfileNameSettingPage.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CProfileNameSettingItem::CProfileNameSettingItem
-// C++ constructor can NOT contain any code, that might leave.
-// -----------------------------------------------------------------------------
-//
-CProfileNameSettingItem::CProfileNameSettingItem(
- TInt aIdentifier,
- TDes& aText,
- CProfileEngineHandler& aEngineHandler )
- : CAknTextSettingItem( aIdentifier, aText ),
- iEngineHandler( aEngineHandler )
- {
- }
-
-// -----------------------------------------------------------------------------
-// CProfileNameSettingItem::EditItemL
-// We do not need to know if the setting page has been launched
-// with selection key or from Options menu.
-// -----------------------------------------------------------------------------
-//
-void CProfileNameSettingItem::EditItemL( TBool /* aCalledFromMenu */ )
- {
- CProfileNameSettingPage* dlg = new( ELeave ) CProfileNameSettingPage(
- SettingPageResourceId(),
- InternalTextPtr(),
- SettingPageFlags(),
- iEngineHandler );
- SetSettingPage( dlg );
- dlg->SetSettingPageObserver( this );
- dlg->ExecuteLD( CAknSettingPage::EUpdateWhenChanged );
- SetSettingPage( NULL ); // it is deleted now
- }
-
-// End of File
--- a/profilesapplication/Profiles/ProfileApp/SettingsViewSrc/CProfileNameSettingItem.h Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,69 +0,0 @@
-/*
-* Copyright (c) 2002 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: Setting item class for profile name setting.
-*
-*/
-
-
-
-#ifndef CPROFILENAMESETTINGITEM_H
-#define CPROFILENAMESETTINGITEM_H
-
-// INCLUDES
-#include <aknsettingitemlist.h>
-
-// FORWARD DECLARATIONS
-class CProfileEngineHandler;
-
-// CLASS DECLARATION
-/**
-* Setting item class for profile name setting.
-* CProfileNameSettingItem extends CAknTextSettingItem in order to launch
-* CProfileNameSettingPage instead of CCAknTextSettingPage.
-*
-* @lib ProfileSettingsView.lib
-* @since 1.2
-*/
-NONSHARABLE_CLASS( CProfileNameSettingItem ) : public CAknTextSettingItem
- {
- public: // Constructor
-
- /**
- * C++ constructor.
- * @param aIdentifier Setting item identifier.
- * @param aText A descriptor where new profile name is stored.
- * @param aEngineHandler Profile Engine Handler.
- */
- CProfileNameSettingItem(
- TInt aIdentifier,
- TDes& aText,
- CProfileEngineHandler& aEngineHandler );
-
- private: // Functions from base classes
-
- /**
- * From CAknSettingItem
- */
- void EditItemL( TBool aCalledFromMenu );
-
- private: // Data
-
- // Profile Engine Handler.
- CProfileEngineHandler& iEngineHandler;
-
- };
-
-#endif // CPROFILENAMESETTINGITEM_H
-
-// End of File
--- a/profilesapplication/Profiles/ProfileApp/SettingsViewSrc/CProfileNameSettingPage.cpp Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,85 +0,0 @@
-/*
-* Copyright (c) 2002 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: Setting page class for profile name setting.
-*
-*/
-
-
-
-// INCLUDES
-#include "CProfileNameSettingPage.h"
-
-#include <aknnotewrappers.h>
-#include <mprofilesnamesarray.h>
-#include <ProfileSettingsView.rsg>
-#include <StringLoader.h>
-
-#include "CProfileEngineHandler.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CProfileNameSettingPage::CProfileNameSettingPage
-// C++ constructor can NOT contain any code, that might leave.
-// -----------------------------------------------------------------------------
-//
-CProfileNameSettingPage::CProfileNameSettingPage(
- TInt aResourceID,
- TDes& aText,
- TInt aTextSettingPageFlags,
- CProfileEngineHandler& aEngineHandler )
- : CAknTextSettingPage( aResourceID, aText, aTextSettingPageFlags ),
- iEngineHandler( aEngineHandler ),
- iOriginalText( aText )
- {
- }
-
-// -----------------------------------------------------------------------------
-// CProfileNameSettingPage::OkToExitL
-// -----------------------------------------------------------------------------
-//
-TBool CProfileNameSettingPage::OkToExitL( TBool aAccept )
- {
- if( aAccept )
- {
- CEikEdwin* edwin = TextControl();
- TBuf<KProfileMaxProfileNameLength> editedName;
- edwin->GetText( editedName );
-
- if( editedName.Compare( iOriginalText ) == 0 )
- {
- return ETrue;
- }
- if( iEngineHandler.IdArray()->FindByName( editedName ) != KErrNotFound )
- {
- // A profile was found that has the same name which user just entered
- // and it isn't the currently modified profile
-
- // Show error note
- HBufC* errorText = StringLoader::LoadLC( R_PROFILE_TEXT_RENAME_ERROR );
- CAknErrorNote* note = new( ELeave ) CAknErrorNote( ETrue );
- note->ExecuteLD( *errorText );
- CleanupStack::PopAndDestroy( errorText );
-
- // Set original text to editor
- edwin->SetTextL( &iOriginalText );
-
- // Don't let the setting page exit
- return EFalse;
- }
- }
- return ETrue;
- }
-
-// End of File
--- a/profilesapplication/Profiles/ProfileApp/SettingsViewSrc/CProfileNameSettingPage.h Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,76 +0,0 @@
-/*
-* Copyright (c) 2002 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: Setting page class for profile name setting.
-*
-*/
-
-
-
-#ifndef CPROFILENAMESETTINGPAGE_H
-#define CPROFILENAMESETTINGPAGE_H
-
-// INCLUDES
-#include "CProfileStruct.h" // KProfileMaxProfileNameLength
-#include <akntextsettingpage.h>
-
-// FORWARD DECLARATIONS
-class CProfileEngineHandler;
-
-// CLASS DECLARATION
-/**
-* Setting page class for profile name setting.
-* CProfileNameSettingPage extends CAknTextSettingPage in order to check
-* validity of user typed profile name.
-* Error note is shown if entered profile name already exists.
-*
-* @lib ProfileSettingsView.lib
-* @since 1.2
-*/
-NONSHARABLE_CLASS( CProfileNameSettingPage ) : public CAknTextSettingPage
- {
- public: // Constructors and destructor
-
- /**
- * C++ constructor.
- * @param aResourceID Setting page resource ID.
- * @param aText The new profile name will be stored here.
- * @param aTextSettingPageFlags Flags for the setting page.
- * @param aEngineHandler Profile Engine Handler.
- */
- CProfileNameSettingPage(
- TInt aResourceID,
- TDes& aText,
- TInt aTextSettingPageFlags,
- CProfileEngineHandler& aEngineHandler );
-
- private: // Functions from base classes
-
- /**
- * From CAknSettingPage
- */
- TBool OkToExitL( TBool aAccept );
-
- private: // Data
-
- /// Profile Engine Handler;
- CProfileEngineHandler& iEngineHandler;
-
- /// The original profile name
- TBuf<KProfileMaxProfileNameLength> iOriginalText;
-
- };
-
-#endif // CPROFILENAMESETTINGPAGE_H
-
-// End of File
--- a/profilesapplication/Profiles/ProfileApp/SettingsViewSrc/CProfileNaviPaneContainer.cpp Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,125 +0,0 @@
-/*
-* Copyright (c) 2002 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: Container for navi pane decorator.
-*
-*/
-
-
-
-// INCLUDE FILES
-#include "CProfileNaviPaneContainer.h"
-
-#include <aknnavide.h>
-#include <aknnavilabel.h>
-#include <eikspane.h>
-#include <avkon.hrh> // EEikStatusPaneUidNavi
-#include <AknUtils.h> // AknTextUtils
-#include <MProfilesNamesArray.h>
-#include <MProfileEngineExtended.h>
-#include <MProfileName.h>
-
-#include "CProfileEngineHandler.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CProfileNaviPaneContainer::CProfileNaviPaneContainer
-// C++ constructor can NOT contain any code, that might leave.
-// -----------------------------------------------------------------------------
-//
-CProfileNaviPaneContainer::CProfileNaviPaneContainer(
- CProfileEngineHandler& aEngineHandler )
- : iEngineHandler( aEngineHandler )
- {
- }
-
-// -----------------------------------------------------------------------------
-// CProfileNaviPaneContainer::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CProfileNaviPaneContainer::ConstructL( CEikStatusPane& aStatusPane )
- {
- iNaviPane = static_cast< CAknNavigationControlContainer* >(
- aStatusPane.ControlL( TUid::Uid( EEikStatusPaneUidNavi ) ) );
- iNaviDecorator = iNaviPane->CreateNavigationLabelL();
- iNaviPane->PushL( *iNaviDecorator );
- }
-
-// -----------------------------------------------------------------------------
-// CProfileNaviPaneContainer::NewLC
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CProfileNaviPaneContainer* CProfileNaviPaneContainer::NewL(
- CEikStatusPane& aStatusPane, CProfileEngineHandler& aEngineHandler )
- {
- CProfileNaviPaneContainer* self =
- new( ELeave ) CProfileNaviPaneContainer( aEngineHandler );
- CleanupStack::PushL( self );
- self->ConstructL( aStatusPane );
- CleanupStack::Pop( self );
- return self;
- }
-
-// Destructor
-CProfileNaviPaneContainer::~CProfileNaviPaneContainer()
- {
- Release();
- }
-
-// -----------------------------------------------------------------------------
-// CProfileNaviPaneContainer::SetNaviPaneTextL
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CProfileNaviPaneContainer::SetNaviPaneTextL( const TDesC& aText )
- {
- CAknNaviLabel* label = static_cast< CAknNaviLabel* >(
- iNaviDecorator->DecoratedControl() );
- RBuf title;
- title.CreateL( aText );
- CleanupClosePushL( title );
- AknTextUtils::DisplayTextLanguageSpecificNumberConversion( title );
- label->SetTextL( title );
- CleanupStack::PopAndDestroy( &title );
- label->DrawDeferred();
- }
-
-// -----------------------------------------------------------------------------
-// CProfileNaviPaneContainer::SetNaviPaneTextL
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CProfileNaviPaneContainer::SetNaviPaneTextL()
- {
- iEngineHandler.ReadIdArrayL();
- MProfilesNamesArray* nameArray = iEngineHandler.IdArray();
- TInt index( nameArray->FindById( iEngineHandler.Engine()->ActiveProfileId() ) );
- SetNaviPaneTextL( nameArray->ProfileName( index )->NaviName() );
- }
-
-// -----------------------------------------------------------------------------
-// CProfileNaviPaneContainer::SetNaviPaneTextL
-// -----------------------------------------------------------------------------
-//
-void CProfileNaviPaneContainer::Release()
- {
- if( iNaviDecorator )
- {
- iNaviPane->Pop( iNaviDecorator );
- delete iNaviDecorator;
- iNaviDecorator = NULL;
- }
- }
-
-// End of File
--- a/profilesapplication/Profiles/ProfileApp/SettingsViewSrc/CProfilePlayingVolumeSettingItem.cpp Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,65 +0,0 @@
-/*
-* Copyright (c) 2002 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: Setting item class for ringing volume setting.
-*
-*/
-
-
-
-// INCLUDES
-#include "CProfilePlayingVolumeSettingItem.h"
-#include "CProfilePlayingVolumeSettingPage.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CProfilePlayingVolumeSettingItem::CProfilePlayingVolumeSettingItem
-// C++ constructor can NOT contain any code, that might leave.
-// -----------------------------------------------------------------------------
-//
-CProfilePlayingVolumeSettingItem::CProfilePlayingVolumeSettingItem(
- TInt aIdentifier,
- TInt& aRingingVolume,
- const TDesC& aRingingTone,
- const TInt& aRingingType,
- const TBool& aVibratingAlert,
- const TBool aDisplayQuery )
- : CAknVolumeSettingItem( aIdentifier, aRingingVolume ),
- iRingingTone( aRingingTone ),
- iRingingType( aRingingType ),
- iVibratingAlert( aVibratingAlert ),
- iDisplayQuery( aDisplayQuery )
- {
- }
-
-// -----------------------------------------------------------------------------
-// CProfilePlayingVolumeSettingItem::EditItemL
-// -----------------------------------------------------------------------------
-//
-void CProfilePlayingVolumeSettingItem::EditItemL( TBool /* aCalledFromMenu */ )
- {
- CProfilePlayingVolumeSettingPage* dlg = new( ELeave ) CProfilePlayingVolumeSettingPage(
- SettingPageResourceId(),
- InternalVolumeValue(),
- iRingingTone,
- iRingingType,
- iVibratingAlert,
- iDisplayQuery );
- SetSettingPage( dlg );
- SettingPage()->SetSettingPageObserver( this );
- SettingPage()->ExecuteLD();
- SetSettingPage( NULL );
- }
-
-// End of File
--- a/profilesapplication/Profiles/ProfileApp/SettingsViewSrc/CProfilePlayingVolumeSettingItem.h Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,87 +0,0 @@
-/*
-* Copyright (c) 2002 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: Setting item class for ringing volume setting.
-*
-*/
-
-
-
-#ifndef CPROFILEPLAYINGVOLUMESETTINGITEM_H
-#define CPROFILEPLAYINGVOLUMESETTINGITEM_H
-
-// INCLUDES
-#include <aknsettingitemlist.h>
-
-// FORWARD DECLARATIONS
-
-// CLASS DECLARATION
-/**
-* Setting item class for ringing volume setting.
-* CProfilePlayingVolumeSettingItem extends CAknVolumeSettingItem
-* in order to launch CProfilePlayingVolumeSettingPage
-* instead of CAknVolumeSettingPage.
-*
-* @lib ProfileSettingsView.lib
-* @since 1.2
-*/
-NONSHARABLE_CLASS( CProfilePlayingVolumeSettingItem ) : public CAknVolumeSettingItem
- {
- public: // Constructors and destructor
-
- /**
- * C++ constructor.
- * @param aIdentifier Setting item identifier.
- * @param aRingingVolume Ringing volume.
- * @param aRingingTone Ringing tone.
- * @param aRingingType Ringint type.
- * @param aVibratingAlert Vibrating alert.
- * @param aDisplayQuery Information of whether
- * CProfilePlayingVolumeSettingPage
- * should display confirmation note
- * when setting maximum volume
- */
- CProfilePlayingVolumeSettingItem(
- TInt aIdentifier,
- TInt& aRingingVolume,
- const TDesC& aRingingTone,
- const TInt& aRingingType,
- const TBool& aVibratingAlert,
- const TBool aDisplayQuery );
-
- private: // Functions from base classes
-
- /**
- * From CAknVolumeSettingItem
- */
- void EditItemL( TBool aCalledFromMenu );
-
- private: // Data
-
- // Ringing tone.
- const TDesC& iRingingTone;
-
- // Ringing type.
- const TInt& iRingingType;
-
- // Vibrating alert.
- const TBool& iVibratingAlert;
-
- // Display confirmation note.
- const TBool iDisplayQuery;
-
- };
-
-#endif // CPROFILEPLAYINGVOLUMESETTINGITEM_H
-
-// End of File
--- a/profilesapplication/Profiles/ProfileApp/SettingsViewSrc/CProfilePlayingVolumeSettingPage.cpp Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,250 +0,0 @@
-/*
-* Copyright (c) 2002 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: Setting page class for ringing volume setting.
-*
-*/
-
-
-
-// INCLUDES
-#include "CProfilePlayingVolumeSettingPage.h"
-
-#include <AknQueryDialog.h>
-#include <CFLDController.h>
-#include <ProfileSettingsView.rsg>
-#include "CProfileStruct.h" // KProfileMaxProfileNameLength
-#include <apgcli.h> // For RApaLsSession
-#include <bautils.h> // For BaflUtils
-#include <centralrepository.h>
-#include <ProfileEngineInternalCRKeys.h>
-
-// CONSTANTS
-namespace
- {
- const TInt KRepeatDelayInMicroSeconds( 1000000 ); // One second
-
-#ifdef RD_VIDEO_AS_RINGING_TONE
- _LIT( KFLDCommonVideoType, "video/*" );
- _LIT( KFLDRM1VideoMimeType, "application/vnd.rn-realmedia" );
- _LIT( KFLDRM2VideoMimeType, "application/x-pn-realmedia" );
- _LIT( KFLDSDPVideoMimeType, "application/sdp" );
-#endif
-
- }
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CProfilePlayingVolumeSettingPage::CProfilePlayingVolumeSettingPage
-// C++ constructor can NOT contain any code, that might leave.
-// -----------------------------------------------------------------------------
-//
-CProfilePlayingVolumeSettingPage::CProfilePlayingVolumeSettingPage(
- TInt aResourceID,
- TInt& aVolume,
- const TDesC& aRingingTone,
- const TInt& aRingingType,
- const TBool& aVibratingAlert,
- TBool aDisplayQuery )
- : CAknVolumeSettingPage( aResourceID, aVolume ),
- iRingingTone( aRingingTone ),
- iRingingType( aRingingType ),
- iVibratingAlert( aVibratingAlert ),
- iDisplayQuery( aDisplayQuery )
- {
- }
-
-// -----------------------------------------------------------------------------
-// CProfilePlayingVolumeSettingPage::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CProfilePlayingVolumeSettingPage::ConstructL()
- {
- CAknVolumeSettingPage::ConstructL();
- TBool showErrorMsgs( EFalse );
-
- iFs = new ( ELeave ) RFs;
- User::LeaveIfError( iFs->Connect() );
-
- CheckRingingToneTypeL();
-
- iController = CFLDController::NewL( showErrorMsgs, KRepeatDelayInMicroSeconds );
- iController->CompleteConstructionL( Window() );
- iController->SetRingingType( iRingingType );
- iController->SetVibra( iVibratingAlert );
- }
-
-// Destructor.
-CProfilePlayingVolumeSettingPage::~CProfilePlayingVolumeSettingPage()
- {
- if( iFs )
- {
- iFs->Close();
- }
- delete iFs;
- delete iController;
- delete iPreviewTone;
- }
-
-// -----------------------------------------------------------------------------
-// CProfilePlayingVolumeSettingPage::OfferKeyEventL
-// -----------------------------------------------------------------------------
-//
-TKeyResponse CProfilePlayingVolumeSettingPage::OfferKeyEventL(
- const TKeyEvent& aKeyEvent, TEventCode aType )
- {
- if( aType == EEventKey )
- {
- if( ( aKeyEvent.iCode == EKeyLeftArrow ) ||
- ( aKeyEvent.iCode == EKeyRightArrow ) )
- {
- // Cache pointer
- CAknVolumeControl* volumeControl = VolumeControl();
- // Get current volume level
- TInt currentVolume( volumeControl->Value() );
- // Call base classes method
- TKeyResponse response( CAknVolumeSettingPage::OfferKeyEventL( aKeyEvent, aType ) );
- // Get new volume level
- TInt newVolume( volumeControl->Value() );
- if( newVolume != currentVolume )
- {
- // Volume level has changed
- CheckRingingToneTypeL();
- iController->SetVolume( newVolume );
- iController->HandleFileListBoxEventL(
- MFLDFileListBoxObserver::EFocusChanged, iPreviewTone->Des() );
- }
- return response;
- }
- // Cancels playback on any key event
- iController->HandleFileListBoxEventL(
- MFLDFileListBoxObserver::EOtherKeyEvent, iPreviewTone->Des() );
- }
- return CAknVolumeSettingPage::OfferKeyEventL( aKeyEvent, aType );
- }
-
-
-// -----------------------------------------------------------------------------
-// CProfilePlayingVolumeSettingPage::HandlePointerEventL
-// -----------------------------------------------------------------------------
-//
-void CProfilePlayingVolumeSettingPage::HandlePointerEventL(
- const TPointerEvent& aPointerEvent )
- {
- if( aPointerEvent.iType == TPointerEvent::EButton1Down )
- {
- // Get current volume level
- iTempVolume = VolumeControl()->Value();
- }
- else if( aPointerEvent.iType == TPointerEvent::EButton1Up )
- {
- CAknVolumeSettingPage::HandlePointerEventL( aPointerEvent );
- // Get new volume level
- TInt newVolume( VolumeControl()->Value() );
- if( newVolume != iTempVolume )
- {
- // Volume level has changed
- CheckRingingToneTypeL();
- iController->SetVolume( newVolume );
- iController->HandleFileListBoxEventL(
- MFLDFileListBoxObserver::EFocusChanged, iPreviewTone->Des() );
- }
- return;
- }
- // Cancels playback on any key event
- iController->HandleFileListBoxEventL(
- MFLDFileListBoxObserver::EOtherKeyEvent, iPreviewTone->Des() );
-
- CAknVolumeSettingPage::HandlePointerEventL( aPointerEvent );
- }
-
-
-// -----------------------------------------------------------------------------
-// CProfilePlayingVolumeSettingPage::OkToExitL
-// -----------------------------------------------------------------------------
-//
-TBool CProfilePlayingVolumeSettingPage::OkToExitL(TBool aAccept)
- {
- if( aAccept )
- {
- CAknVolumeControl* volumeControl = VolumeControl();
- if(( volumeControl->Value() == KProfileMaxVolumeLevel ) // Maximum volume level
- && (iDisplayQuery)) // Maximum volume query is wanted
- {
- iController->HandleFileListBoxEventL(
- MFLDFileListBoxObserver::EListBoxClosed, KNullDesC );
-
- CAknQueryDialog* dlg = CAknQueryDialog::NewL();
- TBool returnValue( dlg->ExecuteLD( R_PROFILE_VOLUME_CONFIRMATION_QUERY ) );
- if( !returnValue )
- {
- // User didn't want to set volume to maximum level, set it one down.
- volumeControl->SetValue( KProfileMaxVolumeLevel - 1 );
- volumeControl->DrawDeferred();
- }
- return returnValue;
- }
- }
- return ETrue;
- }
-
-// -----------------------------------------------------------------------------
-// CProfilePlayingVolumeSettingPage::CheckRingingToneTypeL
-// -----------------------------------------------------------------------------
-//
-void CProfilePlayingVolumeSettingPage::CheckRingingToneTypeL()
- {
- // Get default tone from cenrep
- TFileName defaultTone;
- CRepository* cenrep = CRepository::NewL( KCRUidProfileEngine );
- CleanupStack::PushL( cenrep );
- User::LeaveIfError( cenrep->Get( KProEngDefaultRingingTone, defaultTone ) );
- CleanupStack::PopAndDestroy( cenrep );
-
- if( !BaflUtils::FileExists( *iFs, iRingingTone ) )
- {
- // If the file does not exist, use default tone for volume preview
- iPreviewTone = defaultTone.AllocL();
- return;
- }
-
-#ifdef RD_VIDEO_AS_RINGING_TONE
- // Find out MIME type
- RApaLsSession apaLsSession;
- User::LeaveIfError( apaLsSession.Connect() );
- CleanupClosePushL( apaLsSession );
- TUid dummyUid = { 0 }; // instantiate as zero
- TDataType dataType( dummyUid );
- User::LeaveIfError(
- apaLsSession.AppForDocument( iRingingTone, dummyUid, dataType ) );
- CleanupStack::PopAndDestroy(); // apaLsSession.Close()
-
- // See if this is a video MIME type
- if ( dataType.Des().MatchF( KFLDCommonVideoType ) == 0 ||
- dataType.Des().CompareF( KFLDRM1VideoMimeType ) == 0 ||
- dataType.Des().CompareF( KFLDRM2VideoMimeType ) == 0 ||
- dataType.Des().CompareF( KFLDSDPVideoMimeType ) == 0 )
- {
- iPreviewTone = defaultTone.AllocL();
- }
- else
- {
- iPreviewTone = iRingingTone.AllocL();
- }
-#else
- iPreviewTone = iRingingTone.AllocL();
-#endif
- }
-
-// End of File
--- a/profilesapplication/Profiles/ProfileApp/SettingsViewSrc/CProfilePlayingVolumeSettingPage.h Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,122 +0,0 @@
-/*
-* Copyright (c) 2002 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: Setting page class for ringing volume setting.
-*
-*/
-
-
-
-#ifndef CPROFILEPLAYINGVOLUMESETTINGPAGE_H
-#define CPROFILEPLAYINGVOLUMESETTINGPAGE_H
-
-// INCLUDES
-#include <aknvolumesettingpage.h>
-
-// FORWARD DECLARATIONS
-class CFLDController;
-
-// CLASS DECLARATION
-/**
-* Setting page class for ringing volume setting.
-* CProfilePlayingVolumeSettingPage extends CAknVolumeSettingPage in order to
-* play a ringing tone at selected volume and to show a confirmation query
-* if user selects the highest volume level.
-*
-* @lib ProfileSettingsView.lib
-* @since 1.2
-*/
-NONSHARABLE_CLASS( CProfilePlayingVolumeSettingPage ) : public CAknVolumeSettingPage
- {
- public: // Constructors and destructor
-
- /**
- * C++ constructor.
- * @param aResourceID Setting page resource ID.
- * @param aVolume Selected ringing tone will be stored here.
- * @param aRingingTone Ringing tone.
- * @param aRingingType Ringing type.
- * @param aVibratingAlert Vibrating alert.
- * @param aDisplayQuery Info whether to show
- * maximum volume query if volume is set to max
- */
- CProfilePlayingVolumeSettingPage(
- TInt aResourceID,
- TInt& aVolume,
- const TDesC& aRingingTone,
- const TInt& aRingingType,
- const TBool& aVibratingAlert,
- const TBool aDisplayQuery );
-
- /**
- * Symbian 2nd phase constructor.
- */
- void ConstructL();
-
- /**
- * Destructor.
- */
- ~CProfilePlayingVolumeSettingPage();
-
- private: // Functions from base classes
-
- /**
- * From CCoeControl
- */
- TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent, TEventCode aType );
- void HandlePointerEventL(const TPointerEvent& aPointerEvent);
-
- /**
- * From CAknSettingPage
- */
- TBool OkToExitL(TBool aAccept);
-
- private: // New functions
-
- /**
- * Checks if ringing tone is video and if so, sets default tone
- */
- void CheckRingingToneTypeL();
-
- private: // Data
-
- // Ringing tone.
- const TDesC& iRingingTone;
-
- // Ringing type.
- const TInt& iRingingType;
-
- // Vibrating alert.
- const TBool& iVibratingAlert;
-
- // Own: File List Dialog
- CFLDController* iController;
-
- // Information of whether to display
- // maximum volume query dialog
- const TBool iDisplayQuery;
-
- // Preview tone: either ringing tone or default tone
- HBufC* iPreviewTone;
-
- // Fileserver session
- RFs* iFs;
-
- // Temporary volume value
- TInt iTempVolume;
-
- };
-
-#endif // CPROFILEPLAYINGVOLUMESETTINGPAGE_H
-
-// End of File
--- a/profilesapplication/Profiles/ProfileApp/SettingsViewSrc/CProfileSettingsContainer.cpp Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,1521 +0,0 @@
-/*
-* Copyright (c) 2002 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: Container class of settings view.
-*
-*/
-
-
-
-// CLASS HEADER
-#include "CProfileSettingsContainer.h"
-
-// INTERNAL INCLUDES
-#include "CProfileEngineHandler.h"
-#include "CProfileIndexHandler.h"
-#include "CProfileTabHandler.h"
-#include "ProfileSettingsView.hrh"
-#include "CProfile3dSettingItem.h"
-#include "CProfileFeedbackSettingItem.h"
-#include "CProfileVibraSettingItem.h"
-#include "CProfilePlayingVolumeSettingItem.h"
-#include "CProfileNameSettingItem.h"
-#include "CProfileKeypadVolumeSettingItem.h"
-#include "CProfileFileListSettingItem.h"
-#include "CProfileAlertForSettingItem.h"
-#include "CProfileStruct.h"
-#include "mprofileslocalfeatures.h"
-#include "profilesvariant.hrh" // KProEngFeatureIdVTRingingTone
-#include "CProfileSettingsView.h"
-#include "MProfileViewHandler.h"
-#include "ProfilesDebug.h"
-
-// EXTERNAL INCLUDES
-#include <AknDef.h>
-#include <aknview.h>
-#include <akntitle.h>
-#include <akntextsettingpage.h>
-#include <aknsoundsystem.h>
-#include <eikapp.h>
-#include <csxhelp/mode.hlp.hrh>
-#include <featmgr.h>
-#include <mprofileextended.h>
-
-#include <mprofile3dtonesettings.h>
-#include <mprofilefeedbacksettings.h>
-#include <mprofileextrasettings.h>
-
-#include <mprofileengineextended.h>
-#include <mprofilesnamesarray.h>
-#include <mprofilename.h>
-#include <cprofilechangenotifyhandler.h>
-#include <ProfileSettingsView.rsg>
-#include <data_caging_path_literals.hrh>
-#include <centralrepository.h>
-#include <settingsinternalcrkeys.h>
-#include <bautils.h> // For BaflUtils
-#include <StringLoader.h> // For StringLoader
-#include <profileenginesdkcrkeys.h> // For KCRUidProfileEngine
-#include <profileengineinternalcrkeys.h> // For KProEngDefaultRingingTone
-#include <AknQueryDialog.h> // For CAknQueryDialog
-#include "CProfileNaviPaneContainer.h" // For CProfileNaviPaneContainer
-#include <aknnotewrappers.h> // For CAknInformationNote
-
-// for power save mode handling
-#include <psmsettings.h>
-#include <psmsrvdomaincrkeys.h>
-#include <e32property.h>
-#include <profileengineprivatepskeys.h>
-
-namespace
- {
- // CONSTANTS
- const TUid KUidProfileApp = { 0x100058F8 }; // UID of the application
- const TInt KVoIPOFF = 0;
-
- const TInt KFileCheckDelay = 100000; // microseconds
- const TInt KFileCheckInterval = 5000000;
-
- _LIT( KSettingsViewResourceFileName, "z:PROFILESETTINGSVIEW.RSC" );
-
- }
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CProfileSettingsContainer::CProfileSettingsContainer
-// C++ constructor can NOT contain any code, that might leave.
-// -----------------------------------------------------------------------------
-//
-CProfileSettingsContainer::CProfileSettingsContainer(
- MProfileViewHandler& aProfileViewHandler,
- CProfileEngineHandler& aEngineHandler,
- MProfileExternalSettingsHandler& aExternalSettingsHandler,
- CProfileIndexHandler* aIndexHandler,
- CProfileTabHandler* aTabHandler,
- CAknTitlePane* aTitlePane )
- :
- iResourceLoader( *iCoeEnv ),
- iProfileViewHandler( aProfileViewHandler ),
- iEngineHandler( aEngineHandler ),
- iExternalSettingsHandler( aExternalSettingsHandler ),
- iIndexHandler( aIndexHandler ),
- iTabHandler( aTabHandler ),
- iTitlePane( aTitlePane ),
- iAlternateLineService( EFalse )
- {
- SetMopParent( &( iProfileViewHandler.View() ) );
- }
-
-// -----------------------------------------------------------------------------
-// CProfileSettingsContainer::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CProfileSettingsContainer::ConstructL( const TRect& aRect,
- TInt aResourceId )
- {
- iFs = new ( ELeave ) RFs;
- User::LeaveIfError( iFs->Connect() );
-
- PRODEBUG1( "CProfileSettingsContainer ConstructL(%d)",aResourceId );
- if( iIndexHandler )
- {
- iIndexHandler->CreateIndexArrayL();
- }
-
- iCopyProfile = CProfileStruct::NewL();
-
- iLocalFeatures = &( iEngineHandler.Engine()->LocalFeatures() );
-
- // Read settings of currently selected profile
- ReadProfileL();
-
- // Read alternate line service setting and register as observer
- if( iSSSettings.Open() == KErrNone )
- {
- iSSSettings.Register( ESSSettingsAls, *this ); // ignore return value
- TInt als( ESSSettingsAlsNotSupported );
- iSSSettings.Get( ESSSettingsAls, als ); // ignore return value
- if( als != ESSSettingsAlsNotSupported )
- {
- iAlternateLineService = ETrue;
- }
- }
-
- // CRepository session for TTS ringingtone
- iTTSSession = CRepository::NewL( KCRUidProfilesLV );
-
- iDefaultTone = new( ELeave ) TFileName();
-
- iSession = CRepository::NewL(KCRUidProfileEngine);
- User::LeaveIfError( iSession->Get( KProEngDefaultRingingTone, *iDefaultTone ) );
-
- TInt VoIPSupported( 0 );
- iVoIPVariation = CRepository::NewL( KCRUidTelephonySettings );
- iVoIPVariation->Get( KDynamicVoIP, VoIPSupported );
- iVoIPVariationNotifier = CCenRepNotifyHandler::NewL( *this, *iVoIPVariation,
- CCenRepNotifyHandler::EIntKey, KDynamicVoIP );
- iVoIPVariationNotifier->StartListeningL();
-
- iVoIPStatus = KVoIPOFF != VoIPSupported;
-
- iKeySounds = static_cast< CAknAppUi* > ( iEikonEnv->AppUi() )->KeySounds();
-
- TParse* fp = new(ELeave) TParse();
- fp->Set(KSettingsViewResourceFileName, &KDC_RESOURCE_FILES_DIR, NULL);
- TFileName resourceFileName( fp->FullName() );
- delete fp;
-
- iResourceLoader.OpenL( resourceFileName );
-
- // Construct the setting items
- CAknSettingItemList::ConstructFromResourceL( aResourceId );
- // Hide all items that must be hidden
- SetHiddenFlagsL();
-
- if( iIndexHandler )
- {
- iIndexHandler->SetListBox( ListBox() );
- }
- if( iTabHandler )
- {
- iTabHandler->SetTabObserver( this );
- }
- else
- {
- // If the iTabHandler is NULL, set the navi label text to
- // the name of current profile.
- iNaviPaneContainer = CProfileNaviPaneContainer::NewL(
- *( iAvkonAppUi->StatusPane() ), iEngineHandler );
-
- MProfilesNamesArray* nameArray = iEngineHandler.IdArray();
- if( iIndexHandler )
- {
- iNaviPaneContainer->SetNaviPaneTextL(
- nameArray->MdcaPoint( iIndexHandler->CurrentProfileIndex() ) );
- }
- }
-
- iNotifier = CProfileChangeNotifyHandler::NewL( this );
-
- iExternalSettingsHandler.SetObserver( *this );
- SetRect( aRect );
- ActivateL();
- PRODEBUG1( "CProfileSettingsContainer ConstructL(%d) return",aResourceId );
-
- //CheckFileExistenceL();
- // If CheckFileExistenceL is called directly from
- // ConstructL, DoActivateL in ProfileApp::CProfileSettingsView will be
- // blocked while the notes are displayed, causing problems.
- // This timer will trigger only once (after 100 ms). After
- // that it will be destroyed.
- iPeriodic = CPeriodic::NewL( CActive::EPriorityStandard );
- iPeriodic->Start(KFileCheckDelay,
- KFileCheckInterval,
- TCallBack( CProfileSettingsContainer::StartFileCheckL, this )
- );
-
- }
-
-// -----------------------------------------------------------------------------
-// CProfileSettingsContainer::NewL
-// Two-phased constructor. Note, this constructor is DEPRECATED and will return
-// only NULL if called.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CProfileSettingsContainer* CProfileSettingsContainer::NewL(
- CAknView& /* aAknView */,
- CProfileEngineHandler& /* aEngineHandler */,
- CProfileIndexHandler* /* aIndexHandler */,
- CProfileTabHandler* /* aTabHandler */,
- CAknTitlePane* /* aTitlePane */ )
- {
- return NULL;
- }
-
-// -----------------------------------------------------------------------------
-// CProfileSettingsContainer::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CProfileSettingsContainer* CProfileSettingsContainer::NewL(
- MProfileViewHandler& aProfileViewHandler,
- CProfileEngineHandler& aEngineHandler,
- MProfileExternalSettingsHandler& aExternalSettingsHandler,
- CProfileIndexHandler* aIndexHandler,
- CProfileTabHandler* aTabHandler,
- CAknTitlePane* aTitlePane )
- {
- return CProfileSettingsContainer::NewL( aProfileViewHandler, aEngineHandler,
- aExternalSettingsHandler, aIndexHandler, aTabHandler, aTitlePane,
- R_PROFILE_SETTING_ITEM_LIST );
- }
-
-// -----------------------------------------------------------------------------
-// CProfileSettingsContainer::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CProfileSettingsContainer* CProfileSettingsContainer::NewL(
- MProfileViewHandler& aProfileViewHandler,
- CProfileEngineHandler& aEngineHandler,
- MProfileExternalSettingsHandler& aExternalSettingsHandler,
- CProfileIndexHandler* aIndexHandler,
- CProfileTabHandler* aTabHandler,
- CAknTitlePane* aTitlePane,
- TInt aResourceId )
- {
- CProfileSettingsContainer* self = new( ELeave ) CProfileSettingsContainer(
- aProfileViewHandler, aEngineHandler, aExternalSettingsHandler,
- aIndexHandler, aTabHandler, aTitlePane );
- CleanupStack::PushL( self );
- self->ConstructL( aProfileViewHandler.View().ClientRect(), aResourceId );
- CleanupStack::Pop( self );
- return self;
- }
-
-// Destructor.
-CProfileSettingsContainer::~CProfileSettingsContainer()
- {
- if( iPeriodic )
- {
- iPeriodic->Cancel();
- delete iPeriodic;
- }
-
- if( iFs )
- {
- iFs->Close();
- }
- delete iFs;
-
- PRODEBUG( "~CProfileSettingsContainer begin" );
- delete iNotifier;
- PRODEBUG( "~CProfileSettingsContainer 2" );
- if( iTabHandler )
- {
- iTabHandler->SetTabObserver( NULL );
- }
- PRODEBUG( "~CProfileSettingsContainer 3" );
- if( iIndexHandler )
- {
- iIndexHandler->SetListBox( NULL );
- }
- PRODEBUG( "~CProfileSettingsContainer 4" );
- iResourceLoader.Close();
- PRODEBUG( "~CProfileSettingsContainer 5" );
- ReleaseProfile();
- PRODEBUG( "~CProfileSettingsContainer 6" );
- delete iCopyProfile;
- PRODEBUG( "~CProfileSettingsContainer 7" );
-
- if ( iVoIPVariationNotifier )
- {
- iVoIPVariationNotifier->StopListening();
- delete iVoIPVariationNotifier;
- }
- if ( iVoIPVariation )
- {
- delete iVoIPVariation;
- }
-
- delete iTTSSession;
- delete iSession;
-
- delete iDefaultTone;
- PRODEBUG( "~CProfileSettingsContainer 8" );
-
- iSSSettings.Close();
- PRODEBUG( "~CProfileSettingsContainer end" );
- delete iNaviPaneContainer;
- }
-
-// ------------------------------------------------------------------------------
-// CProfileSettingsContainer::StartFileCheckL
-// ------------------------------------------------------------------------------
-//
-TInt CProfileSettingsContainer::StartFileCheckL( TAny* aObj )
- {
- static_cast<CProfileSettingsContainer*>(aObj)->DoFileCheckL();
- return 1;
- }
-
-// ------------------------------------------------------------------------------
-// CProfileSettingsContainer::DoFileCheckL
-// ------------------------------------------------------------------------------
-//
-void CProfileSettingsContainer::DoFileCheckL()
- {
- if( iPeriodic )
- {
- iPeriodic->Cancel();
- delete iPeriodic;
- iPeriodic = NULL;
- }
-
- CheckFileExistenceL();
- }
-
-// -----------------------------------------------------------------------------
-// CProfileSettingsContainer::AllowedToChange
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TBool CProfileSettingsContainer::AllowedToChange(
- TInt aSettingItemId ) const
- {
- TUint32 flags( iProfile->ModifiableFlags() );
- switch( aSettingItemId )
- {
- // Fall through: If ringing tone is not allowed to change, then none of
- // these setting items are allowed to change.
- case EProfileSettingRingingToneId:
- case EProfileSettingRingingToneLine1Id:
- case EProfileSettingRingingToneLine2Id:
- {
- TInt profileId( 0 );
- // Get id of the edited profile
- profileId=iProfile->ProfileName().Id();
- if( profileId == EProfileOffLineId )
- {
- // VOIP Changes: WLAN can be enabled also in off-line profile
- TBool featuresSupported(
- FeatureManager::FeatureSupported(KFeatureIdCommonVoip)
- &&
- FeatureManager::FeatureSupported(KFeatureIdProtocolWlan)
- );
- return ( ( flags & EProfileFlagRingingTone ) &&
- featuresSupported && iVoIPStatus );
- }
- else
- {
- return flags & EProfileFlagRingingTone;
- }
- }
-
-
- case EProfileSettingVideoCallToneId:
- {
- return flags & EProfileFlagVideoCallRingingTone;
- }
- case EProfileSettingRingingTypeId:
- {
- return flags & EProfileFlagRingingType;
- }
- case EProfileSettingRingingVolumeId:
- {
- return flags & EProfileFlagRingingVolume;
- }
- case EProfileSettingMediaVolumeId:
- {
- return flags & EProfileFlagMediaVolume;
- }
- case EProfileSettingMessageAlertToneId:
- {
- return flags & EProfileFlagMessageAlertTone;
- }
- case EProfileSettingEmailAlertToneId:
- {
- return flags & EProfileFlagEmailAlertTone;
- }
- case EProfileSettingVibratingAlertId:
- {
- return flags & EProfileFlagVibratingAlert;
- }
- case EProfileSettingEmailVibratingAlertId:
- {
- return flags & EProfileFlagVibratingAlert;
- }
- case EProfileSettingKeypadVolumeId:
- {
- return flags & EProfileFlagKeypadVolume;
- }
- case EProfileSettingWarningAndGameTonesId:
- {
- return flags & EProfileFlagWarningTones;
- }
- case EProfileSettingTTSRingingToneId:
- {
- return flags & EProfileFlagTextToSpeechTone;
- }
- case EProfileSettingAlertForId:
- {
- return flags & EProfileFlagAlertFor;
- }
- case EProfileSettingProfileNameId:
- {
- return flags & EProfileFlagProfileName;
- }
- case EProfileSettingPTTRingingToneId:
- {
- return flags & EProfileFlagPttTone;
- }
- case EProfileSettingPTTStatusId:
- {
- return flags & EProfileFlagPttStatus;
- }
- case EProfileSettingTactileFeedbackId:
- {
- return flags & EProfileFlagTactileFeedback;
- }
- case EProfileSettingAudioFeedbackId:
- {
- return flags & EProfileFlagAudioFeedback;
- }
- case EProfileSetting3dEffectId:
- {
- return flags & EProfileFlag3DEffect;
- }
- case EProfileSetting3dEchoId:
- {
- return flags & EProfileFlag3DEcho;
- }
-
- default:
- {
- return iExternalSettingsHandler.AllowedToChange( aSettingItemId );
- }
- }
- }
-
-// -----------------------------------------------------------------------------
-// CProfileSettingsContainer::ReleaseProfile
-// -----------------------------------------------------------------------------
-//
-void CProfileSettingsContainer::ReleaseProfile()
- {
- if( iProfile )
- {
- iProfile->Release();
- iProfile = NULL;
- }
- }
-
-// -----------------------------------------------------------------------------
-// CProfileSettingsContainer::ReadProfileL
-// -----------------------------------------------------------------------------
-//
-void CProfileSettingsContainer::ReadProfileL()
- {
- TInt profileId( KErrNotFound );
- if( iIndexHandler )
- {
- // Index handler is set, get id of the edited profile
- profileId = iEngineHandler.IdForIndex(
- iIndexHandler->CurrentProfileIndex() );
- }
- else
- {
- // Index handler is not set.
- profileId = User::LeaveIfError(
- iEngineHandler.Engine()->ActiveProfileId() );
- }
- MProfileExtended* profile = iEngineHandler.Engine()->ProfileLC( profileId );
- iCopyProfile->LoadL( profile );
- CleanupStack::Pop(); // profile
- ReleaseProfile(); // delete old iProfile
- iProfile = profile;
- }
-
-// -----------------------------------------------------------------------------
-// CProfileSettingsContainer::SetHiddenFlagsL
-// -----------------------------------------------------------------------------
-//
-void CProfileSettingsContainer::SetHiddenFlagsL()
- {
- CAknSettingItemArray* array = SettingItemArray();
- TUint32 flags( iProfile->VisibleFlags() );
- TInt profileId( 0 );
-
- TBool hide3DEcho = EFalse;
- TInt effect = iProfile->ProfileExtraSettings().Profile3DToneSettings().Effect();
- if ( effect == EProfile3DEffectOff || effect == EProfile3DEffectStereoWidening )
- {
- hide3DEcho = ETrue;
- }
-
- // Get id of the edited profile
- profileId=iProfile->ProfileName().Id();
-
- if( profileId == EProfileOffLineId )
- {
- TBool featuresSupported(
- FeatureManager::FeatureSupported( KFeatureIdCommonVoip ) &&
- FeatureManager::FeatureSupported( KFeatureIdProtocolWlan) );
- SetItemHidden( EProfileSettingRingingToneId, array,
- ( iAlternateLineService ) || ( ( ~flags & EProfileFlagRingingTone )
- || !featuresSupported || !iVoIPStatus ) );
- SetItemHidden( EProfileSettingRingingToneLine1Id, array,
- ( !iAlternateLineService ) || ( ( ~flags & EProfileFlagRingingTone )
- || !featuresSupported || !iVoIPStatus ) );
- SetItemHidden( EProfileSettingRingingToneLine2Id, array,
- ( !iAlternateLineService ) || ( ( ~flags & EProfileFlagRingingTone )
- || !featuresSupported || !iVoIPStatus ) );
- SetItemHidden( EProfileSetting3dEffectId, array,
- !( ( FeatureManager::FeatureSupported( KFeatureId3DRingingTones ) ) &&
- ( flags & EProfileFlag3DEffect ) && featuresSupported ) );
- SetItemHidden( EProfileSetting3dEchoId, array,
- !( ( FeatureManager::FeatureSupported( KFeatureId3DRingingTones ) ) &&
- ( flags & EProfileFlag3DEcho ) && featuresSupported ) );
- }
- else
- {
- SetItemHidden( EProfileSettingRingingToneId, array,
- ( iAlternateLineService ) || ( ~flags & EProfileFlagRingingTone ) );
- SetItemHidden( EProfileSettingRingingToneLine1Id, array,
- ( !iAlternateLineService ) || ( ~flags & EProfileFlagRingingTone ) );
- SetItemHidden( EProfileSettingRingingToneLine2Id, array,
- ( !iAlternateLineService ) || ( ~flags & EProfileFlagRingingTone ) );
- SetItemHidden( EProfileSetting3dEffectId, array,
- !( ( FeatureManager::FeatureSupported( KFeatureId3DRingingTones ) ) &&
- ( flags & EProfileFlag3DEffect ) ) );
- SetItemHidden( EProfileSetting3dEchoId, array,
- !( ( FeatureManager::FeatureSupported( KFeatureId3DRingingTones ) ) &&
- ( flags & EProfileFlag3DEcho ) ) );
- }
-
- if ( hide3DEcho )
- {
- SetItemHidden( EProfileSetting3dEchoId, array, ETrue );
- }
-
- SetItemHidden( EProfileSettingVideoCallToneId, array,
- !( ( iLocalFeatures->IsFeatureSupported(
- KProEngFeatureIdVTRingingTone ) ) &&
- ( flags & EProfileFlagVideoCallRingingTone ) &&
- FeatureManager::FeatureSupported( KFeatureIdCsVideoTelephony ) ) );
-
- SetItemHidden( EProfileSettingMessageAlertToneId, array,
- ~flags & EProfileFlagMessageAlertTone );
-
- SetItemHidden( EProfileSettingEmailAlertToneId, array,
- !( ( FeatureManager::FeatureSupported( KFeatureIdAlwaysOnLineEmail ) ) &&
- ( flags & EProfileFlagEmailAlertTone ) ) );
-
- SetItemHidden( EProfileSettingRingingTypeId, array,
- ~flags & EProfileFlagRingingType );
-
- SetItemHidden( EProfileSettingRingingVolumeId, array,
- ~flags & EProfileFlagRingingVolume );
-
- SetItemHidden( EProfileSettingMediaVolumeId, array,
- !( ( FeatureManager::FeatureSupported( KFeatureIdProtocolCdma ) ) &&
- ( flags & EProfileFlagMediaVolume ) ) );
-
- SetItemHidden( EProfileSettingVibratingAlertId, array,
- ~flags & EProfileFlagVibratingAlert );
-
- SetItemHidden( EProfileSettingEmailVibratingAlertId, array,
- ~flags & EProfileFlagVibratingAlert );
- SetItemHidden( EProfileSettingKeypadVolumeId, array,
- ~flags & EProfileFlagKeypadVolume );
-
- SetItemHidden( EProfileSettingWarningAndGameTonesId, array,
- ~flags & EProfileFlagWarningTones );
-
- // Check if TTS ringingtone is supported
- TBool textToSpeech( EFalse );
- User::LeaveIfError( iTTSSession->Get( KProfilesLVFlags, textToSpeech ) );
- textToSpeech &= KProEngFeatureIdTTSRingingTone;
-
- SetItemHidden( EProfileSettingTTSRingingToneId, array,
- !( textToSpeech && ( flags & EProfileFlagTextToSpeechTone ) ) );
-
- SetItemHidden( EProfileSettingAlertForId, array,
- ~flags & EProfileFlagAlertFor );
-
- SetItemHidden( EProfileSettingProfileNameId, array,
- ~flags & EProfileFlagProfileName );
-
- SetItemHidden( EProfileSettingPTTRingingToneId, array,
- !( ( FeatureManager::FeatureSupported( KFeatureIdOmaPoc ) ) &&
- ( flags & EProfileFlagPttTone ) ) );
-
- SetItemHidden( EProfileSettingPTTStatusId, array,
- !( ( FeatureManager::FeatureSupported( KFeatureIdOmaPoc ) ) &&
- ( flags & EProfileFlagPttStatus ) ) );
-
- SetItemHidden( EProfileSettingTactileFeedbackId, array,
- !( ( FeatureManager::FeatureSupported( KFeatureIdTactileFeedback ) ) &&
- ( flags & EProfileFlagTactileFeedback ) ) );
- SetItemHidden( EProfileSettingAudioFeedbackId, array,
- !( ( FeatureManager::FeatureSupported( KFeatureIdTactileFeedback ) ) &&
- ( flags & EProfileFlagAudioFeedback ) ) );
-
-
- // Check if SilentMode is supported
- TBool silentMode(
- iLocalFeatures->IsFeatureSupported( KProEngFeatureIdForceSilentMode ) );
-
- if( ( silentMode ) && ( profileId == EProfileSilentId ) )
- {
- SetItemHidden( EProfileSettingRingingToneId, array, ETrue );
- SetItemHidden( EProfileSettingRingingToneLine1Id, array, ETrue );
- SetItemHidden( EProfileSettingRingingToneLine2Id, array, ETrue );
- SetItemHidden( EProfileSettingVideoCallToneId, array, ETrue );
- SetItemHidden( EProfileSettingTTSRingingToneId, array, ETrue );
- SetItemHidden( EProfileSettingRingingTypeId, array, ETrue );
- SetItemHidden( EProfileSettingRingingVolumeId, array, ETrue );
- SetItemHidden( EProfileSettingMessageAlertToneId, array, ETrue );
- SetItemHidden( EProfileSettingEmailAlertToneId, array, ETrue );
- SetItemHidden( EProfileSettingKeypadVolumeId, array, ETrue );
- SetItemHidden( EProfileSettingWarningAndGameTonesId, array, ETrue );
- SetItemHidden( EProfileSettingPTTRingingToneId, array, ETrue );
- SetItemHidden( EProfileSettingProfileNameId, array, ETrue );
- SetItemHidden( EProfileSettingAudioFeedbackId, array, ETrue );
- SetItemHidden( EProfileSetting3dEffectId, array, ETrue );
- SetItemHidden( EProfileSetting3dEchoId, array, ETrue );
- }
-
- iExternalSettingsHandler.SetHiddenItems( *array );
-
- if( iIndexHandler )
- {
- iIndexHandler->LoadIndices();
- }
-
- HandleChangeInItemArrayOrVisibilityL();
- }
-
-// -----------------------------------------------------------------------------
-// CProfileSettingsContainer::UpdateSettingsL
-// -----------------------------------------------------------------------------
-//
-void CProfileSettingsContainer::UpdateSettingsL( TBool aReadProfileSettings )
- {
- // Set listbox invicible to avoid flicker
- CEikListBox* listBox = ListBox();
- listBox->MakeVisible( EFalse );
-
- // Leavable function calls must be trapped in order to set listbox
- // back to visible again if a leave occurs
- TRAPD( error,
- if( aReadProfileSettings )
- {
- ReadProfileL();
- }
- LoadSettingsL(); // from CAknSettingItemList
- SetHiddenFlagsL();
- );
-
- if( aReadProfileSettings && iIndexHandler )
- {
- // Set focus back on correct index
- iIndexHandler->LoadIndices();
- }
-
- // Set listbox back to visible
- listBox->MakeVisible( ETrue );
-
- // Now proceed with the leave if one occured
- User::LeaveIfError( error );
- }
-
-// -----------------------------------------------------------------------------
-// CProfileSettingsContainer::EditItemL
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CProfileSettingsContainer::EditItemL( TInt aIndex, TBool aCalledFromMenu )
- {
- PRODEBUG1( "CProfileSettingsContainer EditItemL(%d) begin",aIndex );
-
- // Prevent opening of several setting items
- if( iItemEdited )
- {
- return;
- }
-
- CAknSettingItem* item = SettingItemArray()->At( aIndex );
- TInt identifier( item->Identifier() );
-
- if ( PowerSaveMode( identifier ) )
- {
- HBufC* buf = StringLoader::LoadLC( R_PROFILE_TEXT_PSM_INFONOTE );
- CAknInformationNote* queryDialog = new (ELeave) CAknInformationNote( ETrue );
- queryDialog->ExecuteLD( *buf );
- CleanupStack::PopAndDestroy( buf );
- return;
- }
-
- if( !AllowedToChange( identifier ) )
- {
- // If a setting is not allowed to change, "swallow" list box event.
- return;
- }
-
- HBufC* titleText = NULL;
-
- if( ( identifier != EProfileSettingRingingToneId ) &&
- ( identifier != EProfileSettingRingingToneLine1Id ) &&
- ( identifier != EProfileSettingRingingToneLine2Id ) &&
- ( identifier != EProfileSettingVideoCallToneId ) &&
- ( identifier != EProfileSettingMessageAlertToneId ) &&
- ( identifier != EProfileSettingEmailAlertToneId ) &&
- ( identifier != EProfileSettingPTTRingingToneId ) )
- {
- if( aCalledFromMenu ||
- !( identifier == EProfileSettingVibratingAlertId ||
- identifier == EProfileSettingEmailVibratingAlertId ||
- identifier == EProfileSettingWarningAndGameTonesId ||
- identifier == EProfileSettingTTSRingingToneId ) )
- {
- // Set profile name as title pane text.
- // Tone selections launch a pop-up, so title pane is not changed.
- // Binary pop-up setting item with two available values does not
- // launch a setting page when not called from menu so title pane
- // is not changed.
- if( iTitlePane )
- {
- titleText = iTitlePane->Text()->AllocLC();
- SetTitlePaneTextL( iCopyProfile->iTitleName );
- }
- }
- }
-
-
- TInt threeDEffect = iCopyProfile->i3DEffect;
- if( identifier == EProfileSetting3dEffectId && iIndexHandler )
- {
- iIndexHandler->StoreIndices();
- }
-
- // Set boolean value to ETrue that we know that the settings container
- // is in editing mode.
- iItemEdited = ETrue;
- // Store currently active profile id
- TInt activeProfileId( iEngineHandler.Engine()->ActiveProfileId() );
-
- // Trap to set boolean value back to EFalse after EditItemL finalized.
- PRODEBUG1( "CProfileSettingsContainer EditItemL before list::EditItemL(%d)",aIndex );
- TRAPD( error, CAknSettingItemList::EditItemL( aIndex, aCalledFromMenu ) );
- PRODEBUG1( "CProfileSettingsContainer EditItemL after list::EditItemL(),error=%d",error );
- iItemEdited = EFalse;
- User::LeaveIfError( error );
-
- // We don't know whether user cancelled or oked the setting so we must
- // store the data from setting item to the modified profile (iCopyProfile).
- item->StoreL();
- // Compare the settings of the modified profile
- // to the settings currently in Profile Engine.
- if( !iCopyProfile->CompareL( iProfile ) )
- {
- // Handle removing of DRM automated content
- iCopyProfile->RemoveAutomatedContentL( iProfile );
- // Something has changed. Store settings of modified profile.
- iCopyProfile->StoreL( iProfile );
- // Trap saving of the profile. If for example flash memory runs out
- // we can still revert the UI to its previous state.
- TRAP( error, iEngineHandler.Engine()->CommitChangeL( *iProfile ) );
- if( error != KErrNone || PowerSaveMode() )
- {
- // An User::Leave occurred. Try to read old settings to memory.
- ReadProfileL();
- // Update setting item so UI is left to correct state.
- item->LoadL();
- item->UpdateListBoxTextL();
- }
- else if( identifier == EProfileSettingProfileNameId )
- {
- // Profile name was changed.
- UpdateProfileNamesL();
- }
-
- if ( threeDEffect != iCopyProfile->i3DEffect )
- {
- UpdateSettingsL( EFalse ); // hide 3DEcho if 3DEffect is off
- }
- }
- // If the setting is an external (= only in Tones View):
- iExternalSettingsHandler.StoreIfChangedL( identifier );
-
- if( titleText )
- {
- // Set title pane text back
- SetTitlePaneTextL( *titleText );
- CleanupStack::PopAndDestroy( titleText );
- }
- // Compare active profile to previously active profile
- TInt newActiveProfileId( iEngineHandler.Engine()->ActiveProfileId() );
- if( activeProfileId != newActiveProfileId )
- {
- // Active profile has changed while editing. Update UI.
- HandleActiveProfileEventL( EProfileNewActiveProfile, newActiveProfileId );
- }
- User::LeaveIfError( error );
- }
-
-// -----------------------------------------------------------------------------
-// CProfileSettingsContainer::CreateSettingItemL
-// -----------------------------------------------------------------------------
-//
-CAknSettingItem* CProfileSettingsContainer::CreateSettingItemL(
- TInt aIdentifier )
- {
- PRODEBUG1( "CProfileSettingsContainer CreateSettingsItemL(%d)",aIdentifier );
- CAknSettingItem* settingItem = NULL;
-
- switch( aIdentifier )
- {
- // Flow through: Ringing tone and RT line 1 are stored to the same
- // variable because they can not exist at the same time.
- case EProfileSettingRingingToneId:
- case EProfileSettingRingingToneLine1Id:
- {
- settingItem = CreateFileListSettingItemL(
- *iCopyProfile->iRingingTone, aIdentifier );
- break;
- }
- case EProfileSettingRingingToneLine2Id:
- {
- settingItem = CreateFileListSettingItemL(
- *iCopyProfile->iRingingToneLine2, aIdentifier );
- break;
- }
- case EProfileSettingVideoCallToneId:
- {
- settingItem = CreateFileListSettingItemL(
- *iCopyProfile->iVideoCallTone, aIdentifier );
- break;
- }
- case EProfileSettingMessageAlertToneId:
- {
- settingItem = CreateFileListSettingItemL(
- *iCopyProfile->iMessageAlertTone, aIdentifier );
- break;
- }
- case EProfileSettingEmailAlertToneId:
- {
- settingItem = CreateFileListSettingItemL(
- *iCopyProfile->iEmailAlertTone, aIdentifier );
- break;
- }
- case EProfileSettingRingingTypeId:
- {
- settingItem = new( ELeave ) CAknEnumeratedTextPopupSettingItem(
- aIdentifier, iCopyProfile->iRingingType );
- break;
- }
- case EProfileSettingRingingVolumeId:
- {
- settingItem = new( ELeave ) CProfilePlayingVolumeSettingItem(
- aIdentifier, iCopyProfile->iRingingVolume,
- *iCopyProfile->iRingingTone,
- iCopyProfile->iRingingType,
- iCopyProfile->iVibratingAlert,
- EFalse ); //Display confirmation note for maximum volume
- break;
- }
- case EProfileSettingMediaVolumeId:
- {
- settingItem = new( ELeave ) CProfilePlayingVolumeSettingItem(
- aIdentifier, iCopyProfile->iMediaVolume,
- *iCopyProfile->iRingingTone,
- iCopyProfile->iRingingType,
- iCopyProfile->iVibratingAlert,
- EFalse ); //Do not display confirmation note for maximum volume
- break;
- }
- case EProfileSettingVibratingAlertId:
- {
- settingItem = new( ELeave ) CAknBinaryPopupSettingItem(
- aIdentifier, iCopyProfile->iVibratingAlert );
- break;
- }
- case EProfileSettingEmailVibratingAlertId:
- {
- settingItem = new( ELeave ) CAknBinaryPopupSettingItem(
- aIdentifier, iCopyProfile->iEmailVibratingAlert );
- break;
- }
- case EProfileSettingKeypadVolumeId:
- {
- settingItem = new( ELeave ) CProfileKeypadVolumeSettingItem(
- aIdentifier, iCopyProfile->iKeypadVolume, iKeySounds );
- break;
- }
- case EProfileSettingWarningAndGameTonesId:
- {
- settingItem = new( ELeave ) CAknBinaryPopupSettingItem(
- aIdentifier, iCopyProfile->iWarningAndGameTones );
- break;
- }
- case EProfileSettingAlertForId:
- {
- settingItem = new( ELeave ) CProfileAlertForSettingItem(
- aIdentifier, iCopyProfile->iContactList, iCoeEnv );
- break;
- }
- case EProfileSettingProfileNameId:
- {
- settingItem = new( ELeave ) CProfileNameSettingItem(
- aIdentifier, iCopyProfile->iProfileName, iEngineHandler );
- break;
- }
- case EProfileSettingTTSRingingToneId:
- {
- settingItem = new( ELeave ) CAknBinaryPopupSettingItem(
- aIdentifier, iCopyProfile->iTextToSpeech );
- break;
- }
- case EProfileSettingPTTRingingToneId:
- {
- settingItem = CreateFileListSettingItemL(
- *iCopyProfile->iPTTRingingTone, aIdentifier );
- break;
- }
- case EProfileSettingPTTStatusId:
- {
- settingItem = new( ELeave ) CAknEnumeratedTextPopupSettingItem(
- aIdentifier, iCopyProfile->iPTTStatus );
- break;
- }
- case EProfileSettingTactileFeedbackId:
- {
- /*
- settingItem = new( ELeave ) CAknEnumeratedTextPopupSettingItem(
- aIdentifier, iCopyProfile->iTactileFeedback );
- */
- settingItem = new( ELeave ) CProfileFeedbackSettingItem(
- aIdentifier, iCopyProfile->iTactileFeedback );
- break;
- }
- case EProfileSettingAudioFeedbackId:
- {
- /*
- settingItem = new( ELeave ) CAknEnumeratedTextPopupSettingItem(
- aIdentifier, iCopyProfile->iAudioFeedback );
- */
- settingItem = new( ELeave ) CProfileFeedbackSettingItem(
- aIdentifier, iCopyProfile->iAudioFeedback );
- break;
- }
- case EProfileSetting3dEffectId:
- {
- /*
- settingItem = new( ELeave ) CAknEnumeratedTextPopupSettingItem(
- aIdentifier, iCopyProfile->i3DEffect );
- */
- settingItem = new( ELeave ) CProfile3dSettingItem(
- aIdentifier,
- iCopyProfile->i3DEffect,
- *iCopyProfile->iRingingTone,
- iCopyProfile->iRingingType,
- iCopyProfile->iVibratingAlert,
- iCopyProfile->iRingingVolume,
- iCopyProfile->i3DEcho );
- break;
- }
- case EProfileSetting3dEchoId:
- {
- /*
- settingItem = new( ELeave ) CAknEnumeratedTextPopupSettingItem(
- aIdentifier, iCopyProfile->i3DEcho );
- */
- settingItem = new( ELeave ) CProfile3dSettingItem(
- aIdentifier,
- iCopyProfile->i3DEcho,
- *iCopyProfile->iRingingTone,
- iCopyProfile->iRingingType,
- iCopyProfile->iVibratingAlert,
- iCopyProfile->iRingingVolume,
- iCopyProfile->i3DEffect );
- break;
- }
-
- default:
- {
- PRODEBUG1( "CProfileSettingsContainer before extShandler::CreateSI(%d)",aIdentifier );
- settingItem = iExternalSettingsHandler.CreateSettingItemL( aIdentifier );
- PRODEBUG( "CProfileSettingsContainer after extShandler::CreateSI" );
- break;
- }
- }
- PRODEBUG1( "CProfileSettingsContainer CreateSettingsItemL(%d) before return",aIdentifier );
- return settingItem;
- }
-
-// -----------------------------------------------------------------------------
-// CProfileSettingsContainer::CheckFileExistenceL
-// -----------------------------------------------------------------------------
-//
-void CProfileSettingsContainer::CheckFileExistenceL()
- {
- CAknSettingItemArray* array = SettingItemArray();
-
- if( !IsItemHidden( EProfileSettingRingingToneId, array ) )
- {
- if( !BaflUtils::FileExists( *iFs, *iCopyProfile->iRingingTone ) )
- {
- TParsePtrC tone( *iCopyProfile->iRingingTone );
- HBufC* ringtoneNotFoundText =
- StringLoader::LoadLC(
- R_PROFILE_CONFIRM_RINGTONE_FOUND, tone.NameAndExt() );
-
- CProfileSettingsContainer::LaunchDialogL( *ringtoneNotFoundText );
- CleanupStack::PopAndDestroy( ringtoneNotFoundText );
- }
- }
-
- if( !IsItemHidden( EProfileSettingRingingToneLine1Id, array ) )
- {
- if( !BaflUtils::FileExists( *iFs, *iCopyProfile->iRingingTone ) )
- {
- TParsePtrC tone( *iCopyProfile->iRingingTone );
- HBufC* ringtoneNotFoundText =
- StringLoader::LoadLC(
- R_PROFILE_CONFIRM_RINGTONE_FOUND, tone.NameAndExt() );
-
- CProfileSettingsContainer::LaunchDialogL( *ringtoneNotFoundText );
- CleanupStack::PopAndDestroy( ringtoneNotFoundText );
- }
- }
-
- if( !IsItemHidden( EProfileSettingRingingToneLine2Id, array ) )
- {
- if( !BaflUtils::FileExists( *iFs, *iCopyProfile->iRingingToneLine2 ) )
- {
- TParsePtrC tone( *iCopyProfile->iRingingToneLine2 );
- HBufC* ringtoneNotFoundText =
- StringLoader::LoadLC(
- R_PROFILE_CONFIRM_RINGTONE_FOUND, tone.NameAndExt() );
-
- CProfileSettingsContainer::LaunchDialogL( *ringtoneNotFoundText );
- CleanupStack::PopAndDestroy( ringtoneNotFoundText );
- }
- }
-
- if( !IsItemHidden( EProfileSettingVideoCallToneId, array ) )
- {
- if( !BaflUtils::FileExists( *iFs, *iCopyProfile->iVideoCallTone ) )
- {
- TParsePtrC tone( *iCopyProfile->iVideoCallTone );
- HBufC* ringtoneNotFoundText =
- StringLoader::LoadLC(
- R_PROFILE_CONFIRM_RINGTONE_FOUND, tone.NameAndExt() );
-
- CProfileSettingsContainer::LaunchDialogL( *ringtoneNotFoundText );
- CleanupStack::PopAndDestroy( ringtoneNotFoundText );
- }
- }
-
- if( !IsItemHidden( EProfileSettingMessageAlertToneId, array ) )
- {
- if( !BaflUtils::FileExists( *iFs, *iCopyProfile->iMessageAlertTone ) )
- {
- TParsePtrC tone( *iCopyProfile->iMessageAlertTone );
- HBufC* ringtoneNotFoundText =
- StringLoader::LoadLC(
- R_PROFILE_CONFIRM_RINGTONE_FOUND, tone.NameAndExt() );
-
- CProfileSettingsContainer::LaunchDialogL( *ringtoneNotFoundText );
- CleanupStack::PopAndDestroy( ringtoneNotFoundText );
- }
- }
-
- if( !IsItemHidden( EProfileSettingEmailAlertToneId, array ) )
- {
- if( !BaflUtils::FileExists( *iFs, *iCopyProfile->iEmailAlertTone ) )
- {
- TParsePtrC tone( *iCopyProfile->iEmailAlertTone );
- HBufC* ringtoneNotFoundText =
- StringLoader::LoadLC(
- R_PROFILE_CONFIRM_RINGTONE_FOUND, tone.NameAndExt() );
-
- CProfileSettingsContainer::LaunchDialogL( *ringtoneNotFoundText );
- CleanupStack::PopAndDestroy( ringtoneNotFoundText );
- }
- }
-
- if( !IsItemHidden( EProfileSettingPTTRingingToneId, array ) )
- {
- if( !BaflUtils::FileExists( *iFs, *iCopyProfile->iPTTRingingTone ) )
- {
- TParsePtrC tone( *iCopyProfile->iPTTRingingTone );
- HBufC* ringtoneNotFoundText =
- StringLoader::LoadLC(
- R_PROFILE_CONFIRM_RINGTONE_FOUND, tone.NameAndExt() );
-
- CProfileSettingsContainer::LaunchDialogL( *ringtoneNotFoundText );
- CleanupStack::PopAndDestroy( ringtoneNotFoundText );
- }
- }
- }
-
-// -----------------------------------------------------------------------------
-// CProfileSettingsContainer::LaunchDialogL
-// -----------------------------------------------------------------------------
-//
-void CProfileSettingsContainer::LaunchDialogL( const TDesC& aTitleText )
- {
- CAknQueryDialog* query = CAknQueryDialog::NewL();
- const TInt ret( query->ExecuteLD(
- R_PROFILE_CONFIRM_RINGTONE_FOUND_QUERY, aTitleText) );
- }
-
-// -----------------------------------------------------------------------------
-// CProfileSettingsContainer::CreateFileListSettingItemL
-// -----------------------------------------------------------------------------
-//
-CAknSettingItem* CProfileSettingsContainer::CreateFileListSettingItemL(
- TDes& aFileName, TInt aIdentifier )
- {
- CAknSettingItem* settingItem = new( ELeave ) CProfileFileListSettingItem(
- aIdentifier,
- aFileName,
- iCopyProfile->iRingingType,
- iCopyProfile->iRingingVolume,
- iCopyProfile->iVibratingAlert,
- iCopyProfile->i3DEffect,
- iCopyProfile->i3DEcho,
- iCoeEnv );
-
- return settingItem;
- }
-
-// -----------------------------------------------------------------------------
-// CProfileSettingsContainer::IndexForId
-// -----------------------------------------------------------------------------
-//
-TInt CProfileSettingsContainer::IndexForId( TInt aId ) const
- {
- CAknSettingItemArray* array = SettingItemArray();
- TInt count( array->Count() );
- for( TInt index( 0 ); index < count; index++ )
- {
- if( array->At( index )->Identifier() == aId )
- {
- // Searched ID was found, return index
- return index;
- }
- }
- return KErrNotFound;
- }
-
-// -----------------------------------------------------------------------------
-// CProfileSettingsContainer::SetItemHidden
-// Sets an item hidden if an index for the id is found.
-// In other words does nothing if feature is not supported.
-// -----------------------------------------------------------------------------
-//
-void CProfileSettingsContainer::SetItemHidden( TInt aId,
- CAknSettingItemArray* aArray, TBool aHidden )
- {
- TInt index( IndexForId( aId ) );
- if( index == KErrNotFound )
- {
- return;
- }
- aArray->At( index )->SetHidden( aHidden );
- }
-
-// -----------------------------------------------------------------------------
-// CProfileSettingsContainer::IsItemHidden
-//
-// -----------------------------------------------------------------------------
-//
-TBool CProfileSettingsContainer::IsItemHidden( TInt aId,
- CAknSettingItemArray* aArray ) const
- {
- TInt index( IndexForId( aId ) );
- if( index == KErrNotFound )
- {
- return ETrue;
- }
-
- return aArray->At( index )->IsHidden();
- }
-
-// -----------------------------------------------------------------------------
-// CProfileSettingsContainer::SetTitlePaneTextL
-// -----------------------------------------------------------------------------
-//
-void CProfileSettingsContainer::SetTitlePaneTextL( const TDesC& aTitle )
- {
- if( !iTitlePane )
- {
- return;
- }
-
- if( aTitle.Length() > 0 )
- {
- iTitlePane->SetTextL( aTitle );
- }
- else
- {
- iTitlePane->SetTextToDefaultL(); // Application name
- }
- }
-
-// -----------------------------------------------------------------------------
-// CProfileSettingsContainer::UpdateProfileNamesL
-// -----------------------------------------------------------------------------
-//
-void CProfileSettingsContainer::UpdateProfileNamesL()
- {
- if( iIndexHandler )
- {
- TInt newProfileIndex( iIndexHandler->ReadIdArrayAndUpdateL() );
- if( iTabHandler )
- {
- // Refresh tabs with changed profile names
- iTabHandler->RefreshTabsL();
- iTabHandler->SetActiveTab( newProfileIndex );
- }
- else
- {
- // If the iTabHandler is NULL and the iNaviPaneContainer is not NULL
- // Set the text of navi pane to currently personlize profile's name.
- if ( iNaviPaneContainer )
- {
- MProfilesNamesArray* nameArray = iEngineHandler.IdArray();
- iNaviPaneContainer->SetNaviPaneTextL(
- nameArray->MdcaPoint( newProfileIndex ) );
- }
- }
- }
- else
- {
- // No index handler. Just refresh profile name array.
- iEngineHandler.ReadIdArrayL();
- }
- }
-
-// -----------------------------------------------------------------------------
-// CProfileSettingsContainer::SizeChanged
-// -----------------------------------------------------------------------------
-//
-void CProfileSettingsContainer::SizeChanged()
- {
- CEikListBox* lb = ListBox();
- if( lb )
- {
- lb->SetRect( Rect() ); // Set container's rect to listbox
- }
- }
-
-// -----------------------------------------------------------------------------
-// CProfileSettingsContainer::HandleListBoxEventL
-// -----------------------------------------------------------------------------
-//
-void CProfileSettingsContainer::HandleListBoxEventL(
- CEikListBox* aListBox, TListBoxEvent aEventType )
- {
- if( aEventType == EEventEnterKeyPressed ||
- aEventType == EEventItemDoubleClicked )
- {
- CAknSettingItemArray* array = SettingItemArray();
- if( !AllowedToChange( array->At( array->ItemIndexFromVisibleIndex(
- ListBox()->CurrentItemIndex() ) )->Identifier() ) )
- {
- // If a setting is not allowed to change, "swallow" list box event.
- return;
- }
- }
- CAknSettingItemList::HandleListBoxEventL( aListBox, aEventType );
- }
-
-// -----------------------------------------------------------------------------
-// CProfileSettingsContainer::GetHelpContext
-// -----------------------------------------------------------------------------
-//
-void CProfileSettingsContainer::GetHelpContext( TCoeHelpContext& aContext ) const
- {
- aContext.iMajor = KUidProfileApp;
- if( !iExternalSettingsHandler.GetHelpContext( aContext ) )
- {
- aContext.iContext = KMODE_HLP_PERSONALISE;
- }
- }
-
-// -----------------------------------------------------------------------------
-// CProfileSettingsContainer::PhoneSettingChanged
-// -----------------------------------------------------------------------------
-//
-void CProfileSettingsContainer::PhoneSettingChanged(
- TSSSettingsSetting aSetting, TInt aNewValue )
- {
- if( aSetting == ESSSettingsAls )
- {
- iAlternateLineService = ( aNewValue != ESSSettingsAlsNotSupported );
- if( iIndexHandler )
- {
- iIndexHandler->StoreIndices();
- }
- // error ignored. If not enough memory to refresh the UI,
- // don't bother launching an error note.
- TRAP_IGNORE( SetHiddenFlagsL() );
- if( iIndexHandler )
- {
- iIndexHandler->LoadIndices();
- }
- }
- }
-
-// -----------------------------------------------------------------------------
-// CProfileSettingsContainer::TabChangedL
-// When a tab changes, this method gets called.
-// -----------------------------------------------------------------------------
-//
-void CProfileSettingsContainer::TabChangedL( TInt /* aIndex */ )
- {
- UpdateSettingsL();
-
- CEikListBox* listBox = ListBox();
- if( listBox )
- {
- listBox->UpdateScrollBarsL();
- }
- }
-
-// -----------------------------------------------------------------------------
-// CProfileSettingsContainer::HandleActiveProfileEventL
-// When active profile changes, this method gets called.
-// -----------------------------------------------------------------------------
-//
-void CProfileSettingsContainer::HandleActiveProfileEventL(
- TProfileEvent /* aProfileEvent */, TInt /* aProfileId */ )
- {
- /*
- if( iItemEdited )
- {
- // Do not update UI if an item is being edited.
- return;
- }
- */
- UpdateProfileNamesL();
- UpdateSettingsL();
- }
-
-// -----------------------------------------------------------------------------
-// CProfileSettingsContainer::HandleExternalSettingsChangedL
-// When external settings change, this method gets called.
-// -----------------------------------------------------------------------------
-//
-void CProfileSettingsContainer::HandleExternalSettingsChangedL()
- {
- UpdateSettingsL( EFalse );
- }
-
-// -----------------------------------------------------------------------------
-// CProfileSettingsContainer::HandleResourceChange
-// -----------------------------------------------------------------------------
-//
-void CProfileSettingsContainer::HandleResourceChange( TInt aType )
- {
- if ( aType == KEikDynamicLayoutVariantSwitch ||
- aType == KAknsMessageSkinChange )
- {
- iProfileViewHandler.UpdateClientRect();
- }
- CAknSettingItemList::HandleResourceChange( aType );
- }
-
-// ----------------------------------------------------
-// CProfileSettingsContainer::HandleNotifyInt
-// ----------------------------------------------------
-//
-void CProfileSettingsContainer::HandleNotifyInt(
- const TUint32 aID,
- const TInt aNewValue )
- {
- if ( KDynamicVoIP == aID)
- {
- iVoIPStatus = KVoIPOFF != aNewValue;
- }
- }
-
-// -----------------------------------------------------------------------------
-// CProfileSettingsContainer::ItemEdited
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TBool CProfileSettingsContainer::ItemEdited() const
- {
- return iItemEdited;
- }
-
-// -----------------------------------------------------------------------------
-// CProfileSettingsContainer::PowerSaveMode
-//
-// -----------------------------------------------------------------------------
-//
-TBool CProfileSettingsContainer::PowerSaveMode( TInt aSettingId )
- {
- TInt ret = EFalse;
-
- if ( aSettingId == EProfileSettingVibratingAlertId ||
- aSettingId == EProfileSettingKeypadVolumeId ||
- aSettingId == EProfileSettingTactileFeedbackId ||
- aSettingId == EProfileSettingAudioFeedbackId ||aSettingId == EProfileSettingEmailVibratingAlertId)
- {
- ret = PowerSaveMode();
- }
-
- return ret;
- }
-
-
-// -----------------------------------------------------------------------------
-// CProfileSettingsContainer::PowerSaveModeL
-//
-// -----------------------------------------------------------------------------
-//
-TBool CProfileSettingsContainer::PowerSaveModeL()
- {
- if( !FeatureManager::FeatureSupported( KFeatureIdPowerSave ) )
- {
- return EFalse;
- }
-
- TInt psm = EPsmsrvModeNormal;
-
- // KProEngPsmChanged PubSub key is set by GSProfilesPlugin when power save
- // mode changes. If the key cannot be read (doesn't exist), PSM hasn't
- // changed since the last boot and the mode is read from PSM CenRep.
- if( RProperty::Get( KPSUidProfileEngine, KProEngPsmChanged, psm ) != KErrNone )
- {
- CRepository* cenrep = CRepository::NewLC( KCRUidPowerSaveMode );
- User::LeaveIfError( cenrep->Get( KPsmCurrentMode, psm ) );
- CleanupStack::PopAndDestroy( cenrep );
- }
-
- if ( psm == EPsmsrvModePowerSave )
- {
- return ETrue;
- }
-
- return EFalse;
- }
-
-
-// -----------------------------------------------------------------------------
-// CProfileSettingsContainer::PowerSaveMode
-//
-// -----------------------------------------------------------------------------
-//
-TBool CProfileSettingsContainer::PowerSaveMode()
- {
- TBool psm = EFalse;
-
- TRAPD( err, psm = PowerSaveModeL() );
-
- if ( err != KErrNone )
- {
- return EFalse;
- }
-
- return psm;
- }
-
-
-
-// End of File
--- a/profilesapplication/Profiles/ProfileApp/SettingsViewSrc/CProfileStruct.cpp Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,258 +0,0 @@
-/*
-* Copyright (c) 2002 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: Data structure class for profile settings.
-*
-*/
-
-
-
-// CLASS HEADER
-#include "CProfileStruct.h"
-#include "profileinternal.hrh"
-
-// EXTERNAL INCLUDES
-#include <mprofileextended.h>
-#include <mprofilename.h>
-#include <mprofilesetname.h>
-#include <mprofiletones.h>
-#include <MProfileSetTones.h>
-#include <mprofileextratones.h>
-#include <mprofilesetextratones.h>
-#include <mprofileextrasettings.h>
-#include <mprofilesetextrasettings.h>
-#include <mprofilepttsettings.h>
-#include <mprofilesetpttsettings.h>
-#include <AknUtils.h> // AknTextUtils
-#include <mprofilefeedbacksettings.h>
-#include <mprofilesetfeedbacksettings.h>
-#include <mprofile3dtonesettings.h>
-#include <mprofileset3dtonesettings.h>
-
-#include <tprofiletonesettings.h>
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CProfileStruct::CProfileStruct
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CProfileStruct::CProfileStruct( )
- {
- }
-
-// -----------------------------------------------------------------------------
-// CProfileStruct::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CProfileStruct* CProfileStruct::NewL( )
- {
- CProfileStruct* self = new (ELeave) CProfileStruct( );
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop( self );
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// CProfileStruct::ConstructL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-void CProfileStruct::ConstructL()
- {
- iRingingTone = new( ELeave ) TFileName();
- iRingingToneLine2 = new( ELeave ) TFileName();
- iVideoCallTone = new( ELeave ) TFileName();
- iMessageAlertTone = new( ELeave ) TFileName();
- iEmailAlertTone = new( ELeave ) TFileName();
- iPTTRingingTone = new( ELeave ) TFileName();
- }
-
-// Destructor
-CProfileStruct::~CProfileStruct()
- {
- iContactList.Close();
- delete iRingingTone;
- delete iRingingToneLine2;
- delete iVideoCallTone;
- delete iMessageAlertTone;
- delete iEmailAlertTone;
- delete iPTTRingingTone;
- }
-
-// -----------------------------------------------------------------------------
-// CProfileStruct::LoadL
-// -----------------------------------------------------------------------------
-//
-void CProfileStruct::LoadL( MProfileExtended* aProfile )
- {
- TArray<TContactItemId> array( aProfile->AlertForL() );
- iContactList.Reset();
- TInt count( array.Count() );
- for( TInt index( 0 ); index < count; index++ )
- {
- iContactList.Append( array[ index ] );
- }
- const MProfileName& name = aProfile->ProfileName();
- iProfileId = name.Id();
- iProfileName.Copy( name.Name() );
- AknTextUtils::DisplayTextLanguageSpecificNumberConversion( iProfileName );
- iTitleName.Copy( name.TitleName() );
- AknTextUtils::DisplayTextLanguageSpecificNumberConversion( iTitleName );
- const MProfileTones& tones = aProfile->ProfileTones();
- iRingingTone->Copy( tones.RingingTone1() );
- iRingingToneLine2->Copy( tones.RingingTone2() );
- iMessageAlertTone->Copy( tones.MessageAlertTone() );
- const TProfileToneSettings& toneSettings = tones.ToneSettings();
- iRingingType = toneSettings.iRingingType;
- iKeypadVolume = toneSettings.iKeypadVolume;
- iRingingVolume = toneSettings.iRingingVolume;
- iMediaVolume = toneSettings.iMediaVolume;
- iVibratingAlert = toneSettings.iVibratingAlert;
- iEmailVibratingAlert = toneSettings.iEmailVibratingAlert;
- iWarningAndGameTones = toneSettings.iWarningAndGameTones;
- iTextToSpeech = toneSettings.iTextToSpeech;
- const MProfileExtraTones& extra = aProfile->ProfileExtraTones();
- iEmailAlertTone->Copy( extra.EmailAlertTone() );
- iVideoCallTone->Copy( extra.VideoCallRingingTone() );
- const MProfileExtraSettings& extraSettings = aProfile->ProfileExtraSettings();
- const MProfilePttSettings& pttSettings = extraSettings.ProfilePttSettings();
- iPTTRingingTone->Copy( pttSettings.PttRingingTone() );
- iPTTStatus = pttSettings.PttStatus();
-
- const MProfileFeedbackSettings& feedbackSettings = extraSettings.ProfileFeedbackSettings();
- iTactileFeedback = feedbackSettings.TactileFeedback();
- iAudioFeedback = feedbackSettings.AudioFeedback();
-
- const MProfile3DToneSettings& threeDSettings = extraSettings.Profile3DToneSettings();
- i3DEffect = threeDSettings.Effect();
- i3DEcho = threeDSettings.Echo();
- }
-
-// -----------------------------------------------------------------------------
-// CProfileStruct::StoreL
-// -----------------------------------------------------------------------------
-//
-void CProfileStruct::StoreL( MProfileExtended* aProfile )
- {
- aProfile->SetAlertForL( iContactList.Array() );
- const MProfileName& name = aProfile->ProfileName();
- TBuf<KProfileMaxProfileNameLength> profileNameHelperBuffer;
- profileNameHelperBuffer.Copy( name.Name() );
- AknTextUtils::DisplayTextLanguageSpecificNumberConversion(
- profileNameHelperBuffer );
- if( iProfileName.Compare( profileNameHelperBuffer ) )
- {
- // Store profile name only if it has changed in order to
- // preserve localisation.
- aProfile->ProfileSetName().SetNameL( iProfileName );
- iTitleName.Copy( iProfileName );
- }
- MProfileSetTones& setTones = aProfile->ProfileSetTones();
- setTones.SetRingingTone1L( *iRingingTone );
- setTones.SetRingingTone2L( *iRingingToneLine2 );
- setTones.SetMessageAlertToneL( *iMessageAlertTone );
- TProfileToneSettings& toneSettings = setTones.SetToneSettings();
- toneSettings.iRingingType = TProfileRingingType( iRingingType );
- toneSettings.iKeypadVolume = TProfileKeypadVolume( iKeypadVolume );
- toneSettings.iRingingVolume = iRingingVolume;
- toneSettings.iMediaVolume = iMediaVolume;
- toneSettings.iVibratingAlert = iVibratingAlert;
- toneSettings.iEmailVibratingAlert = iEmailVibratingAlert;
- toneSettings.iWarningAndGameTones = iWarningAndGameTones;
- toneSettings.iTextToSpeech = iTextToSpeech;
- MProfileSetExtraTones& setExtra = aProfile->ProfileSetExtraTones();
- setExtra.SetEmailAlertToneL( *iEmailAlertTone );
- setExtra.SetVideoCallRingingToneL( *iVideoCallTone );
-
- MProfileSetExtraSettings& setExtraSettings = aProfile->ProfileSetExtraSettings();
- MProfileSetPttSettings& setPttSettings = setExtraSettings.ProfileSetPttSettings();
- setPttSettings.SetPttRingingToneL( *iPTTRingingTone );
- TProfilePttStatus KPttStatus = TProfilePttStatus( iPTTStatus );
- setPttSettings.SetPttStatus( KPttStatus );
-
- MProfileSetFeedbackSettings& setFeedbackSettings =
- setExtraSettings.ProfileSetFeedbackSettings();
- TProfileTactileFeedback tactileFeedback = TProfileTactileFeedback( iTactileFeedback );
- TProfileAudioFeedback audioFeedback = TProfileAudioFeedback( iAudioFeedback );
- setFeedbackSettings.SetTactileFeedback( tactileFeedback );
- setFeedbackSettings.SetAudioFeedback( audioFeedback );
-
- MProfileSet3DToneSettings& set3dSettings =
- setExtraSettings.ProfileSet3DToneSettings();
- TProfile3DToneEffect threeDEffect = TProfile3DToneEffect( i3DEffect );
- TProfile3DToneEcho threeDEcho = TProfile3DToneEcho( i3DEcho );
- set3dSettings.SetEffect( threeDEffect );
- set3dSettings.SetEcho( threeDEcho );
- }
-
-// -----------------------------------------------------------------------------
-// CProfileStruct::CompareL
-// -----------------------------------------------------------------------------
-//
-TBool CProfileStruct::CompareL( MProfileExtended* aProfile ) const
- {
- const MProfileTones& tones = aProfile->ProfileTones();
- const MProfileName& name = aProfile->ProfileName();
- const TProfileToneSettings& toneSettings = tones.ToneSettings();
- const MProfileExtraTones& extra = aProfile->ProfileExtraTones();
- const MProfileExtraSettings& extraSettings = aProfile->ProfileExtraSettings();
- const MProfilePttSettings& pttSettings = extraSettings.ProfilePttSettings();
- const MProfileFeedbackSettings& feedbackSettings = extraSettings.ProfileFeedbackSettings();
- const MProfile3DToneSettings& threeDSettings = extraSettings.Profile3DToneSettings();
-
- TArray<TContactItemId> array( aProfile->AlertForL() );
- TInt contactArrayCount( array.Count() );
- TInt ownContactArrayCount( iContactList.Count() );
-
- if( ( iProfileId != name.Id() ) ||
- ( iRingingTone->Compare( tones.RingingTone1() ) ) ||
- ( iRingingToneLine2->Compare( tones.RingingTone2() ) ) ||
- ( iVideoCallTone->Compare( extra.VideoCallRingingTone() ) ) ||
- ( iMessageAlertTone->Compare( tones.MessageAlertTone() ) ) ||
- ( iProfileName.Compare( name.Name() ) ) ||
- ( iRingingType != toneSettings.iRingingType ) ||
- ( iKeypadVolume != toneSettings.iKeypadVolume ) ||
- ( iRingingVolume != toneSettings.iRingingVolume ) ||
- ( iMediaVolume != toneSettings.iMediaVolume ) ||
- ( iVibratingAlert != toneSettings.iVibratingAlert ) ||
- ( iEmailVibratingAlert != toneSettings.iEmailVibratingAlert ) ||
- ( iWarningAndGameTones != toneSettings.iWarningAndGameTones ) ||
- ( iTextToSpeech != toneSettings.iTextToSpeech ) ||
- ( iEmailAlertTone->Compare( extra.EmailAlertTone() ) ) ||
- ( ownContactArrayCount != contactArrayCount ) ||
- ( iTactileFeedback != feedbackSettings.TactileFeedback() ) ||
- ( iAudioFeedback != feedbackSettings.AudioFeedback() ) ||
- ( i3DEffect != threeDSettings.Effect() ) ||
- ( i3DEcho != threeDSettings.Echo() ) ||
- ( iPTTRingingTone->Compare( pttSettings.PttRingingTone() ) ) ||
- ( iPTTStatus != pttSettings.PttStatus() ) )
- {
- return EFalse;
- }
-
- for( TInt index( 0 ); index < contactArrayCount; index++ )
- {
- if( iContactList[ index ] != array[ index ] )
- {
- return EFalse;
- }
- }
- return ETrue;
- }
-
-// End of File
--- a/profilesapplication/Profiles/ProfileApp/SettingsViewSrc/CProfileStruct.h Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,172 +0,0 @@
-/*
-* Copyright (c) 2002 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: Data structure class for profile settings.
-*
-*/
-
-
-
-#ifndef CPROFILESTRUCT_H
-#define CPROFILESTRUCT_H
-
-// INCLUDES
-#include "ProfileEng.hrh"
-#include "ProfileInternal.hrh"
-#include <cntdef.h>
-
-// CONSTANTS
-const TInt KProfileMinVolumeLevel( 1 );
-const TInt KProfileMaxVolumeLevel( 10 );
-const TInt KProfileMaxProfileNameLength( PROFILES_MAX_NAME_LENGTH );
-
-// FORWARD DECLARATIONS
-class MProfileExtended;
-
-// CLASS DECLARATION
-/**
-* Data structure class for profile settings.
-* Holds settings for one profile.
-*
-* @lib ProfileSettingsView.lib
-* @since 1.2
-*/
-NONSHARABLE_CLASS( CProfileStruct ) : public CBase
- {
- public: // Constructors and destructor
-
- /**
- * Creates and returns a new instance of this class.
- * @return Pointer to the CProfileStruct object
- */
- static CProfileStruct* NewL( );
-
- /**
- * Destructor.
- */
- virtual ~CProfileStruct();
-
- private: // Constructors
- /**
- * C++ default constructor.
- */
- CProfileStruct();
-
- /**
- * Second phase constructor
- */
- void ConstructL();
-
- public: // New functions
-
- /**
- * Loads settings from Profile Engine via MProfileExtended interface to member data.
- * @param aProfile Pointer to Profile Engine interface.
- */
- void LoadL( MProfileExtended* aProfile );
-
- /**
- * Stores member data to Profile Engine via MProfileExtended interface.
- * @param aProfile Pointer to Profile Engine interface.
- */
- void StoreL( MProfileExtended* aProfile );
-
- /**
- * Returns ETrue if member data is the same as in aProfile.
- * @param aProfile Profile to compare member data with.
- * @return Returns ETrue if member data is the same as in aProfile.
- */
- TBool CompareL( MProfileExtended* aProfile ) const;
-
- /**
- * Compares if any ringing/alarm tone setting has changed and
- * removes it from the automated content list using DRM Helper.
- * @param aProfile Profile to compare member data with.
- */
- void RemoveAutomatedContentL( MProfileExtended* aProfile ) const;
-
- public: // Data
-
- // ID of the profile
- TInt iProfileId;
-
- // Filename of ringing tone or line 1 ringing tone
- TFileName* iRingingTone;
-
- // Filename of line 2 ringing tone
- TFileName* iRingingToneLine2;
-
- // Filename of video call tone
- TFileName* iVideoCallTone;
-
- // Ringing type
- TInt iRingingType;
-
- // Ringing volume (between KProfileMinVolumeLevel and KProfileMaxVolumeLevel)
- TInt iRingingVolume;
-
- // Media volume (between KProfileMinVolumeLevel and KProfileMaxVolumeLevel)
- TInt iMediaVolume;
-
- // Message alert tone
- TFileName* iMessageAlertTone;
-
- // E-mail alert tone
- TFileName* iEmailAlertTone;
-
- // Vibrating alert setting
- TBool iVibratingAlert;
-
- // Email Vibrating alert setting
- TBool iEmailVibratingAlert;
- // Keypad volume level
- TInt iKeypadVolume;
-
- // Warning and game tones setting
- TBool iWarningAndGameTones;
-
- // Alert for setting
- RArray<TContactItemId> iContactList;
-
- // Profile name
- TBuf<KProfileMaxProfileNameLength> iProfileName;
-
- // Profile name for title pane
- TBuf<KProfileMaxProfileNameLength> iTitleName;
-
- // TTS Ringingtone setting
- TBool iTextToSpeech;
-
- // Filename of PTT ringing tone
- TFileName* iPTTRingingTone;
-
- // PTT Status
- TInt iPTTStatus;
-
- // Tactile feedback
- TInt iTactileFeedback;
-
- // Audio feedback
- TInt iAudioFeedback;
-
- // 3D effect
- TInt i3DEffect;
-
- // 3D echo
- TInt i3DEcho;
-
- };
-
-#endif // CPROFILESTRUCT_H
-
-// End of File
--- a/profilesapplication/Profiles/ProfileApp/SettingsViewSrc/CProfileStructDrmEmpty.cpp Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
-/*
-* Copyright (c) 2002 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: Data structure class for profile settings.
-*
-*/
-
-
-
-// CLASS HEADER
-#include "CProfileStruct.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CProfileStruct::RemoveAutomatedContendL
-// empty implementation for variation
-// -----------------------------------------------------------------------------
-//
-void CProfileStruct::RemoveAutomatedContentL( MProfileExtended* /* aProfile */ ) const
- {
- }
-
-// End of File
--- a/profilesapplication/Profiles/ProfileApp/SettingsViewSrc/CProfileStructDrmFull.cpp Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,66 +0,0 @@
-/*
-* Copyright (c) 2002 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: Data structure class for profile settings.
-*
-*/
-
-
-
-// CLASS HEADER
-#include "CProfileStruct.h"
-
-// EXTERNAL INCLUDES
-#include <mprofileextended.h>
-#include <mprofiletones.h>
-#include <mprofileextratones.h>
-#include <DRMHelper.h>
-#include <coemain.h>
-
-// ============================ LOCAL FUNCTIONS ================================
-
-void DoCompare( const TDesC& aOldFile, const TDesC& aNewFile, CDRMHelper& aDRMHelper )
- {
- if( aOldFile.CompareF( aNewFile ) != 0 )
- {
- // The file has been changed.
- // Remove the old file from the automated content list.
- // Ignore any error value. Also non-drm files are tried to be removed
- // so the error might be KErrNotFound.
- //
- // Note:
- // RemoveAutomatedPassive may leave even if it is not an L-method!
- TRAP_IGNORE( aDRMHelper.RemoveAutomatedPassive( aOldFile ) ); // CSI: 59 # See the note above.
- }
- }
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CProfileStruct::RemoveAutomatedContentL
-// -----------------------------------------------------------------------------
-//
-void CProfileStruct::RemoveAutomatedContentL( MProfileExtended* aProfile ) const
- {
- CDRMHelper* drmHelper = CDRMHelper::NewLC( *CCoeEnv::Static() );
- const MProfileTones& tones = aProfile->ProfileTones();
- const MProfileExtraTones& extra = aProfile->ProfileExtraTones();
- DoCompare( tones.RingingTone1(), *iRingingTone, *drmHelper );
- DoCompare( tones.RingingTone2(), *iRingingToneLine2, *drmHelper );
- DoCompare( extra.VideoCallRingingTone(), *iVideoCallTone, *drmHelper );
- DoCompare( tones.MessageAlertTone(), *iMessageAlertTone, *drmHelper );
- DoCompare( extra.EmailAlertTone(), *iEmailAlertTone, *drmHelper );
- CleanupStack::PopAndDestroy( drmHelper );
- }
-
-// End of File
--- a/profilesapplication/Profiles/ProfileApp/SettingsViewSrc/CProfileTabHandler.cpp Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,208 +0,0 @@
-/*
-* Copyright (c) 2002 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: Tab handler for handling tabs in Profiles
-*
-*/
-
-
-
-// CLASS HDEADER
-#include "CProfileTabHandler.h"
-
-// INTERNAL INCLUDES
-#include "CProfileEngineHandler.h"
-#include "CProfileIndexHandler.h"
-#include "ProfileEngineConstants.h"
-
-// EXTERNAL INCLUDES
-#include <aknnavi.h>
-#include <coeaui.h>
-#include <akntabgrp.h>
-#include <aknnavide.h>
-#include <AknUtils.h> // AknTextUtils
-#include <MProfilesNamesArray.h>
-
-#include <MProfileName.h>
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CProfileTabHandler::CProfileTabHandler
-// C++ constructor can NOT contain any code, that might leave.
-// -----------------------------------------------------------------------------
-//
-CProfileTabHandler::CProfileTabHandler(
- CProfileEngineHandler& aEngineHandler,
- CProfileIndexHandler& aIndexHandler,
- CAknNavigationControlContainer& aNaviPane )
- : iEngineHandler( aEngineHandler ),
- iIndexHandler( aIndexHandler ),
- iNaviPane( aNaviPane )
- {
- }
-
-// -----------------------------------------------------------------------------
-// CProfileTabHandler::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CProfileTabHandler::ConstructL()
- {
- CreateTabGroupL();
- iNaviPane.PushL( *iNaviDecorator );
- }
-
-// -----------------------------------------------------------------------------
-// CProfileTabHandler::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CProfileTabHandler* CProfileTabHandler::NewL(
- CProfileEngineHandler& aEngineHandler,
- CProfileIndexHandler& aIndexHandler,
- CAknNavigationControlContainer& aNaviPane )
- {
- CProfileTabHandler* self = new( ELeave ) CProfileTabHandler(
- aEngineHandler, aIndexHandler, aNaviPane );
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop( self );
- return self;
- }
-
-// Destructor
-CProfileTabHandler::~CProfileTabHandler()
- {
- if( iNaviDecorator )
- {
- iNaviPane.Pop( iNaviDecorator );
- delete iNaviDecorator;
- }
- }
-
-// -----------------------------------------------------------------------------
-// CProfileTabHandler::TabGroup
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CAknTabGroup* CProfileTabHandler::TabGroup() const
- {
- return iTabGroup;
- }
-
-// -----------------------------------------------------------------------------
-// CProfileTabHandler::SetActiveTab
-// -----------------------------------------------------------------------------
-//
-void CProfileTabHandler::SetActiveTab( TInt aIndex )
- {
- iTabGroup->SetActiveTabByIndex( aIndex );
- }
-
-// -----------------------------------------------------------------------------
-// CProfileTabHandler::RefreshTabsL
-// -----------------------------------------------------------------------------
-//
-void CProfileTabHandler::RefreshTabsL()
- {
- MProfilesNamesArray* array = iEngineHandler.IdArray();
- TInt count( array->MdcaCount() );
- if( iTabGroup->TabCount() == count )
- {
- RBuf name;
- name.CreateL( KProfileMaxNameLength );
- CleanupClosePushL( name );
- for( TInt index( 0 ); index < count; index++ )
- {
- name.Copy( array->ProfileName( index )->ShortName() );
- AknTextUtils::DisplayTextLanguageSpecificNumberConversion( name );
- iTabGroup->ReplaceTabTextL( index, name );
- }
- CleanupStack::PopAndDestroy( &name );
- }
- }
-
-// -----------------------------------------------------------------------------
-// CProfileTabHandler::SetTabObserver
-// -----------------------------------------------------------------------------
-//
-void CProfileTabHandler::SetTabObserver( MAknTabObserver* aTabObserver )
- {
- iTabObserver = aTabObserver;
- }
-
-// -----------------------------------------------------------------------------
-// CProfileTabHandler::TabChangedL
-// CAknTabGroup notifies that tab has changed.
-// -----------------------------------------------------------------------------
-//
-void CProfileTabHandler::TabChangedL( TInt aIndex )
- {
- iIndexHandler.StoreIndices();
- iIndexHandler.SetCurrentProfileIndex( aIndex );
- if( iTabObserver )
- {
- iTabObserver->TabChangedL( aIndex );
- }
- }
-
-// -----------------------------------------------------------------------------
-// CProfileTabHandler::CreateTabGroupL
-// -----------------------------------------------------------------------------
-//
-void CProfileTabHandler::CreateTabGroupL()
- {
- // Remove all existing tabs, just in case
- if( iNaviDecorator )
- {
- iNaviPane.Pop( iNaviDecorator );
- delete iNaviDecorator;
- iNaviDecorator = NULL;
- }
-
- // Create tab group
- iNaviDecorator = iNaviPane.CreateTabGroupL( this );
- iTabGroup = static_cast<CAknTabGroup*>( iNaviDecorator->DecoratedControl() );
-
- MProfilesNamesArray* array = iEngineHandler.IdArray();
-
- RBuf name;
- name.CreateL( KProfileMaxNameLength );
- CleanupClosePushL( name );
- // Add tabs to tab group
- TInt count( array->MdcaCount() );
- for( TInt index( 0 ); index < count; index++ )
- {
- name.Copy( array->ProfileName( index )->ShortName() );
- AknTextUtils::DisplayTextLanguageSpecificNumberConversion( name );
- iTabGroup->AddTabL( index, name );
- }
- CleanupStack::PopAndDestroy( &name );
-
- // Set tab width
- TInt tab( KTabWidthWithThreeLongTabs );
- if( count == 1 )
- {
- tab = KTabWidthWithOneTab;
- }
- else if( count == 2 )
- {
- tab = KTabWidthWithTwoLongTabs;
- }
- iTabGroup->SetTabFixedWidthL( tab );
-
- // Set active tab
- iTabGroup->SetActiveTabByIndex( iIndexHandler.CurrentProfileIndex() );
- }
-
-// End of File
--- a/profilesapplication/Profiles/ProfileApp/SettingsViewSrc/CProfileToneHandler.cpp Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,681 +0,0 @@
-/*
-* Copyright (c) 2002-2006 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: A helper interface to be used by S60 applications for
-* setting ringing and alert tones for different profiles.
-* Registers DRM protected tones as automated content
-* and removes old content from automated content list.
-* Shows a content activation query if necessary.
-*
-*/
-
-
-
-// CLASS HEADER
-#include "cprofiletonehandler.h"
-
-// INTERNAL INCLUDES
-#include "ProfileMmfInfoUtility.h"
-
-// EXTERNAL INCLUDES
-#include <centralrepository.h>
-#include <profileenginedomaincrkeys.h> // KProEngRingingToneMaxSize
-#include <bautils.h> // BaflUtils
-#include <apgcli.h> // RApaLsSession
-#include <coemain.h> // CCoeEnv
-#include <aknnotewrappers.h> // CAknInformationNote
-#include <ConeResLoader.h> // RConeResourceLoader
-#include <StringLoader.h>
-#include <mprofileengineextended.h>
-#include <mprofileslocalfeatures.h>
-#include <mprofileextended.h>
-#include <mprofilesetextratones.h>
-#include <MProfileSetTones.h>
-#include <mprofileextratones.h>
-#include <mprofiletones.h>
-#include <mprofilesnamesarray.h>
-#include <mprofilename.h>
-#include <mprofileutilitysingleton.h>
-#include <ProfileSettingsView.rsg>
-#include <AknGlobalNote.h>
-#include <f32file.h>
-
-namespace
- {
- // CONSTANTS
- _LIT( KProfileSilentTone, "Z:No_Sound.wav" );
- _LIT( KProfileAudioMimeType, "audio" );
- _LIT( KProfileRngMimeType, "application/vnd.nokia.ringing-tone" );
-
- _LIT( KProfileCommonVideoType, "video/*" );
- _LIT( KProfileRMVideoMimeType, "application/vnd.rn-realmedia" );
- _LIT( KProfileRMVideoMimeType2, "application/x-pn-realmedia" );
- _LIT( KProfileSDPVideoMimeType, "application/sdp" );
- _LIT( KProfilePlainTextType, "text/plain" );
- // The filename of the resource file
- _LIT( KProfileResourceFileName, "Z:ProfileSettingsView.RSC" );
- }
-
-
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CProfileToneHandler::CProfileToneHandler
-// C++ default constructor can NOT contain any code, that might leave.
-// -----------------------------------------------------------------------------
-//
-CProfileToneHandler::CProfileToneHandler()
- {
- }
-
-// -----------------------------------------------------------------------------
-// CProfileToneHandler::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CProfileToneHandler::ConstructL()
- {
- DrmConstructL();
- GetMaxToneFileSizeL();
- User::LeaveIfError( iFs.Connect() );
- iProfileEngine = CreateProfileEngineExtendedL( &iFs );
- // NB. Singleton must be released in the destructor:
- iProfilesFeatures = &( ProfileUtilityInstanceL().ProfilesLocalFeatures() );
-
- User::LeaveIfError( iSSSettings.Open() );
- iSSSettings.Get( ESSSettingsAls, iAlternateLineSetting ); // ignore errors
- iSSSettings.Register( ESSSettingsAls, *this ); // ignore errors
- }
-
-// -----------------------------------------------------------------------------
-// CProfileToneHandler::NewLC
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CProfileToneHandler* CProfileToneHandler::NewLC()
- {
- CProfileToneHandler* self = new( ELeave ) CProfileToneHandler();
- CleanupStack::PushL( self );
- self->ConstructL();
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// CProfileToneHandler::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CProfileToneHandler* CProfileToneHandler::NewL()
- {
- CProfileToneHandler* self = CProfileToneHandler::NewLC();
- CleanupStack::Pop( self );
- return self;
- }
-
-// Destructor
-CProfileToneHandler::~CProfileToneHandler()
- {
- iSSSettings.Close();
- iFs.Close();
- if( iProfileEngine )
- {
- iProfileEngine->Release();
- }
-
- if ( iProfilesFeatures )
- {
- ReleaseProfileUtility();
- }
-
- ReleaseDrm();
- }
-
-// -----------------------------------------------------------------------------
-// CProfileToneHandler::SetActiveProfileRingingToneL
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TInt CProfileToneHandler::SetActiveProfileRingingToneL(
- const TDesC& aFileName )
- {
- // Find out the ID of the active profile
- TInt activeProfileId(
- User::LeaveIfError( iProfileEngine->ActiveProfileId() ) );
-
- return SetProfileToneL(
- activeProfileId, EProfileRingingToneSetting, aFileName );
- }
-
-// -----------------------------------------------------------------------------
-// CProfileToneHandler::SetProfileToneL
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TInt CProfileToneHandler::SetProfileToneL( TInt aProfileId,
- TProfileTones aToneSetting, const TDesC& aFileName )
- {
- // Check the file which is tried to set as ringing or alert tone.
- TInt returnValue( CheckFileL( aFileName ) );
- returnValue = CheckResultAndProtectionL( returnValue, aFileName );
- if( returnValue != KErrNone )
- {
- return returnValue;
- }
-
- DoSetProfileToneL( aProfileId, aToneSetting, aFileName );
- return KErrNone;
- }
-
-// -----------------------------------------------------------------------------
-// CProfileToneHandler::SetProfileToneNotCheckL
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TInt CProfileToneHandler::SetProfileToneNotCheckL( TInt aProfileId,
- TProfileTones aToneSetting, const TDesC& aFileName )
- {
- DoSetProfileToneL( aProfileId, aToneSetting, aFileName );
- return KErrNone;
- }
-
-// -----------------------------------------------------------------------------
-// CProfileToneHandler::SetToneForAllProfilesL
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TInt CProfileToneHandler::SetToneForAllProfilesL(
- TProfileTones aToneSetting, const TDesC& aFileName )
- {
- // Check the file which is tried to set as ringing or alert tone.
- TInt returnValue( CheckFileL( aFileName ) );
- returnValue = CheckResultAndProtectionL( returnValue, aFileName );
- if( returnValue != KErrNone )
- {
- return returnValue;
- }
-
- const MProfilesNamesArray* idArray = iProfileEngine->ProfilesNamesArrayLC();
- TInt arrayCount( idArray->MdcaCount() );
- TInt arrayIndex( 0 );
- TInt profileId( 0 );
- TInt activeId( iProfileEngine->ActiveProfileId() );
-
- // Go through profiles and update tone
- while( arrayIndex < arrayCount )
- {
- profileId = idArray->ProfileName( arrayIndex )->Id();
- // Updating of the active profile will be done last to make sure that
- // UI gets the new value of the ringing tone if settings view is active
- // and it is containing settings of another than active profile
- if( profileId != activeId )
- {
- TRAPD(r, DoSetProfileToneL( profileId, aToneSetting, aFileName ));
- // Filter situation when profile is not allowed to be changed
- // e.g. Drive-profile
- if( ( r != KErrNone ) && ( r != KErrAccessDenied ) )
- {
- User::Leave( r );
- }
- }
- arrayIndex++;
- }
- CleanupStack::PopAndDestroy(); // idArray
-
- // Update the active profile:
- TRAPD(r, DoSetProfileToneL( activeId, aToneSetting, aFileName ));
- // Filter situation when profile is not allowed to be changed
- // e.g. Drive-profile
- if( ( r != KErrNone ) && ( r != KErrAccessDenied ) )
- {
- User::Leave( r );
- }
-
- return KErrNone;
- }
-
-// -----------------------------------------------------------------------------
-// CProfileToneHandler::PhoneSettingChanged
-// Callback method inherited from MSSSettingsObserver for getting events if
-// Alternate Line Service status changes.
-// -----------------------------------------------------------------------------
-//
-void CProfileToneHandler::PhoneSettingChanged(
- TSSSettingsSetting aSetting, TInt aNewValue )
- {
- if( aSetting == ESSSettingsAls )
- {
- iAlternateLineSetting = aNewValue;
- }
- }
-
-// -----------------------------------------------------------------------------
-// CProfileToneHandler::DoSetProfileToneL
-// -----------------------------------------------------------------------------
-//
-void CProfileToneHandler::DoSetProfileToneL( TInt aProfileId,
- TProfileTones aToneSetting, const TDesC& aFileName )
- {
- // Read the settings of the profile in question
- MProfileExtended* profile = iProfileEngine->ProfileLC( aProfileId );
-
- // Get the old tone in order to remove it from the automated content list
- TFileName oldTone( ReadToneL( *profile, aToneSetting ) );
-
- TFileName fileName( aFileName );
- if( fileName.Length() == 0 )
- {
- // If no filename is given, replace it with "No_sound.wav". This way
- // it's possible to e.g. play vibra during incoming call.
- TParse* fp = new(ELeave) TParse();
- fp->Set(KProfileSilentTone, &KDC_RESOURCE_FILES_DIR, NULL);
- fileName.Copy( fp->FullName() );
- delete fp;
- }
-
- // Replace the old tone with the new tone
- SetToneL( *profile, aToneSetting, fileName );
-
- // Commit changes. Write the new settings to the Profiles Engine
- iProfileEngine->CommitChangeL( *profile );
-
- // Register file as automated content
- TInt err( SetAutomated( aToneSetting, fileName ) );
- if( err == KErrNone )
- {
- // Remove old tone from the automated content list
- RemoveAutomated( oldTone );
- }
- else
- {
- // Put the old tone back into Profiles:
- TRAP_IGNORE(
- SetToneL( *profile, aToneSetting, oldTone );
- iProfileEngine->CommitChangeL( *profile );
- );
- }
-
- CleanupStack::PopAndDestroy(); // profile
- User::LeaveIfError( err );
- }
-
-// -----------------------------------------------------------------------------
-// CProfileToneHandler::SetToneL
-// -----------------------------------------------------------------------------
-//
-void CProfileToneHandler::SetToneL( MProfileExtended& aProfile,
- TProfileTones aToneSetting, const TDesC& aFileName )
- {
- MProfileSetExtraTones& setExtraTones = aProfile.ProfileSetExtraTones();
- MProfileSetTones& setTones = aProfile.ProfileSetTones();
-
- switch( aToneSetting )
- {
- case EProfileRingingToneSetting:
- {
- if( iAlternateLineSetting == ESSSettingsAlsAlternate )
- {
- // Alternate Line Service is supported and alternate line is
- // selected. Set as ringing tone for line 2.
- setTones.SetRingingTone2L( aFileName );
- }
- else
- {
- // Alternate Line Service is not supported or primary line is
- // selected. Set as ringing tone for line 1.
- setTones.SetRingingTone1L( aFileName );
- }
- break;
- }
- case EProfileVideoCallToneSetting:
- {
- setExtraTones.SetVideoCallRingingToneL( aFileName );
- break;
- }
- case EProfileMessageAlertToneSetting:
- {
- setTones.SetMessageAlertToneL( aFileName );
- break;
- }
- case EProfileInstantMessageAlertToneSetting:
- {
- setExtraTones.SetIMMessageAlertToneL( aFileName );
- break;
- }
- case EProfileEmailAlertToneSetting:
- {
- setExtraTones.SetEmailAlertToneL( aFileName );
- break;
- }
- default:
- {
- User::Leave( KErrArgument );
- break;
- }
- }
- }
-
-// -----------------------------------------------------------------------------
-// CProfileToneHandler::ReadToneL
-// -----------------------------------------------------------------------------
-//
-const TDesC& CProfileToneHandler::ReadToneL( const MProfileExtended& aProfile,
- TProfileTones aToneSetting ) const
- {
- const MProfileExtraTones& extraTones = aProfile.ProfileExtraTones();
- const MProfileTones& tones = aProfile.ProfileTones();
-
- switch( aToneSetting )
- {
- case EProfileRingingToneSetting:
- {
- if( iAlternateLineSetting == ESSSettingsAlsAlternate )
- {
- // Alternate Line Service is supported and alternate line is
- // selected.
- return tones.RingingTone2();
- }
- else
- {
- // Alternate Line Service is not supported or primary line is
- // selected.
- return tones.RingingTone1();
- }
- }
- case EProfileVideoCallToneSetting:
- {
- return extraTones.VideoCallRingingTone();
- }
- case EProfileMessageAlertToneSetting:
- {
- return tones.MessageAlertTone();
- }
- case EProfileInstantMessageAlertToneSetting:
- {
- return extraTones.IMMessageAlertTone();
- }
- case EProfileEmailAlertToneSetting:
- {
- return extraTones.EmailAlertTone();
- }
- default:
- {
- User::Leave( KErrArgument );
- break;
- }
- }
- return KNullDesC;
- }
-
-// -----------------------------------------------------------------------------
-// CProfileToneHandler::CheckFileL
-// -----------------------------------------------------------------------------
-//
-TInt CProfileToneHandler::CheckFileL( const TDesC& aFileName )
- {
- if( aFileName.Length() == 0 )
- {
- // The filename is empty, ok.
- // It will be changed to "No_sound.wav" when writing to Profiles Engine.
- return KErrNone;
- }
-
- if( !BaflUtils::FileExists( iFs, aFileName ) )
- {
- // The file does not exist. No good (start the dance).
- return KErrNotFound;
- }
-
- TBool isAudio( EFalse );
- TBool isVideo( EFalse );
-
- // The file exists. Check its data (MIME) type.
- TBuf<KMaxDataTypeLength> dataType( DataTypeL( aFileName ) );
- if( ( dataType.Left( KProfileAudioMimeType()
- .Length() ).CompareF( KProfileAudioMimeType ) == 0 ) ||
- ( dataType.CompareF( KProfileRngMimeType ) == 0 ) )
- {
- isAudio = ETrue;
- }
-
- if( dataType.MatchF( KProfileCommonVideoType ) == 0 ||
- dataType.CompareF( KProfileRMVideoMimeType ) == 0 ||
- dataType.CompareF( KProfileRMVideoMimeType2 ) == 0 ||
- dataType.CompareF( KProfileSDPVideoMimeType ) == 0 )
- {
-#ifdef RD_VIDEO_AS_RINGING_TONE
- isVideo = ETrue;
-#else
- isVideo = EFalse;
-#endif
- }
-
- if( (!isAudio) && (!isVideo) && (dataType.CompareF(KProfilePlainTextType) != 0) )
- {
- // The data type does not start with "audio" or video and it's not RNG file.
- return KErrNotSupported;
- }
-
- // Check whether file is supported by MMF
- TBuf8<KMaxDataTypeLength> tempDataType;
- tempDataType.Copy( dataType );
-
- if( !ProfileMmfInfoUtility::IsMimeTypeSupportedL( tempDataType ) )
- {
- // File is not supported by MMF
- return KErrNotSupported;
- }
-
- // Operator requirement. Check if the tones of this data type are blocked:
- if( iProfilesFeatures->IsBlockedType( dataType ) ||
- iProfilesFeatures->IsExcludedType( dataType ) )
- {
- User::Leave( KErrArgument );
- }
-
- // Check if the tone is WMDRM protected
- if( IsFileWMDRMProtectedL( aFileName ) )
- {
- return KErrPermissionDenied;
- }
-
- TInt result( KErrNone );
- if( IsProtected( aFileName ) )
- {
- // In certain variants tones of certain MIME-types are not allowed as
- // alert tones if they are DRM-protected, check if this is one:
- if( iProfilesFeatures->IsBlockedProtectedType( dataType ) )
- {
- return KErrArgument;
- }
- result = CheckProtectedFileL( aFileName );
- }
- else
- {
- result = iProfilesFeatures->IsBlockedUnprotectedType( dataType ) ?
- KErrPermissionDenied : KErrNone;
- }
- return result;
- }
-
-// -----------------------------------------------------------------------------
-// CProfileToneHandler::CheckResultAndProtectionL
-// Find out the mime type of the file
-// -----------------------------------------------------------------------------
-//
-TInt CProfileToneHandler::CheckResultAndProtectionL( TInt aResult,
- const TDesC& aFileName )
- {
- if( aResult == KErrPermissionDenied || aResult == KErrNotSupported ||
- aResult == KErrNotFound )
- {
- User::Leave( aResult );
- }
- else if( aResult != KErrNone )
- {
- return aResult;
- }
-
- // If tone file size is limited,
- // check if this file's size exceeds this limit.
- if ( iMaxSizeKB )
- {
- if ( CheckToneFileSizeL( aFileName, iMaxSizeKB ) != KErrNone )
- {
- ShowSizeErrorNoteL( iMaxSizeKB );
- return KErrTooBig;
- }
- }
-
- if( IsProtected( aFileName ) )
- {
- if( !CanSetAutomated( aFileName ) )
- {
- // DRM v2 content should be caught here
- ShowErrorNoteL( R_PROFILE_TEXT_DRM_PREV_RIGHTS_SET );
- return KErrGeneral;
- }
-
- // If the file in question is unactivated protected content,
- // ask user if he/she wants to activate it.
- if( AskAutomated( aFileName ) == KErrCancel )
- {
- // User doesn't want to activate unactivated protected content.
- return KErrCancel;
- }
- }
- return KErrNone;
- }
-
-// -----------------------------------------------------------------------------
-// CProfileToneHandler::DataType
-// Find out the mime type of the file
-// -----------------------------------------------------------------------------
-//
-TBuf<KMaxDataTypeLength> CProfileToneHandler::DataTypeL(
- const TDesC& aFileName ) const
- {
- RApaLsSession apaLsSession;
- User::LeaveIfError( apaLsSession.Connect() );
- CleanupClosePushL( apaLsSession );
-
- TUid dummyUid = { 0 }; // instantiate as zero
- TDataType dataType( dummyUid );
- User::LeaveIfError(
- apaLsSession.AppForDocument( aFileName, dummyUid, dataType ) );
-
- CleanupStack::PopAndDestroy(); // apaLsSession.Close()
- return dataType.Des();
- }
-
-// -----------------------------------------------------------------------------
-// CProfileToneHandler::ShowErrorNoteL
-// -----------------------------------------------------------------------------
-//
-void CProfileToneHandler::ShowErrorNoteL( TInt aResourceId ) const
- {
- CCoeEnv* coeEnv = CCoeEnv::Static();
- RConeResourceLoader resourceLoader( *coeEnv );
- CleanupClosePushL( resourceLoader );
-
- TParse* fp = new(ELeave) TParse();
- fp->Set(KProfileResourceFileName, &KDC_RESOURCE_FILES_DIR, NULL);
- TFileName localizedFileName( fp->FullName() );
- delete fp;
-
- resourceLoader.OpenL( localizedFileName );
-
- HBufC* errorText = StringLoader::LoadLC( aResourceId );
- CAknInformationNote* note = new( ELeave ) CAknInformationNote( EFalse );
- note->ExecuteLD( *errorText );
-
- // errorText
- CleanupStack::PopAndDestroy( errorText );
- // resourceLoader
- CleanupStack::PopAndDestroy( );
- }
-
-// -----------------------------------------------------------------------------
-// CProfileToneHandler::ShowSizeErrorNoteL
-// -----------------------------------------------------------------------------
-//
-void CProfileToneHandler::ShowSizeErrorNoteL( TInt aSizeLimitKB )
- {
- CCoeEnv* coeEnv = CCoeEnv::Static();
- RConeResourceLoader resourceLoader( *coeEnv );
- CleanupClosePushL( resourceLoader );
-
- TParse* fp = new(ELeave) TParse();
- CleanupStack::PushL( fp );
- fp->Set( KProfileResourceFileName, &KDC_RESOURCE_FILES_DIR, NULL);
-
- TFileName* fileName = new( ELeave ) TFileName();
- fileName->Copy( fp->FullName() );
- CleanupStack::PushL( fileName );
- resourceLoader.OpenL( *fileName );
- CleanupStack::PopAndDestroy( fileName );
-
- HBufC* errorText = StringLoader::LoadLC( R_PROFILE_TEXT_TONE_MAXSIZE_ERROR, aSizeLimitKB );
- CAknInformationNote* note = new( ELeave ) CAknInformationNote( EFalse );
- note->ExecuteLD( *errorText );
-
- CleanupStack::PopAndDestroy( errorText );
- CleanupStack::PopAndDestroy( fp );
- CleanupStack::PopAndDestroy( &resourceLoader );
- }
-
-// -----------------------------------------------------------------------------
-// CProfileToneHandler::GetMaxToneFileSizeL
-// -----------------------------------------------------------------------------
-//
-void CProfileToneHandler::GetMaxToneFileSizeL()
- {
- CRepository* cenrep = CRepository::NewL( KCRUidProfileEngine );
- CleanupStack::PushL( cenrep );
- TInt error = cenrep->Get( KProEngRingingToneMaxSize, iMaxSizeKB );
- CleanupStack::PopAndDestroy( cenrep );
- if ( error != KErrNone )
- {
- iMaxSizeKB = 0;
- }
- if ( iMaxSizeKB < 0 )
- {
- iMaxSizeKB = 0;
- }
- }
-
-// -----------------------------------------------------------------------------
-// CProfileToneHandler::CheckToneFileSizeL
-// -----------------------------------------------------------------------------
-//
-TInt CProfileToneHandler::CheckToneFileSizeL( const TDesC& aFile,
- TInt aSizeLimitKB )
- {
- // Get file size
- TInt size = 0;
- TInt error = KErrNone;
-
- TEntry entry;
- if ( iFs.Entry( aFile, entry ) == KErrNone )
- {
- size = entry.iSize;
- }
-
- // Check. NOTE: now if file size couldn't be determined, check fails.
- aSizeLimitKB *= KKilo;
- if ( aSizeLimitKB && size > aSizeLimitKB )
- {
- error = KErrTooBig;
- }
-
- return error;
- }
-
-
-// End of File
--- a/profilesapplication/Profiles/ProfileApp/SettingsViewSrc/CProfileToneHandlerDrmEmpty.cpp Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,107 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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: A helper interface to be used by S60 applications for
-* setting ringing and alert tones for different profiles.
-* Registers DRM protected tones as automated content
-* and removes old content from automated content list.
-* Shows a content activation query if necessary.
-*
-*/
-
-
-
-// INCLUDE FILES
-#include "CProfileToneHandler.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CProfileToneHandler::DrmConstructL
-// 2nd phase construct for DRM objects. Empty implementation.
-// -----------------------------------------------------------------------------
-//
-void CProfileToneHandler::DrmConstructL()
- {
- }
-
-// -----------------------------------------------------------------------------
-// CProfileToneHandler::ReleaseDrm
-// Destructor for DRM objects. Empty implementation.
-// -----------------------------------------------------------------------------
-//
-void CProfileToneHandler::ReleaseDrm()
- {
- }
-
-// -----------------------------------------------------------------------------
-// CProfileToneHandler::CheckProtectedFileL
-// Empty implementation.
-// -----------------------------------------------------------------------------
-//
-TInt CProfileToneHandler::CheckProtectedFileL( const TDesC& /*aFileName*/ )
- {
- return KErrNone;
- }
-
-// -----------------------------------------------------------------------------
-// CProfileToneHandler::CanSetAutomated
-// Empty implementation.
-// -----------------------------------------------------------------------------
-//
-TBool CProfileToneHandler::CanSetAutomated( const TDesC& /*aFileName*/ )
- {
- return EFalse;
- }
-
-// -----------------------------------------------------------------------------
-// CProfileToneHandler::AskAutomated
-// Empty implementation.
-// -----------------------------------------------------------------------------
-//
-TInt CProfileToneHandler::AskAutomated( const TDesC& /*aFileName*/ )
- {
- return KErrNone;
- }
-
-// -----------------------------------------------------------------------------
-// CProfileToneHandler::SetAutomated
-// Empty implementation.
-// -----------------------------------------------------------------------------
-//
-TInt CProfileToneHandler::SetAutomated( TProfileTones /* aToneSetting */,
- const TDesC& /*aFileName*/ )
- {
- return KErrNone;
- }
-
-// -----------------------------------------------------------------------------
-// CProfileToneHandler::RemoveAutomated
-// Empty implementation.
-// -----------------------------------------------------------------------------
-//
-void CProfileToneHandler::RemoveAutomated( const TDesC& /*aFileName*/ )
- {
- }
-
-// -----------------------------------------------------------------------------
-// CProfileToneHandler::IsProtected
-// Empty implementation.
-// -----------------------------------------------------------------------------
-//
-TBool CProfileToneHandler::IsProtected( const TDesC& /*aFileName*/ ) const
- {
- return EFalse;
- }
-
-// End of File
--- a/profilesapplication/Profiles/ProfileApp/SettingsViewSrc/CProfileToneHandlerDrmFull.cpp Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,497 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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: A helper interface to be used by S60 applications for
-* setting ringing and alert tones for different profiles.
-* Registers DRM protected tones as automated content
-* and removes old content from automated content list.
-* Shows a content activation query if necessary.
-*
-*/
-
-
-
-// INCLUDE FILES
-#include "cprofiletonehandler.h"
-
-#include <DRMHelper.h>
-#include <DRMCommon.h>
-#include <ProfileSettingsView.rsg>
-
-#ifdef RD_DRM_COMMON_INTERFACE_FOR_OMA_AND_WMDRM
-#include <drmutility.h>
-#include <drmagents.h>
-#endif
-
-#include <caf/caf.h>
-
-
-// ============================ LOCAL FUNCTIONS ================================
-
-CDRMHelper::TDRMHelperAutomatedType ToneSettingToAutomatedType(
- TProfileTones aToneSetting )
- {
- switch( aToneSetting )
- {
- case EProfileRingingToneSetting:
- {
- return CDRMHelper::EAutomatedTypeRingingTone;
- }
- case EProfileMessageAlertToneSetting:
- {
- return CDRMHelper::EAutomatedTypeMessageAlert;
- }
- case EProfileEmailAlertToneSetting:
- {
- return CDRMHelper::EAutomatedTypeEmailAlert;
- }
- case EProfileInstantMessageAlertToneSetting:
- {
- return CDRMHelper::EAutomatedTypeIMAlert;
- }
- default:
- {
- return CDRMHelper::EAutomatedTypeOther;
- }
- }
- }
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CProfileToneHandler::DrmConstructL
-// 2nd phase construct for DRM objects
-// -----------------------------------------------------------------------------
-//
-void CProfileToneHandler::DrmConstructL()
- {
- iDrmCommon = DRMCommon::NewL();
- iDrmHelper = CDRMHelper::NewL();
- }
-
-// -----------------------------------------------------------------------------
-// CProfileToneHandler::ReleaseDrm
-// Destructor for DRM objects
-// -----------------------------------------------------------------------------
-//
-void CProfileToneHandler::ReleaseDrm()
- {
- delete iDrmHelper;
- iDrmHelper = NULL;
- delete iDrmCommon;
- iDrmCommon = NULL;
- }
-
-// -----------------------------------------------------------------------------
-// CProfileToneHandler::CheckProtectedFileL
-// -----------------------------------------------------------------------------
-//
-TInt CProfileToneHandler::CheckProtectedFileL( const TDesC& aFileName )
- {
- DRMCommon::TContentProtection protection;
- HBufC8* mimeType = NULL; // ignored
- HBufC8* contentUri = NULL;
- TUint dataLength; // ignored
- TInt err = iDrmCommon->GetFileInfo( aFileName, protection, mimeType,
- contentUri, dataLength );
- delete mimeType;
- if( err )
- {
- delete contentUri;
- User::Leave( err );
- }
- CleanupStack::PushL( contentUri );
-
- TInt result( KErrGeneral );
- CDRMRights* rights = NULL;
- err = iDrmCommon->GetActiveRights( *contentUri, DRMCommon::EPlay, rights );
-
- CleanupStack::PopAndDestroy( contentUri );
-
- if( rights == NULL )
- {
- if( err == DRMCommon::ENoRights )
- {
- // Handle "No rights" situation here
- iDrmHelper->HandleErrorL( DRMCommon::ENoRights, aFileName );
- return result;
- }
- else
- {
- User::Leave( KErrGeneral );
- }
- }
-
- CleanupStack::PushL( rights );
-
- switch ( err )
- {
- case CDRMRights::EFullRights: // Fall through
- case CDRMRights::ERestrictedRights:
- {
- CDRMRights::TRestriction restriction; // ignore
- CDRMRights::TExpiration expiration;
- TUint32 constType;
-
- rights->GetRightsInfo( DRMCommon::EPlay, restriction, // ignore return
- expiration, constType ); // value
-
- // This is CFM protected file, ringingtone is set to "no"
- if ( ( rights->GetPermission().iInfoBits & ENoRingingTone )
- // This is normal DRM protected count-based tone
- || ( constType & CDRMRights::ECountBased ) )
- {
- ShowErrorNoteL( R_PROFILE_TEXT_DRM_PREV_RIGHTS_SET );
- }
- else
- {
- switch ( expiration )
- {
- case CDRMRights::EValidRights:
- {
- result = KErrNone;
- break;
- }
-
- case CDRMRights::EFutureRights:
- {
- iDrmHelper->HandleErrorL( DRMCommon::ENoRights, aFileName );
- break;
- }
-
- case CDRMRights::EExpiredRights:
- {
- iDrmHelper->HandleErrorL( DRMCommon::ERightsExpired, aFileName );
- break;
- }
-
- default:
- {
- break;
- }
- }
-
- }
-
-
- break;
- }
-
- case CDRMRights::EPreviewRights:
- {
- ShowErrorNoteL( R_PROFILE_TEXT_DRM_PREV_RIGHTS_SET );
- break;
- }
-
- case DRMCommon::ENoRights:
- {
- iDrmHelper->HandleErrorL( DRMCommon::ENoRights, aFileName );
- break;
- }
-
- default:
- {
- break;
- }
-
- }
-
- CleanupStack::PopAndDestroy( rights );
-
- return result;
- }
-
-// -----------------------------------------------------------------------------
-// CProfileToneHandler::CanSetAutomated
-// -----------------------------------------------------------------------------
-//
-TBool CProfileToneHandler::CanSetAutomated( const TDesC& aFileName )
- {
- TBool canSetAutomated( EFalse );
- return
- iDrmHelper->CanSetAutomated( aFileName, canSetAutomated ) == KErrNone &&
- canSetAutomated;
- }
-
-// -----------------------------------------------------------------------------
-// CProfileToneHandler::AskAutomated
-// -----------------------------------------------------------------------------
-//
-TInt CProfileToneHandler::AskAutomated( const TDesC& aFileName )
- {
- return iDrmHelper->ShowAutomatedNote( aFileName );
- }
-
-// -----------------------------------------------------------------------------
-// CProfileToneHandler::SetAutomated
-// -----------------------------------------------------------------------------
-//
-TInt CProfileToneHandler::SetAutomated( TProfileTones aToneSetting,
- const TDesC& aFileName )
- {
- TInt err = KErrNone;
-
- TRAP_IGNORE( err = SetAutomatedL( aToneSetting, aFileName ) );
-
- return err;
- }
-
-// -----------------------------------------------------------------------------
-// CProfileToneHandler::SetAutomatedL
-// -----------------------------------------------------------------------------
-//
-TInt CProfileToneHandler::SetAutomatedL( TProfileTones aToneSetting,
- const TDesC& aFileName )
- {
- iDrmHelper->SetAutomatedType( ToneSettingToAutomatedType( aToneSetting ) );
- TInt err( iDrmHelper->SetAutomatedSilent( aFileName, EFalse ) );
- if( err == KErrNone )
- {
- using namespace ContentAccess;
- TVirtualPathPtr path( aFileName, KDefaultContentObject );
- CData* data = CData::NewLC( path, EContentShareReadWrite );
- err = data->ExecuteIntent( EPlay );
- CleanupStack::PopAndDestroy( data );
- // According to Risto Vilkman from DRM, KErrAccessDenied
- // can be ignored at this point, since if
- // CanSetAutomated says the tone is OK, it's OK.
- if( err == KErrAccessDenied )
- {
- err = KErrNone;
- }
- }
- return err;
- }
-
-// -----------------------------------------------------------------------------
-// CProfileToneHandler::RemoveAutomated
-// -----------------------------------------------------------------------------
-//
-void CProfileToneHandler::RemoveAutomated( const TDesC& aFileName )
- {
- iDrmHelper->RemoveAutomatedPassive( aFileName ); // ignore return value
- }
-
-// -----------------------------------------------------------------------------
-// CProfileToneHandler::IsProtected
-// -----------------------------------------------------------------------------
-//
-TBool CProfileToneHandler::IsProtected( const TDesC& aFileName ) const
- {
- TBool result = EFalse;
- TRAP_IGNORE( result = IsProtectedL( aFileName ) );
- return result;
- }
-
-// -----------------------------------------------------------------------------
-// CProfileToneHandler::IsProtectedL
-// -----------------------------------------------------------------------------
-//
-TBool CProfileToneHandler::IsProtectedL( const TDesC& aFileName ) const
- {
- TInt isProtected( EFalse );
- ContentAccess::TVirtualPathPtr path( aFileName,
- ContentAccess::KDefaultContentObject );
- CData* data = CData::NewLC( path, EContentShareReadWrite );
- TInt result = data->GetAttribute( EIsProtected, isProtected );
- CleanupStack::PopAndDestroy(); // data
-
- return( ( result == DRMCommon::EOk ) && isProtected );
- }
-
-
-// -----------------------------------------------------------------------------
-//
-// Functions related to WMDRM protection check
-//
-// -----------------------------------------------------------------------------
-
-#ifndef RD_DRM_COMMON_INTERFACE_FOR_OMA_AND_WMDRM
-
-// Some magic constants
-static const TInt KMinContentLength( 16 );
-//_LIT8( KContentProtectionType, "DRM" );
-_LIT8( KASFHeaderObject, "75B22630668E11CFA6D900AA0062CE6C" );
-_LIT8( KWrmHeader, "W\0R\0M\0H\0E\0A\0D\0E\0R\0" );
-
-// -----------------------------------------------------------------------------
-// FormatGUID
-// -----------------------------------------------------------------------------
-//
-LOCAL_C void FormatGUID( TDes8 &aGUID )
- {
- TBuf8<16> copyGUID( aGUID );
- TInt i;
- for( i = 0; i < 4; i++ )
- {
- copyGUID[i] = aGUID[3-i];
- }
- for( i = 4; i < 6; i++ )
- {
- copyGUID[i] = aGUID[9 - i];
- }
- for( i = 6; i < 8; i++ )
- {
- copyGUID[i] = aGUID[13 - i];
- }
- for( i = 8; i < 16 ; i++ )
- {
- copyGUID[i] = aGUID[i];
- }
- aGUID.Delete( 0, 32 );
- for( i = 0; i <16; i++ )
- {
- aGUID.AppendNumFixedWidthUC( copyGUID[i], EHex, 2 );
- }
- }
-
-// -----------------------------------------------------------------------------
-// ConvertToInt64
-// -----------------------------------------------------------------------------
-//
-LOCAL_C TInt64 ConvertToInt64( TDesC8& aDes )
- {
- TInt64 num = 0;
- TInt i;
- for( i = 7 ; i >= 0; i-- )
- {
- num <<= 8;
- num |= aDes[i];
- }
- return num;
- }
-
-
-// -----------------------------------------------------------------------------
-// IsProtectedWmDrmL
-// returns ETrue, if file is protected WMDRM file
-// EFalse if file is not protected WMDRM file
-// Leaves with KErrUnderflow if file has too little data to decide
-// whether WmDrm or not
-// may also leave with other system wide error code
-// -----------------------------------------------------------------------------
-//
-LOCAL_C TBool IsProtectedWmDrmL( RFile& aFileHandle )
- {
- TInt r( KErrNone );
- HBufC8* buffer( NULL );
- TInt pos( 0 );
- RFile file;
- TBuf8< 32 > header;
-
- TInt64 headerSize( 0 );
- TBool isProtectedWmDrm( EFalse );
- TPtr8 headerPtr( NULL, 0 );
-
- // Leave if given handle is invalid
- if( !aFileHandle.SubSessionHandle() )
- {
- User::Leave( KErrBadHandle );
- }
-
- User::LeaveIfError( file.Duplicate( aFileHandle ) );
- CleanupClosePushL( file );
-
- User::LeaveIfError( file.Seek( ESeekStart, pos ) );
-
- // Check if the file is an ASF file
- // Check on runtime wether WM DRM is supporeted or not
-
- User::LeaveIfError( file.Read( 0, header, KMinContentLength ) );
- if( header.Length() < KMinContentLength )
- {
- User::Leave( KErrUnderflow );
- }
-
- FormatGUID( header );
-
- if( header == KASFHeaderObject )
- {
- // It's ASF, check still whether it's WM DRM protected or not
- file.Read( header,8 );
- headerSize = ConvertToInt64( header );
- if( headerSize <= 30 )
- {
- User::Leave( KErrUnderflow );
- }
- if ( headerSize > ( ( KMaxTInt32 / 2 ) - 1 ) )
- {
- User::Leave( KErrOverflow );
- }
- buffer = HBufC8::NewLC( headerSize );
-
- headerPtr.Set( buffer->Des() );
- User::LeaveIfError( file.Read( headerPtr, headerSize - 24 ) );
-
- r = headerPtr.Find( KWrmHeader );
- if ( KErrNotFound != r )
- {
- isProtectedWmDrm = ETrue;
- }
- CleanupStack::PopAndDestroy( buffer ); // buffer
- }
- CleanupStack::PopAndDestroy(); // file
-
- return isProtectedWmDrm;
- }
-
-#endif // RD_DRM_COMMON_INTERFACE_FOR_OMA_AND_WMDRM
-
-// -----------------------------------------------------------------------------
-//
-// CProfileToneHandler::IsFileWMDRMProtectedL
-//
-// -----------------------------------------------------------------------------
-//
-TBool CProfileToneHandler::IsFileWMDRMProtectedL( const TDesC& aFileName )
- {
- TBool res = EFalse;
- RFile hFile;
-
- TInt err = hFile.Open( iFs, aFileName,
- EFileRead | EFileStream | EFileShareReadersOnly );
- if( err == KErrInUse )
- {
- err = hFile.Open( iFs, aFileName,
- EFileRead | EFileStream | EFileShareAny );
- }
- if( err != KErrNone )
- {
- User::Leave( err );
- }
- CleanupClosePushL( hFile );
-
-#ifdef RD_DRM_COMMON_INTERFACE_FOR_OMA_AND_WMDRM
- TPtrC agent( KNullDesC );
- DRM::CDrmUtility* drmUtil( DRM::CDrmUtility::NewLC() );
- drmUtil->GetAgentL( hFile, agent );
- if( agent.Compare( DRM::KDrmWMAgentName ) == 0 )
- {
- res = ETrue;
- }
- CleanupStack::PopAndDestroy( drmUtil );
-#else
- res = IsProtectedWmDrmL( hFile );
-#endif
-
- CleanupStack::PopAndDestroy( &hFile );
- return res;
- }
-
-// -----------------------------------------------------------------------------
-//
-// End of Functions related to WMDRM protection check
-//
-// -----------------------------------------------------------------------------
-
-// End of File
--- a/profilesapplication/Profiles/ProfileApp/SettingsViewSrc/CProfileVibraSettingItem.cpp Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,49 +0,0 @@
-/*
-* Copyright (c) 2008 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: Setting item class for Vibra settings.
-*
-*/
-
-
-
-// INCLUDES
-#include "CProfileVibraSettingItem.h"
-#include "CProfileVibraSettingPage.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CProfileVibraSettingItem::CProfileVibraSettingItem
-// C++ constructor can NOT contain any code, that might leave.
-// -----------------------------------------------------------------------------
-//
-CProfileVibraSettingItem::CProfileVibraSettingItem(
- TInt aIdentifier, TBool& aValue )
- : CAknBinaryPopupSettingItem( aIdentifier, aValue )
- {
- }
-
-
-// -----------------------------------------------------------------------------
-// CProfileVibraSettingItem::CreateSettingPageL
-// -----------------------------------------------------------------------------
-//
-CAknSettingPage* CProfileVibraSettingItem::CreateSettingPageL()
- {
- return new( ELeave ) CProfileVibraSettingPage(
- SettingPageResourceId(),
- *QueryValue() );
- }
-
-// End of File
--- a/profilesapplication/Profiles/ProfileApp/SettingsViewSrc/CProfileVibraSettingItem.h Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,65 +0,0 @@
-/*
-* Copyright (c) 2008 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: Setting item class for Vibra settings.
-*
-*/
-
-
-
-#ifndef CPROFILEVIBRASETTINGITEM_H
-#define CPROFILEVIBRASETTINGITEM_H
-
-// INCLUDES
-#include <aknsettingitemlist.h>
-
-// FORWARD DECLARATIONS
-class CAknSettingPage;
-
-// CLASS DECLARATION
-/**
-* Setting item class for Vibra settings.
-* CProfileVibraSettingItem extends CAknBinaryPopupSettingItem
-* in order to launch CProfileVibraSettingPage
-* instead of CAknPopupSettingPage.
-*
-* @lib ProfileSettingsView.lib
-* @since 5.0
-*/
-NONSHARABLE_CLASS( CProfileVibraSettingItem ) : public CAknBinaryPopupSettingItem
- {
- public: // Constructors and destructor
-
- /**
- * C++ constructor.
- * @param aIdentifier Setting item identifier.
- * @param aValue Vibra setting value.
- */
- CProfileVibraSettingItem(
- TInt aIdentifier,
- TBool& aValue );
-
- private: // Functions from base classes
-
- /**
- * From CAknBinaryPopupSettingItem
- */
- CAknSettingPage* CreateSettingPageL();
-
- private: // Data
-
- };
-
-#endif // CPROFILEVIBRASETTINGITEM_H
-
-// End of File
--- a/profilesapplication/Profiles/ProfileApp/SettingsViewSrc/CProfileVibraSettingPage.cpp Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,85 +0,0 @@
-/*
-* Copyright (c) 2008 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: Setting page class for Vibra settings.
-*
-*/
-
-
-
-// INCLUDES
-#include <ProfileSettingsView.rsg>
-#include <StringLoader.h> // For StringLoader
-#include <aknnotewrappers.h> // For CAknInformationNote
-
-// for power save mode handling
-#include <psmsettings.h>
-#include <psmsrvdomaincrkeys.h>
-#include <centralrepository.h>
-
-#include "CProfileVibraSettingPage.h"
-#include "ProfileSettingsView.hrh"
-
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CProfileVibraSettingPage::CProfileVibraSettingPage
-// C++ constructor can NOT contain any code, that might leave.
-// -----------------------------------------------------------------------------
-//
-CProfileVibraSettingPage::CProfileVibraSettingPage(
- TInt aResourceID, MAknQueryValue& aQueryValue )
- : CAknPopupSettingPage( aResourceID, aQueryValue )
- {
- }
-
-// -----------------------------------------------------------------------------
-// CProfileVibraSettingPage::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CProfileVibraSettingPage::ConstructL()
- {
- CAknPopupSettingPage::ConstructL();
- }
-
-// Destructor.
-CProfileVibraSettingPage::~CProfileVibraSettingPage()
- {
- }
-
-// -----------------------------------------------------------------------------
-// CProfileFeedbackSettingPage::OkToExitL
-// -----------------------------------------------------------------------------
-//
-TBool CProfileVibraSettingPage::OkToExitL( TBool aAccept )
- {
- if( aAccept )
- {
- TInt psm = EPsmsrvModeNormal;
- CRepository* cenrep = CRepository::NewLC( KCRUidPowerSaveMode );
- cenrep->Get( KPsmCurrentMode, psm );
- CleanupStack::PopAndDestroy( cenrep );
- if( psm == EPsmsrvModePowerSave )
- {
- HBufC* buf = StringLoader::LoadLC( R_PROFILE_TEXT_PSM_INFONOTE );
- CAknInformationNote* queryDialog = new (ELeave) CAknInformationNote( EFalse );
- queryDialog->ExecuteLD( *buf );
- CleanupStack::PopAndDestroy( buf );
- }
- }
- return ETrue;
- }
-
-// End of File
--- a/profilesapplication/Profiles/ProfileApp/SettingsViewSrc/CProfileVibraSettingPage.h Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,75 +0,0 @@
-/*
-* Copyright (c) 2008 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: Setting page class for Vibra settings.
-*
-*/
-
-
-
-#ifndef CPROFILEVIBRASETTINGPAGE_H
-#define CPROFILEVIBRASETTINGPAGE_H
-
-// INCLUDES
-#include <aknpopupsettingpage.h>
-
-// FORWARD DECLARATIONS
-class CFLDController;
-
-// CLASS DECLARATION
-/**
-* Setting page class for Vibra settings.
-* CProfileVibraSettingPage extends CAknPopupSettingPage.
-*
-* @lib ProfileSettingsView.lib
-* @since 5.0
-*/
-NONSHARABLE_CLASS( CProfileVibraSettingPage ) : public CAknPopupSettingPage
- {
- public: // Constructors and destructor
-
- /**
- * C++ constructor.
- * @param aResourceID Setting page resource ID.
- * @param aQueryValue
- */
- CProfileVibraSettingPage(
- TInt aResourceID,
- MAknQueryValue& aQueryValue );
-
- /**
- * Symbian 2nd phase constructor.
- */
- void ConstructL();
-
- /**
- * Destructor.
- */
- ~CProfileVibraSettingPage();
-
- private: // Functions from base classes
-
- /**
- * From CAknSettingPage
- */
- TBool OkToExitL( TBool aAccept );
-
- private: // New functions
-
- private: // Data
-
- };
-
-#endif // CPROFILEVIBRASETTINGPAGE_H
-
-// End of File
--- a/profilesapplication/Profiles/ProfileApp/SettingsViewSrc/ProfileMmfInfoUtility.cpp Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,92 +0,0 @@
-/*
-* Copyright (c) 2002-2006 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: A wrapper interface around MMF (Multimedia Framework) to get
-* information about MIME-types supported by MMF.
-*
-*/
-
-
-
-// CLASS HEADER
-#include "ProfileMmfInfoUtility.h"
-
-// INTERNAL INCLUDES
-
-// EXTERNAL INCLUDES
-#include <e32std.h>
-#include <badesca.h>
-#include <mmf/common/mmfcontrollerpluginresolver.h>
-
-namespace
- {
- // CONSTANTS
- _LIT8( KProfileRngMimeType, "application/vnd.nokia.ringing-tone" );
- //_LIT8( KProfilePlainTextType, "text/plain" );
- }
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CProfileMmfInfoUtility::IsMimeTypeSupported
-// -----------------------------------------------------------------------------
-//
-TBool ProfileMmfInfoUtility::IsMimeTypeSupportedL( const TDesC8& aMimeType )
- {
-
- //if( aMimeType.CompareF( KProfilePlainTextType ) == 0 )
- // {
- // return EFalse;
- // }
-
- if( aMimeType.CompareF( KProfileRngMimeType ) == 0 )
- {
- return ETrue;
- }
-
- TBool result( EFalse );
-
- CMMFFormatSelectionParameters* formatPrms =
- CMMFFormatSelectionParameters::NewLC();
- CMMFControllerPluginSelectionParameters* controllerPrms =
- CMMFControllerPluginSelectionParameters::NewLC();
-
- // Empty format parameters means: "get all the supported formats"
- controllerPrms->SetRequiredPlayFormatSupportL( *formatPrms );
- RMMFControllerImplInfoArray cntrlArray;
- controllerPrms->ListImplementationsL( cntrlArray );
-
- for( TInt i( cntrlArray.Count() - 1 ); i >= 0 && !result; --i )
- {
- const RMMFFormatImplInfoArray&
- infoArray( cntrlArray[i]->PlayFormats() );
-
- for( TInt j( infoArray.Count() - 1 ); j >= 0; --j )
- {
- if( infoArray[j]->SupportsMimeType( aMimeType ) )
- {
- result = ETrue;
- break;
- }
- }
- }
-
- cntrlArray.ResetAndDestroy();
- cntrlArray.Close();
- CleanupStack::PopAndDestroy( 2, formatPrms );
-
- return result;
- }
-
-// End of File
-
--- a/profilesapplication/Profiles/ProfileApp/SettingsViewSrc/ProfileMmfInfoUtility.h Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,63 +0,0 @@
-/*
-* Copyright (c) 2002-2006 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: A wrapper interface around MMF (Multimedia Framework) to get
-* information about MIME-types supported by MMF.
-*
-*/
-
-
-
-#ifndef PROFILEMMFINFOUTILITY_H
-#define PROFILEMMFINFOUTILITY_H
-
-// INCLUDES
-#include <e32std.h>
-
-// CLASS DECLARATION
-
-/**
-* A helper interface used by CProfileToneHandler to check whether a MIME
-* type is supported by MMF.
-*
-* @lib ProfileSettingsView.lib
-* @since Series 60 3.0
-*/
-class ProfileMmfInfoUtility
- {
- public: // New functions
-
- /**
- * Checks if the given MIME-type is supported by MMF. In other words,
- * checks if there is an MMF plugin to handle the given MIME type.
- * @param aMimeType the MIME type for which an MMF plugin is searched.
- * @return ETrue if the given MIME is supported by MMF,
- * EFalse otherwise.
- */
- static TBool IsMimeTypeSupportedL( const TDesC8& aMimeType );
-
- private: // Constructor and destructor
-
- /**
- * Default constructor. This is private since this class is not intended
- * to be instantiated.
- */
- ProfileMmfInfoUtility() {};
-
- // Destructor.
- ~ProfileMmfInfoUtility() {};
- };
-
-#endif // PROFILEMMFINFOUTILITY_H
-
-// End of File
--- a/profilesapplication/Profiles/ProfileApp/SettingsViewSrc/ProfilePanics.h Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,37 +0,0 @@
-/*
-* Copyright (c) 2002 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: Panic codes of Profiles application.
-*
-*/
-
-
-
-#ifndef PROFILEPANICS_H
-#define PROFILEPANICS_H
-
-/**
-* Enumerations for panics of Profiles application.
-*/
-enum TProfilePanics
- {
- EProfilePanicInvalidSettingItemId,
- EProfilePanicProfileIndexOutOfRange,
- EProfilePanicNoProfiles
- };
-
-_LIT( KProfilePanicText, "ProfileApp" );
-
-#endif // PROFILEPANICS_H
-
-// End of File
--- a/profilesapplication/Profiles/ProfileApp/SettingsViewSrc/ProfileSettingsView.hrh Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,58 +0,0 @@
-/*
-* Copyright (c) 2002 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: Resource headers of Profile Settings View
-*
-*/
-
-
-
-#ifndef PROFILESETTINGSVIEW_HRH
-#define PROFILESETTINGSVIEW_HRH
-
-// DATA TYPES
-enum TProfileSettingItemIds
- {
- EProfileSettingRingingToneId = 0,
- EProfileSettingRingingToneLine1Id,
- EProfileSettingRingingToneLine2Id,
- EProfileSettingVideoCallToneId,
- EProfileSettingRingingTypeId,
- EProfileSettingRingingVolumeId,
- EProfileSettingMediaVolumeId,
- EProfileSettingMessageAlertToneId,
- EProfileSettingEmailAlertToneId,
- EProfileSettingVibratingAlertId,
- EProfileSettingEmailVibratingAlertId,
- EProfileSettingKeypadVolumeId,
- EProfileSettingWarningAndGameTonesId,
- EProfileSettingAlertForId,
- EProfileSettingProfileNameId,
- EProfileSettingTTSRingingToneId,
- EProfileSettingPTTRingingToneId,
- EProfileSettingPTTStatusId,
- EProfileSetting3dEffectId,
- EProfileSetting3dEchoId,
- EProfileSettingTactileFeedbackId,
- EProfileSettingAudioFeedbackId
- };
-
-enum TProfileControlIds
- {
- EProfileControlIdConfirmationNote = 1
- };
-
-#endif // PROFILESETTINGSVIEW_HRH
-
-
-// End of File
--- a/profilesapplication/Profiles/ProfileApp/SettingsViewSrc/ProfileSettingsView.rss Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,401 +0,0 @@
-/*
-* Copyright (c) 2002 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: Profiles Settings View resources
-*
-*/
-
-
-
-// RESOURCE IDENTIFIER
-NAME PRO2
-
-// INTERNAL INCLUDES
-#include <profileapp.loc>
-#include <profile.loc>
-#include "ProfileSettingsView.hrh"
-#include "ProfileInternal.hrh"
-
-// EXTERNAL INCLUDES
-#include <eikon.rh>
-#include <avkon.rh>
-#include <avkon.rsg>
-#include <avkon.loc>
-#include <avkon.mbg>
-#include <AvkonIcons.hrh>
-#include <drmcommon.loc>
-#include <e32keys.h>
-#include <bldvariant.hrh>
-#include <ProfileEng.hrh>
-#include <Profile.hrh>
-
-// RESOURCE DEFINITIONS
-
-RESOURCE RSS_SIGNATURE {}
-
-RESOURCE TBUF { buf = ""; }
-
-RESOURCE EIK_APP_INFO {}
-
-// Include the common part of the resources (of application and plugin):
-#include "ProfileSettingsViewCommon.rss"
-
-// -----------------------------------------------------------------------------
-//
-// r_profile_setting_item_list
-// ?description
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE AVKON_SETTING_ITEM_LIST r_profile_setting_item_list
- {
- items =
- {
- AVKON_SETTING_ITEM
- {
- identifier = EProfileSettingRingingToneId;
- name = qtn_mode_ringing_tone;
- },
- AVKON_SETTING_ITEM
- {
- identifier = EProfileSettingRingingToneLine1Id;
- name = qtn_mode_line1_tone;
- },
- AVKON_SETTING_ITEM
- {
- identifier = EProfileSettingRingingToneLine2Id;
- name = qtn_mode_line2_tone;
- },
- AVKON_SETTING_ITEM
- {
- identifier = EProfileSettingRingingTypeId;
- name = qtn_mode_ringing_type_2;
- setting_page_resource = r_profile_ringing_type_setting_page;
- associated_resource = r_profile_ringing_type_setting_texts;
- },
- AVKON_SETTING_ITEM
- {
- identifier = EProfileSettingRingingVolumeId;
- name = qtn_mode_ringing_volume;
- setting_page_resource = r_profile_ringing_volume_setting_page;
- },
- AVKON_SETTING_ITEM
- {
- identifier = EProfileSettingMediaVolumeId;
- name = qtn_profiles_media_volume;
- setting_page_resource = r_profile_media_volume_setting_page;
- },
- AVKON_SETTING_ITEM
- {
- identifier = EProfileSettingMessageAlertToneId;
- name = qtn_mode_message_tone;
- },
- AVKON_SETTING_ITEM
- {
- identifier = EProfileSettingKeypadVolumeId;
- name = qtn_mode_keypad_volume;
- setting_page_resource = r_profile_keypad_volume_setting_page;
- associated_resource = r_profile_keypad_volume_setting_texts;
- },
- AVKON_SETTING_ITEM
- {
- identifier = EProfileSettingVibratingAlertId;
- name = qtn_mode_vibrating_alert;
- setting_page_resource = r_profile_vibrating_alert_setting_page;
- associated_resource = r_profile_vibrating_alert_setting_texts;
- },
- AVKON_SETTING_ITEM
- {
- identifier = EProfileSettingEmailVibratingAlertId;
- name = qtn_profiles_email_vibra;
- setting_page_resource = r_profile_email_vibrating_alert_setting_page;
- associated_resource = r_profile_email_vibrating_alert_setting_texts;
- },
- AVKON_SETTING_ITEM
- {
- identifier = EProfileSettingVideoCallToneId;
- name = qtn_mode_vt_tone;
- },
- AVKON_SETTING_ITEM
- {
- identifier = EProfileSettingEmailAlertToneId;
- name = qtn_profiles_e_mail_tone;
- },
- AVKON_SETTING_ITEM
- {
- identifier = EProfileSettingWarningAndGameTonesId;
- name = qtn_mode_warning_game;
- setting_page_resource = r_profile_warning_tones_setting_page;
- associated_resource = r_profile_warning_alert_setting_texts;
- },
- AVKON_SETTING_ITEM
- {
- identifier = EProfileSettingTTSRingingToneId;
- name = qtn_mode_tts_ringing_tone;
- setting_page_resource = r_profile_tts_tones_setting_page;
- associated_resource = r_profile_tts_setting_texts;
- },
- AVKON_SETTING_ITEM
- {
- identifier = EProfileSetting3dEffectId;
- name = qtn_profiles_tone_3d_effect;
- setting_page_resource = r_profile_3d_effect_setting_page;
- associated_resource = r_profile_3d_effect_setting_texts;
- },
- AVKON_SETTING_ITEM
- {
- identifier = EProfileSetting3dEchoId;
- name = qtn_profiles_tone_3d_echo;
- setting_page_resource = r_profile_3d_echo_setting_page;
- associated_resource = r_profile_3d_echo_setting_texts;
- },
- AVKON_SETTING_ITEM
- {
- identifier = EProfileSettingTactileFeedbackId;
- name = qtn_mode_tactile_feedback;
- setting_page_resource = r_profile_tactile_feedback_setting_page;
- associated_resource = r_profile_tactile_feedback_setting_texts;
- },
- AVKON_SETTING_ITEM
- {
- identifier = EProfileSettingAudioFeedbackId;
- name = qtn_mode_audio_feedback;
- setting_page_resource = r_profile_audio_feedback_setting_page;
- associated_resource = r_profile_audio_feedback_setting_texts;
- },
- AVKON_SETTING_ITEM
- {
- identifier = EProfileSettingAlertForId;
- name = qtn_mode_alert_for;
- setting_page_resource = r_profile_alert_for_setting_page;
- },
- AVKON_SETTING_ITEM
- {
- identifier = EProfileSettingPTTRingingToneId;
- name = qtn_poc_profile_ringing_tone;
- },
- AVKON_SETTING_ITEM
- {
- identifier = EProfileSettingPTTStatusId;
- name = qtn_poc_profile_status;
- setting_page_resource = r_profile_ptt_status_setting_page;
- associated_resource = r_profile_ptt_status_setting_texts;
- },
- AVKON_SETTING_ITEM
- {
- identifier = EProfileSettingProfileNameId;
- name = qtn_mode_sett_profile_name;
- setting_page_resource = r_profile_name_setting_page;
- }
- };
- }
-
-// -----------------------------------------------------------------------------
-//
-// r_profile_alert_for_setting_page
-// ?description
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE AVKON_SETTING_PAGE r_profile_alert_for_setting_page
- {
- label = qtn_mode_alert_for;
- softkey_resource = R_AVKON_SOFTKEYS_OK_CANCEL__UNMARK;
- type = EAknSetListBox;
- editor_resource_id = r_profile_alert_for_control;
- }
-
-// -----------------------------------------------------------------------------
-//
-// r_profile_alert_for_control
-// ?description
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE LISTBOX r_profile_alert_for_control
- {
- flags = EEikListBoxMultipleSelection;
- }
-
-// -----------------------------------------------------------------------------
-//
-// r_profile_name_setting_page
-// ?description
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE AVKON_SETTING_PAGE r_profile_name_setting_page
- {
- label = qtn_mode_sett_profile_name;
- softkey_resource = R_AVKON_SOFTKEYS_OK_CANCEL__OK;
- type = EEikCtEdwin;
- editor_resource_id = r_profile_name_control;
- }
-
-// -----------------------------------------------------------------------------
-//
-// r_profile_name_control
-// ?description
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE EDWIN r_profile_name_control
- {
- flags = EEikEdwinNoLineOrParaBreaks;
- width = 9;
- lines = 5;
- maxlength = PROFILES_MAX_NAME_LENGTH;
- }
-
-// -----------------------------------------------------------------------------
-//
-// r_profile_media_volume_setting_page
-// ?description
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE AVKON_SETTING_PAGE r_profile_media_volume_setting_page
- {
- label = qtn_profiles_media_volume;
- softkey_resource = R_AVKON_SOFTKEYS_OK_CANCEL__OK;
- type = EAknCtVolumeControl;
- editor_resource_id = r_profile_ringing_volume_control;
- }
-
-// -----------------------------------------------------------------------------
-//
-// r_profile_ptt_status_setting_page
-// ?description
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE AVKON_SETTING_PAGE r_profile_ptt_status_setting_page
- {
- label = qtn_mode_ringing_type_2;
- softkey_resource = R_AVKON_SOFTKEYS_OK_CANCEL__OK;
- type = EAknCtPopupSettingList;
- editor_resource_id = r_profile_empty_popup_setting_list_control;
- }
-
-// -----------------------------------------------------------------------------
-//
-// r_profile_ptt_status_setting_texts
-// ?description
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE AVKON_POPUP_SETTING_TEXTS r_profile_ptt_status_setting_texts
- {
- setting_texts_resource = r_profile_ptt_status_texts_and_values;
- }
-
-// -----------------------------------------------------------------------------
-//
-// r_profile_ptt_status_texts_and_values
-// ?description
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE ARRAY r_profile_ptt_status_texts_and_values
- {
- items =
- {
- AVKON_ENUMERATED_TEXT {
- value = EProfilePttActive; text = qtn_poc_profile_status_active; },
- AVKON_ENUMERATED_TEXT {
- value = EProfilePttSilent; text = qtn_poc_profile_status_silent; },
- AVKON_ENUMERATED_TEXT {
- value = EProfilePttDoNotDisturb; text = qtn_poc_profile_status_dnd; }
- };
- }
-
-
-
-// -----------------------------------------------------------------------------
-//
-// r_profile_text_all_callers
-// ?description
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_profile_text_all_callers { buf = qtn_tc_all_callers; }
-
-// -----------------------------------------------------------------------------
-//
-// r_profile_text_several_groups
-// ?description
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_profile_text_several_groups { buf = qtn_tc_several_groups; }
-
-// -----------------------------------------------------------------------------
-//
-// r_profile_text_rename_error
-// ?description
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_profile_text_rename_error { buf = qtn_mode_rename_error; }
-
-// -----------------------------------------------------------------------------
-//
-// r_profile_confirm_ringtone_found
-// ?description
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_profile_confirm_ringtone_found {
- buf = qtn_profiles_confirm_ringtone_found; }
-
-// -----------------------------------------------------------------------------
-//
-// r_profile_confirm_ringtone_found_query
-// ?description
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE DIALOG r_profile_confirm_ringtone_found_query
- {
- flags = EGeneralQueryFlags;
- buttons = R_AVKON_SOFTKEYS_OK_EMPTY;
- items =
- {
- DLG_LINE
- {
- type = EAknCtQuery;
- id = EGeneralQuery;
- control = AVKON_CONFIRMATION_QUERY
- {
- layout = EConfirmationQueryLayout;
- label = "";
- bmpfile = AVKON_BITMAP_FILE;
- bmpid = EMbmAvkonQgn_note_info;
- bmpmask = EMbmAvkonQgn_note_info_mask;
- };
- }
- };
- }
-
-
-// -----------------------------------------------------------------------------
-//
-// r_profile_text_psm_infonote
-// ?description
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_profile_text_psm_infonote { buf = qtn_power_saving_protected_settings_infonote; }
-
-
-// End of File
--- a/profilesapplication/Profiles/ProfileApp/SettingsViewSrc/ProfileSettingsViewCommon.rss Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,571 +0,0 @@
-/*
-* Copyright (c) 2006 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: Common part of Profiles Settings View/Profiles GS Tones view
-* plugin resources. Note, that this should always be compiled as
-* a part of resources (settings view or plugin).
-*
-*/
-
-#include <mediafilelist.loc>
-
-// RESOURCE DEFINITIONS
-
-// -----------------------------------------------------------------------------
-//
-// r_profile_empty_popup_setting_list_control
-// ?description
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE POPUP_SETTING_LIST r_profile_empty_popup_setting_list_control
- {
- }
-
-// -----------------------------------------------------------------------------
-//
-// r_profile_ringing_type_setting_page
-// ?description
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE AVKON_SETTING_PAGE r_profile_ringing_type_setting_page
- {
- label = qtn_mode_ringing_type_2;
- softkey_resource = R_AVKON_SOFTKEYS_OK_CANCEL__OK;
- type = EAknCtPopupSettingList;
- editor_resource_id = r_profile_empty_popup_setting_list_control;
- }
-
-// -----------------------------------------------------------------------------
-//
-// r_profile_ringing_type_setting_texts
-// ?description
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE AVKON_POPUP_SETTING_TEXTS r_profile_ringing_type_setting_texts
- {
- setting_texts_resource = r_profile_ringing_type_texts_and_values;
- }
-
-// -----------------------------------------------------------------------------
-//
-// r_profile_ringing_type_texts_and_values
-// ?description
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE ARRAY r_profile_ringing_type_texts_and_values
- {
- items =
- {
- AVKON_ENUMERATED_TEXT { value = EProfileRingingTypeRinging; text = qtn_tc_ringing; },
- AVKON_ENUMERATED_TEXT { value = EProfileRingingTypeAscending; text = qtn_tc_ascending; },
- AVKON_ENUMERATED_TEXT { value = EProfileRingingTypeRingingOnce; text = qtn_tc_ring_once; },
- AVKON_ENUMERATED_TEXT { value = EProfileRingingTypeBeepOnce; text = qtn_tc_beep_once; }
-//CDMA doesn't have silent ringingtype
-#ifndef __PROTOCOL_CDMA
- ,AVKON_ENUMERATED_TEXT { value = EProfileRingingTypeSilent; text = qtn_tc_silent; }
-#endif
- };
- }
-
-// -----------------------------------------------------------------------------
-//
-// r_profile_ringing_volume_setting_page
-// ?description
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE AVKON_SETTING_PAGE r_profile_ringing_volume_setting_page
- {
- label = qtn_mode_ringing_volume;
- softkey_resource = R_AVKON_SOFTKEYS_OK_CANCEL__OK;
- type = EAknCtVolumeControl;
- editor_resource_id = r_profile_ringing_volume_control;
- }
-
-// -----------------------------------------------------------------------------
-//
-// r_profile_ringing_volume_control
-// ?description
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE VOLUME r_profile_ringing_volume_control
- {
- flags = ESettingsVolumeControl;
- value = 7; // Has to have a value, otherwise crashes
- }
-
-// -----------------------------------------------------------------------------
-//
-// r_profile_vibrating_alert_setting_page
-// ?description
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE AVKON_SETTING_PAGE r_profile_vibrating_alert_setting_page
- {
- label = qtn_mode_vibrating_alert;
- softkey_resource = R_AVKON_SOFTKEYS_OK_CANCEL__OK;
- type = EAknCtPopupSettingList;
- editor_resource_id = r_profile_empty_popup_setting_list_control;
- }
-
-// -----------------------------------------------------------------------------
-//
-// r_profile_vibrating_alert_setting_texts
-// ?description
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE AVKON_POPUP_SETTING_TEXTS r_profile_vibrating_alert_setting_texts
- {
- setting_texts_resource = r_profile_vibrating_alert_texts_and_values;
- }
-
-// -----------------------------------------------------------------------------
-//
-// r_profile_vibrating_alert_texts_and_values
-// ?description
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE ARRAY r_profile_vibrating_alert_texts_and_values
- {
- items =
- {
- AVKON_ENUMERATED_TEXT { value = 1; text = qtn_mode_vibrating_alert_on; },
- AVKON_ENUMERATED_TEXT { value = 0; text = qtn_mode_vibrating_alert_off; }
- };
- }
-
-RESOURCE AVKON_SETTING_PAGE r_profile_email_vibrating_alert_setting_page
- {
- label =qtn_profiles_email_vibra;
- softkey_resource = R_AVKON_SOFTKEYS_OK_CANCEL__OK;
- type = EAknCtPopupSettingList;
- editor_resource_id = r_profile_empty_popup_setting_list_control;
- }
-// -----------------------------------------------------------------------------
-//
-// r_profile_vibrating_email_alert_setting_texts
-// ?description
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE AVKON_POPUP_SETTING_TEXTS r_profile_email_vibrating_alert_setting_texts
- {
- setting_texts_resource = r_profile_email_vibrating_alert_texts_and_values;
- }
-
-// -----------------------------------------------------------------------------
-//
-// r_profile_email_vibrating_alert_texts_and_values
-// ?description
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE ARRAY r_profile_email_vibrating_alert_texts_and_values
- {
- items =
- {
- AVKON_ENUMERATED_TEXT { value = 1; text = qtn_mode_email_vibra_on; },
- AVKON_ENUMERATED_TEXT { value = 0; text = qtn_mode_email_vibra_off; }
- };
- }
-// -----------------------------------------------------------------------------
-//
-// r_profile_tactile_feedback_setting_page
-// ?description
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE AVKON_SETTING_PAGE r_profile_tactile_feedback_setting_page
- {
- label = qtn_mode_tactile_feedback;
- softkey_resource = R_AVKON_SOFTKEYS_OK_CANCEL__OK;
- type = EAknCtPopupSettingList;
- editor_resource_id = r_profile_empty_popup_setting_list_control;
- }
-
-// -----------------------------------------------------------------------------
-//
-// r_profile_tactile_feedback_setting_texts
-// ?description
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE AVKON_POPUP_SETTING_TEXTS r_profile_tactile_feedback_setting_texts
- {
- setting_texts_resource = r_profile_tactile_feedback_texts_and_values;
- }
-
-// -----------------------------------------------------------------------------
-//
-// r_profile_tactile_feedback_texts_and_values
-// ?description
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE ARRAY r_profile_tactile_feedback_texts_and_values
- {
- items =
- {
- AVKON_ENUMERATED_TEXT { value = EProfileTactileFeedbackOff; text = qtn_mode_tactile_feedback_off; },
- AVKON_ENUMERATED_TEXT { value = EProfileTactileFeedbackLevel1; text = qtn_mode_tactile_feedback_level1; },
- AVKON_ENUMERATED_TEXT { value = EProfileTactileFeedbackLevel2; text = qtn_mode_tactile_feedback_level2; },
- AVKON_ENUMERATED_TEXT { value = EProfileTactileFeedbackLevel3; text = qtn_mode_tactile_feedback_level3; }
- };
- }
-// -----------------------------------------------------------------------------
-//
-// r_profile_audio_feedback_setting_page
-// ?description
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE AVKON_SETTING_PAGE r_profile_audio_feedback_setting_page
- {
- label = qtn_mode_audio_feedback;
- softkey_resource = R_AVKON_SOFTKEYS_OK_CANCEL__OK;
- type = EAknCtPopupSettingList;
- editor_resource_id = r_profile_empty_popup_setting_list_control;
- }
-
-// -----------------------------------------------------------------------------
-//
-// r_profile_audio_feedback_setting_texts
-// ?description
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE AVKON_POPUP_SETTING_TEXTS r_profile_audio_feedback_setting_texts
- {
- setting_texts_resource = r_profile_audio_feedback_texts_and_values;
- }
-
-// -----------------------------------------------------------------------------
-//
-// r_profile_audio_feedback_texts_and_values
-// ?description
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE ARRAY r_profile_audio_feedback_texts_and_values
- {
- items =
- {
- AVKON_ENUMERATED_TEXT { value = EProfileAudioFeedbackOff; text = qtn_mode_audio_feedback_off; },
- AVKON_ENUMERATED_TEXT { value = EProfileAudioFeedbackLevel1; text = qtn_mode_audio_feedback_level1; },
- AVKON_ENUMERATED_TEXT { value = EProfileAudioFeedbackLevel2; text = qtn_mode_audio_feedback_level2; },
- AVKON_ENUMERATED_TEXT { value = EProfileAudioFeedbackLevel3; text = qtn_mode_audio_feedback_level3; }
- };
- }
-
-// -----------------------------------------------------------------------------
-//
-// r_profile_warning_alert_setting_texts
-// ?description
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE AVKON_POPUP_SETTING_TEXTS r_profile_warning_alert_setting_texts
- {
- setting_texts_resource = r_profile_warning_alert_texts_and_values;
- }
-
-// -----------------------------------------------------------------------------
-//
-// r_profile_warning_alert_texts_and_values
-// ?description
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE ARRAY r_profile_warning_alert_texts_and_values
- {
- items =
- {
- AVKON_ENUMERATED_TEXT { value = 1; text = qtn_mode_warning_game_on; },
- AVKON_ENUMERATED_TEXT { value = 0; text = qtn_mode_warning_game_off; }
- };
- }
-
-// -----------------------------------------------------------------------------
-//
-// r_profile_tts_setting_texts
-// ?description
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE AVKON_POPUP_SETTING_TEXTS r_profile_tts_setting_texts
- {
- setting_texts_resource = r_profile_tts_texts_and_values;
- }
-
-// -----------------------------------------------------------------------------
-//
-// r_profile_tts_texts_and_values
-// ?description
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE ARRAY r_profile_tts_texts_and_values
- {
- items =
- {
- AVKON_ENUMERATED_TEXT { value = 1; text = qtn_mode_tts_ringing_tone_on; },
- AVKON_ENUMERATED_TEXT { value = 0; text = qtn_mode_tts_ringing_tone_off; }
- };
- }
-// -----------------------------------------------------------------------------
-//
-// r_profile_keypad_volume_setting_page
-// ?description
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE AVKON_SETTING_PAGE r_profile_keypad_volume_setting_page
- {
- label = qtn_mode_keypad_volume;
- softkey_resource = R_AVKON_SOFTKEYS_OK_CANCEL__OK;
- type = EAknCtPopupSettingList;
- editor_resource_id = r_profile_empty_popup_setting_list_control;
- }
-
-// -----------------------------------------------------------------------------
-//
-// r_profile_keypad_volume_setting_texts
-// ?description
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE AVKON_POPUP_SETTING_TEXTS r_profile_keypad_volume_setting_texts
- {
- setting_texts_resource = r_profile_keypad_volume_texts_and_values;
- }
-
-// -----------------------------------------------------------------------------
-//
-// r_profile_keypad_volume_texts_and_values
-// ?description
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE ARRAY r_profile_keypad_volume_texts_and_values
- {
- items =
- {
- AVKON_ENUMERATED_TEXT { value = EProfileKeypadVolumeOff; text = qtn_tc_keypad_off; },
- AVKON_ENUMERATED_TEXT { value = EProfileKeypadVolumeLevel1; text = qtn_tc_keypad_quiet; },
- AVKON_ENUMERATED_TEXT { value = EProfileKeypadVolumeLevel2; text = qtn_tc_keypad_medium; },
- AVKON_ENUMERATED_TEXT { value = EProfileKeypadVolumeLevel3; text = qtn_tc_keypad_loud; }
- };
- }
-
-// -----------------------------------------------------------------------------
-//
-// r_profile_warning_tones_setting_page
-// ?description
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE AVKON_SETTING_PAGE r_profile_warning_tones_setting_page
- {
- label = qtn_mode_warning_game;
- softkey_resource = R_AVKON_SOFTKEYS_OK_CANCEL__OK;
- type = EAknCtPopupSettingList;
- editor_resource_id = r_profile_empty_popup_setting_list_control;
- }
-
-// -----------------------------------------------------------------------------
-//
-// r_profile_tts_tones_setting_page
-// ?description
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE AVKON_SETTING_PAGE r_profile_tts_tones_setting_page
- {
- label = qtn_mode_tts_ringing_tone;
- softkey_resource = R_AVKON_SOFTKEYS_OK_CANCEL__OK;
- type = EAknCtPopupSettingList;
- editor_resource_id = r_profile_empty_popup_setting_list_control;
- }
-
-// -----------------------------------------------------------------------------
-//
-// r_profile_3d_effect_setting_page
-// ?description
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE AVKON_SETTING_PAGE r_profile_3d_effect_setting_page
- {
- label = qtn_profiles_tone_3d_effect;
- softkey_resource = R_AVKON_SOFTKEYS_OK_CANCEL__OK;
- type = EAknCtPopupSettingList;
- editor_resource_id = r_profile_empty_popup_setting_list_control;
- }
-
-// -----------------------------------------------------------------------------
-//
-// r_profile_3d_effect_setting_texts
-// ?description
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE AVKON_POPUP_SETTING_TEXTS r_profile_3d_effect_setting_texts
- {
- setting_texts_resource = r_profile_3d_effect_texts_and_values;
- }
-
-// -----------------------------------------------------------------------------
-//
-// r_profile_3d_effect_texts_and_values
-// ?description
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE ARRAY r_profile_3d_effect_texts_and_values
- {
- items =
- {
- AVKON_ENUMERATED_TEXT { value = EProfile3DEffectOff; text = qtn_profiles_3d_effect_off; },
- AVKON_ENUMERATED_TEXT { value = EProfile3DEffectCircle; text = qtn_profiles_3d_effect_circle; },
- AVKON_ENUMERATED_TEXT { value = EProfile3DEffectFlyby; text = qtn_profiles_3d_effect_flyby; },
- AVKON_ENUMERATED_TEXT { value = EProfile3DEffectZigZag; text = qtn_profiles_3d_effect_zig_zag; },
- AVKON_ENUMERATED_TEXT { value = EProfile3DEffectRandomWalk; text = qtn_profiles_3d_effect_random_walk; },
- AVKON_ENUMERATED_TEXT { value = EProfile3DEffectChaos; text = qtn_profiles_3d_effect_chaos; }
-
-#ifdef __STEREO_WIDENING_EFFECT_UI
- ,AVKON_ENUMERATED_TEXT { value = EProfile3DEffectStereoWidening; text = qtn_profiles_3d_effect_stereo_widening; }
-#endif
-
- };
- }
-
-// -----------------------------------------------------------------------------
-//
-// r_profile_3d_echo_setting_page
-// ?description
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE AVKON_SETTING_PAGE r_profile_3d_echo_setting_page
- {
- label = qtn_profiles_tone_3d_echo;
- softkey_resource = R_AVKON_SOFTKEYS_OK_CANCEL__OK;
- type = EAknCtPopupSettingList;
- editor_resource_id = r_profile_empty_popup_setting_list_control;
- }
-
-// -----------------------------------------------------------------------------
-//
-// r_profile_3d_echo_setting_texts
-// ?description
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE AVKON_POPUP_SETTING_TEXTS r_profile_3d_echo_setting_texts
- {
- setting_texts_resource = r_profile_3d_echo_texts_and_values;
- }
-
-// -----------------------------------------------------------------------------
-//
-// r_profile_3d_echo_texts_and_values
-// ?description
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE ARRAY r_profile_3d_echo_texts_and_values
- {
- items =
- {
- AVKON_ENUMERATED_TEXT { value = EProfile3DEchoOff; text = qtn_profiles_3d_echo_off; },
- AVKON_ENUMERATED_TEXT { value = EProfile3DEchoLivingRoom; text = qtn_profiles_3d_echo_living_room; },
- AVKON_ENUMERATED_TEXT { value = EProfile3DEchoCave; text = qtn_profiles_3d_echo_cave; },
- AVKON_ENUMERATED_TEXT { value = EProfile3DEchoStoneCorridor; text = qtn_profiles_3d_echo_stone_corridor; },
- AVKON_ENUMERATED_TEXT { value = EProfile3DEchoForest; text = qtn_profiles_3d_echo_forest; },
- AVKON_ENUMERATED_TEXT { value = EProfile3DEchoSewerPipe; text = qtn_profiles_3d_echo_sewer_pipe; },
- AVKON_ENUMERATED_TEXT { value = EProfile3DEchoUnderwater; text = qtn_profiles_3d_echo_underwater; }
- };
- }
-
-// -----------------------------------------------------------------------------
-//
-// r_profile_volume_confirmation_query
-// ?description
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE DIALOG r_profile_volume_confirmation_query
- {
- flags = EGeneralQueryFlags;
- buttons = R_AVKON_SOFTKEYS_YES_NO;
- items=
- {
- DLG_LINE
- {
- type = EAknCtQuery;
- id = EGeneralQuery;
- control = AVKON_CONFIRMATION_QUERY
- {
- layout = EConfirmationQueryLayout;
- label = qtn_tc_ringing_level_warning;
- };
- }
- };
- }
-
-// -----------------------------------------------------------------------------
-//
-// r_profile_text_select_tone
-// ?description
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_profile_text_select_tone { buf = qtn_tc_popup_heading; }
-
-// -----------------------------------------------------------------------------
-//
-// r_profile_text_none
-// ?description
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_profile_text_none { buf = qtn_tsl_off; }
-
-// -----------------------------------------------------------------------------
-//
-// r_profile_text_drm_prev_rights_set
-// ?description
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_profile_text_drm_prev_rights_set { buf = qtn_drm_prev_rights_set; }
-
-// -----------------------------------------------------------------------------
-//
-// r_profile_text_tone_maxsize_error
-// ?description
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_profile_text_tone_maxsize_error { buf = qtn_profiles_tone_maxsize_error; }
-
-// End of File
-
--- a/profilesapplication/Profiles/ProfileApp/UIsrc/CProfileAppUi.cpp Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,117 +0,0 @@
-/*
-* Copyright (c) 2002 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: Application UI class.
-*
-*/
-
-
-// INCLUDE FILES
-#include "CProfileAppUi.h"
-
-#include <hlplch.h>
-#include <CProfileEngineHandler.h>
-
-#include "CProfileMainView.h"
-#include "CProfileSettingsView.h"
-#include "ProfileApp.hrh"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CProfileAppUi::CProfileAppUi
-// C++ constructor can NOT contain any code, that might leave.
-// -----------------------------------------------------------------------------
-//
-CProfileAppUi::CProfileAppUi(
- CProfileEngineHandler& aEngineHandler,
- CProfileIndexHandler& aIndexHandler )
- : iEngineHandler( aEngineHandler ),
- iIndexHandler( aIndexHandler )
- {
- }
-
-// Destructor
-CProfileAppUi::~CProfileAppUi()
- {
- }
-
-// -----------------------------------------------------------------------------
-// CProfileAppUi::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CProfileAppUi::ConstructL()
- {
- BaseConstructL( EAknEnableSkin | EAknEnableMSK |EAknSingleClickCompatible);
-
- CProfileMainView* mainView =
- CProfileMainView::NewLC( iEngineHandler, iIndexHandler );
- AddViewL( mainView ); // transfer ownership to CAknViewAppUi
- SetDefaultViewL( *mainView );
- CleanupStack::Pop( mainView);
- iMainView = mainView;
-
- CProfileSettingsView* settingsView =
- CProfileSettingsView::NewLC(
- iEngineHandler, iIndexHandler);
- AddViewL( settingsView ); // transfer ownership to CAknViewAppUi
- CleanupStack::Pop( settingsView ); // iSettingsView
- iSettingsView = settingsView;
- }
-
-// -----------------------------------------------------------------------------
-// CProfileAppUi::HandleCommandL
-// -----------------------------------------------------------------------------
-//
-void CProfileAppUi::HandleCommandL( TInt aCommand )
- {
- switch( aCommand )
- {
- case EAknSoftkeyBack: // Back from Settings view
- {
- if ( iView == iMainView )
- {
- Exit(); // Back from Settings view
- break;
- }
- ActivateLocalViewL( iMainView->Id() );
- break;
- }
- case EProfileCmdPersonalise: // Personalise from Main view
- {
- ActivateLocalViewL( iSettingsView->Id() );
- break;
- }
- // FALLTHROUGH for PC Lint
- // Exit from options menu and exit from right softkey do the same thing.
- case EEikCmdExit:
- case EAknSoftkeyExit:
- {
- Exit();
- break;
- }
- case EAknCmdHelp:
- {
- HlpLauncher::LaunchHelpApplicationL(
- iEikonEnv->WsSession(), AppHelpContextL() );
- break;
- }
- default:
- {
- break;
- }
- }
- }
-
-// End of File
--- a/profilesapplication/Profiles/ProfileApp/UIsrc/CProfileAppUi.h Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,89 +0,0 @@
-/*
-* Copyright (c) 2002 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: Application UI class.
-*
-*/
-
-
-
-#ifndef CPROFILEAPPUI_H
-#define CPROFILEAPPUI_H
-
-// INCLUDES
-#include <aknViewAppUi.h>
-
-// FORWARD DECLARATIONS
-class CProfileMainView;
-class CProfileSettingsView;
-class CProfileEngineHandler;
-class CProfileIndexHandler;
-
-// CLASS DECLARATION
-/**
-* Application UI class.
-* CProfileAppUi instantiates two views and
-* implements view switching and command handling.
-* The views are owned by the base class.
-*
-* @lib ProfileApp.app
-* @since 1.2
-*/
-NONSHARABLE_CLASS( CProfileAppUi ) : public CAknViewAppUi
- {
-
- public: // Constructors and destructor
-
- /**
- * C++ default constructor.
- */
- CProfileAppUi(
- CProfileEngineHandler& aEngineHandler,
- CProfileIndexHandler& aIndexHandler );
-
- /**
- * Destructor
- */
- ~CProfileAppUi();
-
- /**
- * Symbian 2nd phase constructor.
- */
- void ConstructL();
-
- public: // Functions from base classes
-
- /**
- * From CEikAppUi
- */
- void HandleCommandL( TInt aCommand );
-
- private: // Data
-
- // Engine handler
- CProfileEngineHandler& iEngineHandler;
-
- // Index handler
- CProfileIndexHandler& iIndexHandler;
-
- // Ref: Pointer to Main view
- CProfileMainView* iMainView;
-
- // Ref: Pointer to Settings view
- CProfileSettingsView* iSettingsView;
- };
-
-#endif // CPROFILEAPPUI_H
-
-
-// End of File
--- a/profilesapplication/Profiles/ProfileApp/UIsrc/CProfileApplication.cpp Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,35 +0,0 @@
-/*
-* Copyright (c) 2002 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: Application class.
-*
-*/
-
-
-// INCLUDE FILES
-#include "CProfileApplication.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// ========================== OTHER EXPORTED FUNCTIONS =========================
-
-// -----------------------------------------------------------------------------
-// NewApplication implements...
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CApaApplication* NewApplication()
- {
- return new CProfileApplication;
- }
-
-// End of File
--- a/profilesapplication/Profiles/ProfileApp/UIsrc/CProfileApplication.h Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,55 +0,0 @@
-/*
-* Copyright (c) 2002 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: Application class.
-*
-*/
-
-
-
-#ifndef CPROFILEAPPLICATION_H
-#define CPROFILEAPPLICATION_H
-
-// INCLUDES
-#include <aknapp.h>
-#include "CProfileDocument.h"
-
-// CONSTANTS
-const TUid KUidProfileApp = { 0x100058F8 }; // UID of the application
-
-// CLASS DECLARATION
-/**
-* Application class.
-*
-* @lib ProfileApp.app
-* @since 1.2
-*/
-class CProfileApplication : public CAknApplication
- {
- private: // Functions from base classes
-
- /**
- * From CEikApplication
- */
- CApaDocument* CreateDocumentL() { return( CProfileDocument::NewL( *this ) ); }
-
- /**
- * From CApaApplication
- */
- TUid AppDllUid() const { return KUidProfileApp; }
-
- };
-
-#endif // CPROFILEAPPLICATION_H
-
-// End of File
--- a/profilesapplication/Profiles/ProfileApp/UIsrc/CProfileApplication_SEC_APPARC.cpp Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,43 +0,0 @@
-/*
-* Copyright (c) 2002 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: ProfileApplication class for Secure AppArc
-*
-*/
-
-
-// INCLUDE FILES
-#include "CProfileApplication.h"
-#include <eikstart.h>
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// NewApplication
-// -----------------------------------------------------------------------------
-//
-LOCAL_C CApaApplication* NewApplication()
- {
- return new CProfileApplication;
- }
-
-// -----------------------------------------------------------------------------
-// E32Main
-// -----------------------------------------------------------------------------
-//
-GLDEF_C TInt E32Main()
- {
- return EikStart::RunApplication( NewApplication );
- }
-
-// End of File
--- a/profilesapplication/Profiles/ProfileApp/UIsrc/CProfileDocument.cpp Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,83 +0,0 @@
-/*
-* Copyright (c) 2002 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: The document class for Profiles application.
-*
-*/
-
-
-// INCLUDE FILES
-#include "CProfileDocument.h"
-
-#include <featmgr.h>
-#include <CProfileEngineHandler.h>
-#include <CProfileIndexHandler.h>
-
-#include "CProfileAppUi.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CProfileDocument::CProfileDocument
-// C++ constructor can NOT contain any code, that might leave.
-// -----------------------------------------------------------------------------
-//
-CProfileDocument::CProfileDocument( CEikApplication& aApp )
- : CAknDocument( aApp )
- {
- }
-
-// -----------------------------------------------------------------------------
-// CProfileDocument::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CProfileDocument::ConstructL()
- {
- FeatureManager::InitializeLibL();
- iEngineHandler = CProfileEngineHandler::NewL();
- iIndexHandler = CProfileIndexHandler::NewL( *iEngineHandler );
- }
-
-// -----------------------------------------------------------------------------
-// CProfileDocument::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CProfileDocument* CProfileDocument::NewL( CEikApplication& aApp )
- {
- CProfileDocument* self = new( ELeave ) CProfileDocument( aApp );
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop( self );
- return self;
- }
-
-// Destructor
-CProfileDocument::~CProfileDocument()
- {
- delete iIndexHandler;
- delete iEngineHandler;
- FeatureManager::UnInitializeLib();
- }
-
-// -----------------------------------------------------------------------------
-// CProfileDocument::CreateAppUiL
-// -----------------------------------------------------------------------------
-//
-CEikAppUi* CProfileDocument::CreateAppUiL()
- {
- return new( ELeave ) CProfileAppUi( *iEngineHandler, *iIndexHandler );
- }
-
-// End of File
--- a/profilesapplication/Profiles/ProfileApp/UIsrc/CProfileDocument.h Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,87 +0,0 @@
-/*
-* Copyright (c) 2002 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: The document class for Profiles application.
-*
-*/
-
-
-
-#ifndef CPROFILEDOCUMENT_H
-#define CPROFILEDOCUMENT_H
-
-// INCLUDES
-#include <AknDoc.h>
-
-// FORWARD DECLARATIONS
-class CEikAppUi;
-class CProfileEngineHandler;
-class CProfileIndexHandler;
-
-// CLASS DECLARATION
-/**
-* The document class for Profiles application.
-* CProfileDocument owns Engine handler and Index handler.
-* An instance of both are needed during application lifetime.
-* CProfileDocument initializes the Feature Manager.
-*
-* @lib ProfileApp.app
-* @since 1.2
-*/
-NONSHARABLE_CLASS( CProfileDocument ) : public CAknDocument
- {
- public: // Constructors and destructor
-
- /**
- * Two-phased constructor.
- */
- static CProfileDocument* NewL( CEikApplication& aApp );
-
- /**
- * Destructor.
- */
- ~CProfileDocument();
-
- private: // Functions from base classes
-
- /**
- * From CEikDocument
- */
- CEikAppUi* CreateAppUiL();
-
- private:
-
- /**
- * C++ constructor.
- */
- CProfileDocument( CEikApplication& aApp );
-
- /**
- * By default Symbian 2nd phase constructor is private.
- */
- void ConstructL();
-
- private: // Data
-
- // Own: Engine handler.
- CProfileEngineHandler* iEngineHandler;
-
- // Own: Index handler.
- CProfileIndexHandler* iIndexHandler;
-
- };
-
-#endif // CPROFILEDOCUMENT_H
-
-
-// End of File
--- a/profilesapplication/Profiles/ProfileApp/UIsrc/CProfileMainContainer.cpp Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,293 +0,0 @@
-/*
-* Copyright (c) 2002 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: Container class of main view.
-*
-*/
-
-
-// INCLUDE FILES
-
-#include "CProfileMainContainer.h"
-
-#include <AknDef.h>
-#include <aknlists.h>
-#include <AknUtils.h> // AknTextUtils
-#include <featmgr.h>
-#include <CProfileEngineHandler.h>
-#include <CProfileIndexHandler.h>
-#include <MProfileEngineExtended.h>
-#include <MProfilesNamesArray.h>
-#include <csxhelp/mode.hlp.hrh>
-#include <ProfileEng.hrh>
-
-#include "CProfileMainView.h"
-#include "CProfileDocument.h"
-#include "CProfileApplication.h"
-#include "ProfileApp.hrh"
-#include "ProfileEngineConstants.h"
-
-// CONSTANTS
-_LIT( KTabChar, "\t" );
-const TInt KProfileNameArrayGranularity( 5 );
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CProfileMainContainer::CProfileMainContainer
-// C++ constructor can NOT contain any code, that might leave.
-// -----------------------------------------------------------------------------
-//
-CProfileMainContainer::CProfileMainContainer(
- CProfileEngineHandler& aEngineHandler,
- CProfileIndexHandler& aIndexHandler,
- CAknView& aView )
- : iEngineHandler( aEngineHandler ),
- iIndexHandler( aIndexHandler ),
- iView( aView )
- {
- SetMopParent( &aView );
- }
-
-// -----------------------------------------------------------------------------
-// CProfileMainContainer::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CProfileMainContainer::ConstructL( const TRect& aRect )
- {
- CreateWindowL();
-
- iListBox = new( ELeave ) CAknSingleStyleListBox();
- iListBox->ConstructL( this );
- iListBox->SetListBoxObserver( this );
- iListBox->CreateScrollBarFrameL( ETrue );
- iListBox->ScrollBarFrame()->SetScrollBarVisibilityL(
- CEikScrollBarFrame::EOff, CEikScrollBarFrame::EAuto );
-
- SetRect( aRect );
- ActivateL();
- }
-
-// -----------------------------------------------------------------------------
-// CProfileMainContainer::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CProfileMainContainer* CProfileMainContainer::NewL(
- CProfileEngineHandler& aEngineHandler,
- CProfileIndexHandler& aIndexHandler,
- CAknView& aView )
- {
- CProfileMainContainer* self = new( ELeave ) CProfileMainContainer(
- aEngineHandler, aIndexHandler, aView );
- CleanupStack::PushL( self );
- self->ConstructL( aView.ClientRect() );
- CleanupStack::Pop( self );
- return self;
- }
-
-// Destructor
-CProfileMainContainer::~CProfileMainContainer()
- {
- delete iListBox;
- }
-
-// -----------------------------------------------------------------------------
-// CProfileMainContainer::PopulateListBoxL
-// -----------------------------------------------------------------------------
-//
-void CProfileMainContainer::PopulateListBoxL( TInt aTopItemIndex )
- {
- // Transfer decorated array ownership for listbox model
- CDesCArrayFlat* decoratedArray =
- new( ELeave ) CDesCArrayFlat( KProfileNameArrayGranularity );
- CTextListBoxModel* model = iListBox->Model();
- model->SetOwnershipType( ELbmOwnsItemArray );
- model->SetItemTextArray( decoratedArray );
-
- MProfilesNamesArray* array = iEngineHandler.IdArray();
-
- // Populate the decorated array for listbox
- TInt count( array->MdcaCount() );
- TBuf<PROFILES_MAX_NAME_LENGTH + 1> name; // + 1 for tab character
- for( TInt index( 0 ); index < count; index++ )
- {
- name.Copy( KTabChar );
- TBuf< KProfileMaxNameLength > tmpName( array->MdcaPoint( index ) );
- AknTextUtils::DisplayTextLanguageSpecificNumberConversion( tmpName );
- AknTextUtils::ReplaceCharacters( tmpName, KAknReplaceListControlChars,
- TChar( ' ' ) );
- name.Append( tmpName );
- decoratedArray->AppendL( name );
- }
-
- // Update listbox
- iListBox->HandleItemAdditionL();
-
- // Update view
- if( aTopItemIndex >= 0 )
- {
- iListBox->SetTopItemIndex( aTopItemIndex );
- }
- iListBox->SetCurrentItemIndex( iIndexHandler.CurrentProfileIndex() );
- iListBox->DrawNow();
- }
-
-// -----------------------------------------------------------------------------
-// CProfileMainContainer::TopItemIndex
-// -----------------------------------------------------------------------------
-//
-TInt CProfileMainContainer::TopItemIndex() const
- {
- return iListBox->TopItemIndex();
- }
-
-// -----------------------------------------------------------------------------
-// CProfileMainContainer::CountComponentControls
-// -----------------------------------------------------------------------------
-//
-TInt CProfileMainContainer::CountComponentControls() const
- {
- return KMainContainerSubControlCount;
- }
-
-// -----------------------------------------------------------------------------
-// CProfileMainContainer::ComponentControl
-// -----------------------------------------------------------------------------
-//
-CCoeControl* CProfileMainContainer::ComponentControl( TInt aIndex ) const
- {
- switch( aIndex )
- {
- case 0:
- {
- return iListBox;
- }
- default:
- {
- return NULL;
- }
- }
- }
-
-// -----------------------------------------------------------------------------
-// CProfileMainContainer::SizeChanged
-// -----------------------------------------------------------------------------
-//
-void CProfileMainContainer::SizeChanged()
- {
- if( iListBox )
- {
- iListBox->SetRect( Rect() ); // Set container's rect to listbox
- // Force refreshing of iListBox:
- TRAP_IGNORE( iListBox->HandleItemAdditionL() );
- }
- }
-
-// -----------------------------------------------------------------------------
-// CProfileMainContainer::OfferKeyEventL
-// -----------------------------------------------------------------------------
-//
-TKeyResponse CProfileMainContainer::OfferKeyEventL(
- const TKeyEvent& aKeyEvent, TEventCode aType )
- {
- if( aType != EEventKey )
- {
- return EKeyWasNotConsumed;
- }
-
- switch( aKeyEvent.iCode )
- {
- case EKeyUpArrow: // flow through, both change focus
- case EKeyDownArrow:
- {
- TKeyResponse response( iListBox->OfferKeyEventL( aKeyEvent, aType ) );
- iIndexHandler.SetCurrentProfileIndex( iListBox->CurrentItemIndex() );
- return response;
- }
- case EKeyBackspace: // Clear key
- {
- if( ( FeatureManager::FeatureSupported( KFeatureIdDynamicProfiles ) ) &&
- ( !iEngineHandler.Engine()->IsDefaultProfile(
- iEngineHandler.IdForIndex( iIndexHandler.CurrentProfileIndex() ) ) ) )
- {
- // If dynamic profiles feature is supported and none of
- // the default profiles is focused, try to delete a profile.
- iView.HandleCommandL( EProfileCmdDelete );
- return EKeyWasConsumed;
- }
- break;
- }
- default:
- {
- break;
- }
- }
- return iListBox->OfferKeyEventL( aKeyEvent, aType );
- }
-
-// -----------------------------------------------------------------------------
-// CProfileMainContainer::HandleListBoxEventL
-// -----------------------------------------------------------------------------
-//
-void CProfileMainContainer::HandleListBoxEventL(
- CEikListBox* /* aListBox */, TListBoxEvent aEventType )
- {
- if( ( aEventType == EEventEnterKeyPressed ) ||
-
- ( aEventType == EEventItemSingleClicked ) )
- {
- iIndexHandler.SetCurrentProfileIndex( iListBox->CurrentItemIndex() );
- iView.HandleCommandL( EProfileCmdContextSpecificOptionsMenu );
- }
- }
-
-// -----------------------------------------------------------------------------
-// CProfileMainContainer::GetHelpContext
-// -----------------------------------------------------------------------------
-//
-void CProfileMainContainer::GetHelpContext( TCoeHelpContext& aContext ) const
- {
- aContext.iMajor = KUidProfileApp;
- aContext.iContext = KMODE_HLP_PROFILES_LIST;
- }
-
-// -----------------------------------------------------------------------------
-// CProfileMainContainer::HandleResourceChange
-// -----------------------------------------------------------------------------
-//
-void CProfileMainContainer::HandleResourceChange( TInt aType )
- {
- if ( aType == KEikDynamicLayoutVariantSwitch ||
- aType == KAknsMessageSkinChange )
- {
- (static_cast <CProfileMainView *> (&iView))->UpdateClientRect();
- }
-
- CCoeControl::HandleResourceChange( aType );
- }
-
-// -----------------------------------------------------------------------------
-// CProfileMainContainer::FocusChanged
-// -----------------------------------------------------------------------------
-//
-void CProfileMainContainer::FocusChanged( TDrawNow aDrawNow )
- {
- if( iListBox )
- {
- iListBox->SetFocus( IsFocused(), aDrawNow );
- }
- }
-
-// End of File
--- a/profilesapplication/Profiles/ProfileApp/UIsrc/CProfileMainContainer.h Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,162 +0,0 @@
-/*
-* Copyright (c) 2002 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: Container class of main view.
-*
-*/
-
-
-
-#ifndef CPROFILEMAINCONTAINER_H
-#define CPROFILEMAINCONTAINER_H
-
-// INCLUDES
-#include <coecntrl.h>
-#include <eiklbo.h>
-
-// FORWARD DECLARATIONS
-class CAknView;
-class CAknSingleStyleListBox;
-class CProfileEngineHandler;
-class CProfileIndexHandler;
-
-// CONSTANTS
-const TInt KMainContainerSubControlCount( 1 );
-
-// CLASS DECLARATION
-/**
-* Container class of main view.
-*
-* @lib ProfileApp.app
-* @since 1.2
-*/
-NONSHARABLE_CLASS( CProfileMainContainer ) : public CCoeControl
- , public MEikListBoxObserver
- {
- public: // Constructors and destructors
-
- /**
- * Two-phased constructor.
- * @param aEngineHandler Engine Handler.
- * @param aIndexHandler Index Handler.
- * @param aView Pointer to the main view class.
- * @return Returns an instance of CProfileMainContainer.
- */
- static CProfileMainContainer* NewL(
- CProfileEngineHandler& aEngineHandler,
- CProfileIndexHandler& aIndexHandler,
- CAknView& aView );
-
- /**
- * Destructor.
- */
- ~CProfileMainContainer();
-
- public: // New functions
-
- /**
- * Populates listbox with names of profiles.
- * Separated to own method to enable updating listbox dynamically
- * (i.e. supports profiles being added or deleted).
- * @param aTopItemIndex If given, sets list boxes top item index.
- */
- void PopulateListBoxL( TInt aTopItemIndex = KErrNotFound );
-
- /**
- * Returns the top item index of the listbox.
- * Needed to set index back when returning from personalise state.
- * @return Returns the top item index of the listbox.
- */
- TInt TopItemIndex() const;
-
- private: // Functions from base classes
-
- /**
- * From CoeControl
- */
- TInt CountComponentControls() const;
-
- /**
- * From CoeControl
- */
- CCoeControl* ComponentControl( TInt aIndex ) const;
-
- /**
- * From CoeControl
- */
- void SizeChanged();
-
- /**
- * From CoeControl
- */
- TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent, TEventCode aType );
-
- /**
- * From CCoeControl
- */
- void GetHelpContext( TCoeHelpContext& aContext ) const;
-
- /**
- * From CCoeControl
- */
- void HandleResourceChange(TInt aType);
-
- /**
- * From CCoeControl
- */
- void FocusChanged( TDrawNow aDrawNow );
-
- /**
- * From MEikListBoxObserver
- */
- void HandleListBoxEventL( CEikListBox* aListBox, TListBoxEvent aEventType );
-
- private:
-
- /**
- * C++ constructor.
- * @param aEngineHandler Engine Handler.
- * @param aIndexHandler Index Handler.
- * @param aView Pointer to the main view class.
- */
- CProfileMainContainer(
- CProfileEngineHandler& aEngineHandler,
- CProfileIndexHandler& aIndexHandler,
- CAknView& aView );
-
- /**
- * By default Symbian 2nd phase constructor is private.
- * @param aRect Drawing area.
- */
- void ConstructL( const TRect& aRect );
-
- private: // Data
-
- // Engine handler
- CProfileEngineHandler& iEngineHandler;
-
- // Index handler
- CProfileIndexHandler& iIndexHandler;
-
- // The view class (to call HandleCommandL).
- CAknView& iView;
-
- // Own: Listbox class.
- CAknSingleStyleListBox* iListBox;
-
- };
-
-#endif // CPROFILEMAINCONTAINER_H
-
-
-// End of File
--- a/profilesapplication/Profiles/ProfileApp/UIsrc/CProfileMainView.cpp Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,717 +0,0 @@
-/*
-* Copyright (c) 2002 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: Main view class.
-*
-*/
-
-// INCLUDE FILES
-#include "CProfileMainView.h"
-
-#include <aknViewAppUi.h>
-#include <aknnotewrappers.h>
-#include <eikmenub.h>
-#include <featmgr.h>
-#include <AknQueryDialog.h>
-
-#ifndef RD_STARTUP_CHANGE
-#include <PSVariables.h>
-#include <e32property.h>
-#else
-#include <startupdomainpskeys.h>
-#endif
-
-#include <akntitle.h>
-#include <StringLoader.h>
-#include <cprofilechangenotifyhandler.h>
-#include <CProfileEngineHandler.h>
-#include <CProfileIndexHandler.h>
-#include <mprofileengine.h>
-#include <mprofileengineextended.h>
-#include <mprofile.h>
-#include <mprofilename.h>
-#include <mprofileextended.h>
-#include <mprofilesnamesarray.h>
-#include <profile.hrh>
-#include <ProfileApp.rsg>
-#include <AknQueryDialog.h>
-
-#include "CProfileMainContainer.h"
-#include "CProfileDocument.h"
-#include "ProfileApp.hrh"
-#include "CProfileNaviPaneContainer.h"
-#include "mprofileslocalfeatures.h"
-#include "profilesvariant.hrh" // KProEngFeatureIdTimedProfiles
-
-
-// CONSTANTS
-namespace
- {
- //const TInt KNumberOfVisibleProfilesInMainView( 6 );
- const TInt KOneMinuteInMicrosecond = 1000000 * 60;
- const TInt KOneHourInMinute = 60;
- }
-
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CProfileMainView::CProfileMainView
-// C++ constructor can NOT contain any code, that might leave.
-// -----------------------------------------------------------------------------
-//
-CProfileMainView::CProfileMainView(
- CProfileEngineHandler& aEngineHandler,
- CProfileIndexHandler& aIndexHandler )
- : iEngineHandler( aEngineHandler ),
- iIndexHandler( aIndexHandler ),
- iTopItemIndex( KErrNotFound )
- {
- }
-
-// -----------------------------------------------------------------------------
-// CProfileMainView::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CProfileMainView::ConstructL()
- {
- BaseConstructL( R_PROFILE_MAIN_VIEW );
-
- CAknTitlePane* titlePane = static_cast< CAknTitlePane* >(
- StatusPane()->ControlL( TUid::Uid( EEikStatusPaneUidTitle ) ) );
-
- HBufC* titleText = StringLoader::LoadLC( R_PROFILE_TEXT_TITLE );
- titlePane->SetText( titleText ); // takes ownership
- CleanupStack::Pop( titleText );
-
- iNotifier = CProfileChangeNotifyHandler::NewL( this );
-
- iLocalFeatures = &( iEngineHandler.Engine()->LocalFeatures() );
- }
-
-// -----------------------------------------------------------------------------
-// CProfileMainView::NewLC
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CProfileMainView* CProfileMainView::NewLC(
- CProfileEngineHandler& aEngineHandler,
- CProfileIndexHandler& aIndexHandler )
- {
- CProfileMainView* self =
- new( ELeave ) CProfileMainView( aEngineHandler, aIndexHandler );
- CleanupStack::PushL( self );
- self->ConstructL();
- return self;
- }
-
-// Destructor
-CProfileMainView::~CProfileMainView()
- {
- delete iNotifier;
- delete iNaviPaneContainer;
- if( iContainer )
- {
- AppUi()->RemoveFromViewStack( *this, iContainer );
- delete iContainer;
- }
- }
-
-// -----------------------------------------------------------------------------
-// CProfileMainView::DisplayConfirmationQueryL
-// -----------------------------------------------------------------------------
-//
-TBool CProfileMainView::DisplayConfirmationQueryL( TInt aResourceId ) const
- {
- CAknQueryDialog* dlg = CAknQueryDialog::NewL();
- return dlg->ExecuteLD( aResourceId );
- }
-
-// -----------------------------------------------------------------------------
-// CProfileMainView::DoCmdActivateL
-// -----------------------------------------------------------------------------
-//
-void CProfileMainView::DoCmdActivateL()
- {
- // ID of the currently focused profile
- // (the profile that user would like to activate)
- TInt currentProfileId(
- iEngineHandler.IdForIndex( iIndexHandler.CurrentProfileIndex() ) );
-
- // If Off-line profile is supported
- if( ( FeatureManager::FeatureSupported( KFeatureIdOfflineMode ) ) &&
- // and active profile is Off-line
- ( iEngineHandler.Engine()->ActiveProfileId() == EProfileOffLineId ) &&
- // and currently focused profile is not Off-line
- ( currentProfileId != EProfileOffLineId ) )
- {
- // We are changing from Off-line to a normal profile.
- // Check if SIM card exists or not
-#ifndef RD_STARTUP_CHANGE
- TInt simCStatus( EPSCSimRemoved );
-#else
- TInt simCStatus( ESimNotPresent );
-#endif
-
- RProperty simStatus;
-#ifndef RD_STARTUP_CHANGE
- User::LeaveIfError(
- simStatus.Attach( KUidSystemCategory, KPSUidSimCStatusValue ) );
- User::LeaveIfError( simStatus.Get( simCStatus ) );
-#else
- User::LeaveIfError(
- simStatus.Attach( KPSUidStartup, KPSSimStatus ) );
- User::LeaveIfError( simStatus.Get( simCStatus ) );
-#endif
- simStatus.Close();
-
-#ifndef RD_STARTUP_CHANGE
- if( simCStatus == EPSCSimRemoved )
-#else
- if( simCStatus == ESimNotPresent )
-#endif
- {
- // SIM card does not exist.
- // Show an information note and exit from method.
- HBufC* infoText = StringLoader::LoadLC( R_PROFILE_TEXT_INSERT_SIM );
- CAknInformationNote* note =
- new( ELeave ) CAknInformationNote( ETrue );
- note->ExecuteLD( *infoText );
- CleanupStack::PopAndDestroy( infoText );
- return;
- }
- }
- iEngineHandler.Engine()->SetActiveProfileL( currentProfileId );
- }
-
-// -----------------------------------------------------------------------------
-// CProfileMainView::DoCmdCreateNewL
-// -----------------------------------------------------------------------------
-//
-void CProfileMainView::DoCmdCreateNewL()
- {
- MProfileExtended* profile = iEngineHandler.Engine()->CreateProfileL(); // CSI: 35 # profile object deleted before leaving function calls
- if( profile )
- {
- // Profile creation successful
- TInt id( profile->ProfileName().Id() );
- profile->Release();
- iEngineHandler.ReadIdArrayL();
- // Focus the created profile:
- iIndexHandler.SetCurrentProfileIndex(
- iEngineHandler.IdArray()->FindById( id ) );
- AppUi()->HandleCommandL( EProfileCmdPersonalise );
- }
- else
- {
- // Maximum number of user created profiles reached, show error note
- HBufC* errorText = StringLoader::LoadLC(
- R_PROFILE_TEXT_ERROR_MAXIMUM );
- CAknErrorNote* note = new( ELeave ) CAknErrorNote( ETrue );
- note->ExecuteLD( *errorText );
- CleanupStack::PopAndDestroy( errorText );
- }
- }
-
-// -----------------------------------------------------------------------------
-// CProfileMainView::DoCmdDeleteL
-// -----------------------------------------------------------------------------
-//
-void CProfileMainView::DoCmdDeleteL()
- {
- // Ask user if he/she wants to delete profile
- if( !DisplayConfirmationQueryL( R_PROFILE_DELETE_CONFIRMATION_QUERY ) )
- {
- // User didn't want to delete the profile, return
- return;
- }
-
- TInt currentProfileIndex( iIndexHandler.CurrentProfileIndex() );
-
- // Try deleting the focused profile
- TInt errorCode( iEngineHandler.Engine()->DeleteProfileL(
- iEngineHandler.IdForIndex( currentProfileIndex ) ) );
-
- if( errorCode == KErrNone )
- {
- iEngineHandler.ReadIdArrayL();
- TInt lastIndex = iEngineHandler.IdArray()->MdcaCount() - 1;
- if( currentProfileIndex > lastIndex )
- {
- // The last profile in the list was deleted. change focus.
- iIndexHandler.SetCurrentProfileIndex( lastIndex );
- }
- iContainer->PopulateListBoxL();
- }
- else
- {
- // Show error note if cannot delete profile
- HBufC* errorText = StringLoader::LoadLC(
- R_PROFILE_TEXT_DELETE_ERROR );
- CAknErrorNote* note = new( ELeave ) CAknErrorNote( ETrue );
- note->ExecuteLD( *errorText );
- CleanupStack::PopAndDestroy( errorText );
- }
- }
-
-// -----------------------------------------------------------------------------
-// CProfileMainView::DoCmdContextSpecificOptionsMenuL
-// -----------------------------------------------------------------------------
-//
-void CProfileMainView::DoCmdContextSpecificOptionsMenuL()
- {
- // Switch to Context specific options menu,
- // show it and switch back to main view options menu.
- CEikMenuBar* menuBar = MenuBar();
- menuBar->SetMenuType( CEikMenuBar::EMenuContext );
- menuBar->SetMenuTitleResourceId(
- R_PROFILE_MAIN_VIEW_CONTEXT_SPECIFIC_OPTIONS_MENUBAR );
-
- // TRAP displaying of menu bar.
- // If it fails, the correct resource is set back before leave.
- TRAPD( error, menuBar->TryDisplayContextMenuBarL() );
-
- menuBar->SetMenuType( CEikMenuBar::EMenuOptions );
- menuBar->SetMenuTitleResourceId( R_PROFILE_MAIN_VIEW_OPTIONS_MENUBAR );
- User::LeaveIfError( error );
-
- }
-
-// -----------------------------------------------------------------------------
-// CProfileMainView::DisplayTimedNote
-// -----------------------------------------------------------------------------
-//
-void CProfileMainView::DisplayTimedInfoNoteL( TInt aMinutes, TInt aHours ) const
- {
- TInt resourceId = R_PROFILE_CONF_SINGULAR;
- TBool minutesSingular( EFalse );
- TBool hoursSingular( EFalse );
-
- if( aMinutes == 1)
- {
- minutesSingular = ETrue;
- }
- if( aHours == 1 )
- {
- hoursSingular = ETrue;
- }
-
- if( ( !minutesSingular ) && ( hoursSingular ) )
- {
- resourceId = R_PROFILE_CONF_HOUR_SEV_MIN;
- }
- else if( ( minutesSingular ) && ( !hoursSingular ) )
- {
- resourceId = R_PROFILE_CONF_SEV_HOURS_MIN;
- }
- else if( ( !minutesSingular ) && ( !hoursSingular ) )
- {
- resourceId = R_PROFILE_CONF_PLURAL;
- }
-
- CArrayFix<TInt>* array = new( ELeave ) CArrayFixFlat<TInt>(1);
- CleanupStack::PushL( array );
-
- array->AppendL( aHours );
- array->AppendL( aMinutes );
-
- HBufC* expiryText = StringLoader::LoadLC(
- resourceId, *array );
-
- CAknInformationNote* note = new( ELeave ) CAknInformationNote( EFalse );
-
- note->ExecuteLD( *expiryText );
-
- // expiryText
- CleanupStack::PopAndDestroy( expiryText );
-
- // array
- CleanupStack::PopAndDestroy( array );
- }
-
-// -----------------------------------------------------------------------------
-// CProfileMainView::DisplayTimedQueryNote
-// -----------------------------------------------------------------------------
-//
-void CProfileMainView::DisplayTimedQueryNoteL( TInt aMinutes, TInt aHours ) const
- {
- TInt resourceId = R_PROFILE_CONF_SINGULAR;
- TBool minutesSingular( EFalse );
- TBool hoursSingular( EFalse );
-
- if( aMinutes == 1)
- {
- minutesSingular = ETrue;
- }
- if( aHours == 1 )
- {
- hoursSingular = ETrue;
- }
-
- if( ( !minutesSingular ) && ( hoursSingular ) )
- {
- resourceId = R_PROFILE_CONF_HOUR_SEV_MIN;
- }
- else if( ( minutesSingular ) && ( !hoursSingular ) )
- {
- resourceId = R_PROFILE_CONF_SEV_HOURS_MIN;
- }
- else if( ( !minutesSingular ) && ( !hoursSingular ) )
- {
- resourceId = R_PROFILE_CONF_PLURAL;
- }
-
- CArrayFix<TInt>* array = new( ELeave ) CArrayFixFlat<TInt>(1);
- CleanupStack::PushL( array );
-
- array->AppendL( aHours );
- array->AppendL( aMinutes );
-
- HBufC* expiryText = StringLoader::LoadLC(
- resourceId, *array );
-
- CAknQueryDialog* query = CAknQueryDialog::NewL();
- const TInt ret(
- query->ExecuteLD( R_PROFILE_CONFIRM_TIMED_QUERY, *expiryText ) );
-
- // expiryText
- CleanupStack::PopAndDestroy( expiryText );
-
- // array
- CleanupStack::PopAndDestroy( array );
- }
-
-// -----------------------------------------------------------------------------
-// CProfileMainView::DoCmdTimedL
-// -----------------------------------------------------------------------------
-//
-void CProfileMainView::DoCmdTimedL()
- {
- // ID of the currently focused profile
- // (the profile that user would like to activate)
- TInt currentProfileId(
- iEngineHandler.IdForIndex( iIndexHandler.CurrentProfileIndex() ) );
-
- // If Off-line profile is supported
- if( ( FeatureManager::FeatureSupported( KFeatureIdOfflineMode ) ) &&
- // and active profile is Off-line
- ( iEngineHandler.Engine()->ActiveProfileId() == EProfileOffLineId ) &&
- // and currently focused profile is not Off-line
- ( currentProfileId != EProfileOffLineId ) )
- {
- // We are changing from Off-line to a normal profile.
- // Check if SIM card exists or not
-#ifndef RD_STARTUP_CHANGE
- TInt simCStatus( EPSCSimRemoved );
-#else
- TInt simCStatus( ESimNotPresent );
-#endif
-
- RProperty simStatus;
-#ifndef RD_STARTUP_CHANGE
- User::LeaveIfError(
- simStatus.Attach( KUidSystemCategory, KPSUidSimCStatusValue ) );
- User::LeaveIfError( simStatus.Get( simCStatus ) );
-#else
- User::LeaveIfError(
- simStatus.Attach( KPSUidStartup, KPSSimStatus ) );
- User::LeaveIfError( simStatus.Get( simCStatus ) );
-#endif
- simStatus.Close();
-
-#ifndef RD_STARTUP_CHANGE
- if( simCStatus == EPSCSimRemoved )
-#else
- if( simCStatus == ESimNotPresent )
-#endif
- {
- // SIM card does not exist.
- // Show an information note and exit from method.
- HBufC* infoText = StringLoader::LoadLC( R_PROFILE_TEXT_INSERT_SIM );
- CAknInformationNote* note =
- new( ELeave ) CAknInformationNote( ETrue );
- note->ExecuteLD( *infoText );
- CleanupStack::PopAndDestroy( infoText );
- return;
- }
- }
-
- TTime expireTime;
- expireTime.HomeTime();
-
- HBufC* expiryTime =
- StringLoader::LoadLC( R_PROFILE_SETTING_EXPIRY_TIME );
-
- CAknTimeQueryDialog* dlg = new(ELeave) CAknTimeQueryDialog( expireTime );
- if (dlg->ExecuteLD(R_PROFILE_TIME_QUERY, *expiryTime ))
- {
- // Timing currently active profile is not allowed. This can happen
- // if active profile is changed after the timing process begins.
- // Exception: re-timing a timed profile.
- MProfileEngine* profileEngine = CreateProfileEngineL();
- CleanupReleasePushL( *profileEngine );
- TBool isActiveProfileTimed = profileEngine->IsActiveProfileTimedL();
- CleanupStack::PopAndDestroy( profileEngine );
-
- if( currentProfileId == iEngineHandler.Engine()->ActiveProfileId()
- && !isActiveProfileTimed )
- {
- HBufC* errorText = StringLoader::LoadLC(
- R_PROFILE_ERROR_TIMING_ACTIVE_PROFILE );
- CAknErrorNote* note = new( ELeave ) CAknErrorNote( ETrue );
- note->ExecuteLD( *errorText );
- CleanupStack::PopAndDestroy( errorText );
- return;
- }
-
- TTime originalTime;
- originalTime.HomeTime();
-
- TDateTime expiredtime = expireTime.DateTime();
- TDateTime originaltdtime = originalTime.DateTime();
- expiredtime.SetDay(originaltdtime.Day());
- expiredtime.SetMonth(originaltdtime.Month());
- expiredtime.SetYear(originaltdtime.Year());
- expireTime = expiredtime;
-
- if( expireTime < originalTime )
- {
- expireTime += TTimeIntervalDays(1);
- }
-
- TTimeIntervalMicroSeconds remainTime(
- expireTime.MicroSecondsFrom( originalTime ) );
- TInt64 tmp = ( remainTime.Int64() ) / KOneMinuteInMicrosecond;
- TInt minutes = I64INT(tmp);
- TInt hours(minutes / KOneHourInMinute);
- minutes -= hours * KOneHourInMinute;
-
- DisplayTimedQueryNoteL( minutes, hours );
-
- MProfileEngineExtended* engine = iEngineHandler.Engine();
- engine->SetActiveProfileTimedL( currentProfileId, expireTime );
- }
- CleanupStack::PopAndDestroy( expiryTime );
- }
-
-// -----------------------------------------------------------------------------
-// CProfileMainView::Id
-// -----------------------------------------------------------------------------
-//
-TUid CProfileMainView::Id() const
- {
- return KProfileAppMainViewId;
- }
-
-// -----------------------------------------------------------------------------
-// CProfileMainView::HandleCommandL
-// -----------------------------------------------------------------------------
-//
-void CProfileMainView::HandleCommandL( TInt aCommand )
- {
- switch ( aCommand )
- {
- case EProfileCmdActivate:
- {
- DoCmdActivateL();
- break;
- }
- case EProfileCmdCreateNew:
- {
- DoCmdCreateNewL();
- break;
- }
- case EProfileCmdDelete:
- {
- DoCmdDeleteL();
- break;
- }
- case EProfileCmdContextSpecificOptionsMenu:
- case EAknSoftkeyContextOptions:
- {
- DoCmdContextSpecificOptionsMenuL();
- break;
- }
- case EProfileCmdTimed:
- {
- DoCmdTimedL();
- break;
- }
- default:
- {
- AppUi()->HandleCommandL( aCommand );
- break;
- }
- }
- }
-
-// -----------------------------------------------------------------------------
-// CProfileMainView::DoActivateL
-// -----------------------------------------------------------------------------
-//
-void CProfileMainView::DoActivateL(
- const TVwsViewId& /* aPrevViewId */,
- TUid aCustomMessageId,
- const TDesC8& /* aCustomMessage */ )
- {
- if( !iContainer )
- {
- iContainer = CProfileMainContainer::NewL(
- iEngineHandler, iIndexHandler, *this );
- iContainer->PopulateListBoxL( iTopItemIndex );
- iNaviPaneContainer =
- CProfileNaviPaneContainer::NewL( *StatusPane(), iEngineHandler );
- // Set the name of the active profile to navi pane
- iNaviPaneContainer->SetNaviPaneTextL();
- AppUi()->AddToViewStackL( *this, iContainer );
- iContainer->MakeVisible( ETrue );
- }
-
- if( aCustomMessageId == KProfileAppMainViewId )
- {
- DoCmdCreateNewL();
- }
-
- CEikMenuBar* menuBar = MenuBar();
- menuBar->SetContextMenuTitleResourceId(
- R_PROFILE_MAIN_VIEW_CONTEXT_SPECIFIC_OPTIONS_MENUBAR );
-
-
- if ( iEikonEnv->StartedAsServerApp() )
- {
- UpdateCbaL(R_PROFILE_MAIN_VIEW_CBA_2);
- }
-
- }
-
-// -----------------------------------------------------------------------------
-// CProfileMainView::DoDeactivate
-// -----------------------------------------------------------------------------
-//
-void CProfileMainView::DoDeactivate()
- {
- delete iNaviPaneContainer;
- iNaviPaneContainer = NULL;
- if( iContainer )
- {
- iTopItemIndex = iContainer->TopItemIndex();
- AppUi()->RemoveFromViewStack( *this, iContainer );
- delete iContainer;
- iContainer = NULL;
- }
- }
-
-// -----------------------------------------------------------------------------
-// CProfileMainView::DynInitMenuPaneL
-// -----------------------------------------------------------------------------
-//
-void CProfileMainView::DynInitMenuPaneL(
- TInt aResourceId, CEikMenuPane* aMenuPane )
- {
- if( !iContainer ||
- ( (aResourceId != R_PROFILE_MAIN_VIEW_OPTIONS_MENUPANE) &&
- (aResourceId != R_PROFILE_MAIN_VIEW_CONTEXT_SPECIFIC_OPTIONS_MENUPANE)
- ) )
- {
- return;
- }
-
- // ID of the currently focused profile
- TInt currentProfileId(
- iEngineHandler.IdForIndex( iIndexHandler.CurrentProfileIndex() ) );
- TInt activeProfileId( iEngineHandler.Engine()->ActiveProfileId() );
-
- // "Timed" item is in both menus:
- if( aResourceId == R_PROFILE_MAIN_VIEW_CONTEXT_SPECIFIC_OPTIONS_MENUPANE && (( !iLocalFeatures->IsFeatureSupported( KProEngFeatureIdTimedProfiles ) )
- || ( currentProfileId == EProfileOffLineId ) ||
- ( ( activeProfileId == currentProfileId ) &&
- !iEngineHandler.Engine()->IsActiveProfileTimedL() ) ))
- {
- // Timed profiles is not supported. Hide Timed option from
- // Options menu
- aMenuPane->SetItemDimmed( EProfileCmdTimed, ETrue );
- }
- if(aResourceId == R_PROFILE_MAIN_VIEW_CONTEXT_SPECIFIC_OPTIONS_MENUPANE && ( FeatureManager::FeatureSupported(KFeatureIdDynamicProfiles) ) &&
- iEngineHandler.Engine()->IsDefaultProfile( currentProfileId ) )
- {
- // A default profile is focused. Hide Delete from Options menu
- aMenuPane->SetItemDimmed( EProfileCmdDelete, ETrue );
- }
-
- if( aResourceId == R_PROFILE_MAIN_VIEW_OPTIONS_MENUPANE )
- {
- if( !FeatureManager::FeatureSupported( KFeatureIdHelp ) )
- {
- // Help is not supported. Hide Help from Options menu
- aMenuPane->SetItemDimmed( EAknCmdHelp, ETrue );
- }
- // Check that dynamic profiles are supported
- // before trying to hide Delete from Options menu.
- /* if( ( FeatureManager::FeatureSupported(KFeatureIdDynamicProfiles) ) &&
- iEngineHandler.Engine()->IsDefaultProfile( currentProfileId ) )
- {
- // A default profile is focused. Hide Delete from Options menu
- aMenuPane->SetItemDimmed( EProfileCmdDelete, ETrue );
- }*/
- }
-
- }
-
-// -----------------------------------------------------------------------------
-// CProfileMainView::HandleActiveProfileEventL
-// -----------------------------------------------------------------------------
-//
-void CProfileMainView::HandleActiveProfileEventL(
- TProfileEvent /* aProfileEvent */, TInt /* aProfileId */ )
- {
- if( iNaviPaneContainer )
- {
- // Active profile has changed. Change active profile name in navi pane.
- iNaviPaneContainer->SetNaviPaneTextL();
- }
- }
-
-// -----------------------------------------------------------------------------
-// CProfileMainView::UpdateClientRect
-// -----------------------------------------------------------------------------
-//
-void CProfileMainView::UpdateClientRect()
- {
- iContainer->SetRect( ClientRect() );
- }
-
-// -----------------------------------------------------------------------------
-// CProfileMainView::View
-// -----------------------------------------------------------------------------
-//
-CAknView& CProfileMainView::View()
- {
- return *this;
- }
-
-
-// -----------------------------------------------------------------------------
-// CProfileMainView::UpdateCbaL
-//
-// -----------------------------------------------------------------------------
-//
-void CProfileMainView::UpdateCbaL(TInt aResourceId)
- {
- CEikButtonGroupContainer* cba = Cba();
- cba->SetCommandSetL(aResourceId);
- cba->DrawDeferred();
- }
-
-
-// End of File
--- a/profilesapplication/Profiles/ProfileApp/UIsrc/CProfileMainView.h Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,213 +0,0 @@
-/*
-* Copyright (c) 2002 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: Main view class.
-*
-*/
-
-
-
-#ifndef CPROFILEMAINVIEW_H
-#define CPROFILEMAINVIEW_H
-
-// INCLUDES
-#include <aknview.h>
-#include "MProfileChangeObserver.h"
-#include "MProfileViewHandler.h"
-
-// CONSTANTS
-const TUid KProfileAppMainViewId = { 1 }; // UID of view
-
-// FORWARD DECLARATIONS
-class CProfileEngineHandler;
-class CProfileIndexHandler;
-class CProfileMainContainer;
-class CProfileChangeNotifyHandler;
-class CProfileNaviPaneContainer;
-class MProfilesLocalFeatures;
-
-// CLASS DECLARATION
-/**
-* Main view class.
-* Derived from MProfileChangeObserver to get an event when active profile is
-* changed (needed for updating the navi pane).
-*
-* @lib ProfileApp.app
-* @since 1.2
-*/
-NONSHARABLE_CLASS( CProfileMainView ) : public CAknView,
- public MProfileChangeObserver,
- public MProfileViewHandler
- {
- public: // Constructors and destructor
-
- /**
- * Two-phased constructor.
- * @param aEngineHandler Engine Handler.
- * @param aIndexHandler Index Handler.
- * @return Returns an instance of CProfileMainView.
- */
- static CProfileMainView* NewLC(
- CProfileEngineHandler& aEngineHandler,
- CProfileIndexHandler& aIndexHandler );
-
- /**
- * Destructor.
- */
- ~CProfileMainView();
-
- public: // Functions from base classes
-
- /**
- * From CAknView
- */
- TUid Id() const;
-
- /**
- * From CAknView
- */
- void HandleCommandL( TInt aCommand );
-
- /**
- * From MProfileViewHandler
- */
- void UpdateClientRect();
-
- /**
- * From MProfileViewHandler
- */
- CAknView& View();
-
- private: // New functions
-
- /**
- * Launches a CAknQueryDialog.
- * @param aResourceId Resource id to DIALOG resource.
- * @return Returns ETrue if user accepted the query.
- */
- TBool DisplayConfirmationQueryL( TInt aResourceId ) const;
-
- /**
- * HandleCommandL switch separated to own method.
- */
- void DoCmdActivateL();
-
- /**
- * HandleCommandL switch separated to own method.
- */
- void DoCmdCreateNewL();
-
- /**
- * HandleCommandL switch separated to own method.
- */
- void DoCmdDeleteL();
-
- /**
- * HandleCommandL switch separated to own method.
- */
- void DoCmdContextSpecificOptionsMenuL();
-
- /**
- * HandleCommandL switch separated to own method.
- */
- void DoCmdTimedL();
-
- /**
- * Displays information note containing time left
- * until the profile expires
- */
- void DisplayTimedInfoNoteL( TInt aMinutes, TInt aHours ) const;
- /**
- * Displays confirmation note containing time left
- * until the profile expires
- */
- void DisplayTimedQueryNoteL( TInt aMinutes, TInt aHours ) const;
-
- /**
- * Update cba.
- */
- void UpdateCbaL(TInt aResourceId);
-
-
- private: // Functions from base classes.
-
- /**
- * From CAknView
- */
- void DoActivateL(
- const TVwsViewId& aPrevViewId,
- TUid aCustomMessageId,
- const TDesC8& aCustomMessage );
-
- /**
- * From CAknView
- */
- void DoDeactivate();
-
- /**
- * From CAknView
- */
- void DynInitMenuPaneL( TInt aResourceId, CEikMenuPane* aMenuPane );
-
- /**
- * From MProfileChangeObserver
- */
- void HandleActiveProfileEventL(
- TProfileEvent aProfileEvent, TInt aProfileId );
-
- private:
-
- /**
- * C++ constructor.
- * @param aEngineHandler Engine Handler.
- * @param aIndexHandler Index Handler.
- */
- CProfileMainView(
- CProfileEngineHandler& aEngineHandler,
- CProfileIndexHandler& aIndexHandler );
-
- /**
- * By default Symbian 2nd phase constructor is private.
- */
- void ConstructL();
-
- private: // Data
-
- // Engine handler
- CProfileEngineHandler& iEngineHandler;
-
- // Index handler
- CProfileIndexHandler& iIndexHandler;
-
- // Top item index of the listbox.
- TInt iTopItemIndex;
-
- // Own: Main Container.
- CProfileMainContainer* iContainer;
-
- // Own: Profile change notify handler.
- CProfileChangeNotifyHandler* iNotifier;
-
- // Own: Navi pane container.
- CProfileNaviPaneContainer* iNaviPaneContainer;
-
- // Not own: locally variated features of Profiles:
- MProfilesLocalFeatures* iLocalFeatures;
-
- };
-
-
-#endif // CPROFILEMAINVIEW_H
-
-
-// End of File
--- a/profilesapplication/Profiles/ProfileApp/UIsrc/CProfileSettingsView.cpp Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,375 +0,0 @@
-/*
-* Copyright (c) 2002 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: Settings view class.
-*
-*/
-
-
-// INCLUDE FILES
-#include "CProfileSettingsView.h"
-
-#include <aknViewAppUi.h>
-#include <akntitle.h>
-#include <akntabgrp.h>
-#include <featmgr.h>
-#include <MProfileEngineExtended.h>
-#include <MProfilesNamesArray.h>
-#include <CProfileEngineHandler.h>
-#include <CProfileIndexHandler.h>
-#include <CProfileTabHandler.h>
-#include <ProfileApp.rsg>
-
-#include "ProfilePanics.h"
-#include "CProfileSettingsContainer.h"
-#include "ProfileApp.hrh"
-
-
-
-/******************************************************************************
- * class CProfileTopControl
- ******************************************************************************/
-
-
-// -----------------------------------------------------------------------------
-// CProfileTopControl::NewL()
-//
-// -----------------------------------------------------------------------------
-//
-CProfileTopControl* CProfileTopControl::NewL( CCoeControl* aFocusControl )
- {
- CProfileTopControl* self = new ( ELeave ) CProfileTopControl();
- self->iFocusControl = aFocusControl;
- return self;
- }
-
-
-// -----------------------------------------------------------------------------
-// CProfileTopControl::FocusChanged()
-//
-// -----------------------------------------------------------------------------
-//
-void CProfileTopControl::FocusChanged( TDrawNow aDrawNow )
- {
- // Not calling super::FocusChanged is intentional
- if( iFocusControl )
- {
- iFocusControl->SetFocus( IsFocused(), aDrawNow );
- }
- }
-
-
-/******************************************************************************
- * class CProfileDummyHandler
- ******************************************************************************/
-
-
-// -----------------------------------------------------------------------------
-// CProfileDummyHandler::CProfileDummyHandler()
-//
-// -----------------------------------------------------------------------------
-//
-CProfileDummyHandler::CProfileDummyHandler()
- {
- }
-
-
-// -----------------------------------------------------------------------------
-// CProfileDummyHandler::~CProfileDummyHandler()
-//
-// -----------------------------------------------------------------------------
-//
-CProfileDummyHandler::~CProfileDummyHandler()
- {
- }
-
-
-// -----------------------------------------------------------------------------
-// CProfileDummyHandler::CreateSettingItemL()
-//
-// This should never be called in Profiles App.
-// -----------------------------------------------------------------------------
-//
-CAknSettingItem* CProfileDummyHandler::CreateSettingItemL( TInt /* aIdentifier */ )
- {
- User::Panic( KProfilePanicText, EProfilePanicInvalidSettingItemId );
- return NULL; // to make compiler happy
- }
-
-
-// -----------------------------------------------------------------------------
-// CProfileDummyHandler::SetObserver()
-//
-// -----------------------------------------------------------------------------
-//
-void CProfileDummyHandler::SetObserver(MProfileExternalSettingsObserver& /* aObserver */ )
- {
- }
-
-
-// -----------------------------------------------------------------------------
-// CProfileDummyHandler::AllowedToChange()
-//
-// -----------------------------------------------------------------------------
-//
-TBool CProfileDummyHandler::AllowedToChange( TInt /* aSettingItemId */ ) const
- {
- return EFalse;
- }
-
-
-
-/******************************************************************************
- * class CProfileSettingsView
- ******************************************************************************/
-
-
-// -----------------------------------------------------------------------------
-// CProfileSettingsView::CProfileSettingsView
-// C++ constructor can NOT contain any code, that might leave.
-// -----------------------------------------------------------------------------
-//
-CProfileSettingsView::CProfileSettingsView(
- CProfileEngineHandler& aEngineHandler,
- CProfileIndexHandler& aIndexHandler )
- : iEngineHandler( aEngineHandler ),
- iIndexHandler( aIndexHandler )
- {
- }
-
-// -----------------------------------------------------------------------------
-// CProfileSettingsView::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-void CProfileSettingsView::ConstructL()
- {
- BaseConstructL( R_PROFILE_SETTINGS_VIEW );
- }
-
-// -----------------------------------------------------------------------------
-// CProfileSettingsView::NewLC
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CProfileSettingsView* CProfileSettingsView::NewLC(
- CProfileEngineHandler& aEngineHandler,
- CProfileIndexHandler& aIndexHandler )
- {
- CProfileSettingsView* self = new( ELeave ) CProfileSettingsView(
- aEngineHandler, aIndexHandler );
- CleanupStack::PushL( self );
- self->ConstructL();
- return self;
- }
-
-// Destructor.
-CProfileSettingsView::~CProfileSettingsView()
- {
- if( iTopControl )
- {
- AppUi()->RemoveFromStack( iTopControl );
- }
- if( iTabHandler )
- {
- AppUi()->RemoveFromStack( iTabHandler->TabGroup() );
- }
- if( iContainer )
- {
- AppUi()->RemoveFromViewStack( *this, iContainer );
- }
- delete iContainer;
- delete iTabHandler;
- delete iTopControl;
- delete iDummyHandler;
- }
-
-// -----------------------------------------------------------------------------
-// CProfileSettingsView::Id
-// -----------------------------------------------------------------------------
-//
-TUid CProfileSettingsView::Id() const
- {
- return KProfileAppSettingViewId;
- }
-
-// -----------------------------------------------------------------------------
-// CProfileSettingsView::HandleCommandL
-// -----------------------------------------------------------------------------
-//
-void CProfileSettingsView::HandleCommandL( TInt aCommand )
- {
- switch ( aCommand )
- {
- case EAknSoftkeyBack:
- {
- if( iContainer && iContainer->ItemEdited() )
- {
- break;
- }
- AppUi()->HandleCommandL( aCommand );
- break;
- }
- case EAknSoftkeyChange: // From context specific options menu
- case EProfileCmdChange:
- {
- if( !iContainer )
- {
- break;
- }
- iContainer->EditItemL(
- iContainer->SettingItemArray()->ItemIndexFromVisibleIndex(
- iContainer->ListBox()->CurrentItemIndex() ),
- ( aCommand == EProfileCmdChange ) );
- break;
- }
- default:
- {
- AppUi()->HandleCommandL( aCommand );
- break;
- }
- }
- }
-
-// -----------------------------------------------------------------------------
-// CProfileSettingsView::DoActivateL
-// -----------------------------------------------------------------------------
-//
-void CProfileSettingsView::DoActivateL(
- const TVwsViewId& /* aPrevViewId */,
- TUid aCustomMessageId,
- const TDesC8& aCustomMessage )
- {
- if ( !iContainer )
- {
- // If aCustomMessageId is the same as CProfileSettingsView id,
- // the caller is external. Check if profile id is given and open it.
- if( aCustomMessageId == KProfileAppSettingViewId )
- {
- TLex8 lex( aCustomMessage );
- TInt value = 0;
- lex.Val( value );
- TInt err = KErrNone;
- MProfilesNamesArray* profileNamesArray = iEngineHandler.Engine()->ProfilesNamesArrayLC();
- TInt index = profileNamesArray->FindById(value);
- CleanupStack::PopAndDestroy();
- TRAP( err, iIndexHandler.SetCurrentProfileIndex( index ) );
-
- CEikButtonGroupContainer* cba = CEikButtonGroupContainer::Current();
- CleanupStack::PushL( cba );
- cba->SetCommandSetL( R_PROFILE_SETTINGS_VIEW_CBA_IDLE );
- CleanupStack::Pop( cba );
- cba->DrawDeferred();
- }
-
- // Get pointer to navi pane
- CAknNavigationControlContainer* naviPane =
- static_cast<CAknNavigationControlContainer*>(
- StatusPane()->ControlL( TUid::Uid( EEikStatusPaneUidNavi ) ) );
- // Get pointer to title pane
- CAknTitlePane* titlePane = static_cast< CAknTitlePane* >(
- StatusPane()->ControlL( TUid::Uid( EEikStatusPaneUidTitle ) ) );
-
- //iTabHandler = CProfileTabHandler::NewL(
- // iEngineHandler, iIndexHandler, *naviPane );
-
- iDummyHandler = new ( ELeave ) CProfileDummyHandler();
- iContainer = CProfileSettingsContainer::NewL(
- *this, iEngineHandler, *iDummyHandler, &iIndexHandler,
- iTabHandler, titlePane );
-
- iTopControl = CProfileTopControl::NewL( iContainer );
-
- AppUi()->AddToViewStackL( *this, iContainer );
- // Tab group must be added to stack last.
- //AppUi()->AddToStackL( *this, iTabHandler->TabGroup() );
- // Top control is always on top as it listens to focus changes (which
- // will be routed to container to adapt highlight animation to focus)
- AppUi()->AddToStackL( *this, iTopControl );
-
- iContainer->MakeVisible( ETrue );
- }
- }
-
-// -----------------------------------------------------------------------------
-// CProfileSettingsView::DoDeactivate
-// -----------------------------------------------------------------------------
-//
-void CProfileSettingsView::DoDeactivate()
- {
- if( iTopControl )
- {
- AppUi()->RemoveFromStack( iTopControl );
- delete iTopControl;
- iTopControl = NULL;
- }
- if( iTabHandler )
- {
- AppUi()->RemoveFromStack( iTabHandler->TabGroup() );
- delete iTabHandler;
- iTabHandler = NULL;
- }
- if ( iContainer )
- {
- AppUi()->RemoveFromViewStack( *this, iContainer );
- delete iContainer;
- iContainer = NULL;
- }
- delete iDummyHandler;
- iDummyHandler = NULL;
- }
-
-// -----------------------------------------------------------------------------
-// CProfileSettingsView::DynInitMenuPaneL
-// -----------------------------------------------------------------------------
-//
-void CProfileSettingsView::DynInitMenuPaneL(
- TInt aResourceId, CEikMenuPane* aMenuPane )
- {
- if( ( iContainer ) &&
- ( aResourceId == R_PROFILE_SETTINGS_VIEW_OPTIONS_MENUPANE ) )
- {
- // Check if the setting item is allowed to be changed
- // If not, hide "Change" from Options menu
- CAknSettingItemArray* array = iContainer->SettingItemArray();
- if( !iContainer->AllowedToChange(
- array->At( array->ItemIndexFromVisibleIndex(
- iContainer->ListBox()->CurrentItemIndex() ) )->Identifier() ) )
- {
- aMenuPane->SetItemDimmed( EProfileCmdChange, ETrue );
- }
- if( !FeatureManager::FeatureSupported( KFeatureIdHelp ) ) // Help
- {
- aMenuPane->SetItemDimmed( EAknCmdHelp, ETrue );
- }
- }
- }
-
-// -----------------------------------------------------------------------------
-// CProfileSettingsView::UpdateClientRect
-// -----------------------------------------------------------------------------
-//
-void CProfileSettingsView::UpdateClientRect()
- {
- iContainer->SetRect( ClientRect() );
- }
-
-// -----------------------------------------------------------------------------
-// CProfileSettingsView::View
-// -----------------------------------------------------------------------------
-//
-CAknView& CProfileSettingsView::View()
- {
- return *this;
- }
-
-// End of File
--- a/profilesapplication/Profiles/ProfileApp/UIsrc/CProfileSettingsView.h Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,183 +0,0 @@
-/*
-* Copyright (c) 2002 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: Settings view class.
-*
-*/
-
-
-
-#ifndef CPROFILESETTINGSVIEW_H
-#define CPROFILESETTINGSVIEW_H
-
-// INCLUDES
-#include <aknview.h>
-#include "MProfileViewHandler.h"
-
-#include "MProfileExternalSettingsHandler.h"
-
-
-
-// CONSTANTS
-const TUid KProfileAppSettingViewId = { 2 }; // UID of view
-
-// FORWARD DECLARATIONS
-class CProfileEngineHandler;
-class CProfileIndexHandler;
-class CProfileSettingsContainer;
-class CProfileTabHandler;
-class CProfileTopControl;
-class CProfileDummyHandler;
-
-
-// CLASS DECLARATION
-
-
-/**
-* This interceptor control sits on top of the component stack. Its only purpose
-* is to route focus events to CProfileSettingsContaier. Key events are not
-* handled at all, they just fall through this component.
-*/
-NONSHARABLE_CLASS( CProfileTopControl ) : public CCoeControl
- {
- public:
- static CProfileTopControl* NewL( CCoeControl* aFocusControl );
- void FocusChanged( TDrawNow aDrawNow ); // Overrides CCoeControl::FocusChanged
-
- private:
- CCoeControl* iFocusControl;
- };
-
-
-// This class is a dummy implementation for external settings interface needed
-// by CProfileSettingsContainer.
-NONSHARABLE_CLASS( CProfileDummyHandler ) : public CBase,
- public MProfileExternalSettingsHandler
- {
- public:
- CProfileDummyHandler();
- virtual ~CProfileDummyHandler();
-
- public:
- // This should never be called in Profiles App
- CAknSettingItem* CreateSettingItemL( TInt aIdentifier );
- void SetObserver(MProfileExternalSettingsObserver& aObserver );
- TBool AllowedToChange( TInt aSettingItemId ) const;
- };
-
-
-/**
-* Settings view class.
-* @lib ProfileApp.app
-* @since 1.2
-*/
-NONSHARABLE_CLASS( CProfileSettingsView ) : public CAknView,
- public MProfileViewHandler
- {
- public: // Constructors and destructor
-
- /**
- * Two-phased constructor.
- * @param aEngineHandler Engine Handler.
- * @param aIndexHandler Index Handler.
- * @return Returns an instance of CProfileSettingsView.
- */
- static CProfileSettingsView* NewLC(
- CProfileEngineHandler& aEngineHandler,
- CProfileIndexHandler& aIndexHandler);
-
- /**
- * Destructor.
- */
- ~CProfileSettingsView();
-
- public: // Functions from base classes
-
- /**
- * From CAknView
- */
- TUid Id() const;
-
- /**
- * From CAknView
- */
- void HandleCommandL( TInt aCommand );
-
- /**
- * From CAknView
- */
- void DoActivateL(
- const TVwsViewId& aPrevViewId,
- TUid aCustomMessageId,
- const TDesC8& aCustomMessage );
-
- /**
- * From CAknView
- */
- void DoDeactivate();
-
- /**
- * From CAknView
- */
- void DynInitMenuPaneL( TInt aResourceId, CEikMenuPane* aMenuPane );
-
- /**
- * From MProfileViewHandler
- */
- void UpdateClientRect();
-
- /**
- * From MProfileViewHandler
- */
- CAknView& View();
-
- private: // Constructors and destructors
-
- /**
- * C++ constructor.
- * @param aEngineHandler Engine Handler.
- * @param aIndexHandler Index Handler.
- */
- CProfileSettingsView(
- CProfileEngineHandler& aEngineHandler,
- CProfileIndexHandler& aIndexHandler);
-
- /**
- * By default Symbian 2nd phase constructor is private.
- */
- void ConstructL();
-
- private: // Data
-
- // Engine handler
- CProfileEngineHandler& iEngineHandler;
-
- // Index handler
- CProfileIndexHandler& iIndexHandler;
-
- // Own: Settings container.
- CProfileSettingsContainer* iContainer;
-
- // Own: Tab handler.
- CProfileTabHandler* iTabHandler;
-
- // Own: Control to route focus event to settings container
- CProfileTopControl* iTopControl;
-
- // Own: Dummy external settings handler for settings container
- CProfileDummyHandler* iDummyHandler;
- };
-
-#endif // CPROFILESETTINGSVIEW_H
-
-// End of File
--- a/profilesapplication/Profiles/ProfileApp/UIsrc/MProfileRectUpdater.h Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,49 +0,0 @@
-/*
-* Copyright (c) 2002 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: Interface for getting client rect area.
-*
-*/
-
-
-
-#ifndef MPROFILERECTUPDATER_H
-#define MPROFILERECTUPDATER_H
-
-// INCLUDES
-#include <e32std.h>
-
-// CLASS DECLARATION
-
-/**
-* Interface for updating the active area.
-*
-* @lib ProfileApp.app
-* @since 2.8
-*/
-class MProfileRectUpdater
- {
-
- public: // New functions
-
- /**
- * Updates the client drawing area.
- * @since 2.8
- */
- virtual void UpdateClientRect() = 0;
-
- };
-
-#endif // MProfileRectUpdater_H
-
-// End of File
--- a/profilesapplication/Profiles/ProfileApp/UIsrc/ProfileApp.hrh Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-/*
-* Copyright (c) 2002 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: Resource headers of Profiles application.
-*
-*/
-
-
-
-#ifndef PROFILEAPP_HRH
-#define PROFILEAPP_HRH
-
-// DATA TYPES
-enum TProfileMenuCommandIds
- {
- EProfileCmdActivate = 0x6000,
- EProfileCmdPersonalise,
- EProfileCmdCreateNew,
- EProfileCmdDelete,
- EProfileCmdContextSpecificOptionsMenu,
- EProfileCmdChange,
- EProfileCmdTimed
- };
-
-#endif // PROFILEAPP_HRH
-
-
-// End of File
--- a/profilesapplication/Profiles/ProfileApp/UIsrc/ProfileApp.rss Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,477 +0,0 @@
-/*
-* Copyright (c) 2002 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: Profiles Application resources
-*
-*/
-
-
-
-// RESOURCE IDENTIFIER
-NAME PROF
-
-// INCLUDES
-#include <eikon.rh>
-#include <avkon.rh>
-#include <avkon.rsg>
-#include <avkon.loc>
-#include <avkon.mbg>
-#include <e32keys.h>
-#include <bldvariant.hrh>
-#include <appinfo.rh>
-#include <ProfileEng.hrh>
-#include <Profile.hrh>
-#include <profileapp.loc>
-#include <profile.loc>
-#include "ProfileApp.hrh"
-#include <data_caging_paths_strings.hrh>
-
-// RESOURCE DEFINITIONS
-
-RESOURCE RSS_SIGNATURE {}
-
-RESOURCE TBUF { buf = ""; }
-
-RESOURCE EIK_APP_INFO {}
-
-RESOURCE LOCALISABLE_APP_INFO r_profile_localisable_app_info
- {
- short_caption = qtn_apps_mode_grid;
- caption_and_icon =
- CAPTION_AND_ICON_INFO
- {
- caption = qtn_apps_mode_list;
-
-#ifdef __SCALABLE_ICONS
-
- number_of_icons = 1;
- icon_file = APP_BITMAP_DIR"\\ProfileApp_aif.mif";
-
-#else
-
- number_of_icons = 2;
- icon_file = APP_BITMAP_DIR"\\ProfileApp_aif.mbm";
-
-#endif // __SCALABLE_ICONS
- };
- }
-
-// -----------------------------------------------------------------------------
-//
-// r_profile_main_view
-// ?description
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE AVKON_VIEW r_profile_main_view
- {
- menubar = r_profile_main_view_options_menubar;
- cba = r_profile_main_view_cba;
- }
-
-// -----------------------------------------------------------------------------
-//
-// r_profile_settings_view
-// ?description
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE AVKON_VIEW r_profile_settings_view
- {
- menubar = r_profile_settings_view_options_menubar;
- cba = r_profile_settings_view_cba;
- }
-
-// -----------------------------------------------------------------------------
-//
-// r_profile_main_view_options_menubar
-// ?description
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE MENU_BAR r_profile_main_view_options_menubar
- {
- titles =
- {
- MENU_TITLE { menu_pane = r_profile_main_view_options_menupane; }
- };
- }
-
-// -----------------------------------------------------------------------------
-//
-// r_profile_main_view_context_specific_options_menubar
-// ?description
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE MENU_BAR r_profile_main_view_context_specific_options_menubar
- {
- titles =
- {
- MENU_TITLE { menu_pane = r_profile_main_view_context_specific_options_menupane; }
- };
- }
-
-// -----------------------------------------------------------------------------
-//
-// r_profile_settings_view_options_menubar
-// ?description
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE MENU_BAR r_profile_settings_view_options_menubar
- {
- titles =
- {
- MENU_TITLE { menu_pane = r_profile_settings_view_options_menupane; }
- };
- }
-
-// -----------------------------------------------------------------------------
-//
-// r_profile_main_view_cba
-// ?description
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE CBA r_profile_main_view_cba
- {
- flags = 0;
- buttons =
- {
- CBA_BUTTON {id=EAknSoftkeyOptions; txt=text_softkey_option;},
- CBA_BUTTON {id=EAknSoftkeyExit; txt=text_softkey_exit;},
- CBA_BUTTON {id=EAknSoftkeyContextOptions; txt=text_softkey_option;}
- };
- }
-
-
-// -----------------------------------------------------------------------------
-//
-// r_profile_main_view_cba_2
-// ?description
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE CBA r_profile_main_view_cba_2
- {
- flags = 0;
- buttons =
- {
- CBA_BUTTON {id=EAknSoftkeyOptions; txt=text_softkey_option;},
- CBA_BUTTON {id=EAknSoftkeyBack; txt=text_softkey_back;},
- CBA_BUTTON {id=EAknSoftkeyContextOptions; txt=text_softkey_option;}
- };
- }
-
-
-// -----------------------------------------------------------------------------
-//
-// r_profile_settings_view_cba
-// ?description
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE CBA r_profile_settings_view_cba
- {
- flags = 0;
- buttons =
- {
- CBA_BUTTON {id=EAknSoftkeyOptions; txt=text_softkey_option;},
- CBA_BUTTON {id=EAknSoftkeyBack; txt=text_softkey_back;},
- CBA_BUTTON {id=EAknSoftkeyChange; txt=qtn_msk_change;}
- };
- }
-
-// -----------------------------------------------------------------------------
-//
-// r_profile_settings_view_cba_idle
-// ?description
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE CBA r_profile_settings_view_cba_idle
- {
- flags = 0;
- buttons =
- {
- CBA_BUTTON {id=EAknSoftkeyOptions; txt=text_softkey_option;},
- CBA_BUTTON {id=EAknSoftkeyExit; txt=text_softkey_exit;},
- CBA_BUTTON {id=EAknSoftkeyChange; txt=qtn_msk_change;}
- };
- }
-
-// -----------------------------------------------------------------------------
-//
-// r_profile_main_view_options_menupane
-// ?description
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE MENU_PANE r_profile_main_view_options_menupane
- {
- items =
- {
- // MENU_ITEM { command = EProfileCmdActivate; txt = qtn_mode_activate; },
- //MENU_ITEM { command = EProfileCmdPersonalise; txt = qtn_mode_personalise; },
- //MENU_ITEM { command = EProfileCmdTimed; txt = qtn_profiles_options_timed; },
-#ifdef __DYNAMIC_PROFILES
- MENU_ITEM { command = EProfileCmdCreateNew; txt = qtn_profiles_options_create_new; },
- // MENU_ITEM { command = EProfileCmdDelete; txt = qtn_profiles_options_delete; },
-#endif // __DYNAMIC_PROFILES
- MENU_ITEM { command = EAknCmdHelp; txt = qtn_options_help; },
- //MENU_ITEM { command = EEikCmdExit; txt = qtn_options_exit; }
- MENU_ITEM { command = EAknCmdExit; txt = qtn_options_exit; }
- };
- }
-
-// -----------------------------------------------------------------------------
-//
-// r_profile_main_view_context_specific_options_menupane
-// ?description
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE MENU_PANE r_profile_main_view_context_specific_options_menupane
- {
- items =
- {
- MENU_ITEM { command = EProfileCmdActivate; txt = qtn_mode_activate; },
- MENU_ITEM { command = EProfileCmdPersonalise; txt = qtn_mode_personalise; },
- MENU_ITEM { command = EProfileCmdDelete; txt = qtn_profiles_options_delete; },
- MENU_ITEM { command = EProfileCmdTimed; txt = qtn_profiles_options_timed; }
- };
- }
-
-// -----------------------------------------------------------------------------
-//
-// r_profile_settings_view_options_menupane
-// ?description
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE MENU_PANE r_profile_settings_view_options_menupane
- {
- items =
- {
- //MENU_ITEM { command = EProfileCmdChange; txt = qtn_mode_change; },
- MENU_ITEM { command = EAknCmdHelp; txt = qtn_options_help; },
- //MENU_ITEM { command = EEikCmdExit; txt = qtn_options_exit; }
- MENU_ITEM { command = EAknCmdExit; txt = qtn_options_exit; }
- };
- }
-
-// -----------------------------------------------------------------------------
-//
-// r_profile_leave_offline_confirmation_query
-// ?description
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE DIALOG r_profile_leave_offline_confirmation_query
- {
- flags = EGeneralQueryFlags;
- buttons = R_AVKON_SOFTKEYS_YES_NO;
- items =
- {
- DLG_LINE
- {
- type = EAknCtQuery;
- id = EGeneralQuery;
- control = AVKON_CONFIRMATION_QUERY
- {
- layout = EConfirmationQueryLayout;
- label = qtn_leave_offline_mode_query;
- };
- }
- };
- }
-
-// -----------------------------------------------------------------------------
-//
-// r_profile_delete_confirmation_query
-// ?description
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE DIALOG r_profile_delete_confirmation_query
- {
- flags = EGeneralQueryFlags;
- buttons = R_AVKON_SOFTKEYS_YES_NO;
- items=
- {
- DLG_LINE
- {
- type = EAknCtQuery;
- id = EGeneralQuery;
- control = AVKON_CONFIRMATION_QUERY
- {
- layout = EConfirmationQueryLayout;
- label = qtn_profiles_conf_delete;
- };
- }
- };
- }
-
-// -----------------------------------------------------------------------------
-//
-// r_profile_text_title
-// ?description
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_profile_text_title { buf = qtn_mode_profiles; }
-
-// -----------------------------------------------------------------------------
-//
-// r_profile_text_insert_sim
-// ?description
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_profile_text_insert_sim { buf = qtn_su_note_insert_sim; }
-
-// -----------------------------------------------------------------------------
-//
-// r_profile_text_error_maximum
-// ?description
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_profile_text_error_maximum { buf = qtn_profiles_error_maximum; }
-
-// -----------------------------------------------------------------------------
-//
-// r_profile_text_delete_error
-// ?description
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_profile_text_delete_error { buf = qtn_profiles_delete_error; }
-
-// ---------------------------------------------------------
-//
-// r_profile_time_query
-// ?description
-//
-// ---------------------------------------------------------
-//
-RESOURCE DIALOG r_profile_time_query
- {
- flags=EGeneralQueryFlags;
- buttons=R_AVKON_SOFTKEYS_OK_CANCEL;
- items=
- {
- DLG_LINE
- {
- type=EAknCtQuery;
- id=EGeneralQuery;
- control = AVKON_DATA_QUERY
- {
- layout = ETimeLayout;
- label = text_popupfield_prompt_for_time;
- control = TIME_EDITOR
- {
- minTime= TIME {second=0;minute=0;hour=0;};
- maxTime= TIME {second=59;minute=59;hour=23;};
- flags=EEikTimeWithoutSecondsField;
- };
- };
- }
- };
- }
-
-// -----------------------------------------------------------------------------
-//
-// r_profile_setting_expiry_time
-// ?description
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_profile_setting_expiry_time { buf = qtn_profiles_setting_expiry_time; }
-
-// -----------------------------------------------------------------------------
-//
-// r_profile_conf_singular
-// ?description
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_profile_conf_singular { buf = qtn_profiles_conf_singular; }
-
-// -----------------------------------------------------------------------------
-//
-// r_profile_conf_plural
-// ?description
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_profile_conf_plural { buf = qtn_profiles_conf_plural; }
-
-// -----------------------------------------------------------------------------
-//
-// r_profile_conf_hour_sev_min
-// ?description
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_profile_conf_hour_sev_min { buf = qtn_profiles_conf_hour_sev_min; }
-
-// -----------------------------------------------------------------------------
-//
-// r_profile_conf_sev_hours_min
-// ?description
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_profile_conf_sev_hours_min { buf = qtn_profiles_conf_sev_hours_min; }
-
-// -----------------------------------------------------------------------------
-//
-// r_profile_error_timing_active_profile
-// ?description
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_profile_error_timing_active_profile { buf = qtn_profiles_error_timing_active_profile; }
-
-// -----------------------------------------------------------------------------
-//
-// r_profile_confirm_timed_query
-// ?description
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE DIALOG r_profile_confirm_timed_query
- {
- flags = EGeneralQueryFlags;
- buttons = R_AVKON_SOFTKEYS_OK_EMPTY;
- items =
- {
- DLG_LINE
- {
- type = EAknCtQuery;
- id = EGeneralQuery;
- control = AVKON_CONFIRMATION_QUERY
- {
- layout = EConfirmationQueryLayout;
- label = "";
- bmpfile = AVKON_BITMAP_FILE;
- bmpid = EMbmAvkonQgn_note_info;
- bmpmask = EMbmAvkonQgn_note_info_mask;
- };
- }
- };
- }
-
-// End of File
--- a/profilesapplication/Profiles/ProfileApp/group/ProfileApp.lnt Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-/** Unused Enum scan
--e???? +e749
-*/
-
-/** Unused header scan
--e???? +e766
-*/
-
-/** standard lint check
-*/
--w1 -e322
-
-/** define unicode
--D_UNICODE
-*/
-
-/** Standard include directories */
-
--i..\aif
--i..\doc
--i..\group
--i..\help
--i..\uisrc
--i..\settingsviewinc
--i..\settingsviewsrc
--i..\..\ProfileEngine\EngInc
--i\epoc32\include
--i\epoc32\include\oem
-
-/** Examined application source directories */
-..\uisrc\*.cpp
-..\settingsviewsrc\*.cpp
-
--- a/profilesapplication/Profiles/ProfileApp/group/ProfileApp.mmp Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,71 +0,0 @@
-/*
-* Copyright (c) 2002 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: Project definition file for Profiles application
-*
-*/
-
-
-// To get the APP_LAYER_SYSTEMINCLUDE-definition
-#include <platform_paths.hrh>
-#include <data_caging_paths.hrh>
-
-TARGET profileapp.exe
-EPOCSTACKSIZE 0x5000
-EPOCHEAPSIZE 0x20000 0x400000 // Min 128kb, max 4Mb
-TARGETTYPE exe
-
-UID 0x100039CE 0x100058F8
-CAPABILITY CAP_APPLICATION
-VENDORID VID_DEFAULT
-
-SOURCEPATH ../UIsrc
-
-SOURCE CProfileApplication_SEC_APPARC.cpp
-SOURCE CProfileAppUi.cpp
-SOURCE CProfileDocument.cpp
-SOURCE CProfileMainView.cpp
-SOURCE CProfileMainContainer.cpp
-SOURCE CProfileSettingsView.cpp
-
-SYSTEMINCLUDE ../SettingsViewInc ../SettingsViewSrc
-
-START RESOURCE ProfileApp.rss
-HEADER
-TARGETPATH APP_RESOURCE_DIR
-LANGUAGE_IDS
-END // RESOURCE
-
-SOURCEPATH .
-START RESOURCE ProfileApp_reg.rss
-DEPENDS profileapp.rsg
- // Do not change the UID
- TARGETPATH /private/10003a3f/apps
-END // RESOURCE
-
-USERINCLUDE . ../UIsrc
-SYSTEMINCLUDE ../../../inc
-
-APP_LAYER_SYSTEMINCLUDE
-
-LIBRARY euser.lib bafl.lib
-LIBRARY apparc.lib cone.lib eikcore.lib eikcoctl.lib avkon.lib eikctl.lib
-LIBRARY featmgr.lib // Feature Manager
-LIBRARY profileeng.lib // Profile Engine
-LIBRARY hlplch.lib // Help
-LIBRARY profilesettingsview.lib // Profiles application settings view
-LIBRARY commonengine.lib // StringLoader
-
-
-
-// End of File
--- a/profilesapplication/Profiles/ProfileApp/group/ProfileAppExports.inc Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-/*
-* ==============================================================================
-* Name : ProfileAppExports.inc
-* Part of : ProfileApp
-* Interface : ?Interface_category, ?Interface_name
-* Description : ?Description
-* Version : ?Version
-*
-* Copyright (c) 2007 Nokia Corporation.
-* This material, including documentation and any related
-* computer programs, is protected by copyright controlled by
-* Nokia Corporation. All rights are reserved. Copying,
-* including reproducing, storing, adapting or translating, any
-* or all of this material requires the prior written consent of
-* Nokia Corporation. This material also contains confidential
-* information which may not be disclosed to others without the
-* prior written consent of Nokia Corporation.
-* ==============================================================================
-*/
-// To get the APP_LAYER_SYSTEMINCLUDE-definition
-#include <platform_paths.hrh>
-
-#ifndef PROFILEAPPEXPORTS_INC
-#define PROFILEAPPEXPORTS_INC
-
-../loc/ProfileApp.loc APP_LAYER_LOC_EXPORT_PATH(profileapp.loc)
-
-#endif // PROFILEAPPEXPORTS_INC
-
-// End of File
--- a/profilesapplication/Profiles/ProfileApp/group/ProfileApp_reg.rss Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-/*
-* Copyright (c) 2004 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: This file contains the application registration resource.
-*
-*/
-
-
-#include <appinfo.rh>
-#include <ProfileApp.rsg>
-#include <data_caging_paths_strings.hrh>
-
-UID2 KUidAppRegistrationResourceFile
-UID3 0x100058F8
-
-RESOURCE APP_REGISTRATION_INFO
- {
- app_file = "ProfileApp";
- localisable_resource_file = APP_RESOURCE_DIR"\\ProfileApp";
- localisable_resource_id = R_PROFILE_LOCALISABLE_APP_INFO;
- }
-
-// End of File
--- a/profilesapplication/Profiles/ProfileApp/group/ProfileSettingsView.mmp Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,97 +0,0 @@
-/*
-* Copyright (c) 2002 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: Project definition file for Profile Settings View
-*
-*/
-
-// To get the APP_LAYER_SYSTEMINCLUDE-definition
-#include <platform_paths.hrh>
-#include <data_caging_paths.hrh>
-
-TARGET profilesettingsview.dll
-TARGETTYPE dll
-UID 0x1000008d 0x100058F8
-
-CAPABILITY CAP_GENERAL_DLL
-VENDORID VID_DEFAULT
-
-SOURCEPATH ../SettingsViewSrc
-SOURCE CProfileEngineHandler.cpp
-SOURCE CProfileIndexHandler.cpp
-SOURCE CProfileTabHandler.cpp
-SOURCE CProfileSettingsContainer.cpp
-SOURCE CProfile3dSettingItem.cpp
-SOURCE CProfile3dSettingPage.cpp
-SOURCE CProfilePlayingVolumeSettingItem.cpp
-SOURCE CProfilePlayingVolumeSettingPage.cpp
-SOURCE CProfileKeypadVolumeSettingPage.cpp
-SOURCE CProfileNameSettingItem.cpp
-SOURCE CProfileKeypadVolumeSettingItem.cpp
-SOURCE CProfileNameSettingPage.cpp
-SOURCE CProfileFileListSettingItem.cpp
-SOURCE CProfileAlertForSettingItem.cpp
-SOURCE CProfileAlertForSettingPage.cpp
-SOURCE CProfileStruct.cpp
-SOURCE CProfileToneHandler.cpp
-SOURCE ProfileMmfInfoUtility.cpp
-
-SOURCE CProfileStructDrmFull.cpp
-SOURCE CProfileToneHandlerDrmFull.cpp
-LIBRARY drmhelper.lib
-SOURCE CProfileNaviPaneContainer.cpp
-SOURCE CProfileFeedbackSettingItem.cpp
-SOURCE CProfileFeedbackSettingPage.cpp
-SOURCE CProfileVibraSettingItem.cpp
-SOURCE CProfileVibraSettingPage.cpp
-
-START RESOURCE ProfileSettingsView.rss
- HEADER
- TARGETPATH RESOURCE_FILES_DIR
- LANGUAGE_IDS
-END
-
-USERINCLUDE ../SettingsViewInc ../../Group ../UIsrc
-SYSTEMINCLUDE ../../../inc
-
-APP_LAYER_SYSTEMINCLUDE
-
-LIBRARY euser.lib efsrv.lib
-LIBRARY eikcore.lib eikcoctl.lib cone.lib avkon.lib apgrfx.lib
-LIBRARY bafl.lib // BaflUtils
-LIBRARY apmime.lib // TDataType
-LIBRARY cntmodel.lib // Contact database
-LIBRARY pbkeng.lib // Phone Book contact engine
-LIBRARY commonengine.lib // Shared data
-LIBRARY featmgr.lib // Feature Manager
-LIBRARY sssettings.lib // Phone settings (Alternate Line Service)
-LIBRARY mediaclientaudio.lib // MultiMedia Framework, audio client
-LIBRARY profileeng.lib // Profile Engine
-LIBRARY filelist.lib // File List
-LIBRARY mediafilelist.lib //Media File List
-LIBRARY ecom.lib
-LIBRARY centralrepository.lib
-LIBRARY cenrepnotifhandler.lib
-LIBRARY mmfcontrollerframework.lib // CMMFFormatSelectionParameters
-
-LIBRARY drmcommon.lib
-LIBRARY drmrights.lib
-
-#ifdef RD_DRM_COMMON_INTERFACE_FOR_OMA_AND_WMDRM
-LIBRARY drmutility.lib
-#endif
-
-LIBRARY caf.lib cafutils.lib // Content access framework
-
-DEBUGLIBRARY flogger.lib
-// End of File
--- a/profilesapplication/Profiles/ProfileApp/group/ProjLint.bat Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,17 +0,0 @@
-rem
-rem Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-rem All rights reserved.
-rem This component and the accompanying materials are made available
-rem under the terms of "Eclipse Public License v1.0"
-rem which accompanies this distribution, and is available
-rem at the URL "http://www.eclipse.org/legal/epl-v10.html".
-rem
-rem Initial Contributors:
-rem Nokia Corporation - initial contribution.
-rem
-rem Contributors:
-rem
-rem Description: batch files
-rem
-
-c:\tools\LINT-NT.EXE +v -ic:\tools\PCLint\APPS\LINT\ std.lnt -os(_lint.tmp) ProfileApp.lnt
\ No newline at end of file
--- a/profilesapplication/Profiles/ProfileApp/group/bld.inf Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +0,0 @@
-/*
-* Copyright (c) 2002 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: This file provides the information required for building ProfilesApp
-*
-*/
-
-// To get the APP_LAYER_LOC_EXPORT_PATH-definition
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
- DEFAULT
-
-PRJ_EXPORTS
-#include "ProfileAppExports.inc"
-
-PRJ_EXTENSIONS
-START EXTENSION s60/mifconv
- OPTION TARGETFILE profileapp_aif.mif
- OPTION SOURCES -c8,8 qgn_menu_mode
-END
-
-
-PRJ_MMPFILES
-/*
-#ifdef __SCALABLE_ICONS
- gnumakefile icons_aif_scalable_dc.mk
-#else
- gnumakefile icons_aif_bitmaps_dc.mk
-#endif // __SCALABLE_ICONS
-*/
-ProfileSettingsView.mmp
-ProfileApp.mmp
-
-// End of File
--- a/profilesapplication/Profiles/ProfileApp/group/icons_aif_bitmaps_dc.mk Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,68 +0,0 @@
-#
-# Copyright (c) 2003 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: Icons makefile for project ProfileApp.
-#
-
-ifeq (WINS,$(findstring WINS, $(PLATFORM)))
-ZDIR=\epoc32\release\$(PLATFORM)\$(CFG)\Z
-else
-ZDIR=\epoc32\data\z
-endif
-
-# ----------------------------------------------------------------------------
-# : Configure these
-# ----------------------------------------------------------------------------
-
-TARGETDIR=$(ZDIR)\resource\apps
-ICONTARGETFILENAME=$(TARGETDIR)\profileapp_aif.mbm
-
-do_nothing :
- @rem do_nothing
-
-MAKMAKE : do_nothing
-
-BLD : do_nothing
-
-CLEAN : do_nothing
-
-LIB : do_nothing
-
-CLEANLIB : do_nothing
-
-# ----------------------------------------------------------------------------
-# : Configure these.
-#
-# NOTE 1: DO NOT DEFINE MASK FILE NAMES! They are included automatically by
-# MifConv if the mask detph is defined.
-#
-# NOTE 2: Usually, source paths should not be included in the bitmap
-# definitions. MifConv searches for the icons in all icon directories in a
-# predefined order, which is currently \s60\icons, \s60\bitmaps2, \s60\bitmaps.
-# The directory \s60\icons is included in the search only if the feature flag
-# __SCALABLE_ICONS is defined.
-# ----------------------------------------------------------------------------
-
-RESOURCE :
- mifconv $(ICONTARGETFILENAME) \
- /c8,8 qgn_menu_mode_lst.bmp \
- /c8,8 qgn_menu_mode_cxt.bmp
-
-FREEZE : do_nothing
-
-SAVESPACE : do_nothing
-
-RELEASABLES :
- @echo $(ICONTARGETFILENAME)
-
-FINAL : do_nothing
--- a/profilesapplication/Profiles/ProfileApp/group/icons_aif_scalable_dc.mk Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,67 +0,0 @@
-#
-# Copyright (c) 2003 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: Icons makefile for project ProfileApp.
-#
-
-ifeq (WINS,$(findstring WINS, $(PLATFORM)))
-ZDIR=\epoc32\release\$(PLATFORM)\$(CFG)\Z
-else
-ZDIR=\epoc32\data\z
-endif
-
-# ----------------------------------------------------------------------------
-# : Configure these
-# ----------------------------------------------------------------------------
-
-TARGETDIR=$(ZDIR)\resource\apps
-ICONTARGETFILENAME=$(TARGETDIR)\profileapp_aif.mif
-
-do_nothing :
- @rem do_nothing
-
-MAKMAKE : do_nothing
-
-BLD : do_nothing
-
-CLEAN : do_nothing
-
-LIB : do_nothing
-
-CLEANLIB : do_nothing
-
-# ----------------------------------------------------------------------------
-# : Configure these.
-#
-# NOTE 1: DO NOT DEFINE MASK FILE NAMES! They are included automatically by
-# MifConv if the mask detph is defined.
-#
-# NOTE 2: Usually, source paths should not be included in the bitmap
-# definitions. MifConv searches for the icons in all icon directories in a
-# predefined order, which is currently \s60\icons, \s60\bitmaps2, \s60\bitmaps.
-# The directory \s60\icons is included in the search only if the feature flag
-# __SCALABLE_ICONS is defined.
-# ----------------------------------------------------------------------------
-
-RESOURCE :
- mifconv $(ICONTARGETFILENAME) \
- /c8,8 qgn_menu_mode.svg
-
-FREEZE : do_nothing
-
-SAVESPACE : do_nothing
-
-RELEASABLES :
- @echo $(ICONTARGETFILENAME)
-
-FINAL : do_nothing
--- a/profilesapplication/Profiles/ProfileApp/loc/ProfileApp.loc Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,457 +0,0 @@
-/*
-* Copyright (c) 2002 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: Profiles application localisation strings.
-*
-*/
-
-
-
-// LOCALISATION STRINGS
-
-//d: Application title (app grid view)
-//l: cell_app_pane_t1
-#define qtn_apps_mode_grid "Profiles"
-
-//d: Application title (app list view)
-//l: list_single_large_graphic_pane_t1
-#define qtn_apps_mode_list "Profiles"
-
-//d: Profile Title Pane text (in Profile Main dialog)
-//l: title_pane_t2/opt9
-#define qtn_mode_profiles "Profiles"
-
-//d: Profile settings list item for ringing tone selection
-//l: list_setting_pane_t1
-#define qtn_mode_ringing_tone "Ringing tone"
-
-//d: Profile settings list item for line 1 ringing tone selection
-//l: list_setting_pane_t1
-#define qtn_mode_line1_tone "Line 1 ringing tone"
-
-//d: Profile settings list item for line 2 ringing tone selection
-//l: list_setting_pane_t1
-#define qtn_mode_line2_tone "Line 2 ringing tone"
-
-//d: Profile settings list item for Video telephone tone selection
-//d: Added to 2.common wk 30.
-//l: list_setting_pane_t1
-#define qtn_mode_vt_tone "Video Call tone"
-
-// d:Error note shown when ringing tone can't be set
-// d:because tone maximum file size is exceeded.
-// l:popup_note_window
-// r:3.1
-#define qtn_profiles_tone_maxsize_error "Files larger than %N KB cannot be set as ringing tone"
-
-//d: Profile settings list item for ringing type
-//l: list_setting_pane_t1
-#define qtn_mode_ringing_type_2 "Ringing type"
-
-//d: Profile settings list item for ringing volume
-//l: list_setting_pane_t1
-#define qtn_mode_ringing_volume "Ringing volume"
-
-//d: Profile settings list item for Media volume
-//l: list_setting_pane_t1
-#define qtn_profiles_media_volume "Media volume"
-
-//d: Profile settings list item for message alert tone
-//l: list_setting_pane_t1
-#define qtn_mode_message_tone "Message alert tone"
-
-//d: Profile settings list item for vibrating alert
-//l: list_setting_pane_t1
-#define qtn_mode_vibrating_alert "Vibrating alert"
-
-//d: Profile settings list item for keypad tones
-//l: list_setting_pane_t1
-#define qtn_mode_keypad_volume "Keypad tones"
-
-//d: Profile settings list item for warning and game tones
-//l: list_setting_pane_t1
-#define qtn_mode_warning_game "Warning and game tones"
-
-//d: Profile settings list item alert for setting
-//l: list_setting_pane_t1
-#define qtn_mode_alert_for "Alert for"
-
-//d: Profile settings list item for profile name
-//l: list_setting_pane_t1
-#define qtn_mode_sett_profile_name "Profile name"
-
-//d: Profile Settings Item Edit - setting selection data
-//l: list_set_graphic_pane_t1
-#define qtn_tc_ringing "Ringing"
-
-//d: Profile Settings Item Edit - setting selection data
-//l: list_set_graphic_pane_t1
-#define qtn_tc_ascending "Ascending"
-
-//d: Profile Settings Item Edit - setting selection data
-//l: list_set_graphic_pane_t1
-#define qtn_tc_ring_once "Ring once"
-
-//d: Profile Settings Item Edit - setting selection data
-//l: list_set_graphic_pane_t1
-#define qtn_tc_beep_once "Beep once"
-
-//d: Profile Settings Item Edit - setting selection data
-//l: list_set_graphic_pane_t1
-#define qtn_tc_silent "Silent"
-
-//d: Profile Settings Item Edit - setting selection data
-//l: list_set_graphic_pane_t1
-//r:2.8
-#define qtn_mode_warning_game_on "On"
-
-//d: Profile Settings Item Edit - setting selection data
-//l: list_set_graphic_pane_t1
-//r:2.8
-#define qtn_mode_warning_game_off "Off"
-
-// LOC STRINGS FOR KEYPAD VOLUME
-
-//d: Profile Settings Item Edit - setting selection data
-//l: list_set_graphic_pane_t1
-//r:3.0
-#define qtn_tc_keypad_off "Off"
-
-//d: Profile Settings Item Edit - setting selection data
-//l: list_set_graphic_pane_t1
-#define qtn_tc_keypad_quiet "Level 1"
-
-//d: Profile Settings Item Edit - setting selection data
-//l: list_set_graphic_pane_t1
-#define qtn_tc_keypad_medium "Level 2"
-
-//d: Profile Settings Item Edit - setting selection data
-//l: list_set_graphic_pane_t1
-#define qtn_tc_keypad_loud "Level 3"
-
-//d: Profile Settings Item Edit - setting selection data
-//l: list_set_graphic_pane_t1
-#define qtn_tc_all_callers "All callers"
-
-//d: Profile Settings Item Edit - setting selection data
-//l: list_set_graphic_pane_t1
-#define qtn_tc_several_groups "Several groups"
-
-//d: Message alert tone "None"
-//l: list_single_graphic_pane_t1_cp2
-#define qtn_tc_none "None"
-
-//d: Profile Name Existing Notification Message
-//l: popup_note_window
-#define qtn_mode_rename_error "A profile with that name already exists"
-
-//d: Max Volume Level Notification Message
-//l: popup_note_window
-#define qtn_tc_ringing_level_warning "Select maximum volume for ringing tone?"
-
-//d: Options Menu
-//l: list_single_pane_t1_cp2
-#define qtn_mode_change "Change"
-
-//d: Options Menu
-//l: list_single_pane_t1_cp2
-#define qtn_mode_activate "Activate"
-
-//d: Options Menu
-//l: list_single_pane_t1_cp2
-#define qtn_mode_personalise "Personalise"
-
-//d: File list dialog header
-//l: heading_pane_t1
-#define qtn_tc_popup_heading "Select tone: "
-
-// LOC STRINGS FOR DYNAMIC PROFILES
-
-//d: Options menu item for creating a new profile
-//l: list_single_pane_t1_cp2
-#define qtn_profiles_options_create_new "Create new profile"
-
-//d: Options menu item for deleting a user created profile
-//l: list_single_pane_t1_cp2
-#define qtn_profiles_options_delete "Delete a profile"
-
-//d: Error note when user tries to delete currently active (selected) profile.
-//l: popup_note_window
-#define qtn_profiles_delete_error "Profile in use, cannot delete"
-
-//d: Error note when user has created maximum number of user created profiles
-//d: and tries to create one more.
-//l: popup_note_window
-#define qtn_profiles_error_maximum "Maximum number of profiles exceeded"
-
-//d: Confirmation query for deleting a user created profile
-//l: popup_note_window
-#define qtn_profiles_conf_delete "Delete profile?"
-
-// LOC STRINGS FOR TIMED PROFILE
-
-//d: Options menu item for timed profile feature
-//l: list_single_pane_t1_cp2
-#define qtn_profiles_options_timed "Timed"
-
-//d: A query window where user enters the time when the profile expires
-//l: popup_query_data_window
-#define qtn_profiles_setting_expiry_time "Profile expires"
-
-//d: Information note which shows how much time is left until profile expires
-//d: 1 hour, 1 minute
-//l: popup_note_window
-#define qtn_profiles_conf_singular "Time left until profile expires:\n%0N hour and %1N minute"
-
-//d: Information note which shows how much time is left until profile expires
-//d: N hours, N minutes
-//l: popup_note_window
-#define qtn_profiles_conf_plural "Time left until profile expires:\n%0N hours and %1N minutes"
-
-//d: Information note which shows how much time is left until profile expires
-//d: 1 hour, N minutes
-//l: popup_note_window
-#define qtn_profiles_conf_hour_sev_min "Time left until profile expires:\n%0N hour and %1N minutes"
-
-//d: Information note which shows how much time is left until profile expires
-//d: N hours, 1 minute
-//l: popup_note_window
-#define qtn_profiles_conf_sev_hours_min "Time left until profile expires:\n%0N hours and %1N minute"
-
-//d: Error note shown if active profile is being timed
-//l: popup_note_window
-//w:
-//r:3.2
-#define qtn_profiles_error_timing_active_profile "Timing currently active profile is not allowed."
-
-
-// LOC STRING FOR E-MAIL ALERT TONE
-
-//d: Profile settings list item for e-mail alert tone
-//l: list_setting_pane_t1
-#define qtn_profiles_e_mail_tone "E-Mail alert tone"
-
-// LOC STRINGS FOR TTS RINGINGTONE
-
-//d: Profile Settings list item for Text-to-Speech ringingtone
-//l: list_setting_pane_t1
-//w:
-//r:3.0
-#define qtn_mode_tts_ringing_tone "Say caller’s name"
-
-//d: Profile Settings Item Edit - setting selection data
-//l: list_set_graphic_pane_t1
-//w:
-//r:3.0
-#define qtn_mode_tts_ringing_tone_on "On"
-
-//d: Profile Settings Item Edit - setting selection data
-//l: list_set_graphic_pane_t1
-//w:
-//r:3.0
-#define qtn_mode_tts_ringing_tone_off "Off"
-
-// LOC STRINGS FOR VIBRA SETTING
-
-//d: Profile Settings Item Edit - setting selection data
-//l: list_set_graphic_pane_t1
-//r:3.0
-#define qtn_mode_vibrating_alert_on "On"
-
-//d: Profile Settings Item Edit - setting selection data
-//l: list_set_graphic_pane_t1
-//r:3.0
-#define qtn_mode_vibrating_alert_off "Off"
-
-// LOC STRINGS FOR POC SETTING
-
-//d: Profile settings list item for PTT ringing tone selection
-//l: list_setting_pane_t1
-//w:
-//r:3.1
-#define qtn_poc_profile_ringing_tone "PTT ringing tone"
-
-//d: Profile settings list item for PTT status
-//l: list_setting_pane_t1
-//w:
-//r:3.1
-#define qtn_poc_profile_status "PTT status"
-
-//d: Profile Settings Item Edit - setting selection data
-//l: list_set_graphic_pane_t1
-//w:
-//r:3.1
-#define qtn_poc_profile_status_active "Active"
-
-//d: Profile Settings Item Edit - setting selection data
-//l: list_set_graphic_pane_t1
-//w:
-//r:3.1
-#define qtn_poc_profile_status_silent "Silent"
-
-//d: Profile Settings Item Edit - setting selection data
-//l: list_set_graphic_pane_t1
-//w:
-//r:3.1
-#define qtn_poc_profile_status_dnd "Do not Disturb"
-
-// LOC STRINGS FOR AUDIO FILE EXISTENCE CHECK
-
-//d: Tone file not found Confirmation Note text
-//d: %U name of the file
-//l: popup_note_window
-//r:3.1
-#define qtn_profiles_confirm_ringtone_found "%U file cannot be found. Default tone is used instead."
-
-// LOC STRINGS FOR 3D RINGINGTONE
-
-//d: Profile settings list item for 3d effect
-//l: list_setting_pane_t1
-//r:5.0
-#define qtn_profiles_tone_3d_effect "Ringing 3-D effect"
-
-//d: Profile Settings Item Edit - setting selection data
-//l: list_set_graphic_pane_t1
-//r:5.0
-#define qtn_profiles_3d_effect_off "Off"
-
-//d: Profile Settings Item Edit - setting selection data
-//l: list_set_graphic_pane_t1
-//r:5.0
-#define qtn_profiles_3d_effect_circle "Circle"
-
-//d: Profile Settings Item Edit - setting selection data
-//l: list_set_graphic_pane_t1
-//r:5.0
-#define qtn_profiles_3d_effect_flyby "Flyby"
-
-//d: Profile Settings Item Edit - setting selection data
-//l: list_set_graphic_pane_t1
-//r:5.0
-#define qtn_profiles_3d_effect_zig_zag "Zig-Zag"
-
-//d: Profile Settings Item Edit - setting selection data
-//l: list_set_graphic_pane_t1
-//r:5.0
-#define qtn_profiles_3d_effect_random_walk "Random walk"
-
-//d: Profile Settings Item Edit - setting selection data
-//l: list_set_graphic_pane_t1
-//r:5.0
-#define qtn_profiles_3d_effect_chaos "Chaos"
-
-//d: Profile Settings Item Edit - setting selection data
-//l: list_set_graphic_pane_t1
-//r:5.0
-#define qtn_profiles_3d_effect_stereo_widening "Stereo widening"
-
-//d: Profile settings list item for 3d echo
-//l: list_setting_pane_t1
-//r:5.0
-#define qtn_profiles_tone_3d_echo "Ringing 3-D echo"
-
-//d: Profile Settings Item Edit - setting selection data
-//l: list_set_graphic_pane_t1
-//r:5.0
-#define qtn_profiles_3d_echo_off "Off"
-
-//d: Profile Settings Item Edit - setting selection data
-//l: list_set_graphic_pane_t1
-//r:5.0
-#define qtn_profiles_3d_echo_living_room "Living room"
-
-//d: Profile Settings Item Edit - setting selection data
-//l: list_set_graphic_pane_t1
-//r:5.0
-#define qtn_profiles_3d_echo_cave "Cave"
-
-//d: Profile Settings Item Edit - setting selection data
-//l: list_set_graphic_pane_t1
-//r:5.0
-#define qtn_profiles_3d_echo_stone_corridor "Stone Corridor"
-
-//d: Profile Settings Item Edit - setting selection data
-//l: list_set_graphic_pane_t1
-//r:5.0
-#define qtn_profiles_3d_echo_forest "Forest"
-
-//d: Profile Settings Item Edit - setting selection data
-//l: list_set_graphic_pane_t1
-//r:5.0
-#define qtn_profiles_3d_echo_sewer_pipe "Sewer pipe"
-
-//d: Profile Settings Item Edit - setting selection data
-//l: list_set_graphic_pane_t1
-//r:5.0
-#define qtn_profiles_3d_echo_underwater "Underwater"
-
-// LOC STRINGS FOR AUDIO AND TACTILE FEEDBACK
-
-//d: Profile settings list item for tactile feedback
-//l: list_setting_pane_t1
-//r:5.0
-#define qtn_mode_tactile_feedback "Tactile feedback"
-
-//d: Profile Settings Item Edit - setting selection data
-//l: list_set_graphic_pane_t1
-//r:5.0
-#define qtn_mode_tactile_feedback_off "Off"
-
-//d: Profile Settings Item Edit - setting selection data
-//l: list_set_graphic_pane_t1
-//r:5.0
-#define qtn_mode_tactile_feedback_level1 "Level 1"
-
-//d: Profile Settings Item Edit - setting selection data
-//l: list_set_graphic_pane_t1
-//r:5.0
-#define qtn_mode_tactile_feedback_level2 "Level 2"
-
-//d: Profile Settings Item Edit - setting selection data
-//l: list_set_graphic_pane_t1
-//r:5.0
-#define qtn_mode_tactile_feedback_level3 "Level 3"
-
-//d: Profile settings list item for tactile feedback
-//l: list_setting_pane_t1
-//r:5.0
-#define qtn_mode_audio_feedback "Audio feedback"
-
-//d: Profile Settings Item Edit - setting selection data
-//l: list_set_graphic_pane_t1
-//r:5.0
-#define qtn_mode_audio_feedback_off "Off"
-
-//d: Profile Settings Item Edit - setting selection data
-//l: list_set_graphic_pane_t1
-//r:5.0
-#define qtn_mode_audio_feedback_level1 "Level 1"
-
-//d: Profile Settings Item Edit - setting selection data
-//l: list_set_graphic_pane_t1
-//r:5.0
-#define qtn_mode_audio_feedback_level2 "Level 2"
-
-//d: Profile Settings Item Edit - setting selection data
-//l: list_set_graphic_pane_t1
-//r:5.0
-#define qtn_mode_audio_feedback_level3 "Level 3"
-
-// Power save mode
-
-// d:Error note shown when editing is blocked because of power save mode
-// l:popup_note_window
-// r:5.0
-#define qtn_power_saving_protected_settings_infonote "Power saving is active. Unable to edit."
-
-// End of File
--- a/profilesapplication/Profiles/ProfileApp/tsrc/public/ProfileStif/Bmarm/ProfileStifU.DEF Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
-EXPORTS
- LibEntryL__FR13CTestModuleIf @ 1 NONAME R3UNUSED ; LibEntryL(CTestModuleIf &)
-
--- a/profilesapplication/Profiles/ProfileApp/tsrc/public/ProfileStif/Bwins/ProfileStifU.DEF Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
-EXPORTS
- ?LibEntryL@@YAPAVCScriptBase@@AAVCTestModuleIf@@@Z @ 1 NONAME ; class CScriptBase * __cdecl LibEntryL(class CTestModuleIf &)
-
--- a/profilesapplication/Profiles/ProfileApp/tsrc/public/ProfileStif/EABI/ProfileStifU.def Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
-EXPORTS
- _Z9LibEntryLR13CTestModuleIf @ 1 NONAME
-
--- a/profilesapplication/Profiles/ProfileApp/tsrc/public/ProfileStif/conf/tcProfile.cfg Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-[Test]
-title Test NewL
-run testscripter c:\testframework\ui_Profile.cfg 1
-[Endtest]
-
-[Test]
-title Test NewLC
-run testscripter c:\testframework\ui_Profile.cfg 2
-[Endtest]
-
-[Test]
-title Test SetActiveProfileRingingTone
-run testscripter c:\testframework\ui_Profile.cfg 3
-[Endtest]
-
-[Test]
-title Test SetProfileTone
-run testscripter c:\testframework\ui_Profile.cfg 4
-[Endtest]
-
-[Test]
-title Test SetToneForAllProfiles
-run testscripter c:\testframework\ui_Profile.cfg 5
-[Endtest]
-
-[Test]
-title Test SetProfileToneNotCheckL
-run testscripter c:\testframework\ui_Profile.cfg 6
-[Endtest]
--- a/profilesapplication/Profiles/ProfileApp/tsrc/public/ProfileStif/conf/ui_Profile.cfg Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,42 +0,0 @@
-[Test]
-title Test NewL
-create ProfileStif foobar
-foobar NewLTestL
-delete foobar
-[Endtest]
-
-[Test]
-title Test NewLC
-create ProfileStif foobar
-foobar NewLCTestL
-delete foobar
-[Endtest]
-
-[Test]
-title Test SetActiveProfileRingingTone
-create ProfileStif foobar
-foobar SetActiveProfileRingingToneTestL
-delete foobar
-[Endtest]
-
-[Test]
-title Test SetProfileTone
-create ProfileStif foobar
-foobar SetProfileToneTestL
-delete foobar
-[Endtest]
-
-[Test]
-title Test SetToneForAllProfiles
-create ProfileStif foobar
-foobar SetToneForAllProfilesTestL
-delete foobar
-[Endtest]
-
-[Test]
-title Test SetProfileToneNotCheckL
-create ProfileStif foobar
-foobar SetProfileToneNotCheckLTestL
-delete foobar
-[Endtest]
-
--- a/profilesapplication/Profiles/ProfileApp/tsrc/public/ProfileStif/group/ProfileStif.mmp Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,75 +0,0 @@
-/*TYPE TESTCLASS*/
-/*
-* 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: MMP file for STIF Test Framework's TestScripter
-* testclass test module.
-*
-*/
-
-#include <platform_paths.hrh>
-
-TARGET ProfileStif.dll
-TARGETTYPE dll
-UID 0x1000008D 0x101FB3E3
-
-CAPABILITY ALL -TCB
-/* Remove comments and replace 0x00000000 with correct vendor id */
-// VENDORID 0x00000000
-/* Remove comments and replace 0x00000000 with correct secure id */
-// SECUREID 0x00000000
-
-//TARGETPATH ?target_path
-DEFFILE ProfileStif.def
-
-USERINCLUDE ../inc
-
-APP_LAYER_SYSTEMINCLUDE
-
-SOURCEPATH ../src
-
-SOURCE ProfileStif.cpp
-SOURCE ProfileStifBlocks.cpp
-
-
-LIBRARY euser.lib
-LIBRARY stiftestinterface.lib
-LIBRARY stiftestengine.lib
-LIBRARY ProfileSettingsView.lib // The tested library
-LIBRARY avkon.lib eikcore.lib cone.lib eikcoctl.lib
-
-LANG SC
-
-/*
-START WINS
-?wins_specific_information
-END
-
-START MARM
-?marm_specific_information
-END
-*/
-// Other possible keywords:
-
-// DOCUMENT ?file, that is not compiled, but added to MSVC project workspace (i.e. release notes)
-/*
-START BITMAP ?target
-TARGETPATH ?emulated_path_on_target_machine
-HEADER
-SOURCE ?color_depth ?source_bitmap
-END
-*/
-// DEFFILE ?filename
-// AIF ?filename
-
-// End of File
--- a/profilesapplication/Profiles/ProfileApp/tsrc/public/ProfileStif/group/ProfileStif.pkg Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,60 +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:
-;
-; Installation file for STIF
-;
-
-; Languages
-&EN
-
-; Provide value for uid
-#{"STIF"},(0x00000000),1,1,0,TYPE=SA
-
-; Series60 product id for S60 3.0
-[0x101F7961], 0, 0, 0, {"Series60ProductID"}
-
-; Localised Vendor name
-%{"Nokia"}
-
-; Unique Vendor name
-:"Nokia"
-
-; Logo
-; None
-
-; Package signature - Optional
-; None
-
-; Start of Package body
-
-; Condition blocks
-; None
-
-; Options list
-; None
-
-; Install files
-"\epoc32\release\armv5\udeb\ProfileStif.dll" - "!:\Sys\Bin\ProfileStif.dll"
-
-; Embedded SIS
-; None
-
-; End of Package body
-
-; PKG dependencies
-; None
-
-; PKG capabilities
-; None
--- a/profilesapplication/Profiles/ProfileApp/tsrc/public/ProfileStif/group/ProfileStif_DoxyFile.py Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,239 +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 the License "Symbian Foundation License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.symbianfoundation.org/legal/sfl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description:
-#
-#
-
-# Doxyfile 1.4.1
-
-#---------------------------------------------------------------------------
-# Project related configuration options
-#---------------------------------------------------------------------------
-PROJECT_NAME = ProfileStif
-PROJECT_NUMBER =
-OUTPUT_DIRECTORY = \ProfileStif\
-CREATE_SUBDIRS = NO
-OUTPUT_LANGUAGE = English
-USE_WINDOWS_ENCODING = YES
-BRIEF_MEMBER_DESC = YES
-REPEAT_BRIEF = YES
-ABBREVIATE_BRIEF =
-ALWAYS_DETAILED_SEC = NO
-INLINE_INHERITED_MEMB = NO
-FULL_PATH_NAMES = NO
-STRIP_FROM_PATH =
-STRIP_FROM_INC_PATH =
-SHORT_NAMES = NO
-JAVADOC_AUTOBRIEF = NO
-MULTILINE_CPP_IS_BRIEF = NO
-DETAILS_AT_TOP = NO
-INHERIT_DOCS = YES
-DISTRIBUTE_GROUP_DOC = NO
-TAB_SIZE = 8
-ALIASES =
-OPTIMIZE_OUTPUT_FOR_C = YES
-OPTIMIZE_OUTPUT_JAVA = NO
-SUBGROUPING = YES
-#---------------------------------------------------------------------------
-# Build related configuration options
-#---------------------------------------------------------------------------
-EXTRACT_ALL = YES
-EXTRACT_PRIVATE = NO
-EXTRACT_STATIC = NO
-EXTRACT_LOCAL_CLASSES = NO
-EXTRACT_LOCAL_METHODS = NO
-HIDE_UNDOC_MEMBERS = NO
-HIDE_UNDOC_CLASSES = NO
-HIDE_FRIEND_COMPOUNDS = NO
-HIDE_IN_BODY_DOCS = NO
-INTERNAL_DOCS = YES
-CASE_SENSE_NAMES = YES
-HIDE_SCOPE_NAMES = NO
-SHOW_INCLUDE_FILES = YES
-INLINE_INFO = YES
-SORT_MEMBER_DOCS = YES
-SORT_BRIEF_DOCS = NO
-SORT_BY_SCOPE_NAME = NO
-GENERATE_TODOLIST = NO
-GENERATE_TESTLIST = NO
-GENERATE_BUGLIST = NO
-GENERATE_DEPRECATEDLIST= YES
-ENABLED_SECTIONS =
-MAX_INITIALIZER_LINES = 30
-SHOW_USED_FILES = YES
-SHOW_DIRECTORIES = YES
-FILE_VERSION_FILTER =
-#---------------------------------------------------------------------------
-# configuration options related to warning and progress messages
-#---------------------------------------------------------------------------
-QUIET = NO
-WARNINGS = YES
-WARN_IF_UNDOCUMENTED = YES
-WARN_IF_DOC_ERROR = YES
-WARN_NO_PARAMDOC = NO
-WARN_FORMAT = "$file:$line: $text"
-WARN_LOGFILE =
-#---------------------------------------------------------------------------
-# configuration options related to the input files
-#---------------------------------------------------------------------------
-INPUT = \ProfileStif\
-FILE_PATTERNS = *.h \
- *.rh \
- *.hrh
-RECURSIVE = YES
-EXCLUDE =
-EXCLUDE_SYMLINKS = NO
-EXCLUDE_PATTERNS =
-EXAMPLE_PATH =
-EXAMPLE_PATTERNS =
-EXAMPLE_RECURSIVE = NO
-IMAGE_PATH =
-INPUT_FILTER =
-FILTER_PATTERNS =
-FILTER_SOURCE_FILES = NO
-#---------------------------------------------------------------------------
-# configuration options related to source browsing
-#---------------------------------------------------------------------------
-SOURCE_BROWSER = NO
-INLINE_SOURCES = NO
-STRIP_CODE_COMMENTS = YES
-REFERENCED_BY_RELATION = YES
-REFERENCES_RELATION = YES
-VERBATIM_HEADERS = YES
-#---------------------------------------------------------------------------
-# configuration options related to the alphabetical class index
-#---------------------------------------------------------------------------
-ALPHABETICAL_INDEX = NO
-COLS_IN_ALPHA_INDEX = 5
-IGNORE_PREFIX =
-#---------------------------------------------------------------------------
-# configuration options related to the HTML output
-#---------------------------------------------------------------------------
-GENERATE_HTML = NO
-HTML_OUTPUT = html
-HTML_FILE_EXTENSION = .html
-HTML_HEADER =
-HTML_FOOTER =
-HTML_STYLESHEET =
-HTML_ALIGN_MEMBERS = YES
-GENERATE_HTMLHELP = YES
-CHM_FILE =
-HHC_LOCATION =
-GENERATE_CHI = NO
-BINARY_TOC = YES
-TOC_EXPAND = YES
-DISABLE_INDEX = YES
-ENUM_VALUES_PER_LINE = 4
-GENERATE_TREEVIEW = YES
-TREEVIEW_WIDTH = 250
-#---------------------------------------------------------------------------
-# configuration options related to the LaTeX output
-#---------------------------------------------------------------------------
-GENERATE_LATEX = NO
-LATEX_OUTPUT = latex
-LATEX_CMD_NAME = latex
-MAKEINDEX_CMD_NAME = makeindex
-COMPACT_LATEX = NO
-PAPER_TYPE = a4wide
-EXTRA_PACKAGES =
-LATEX_HEADER =
-PDF_HYPERLINKS = NO
-USE_PDFLATEX = NO
-LATEX_BATCHMODE = NO
-LATEX_HIDE_INDICES = NO
-#---------------------------------------------------------------------------
-# configuration options related to the RTF output
-#---------------------------------------------------------------------------
-GENERATE_RTF = YES
-RTF_OUTPUT = Doc
-COMPACT_RTF = YES
-RTF_HYPERLINKS = YES
-RTF_STYLESHEET_FILE =
-RTF_EXTENSIONS_FILE =
-#---------------------------------------------------------------------------
-# configuration options related to the man page output
-#---------------------------------------------------------------------------
-GENERATE_MAN = NO
-MAN_OUTPUT = man
-MAN_EXTENSION = .3
-MAN_LINKS = NO
-#---------------------------------------------------------------------------
-# configuration options related to the XML output
-#---------------------------------------------------------------------------
-GENERATE_XML = NO
-XML_OUTPUT = xml
-XML_SCHEMA =
-XML_DTD =
-XML_PROGRAMLISTING = YES
-#---------------------------------------------------------------------------
-# configuration options for the AutoGen Definitions output
-#---------------------------------------------------------------------------
-GENERATE_AUTOGEN_DEF = NO
-#---------------------------------------------------------------------------
-# configuration options related to the Perl module output
-#---------------------------------------------------------------------------
-GENERATE_PERLMOD = NO
-PERLMOD_LATEX = NO
-PERLMOD_PRETTY = YES
-PERLMOD_MAKEVAR_PREFIX =
-#---------------------------------------------------------------------------
-# Configuration options related to the preprocessor
-#---------------------------------------------------------------------------
-ENABLE_PREPROCESSING = YES
-MACRO_EXPANSION = YES
-EXPAND_ONLY_PREDEF = NO
-SEARCH_INCLUDES = YES
-INCLUDE_PATH =
-INCLUDE_FILE_PATTERNS =
-PREDEFINED = NONSHARABLE_CLASS
-EXPAND_AS_DEFINED =
-SKIP_FUNCTION_MACROS = YES
-#---------------------------------------------------------------------------
-# Configuration::additions related to external references
-#---------------------------------------------------------------------------
-TAGFILES =
-GENERATE_TAGFILE =
-ALLEXTERNALS = NO
-EXTERNAL_GROUPS = YES
-PERL_PATH = /usr/bin/perl
-#---------------------------------------------------------------------------
-# Configuration options related to the dot tool
-#---------------------------------------------------------------------------
-CLASS_DIAGRAMS = YES
-HIDE_UNDOC_RELATIONS = YES
-HAVE_DOT = NO
-CLASS_GRAPH = YES
-COLLABORATION_GRAPH = YES
-GROUP_GRAPHS = YES
-UML_LOOK = NO
-TEMPLATE_RELATIONS = YES
-INCLUDE_GRAPH = YES
-INCLUDED_BY_GRAPH = YES
-CALL_GRAPH = NO
-GRAPHICAL_HIERARCHY = YES
-DIRECTORY_GRAPH = YES
-DOT_IMAGE_FORMAT = png
-DOT_PATH =
-DOTFILE_DIRS =
-MAX_DOT_GRAPH_WIDTH = 1024
-MAX_DOT_GRAPH_HEIGHT = 1024
-MAX_DOT_GRAPH_DEPTH = 0
-DOT_TRANSPARENT = NO
-DOT_MULTI_TARGETS = NO
-GENERATE_LEGEND = YES
-DOT_CLEANUP = YES
-#---------------------------------------------------------------------------
-# Configuration::additions related to the search engine
-#---------------------------------------------------------------------------
-SEARCHENGINE = NO
--- a/profilesapplication/Profiles/ProfileApp/tsrc/public/ProfileStif/group/ProfileStif_DoxyFile.txt Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,239 +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 the License "Symbian Foundation License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.symbianfoundation.org/legal/sfl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description:
-#
-#
-
-# Doxyfile 1.4.1
-
-#---------------------------------------------------------------------------
-# Project related configuration options
-#---------------------------------------------------------------------------
-PROJECT_NAME = ProfileStif
-PROJECT_NUMBER =
-OUTPUT_DIRECTORY = \ProfileStif\
-CREATE_SUBDIRS = NO
-OUTPUT_LANGUAGE = English
-USE_WINDOWS_ENCODING = YES
-BRIEF_MEMBER_DESC = YES
-REPEAT_BRIEF = YES
-ABBREVIATE_BRIEF =
-ALWAYS_DETAILED_SEC = NO
-INLINE_INHERITED_MEMB = NO
-FULL_PATH_NAMES = NO
-STRIP_FROM_PATH =
-STRIP_FROM_INC_PATH =
-SHORT_NAMES = NO
-JAVADOC_AUTOBRIEF = NO
-MULTILINE_CPP_IS_BRIEF = NO
-DETAILS_AT_TOP = NO
-INHERIT_DOCS = YES
-DISTRIBUTE_GROUP_DOC = NO
-TAB_SIZE = 8
-ALIASES =
-OPTIMIZE_OUTPUT_FOR_C = YES
-OPTIMIZE_OUTPUT_JAVA = NO
-SUBGROUPING = YES
-#---------------------------------------------------------------------------
-# Build related configuration options
-#---------------------------------------------------------------------------
-EXTRACT_ALL = YES
-EXTRACT_PRIVATE = NO
-EXTRACT_STATIC = NO
-EXTRACT_LOCAL_CLASSES = NO
-EXTRACT_LOCAL_METHODS = NO
-HIDE_UNDOC_MEMBERS = NO
-HIDE_UNDOC_CLASSES = NO
-HIDE_FRIEND_COMPOUNDS = NO
-HIDE_IN_BODY_DOCS = NO
-INTERNAL_DOCS = YES
-CASE_SENSE_NAMES = YES
-HIDE_SCOPE_NAMES = NO
-SHOW_INCLUDE_FILES = YES
-INLINE_INFO = YES
-SORT_MEMBER_DOCS = YES
-SORT_BRIEF_DOCS = NO
-SORT_BY_SCOPE_NAME = NO
-GENERATE_TODOLIST = NO
-GENERATE_TESTLIST = NO
-GENERATE_BUGLIST = NO
-GENERATE_DEPRECATEDLIST= YES
-ENABLED_SECTIONS =
-MAX_INITIALIZER_LINES = 30
-SHOW_USED_FILES = YES
-SHOW_DIRECTORIES = YES
-FILE_VERSION_FILTER =
-#---------------------------------------------------------------------------
-# configuration options related to warning and progress messages
-#---------------------------------------------------------------------------
-QUIET = NO
-WARNINGS = YES
-WARN_IF_UNDOCUMENTED = YES
-WARN_IF_DOC_ERROR = YES
-WARN_NO_PARAMDOC = NO
-WARN_FORMAT = "$file:$line: $text"
-WARN_LOGFILE =
-#---------------------------------------------------------------------------
-# configuration options related to the input files
-#---------------------------------------------------------------------------
-INPUT = \ProfileStif\
-FILE_PATTERNS = *.h \
- *.rh \
- *.hrh
-RECURSIVE = YES
-EXCLUDE =
-EXCLUDE_SYMLINKS = NO
-EXCLUDE_PATTERNS =
-EXAMPLE_PATH =
-EXAMPLE_PATTERNS =
-EXAMPLE_RECURSIVE = NO
-IMAGE_PATH =
-INPUT_FILTER =
-FILTER_PATTERNS =
-FILTER_SOURCE_FILES = NO
-#---------------------------------------------------------------------------
-# configuration options related to source browsing
-#---------------------------------------------------------------------------
-SOURCE_BROWSER = NO
-INLINE_SOURCES = NO
-STRIP_CODE_COMMENTS = YES
-REFERENCED_BY_RELATION = YES
-REFERENCES_RELATION = YES
-VERBATIM_HEADERS = YES
-#---------------------------------------------------------------------------
-# configuration options related to the alphabetical class index
-#---------------------------------------------------------------------------
-ALPHABETICAL_INDEX = NO
-COLS_IN_ALPHA_INDEX = 5
-IGNORE_PREFIX =
-#---------------------------------------------------------------------------
-# configuration options related to the HTML output
-#---------------------------------------------------------------------------
-GENERATE_HTML = NO
-HTML_OUTPUT = html
-HTML_FILE_EXTENSION = .html
-HTML_HEADER =
-HTML_FOOTER =
-HTML_STYLESHEET =
-HTML_ALIGN_MEMBERS = YES
-GENERATE_HTMLHELP = YES
-CHM_FILE =
-HHC_LOCATION =
-GENERATE_CHI = NO
-BINARY_TOC = YES
-TOC_EXPAND = YES
-DISABLE_INDEX = YES
-ENUM_VALUES_PER_LINE = 4
-GENERATE_TREEVIEW = YES
-TREEVIEW_WIDTH = 250
-#---------------------------------------------------------------------------
-# configuration options related to the LaTeX output
-#---------------------------------------------------------------------------
-GENERATE_LATEX = NO
-LATEX_OUTPUT = latex
-LATEX_CMD_NAME = latex
-MAKEINDEX_CMD_NAME = makeindex
-COMPACT_LATEX = NO
-PAPER_TYPE = a4wide
-EXTRA_PACKAGES =
-LATEX_HEADER =
-PDF_HYPERLINKS = NO
-USE_PDFLATEX = NO
-LATEX_BATCHMODE = NO
-LATEX_HIDE_INDICES = NO
-#---------------------------------------------------------------------------
-# configuration options related to the RTF output
-#---------------------------------------------------------------------------
-GENERATE_RTF = YES
-RTF_OUTPUT = Doc
-COMPACT_RTF = YES
-RTF_HYPERLINKS = YES
-RTF_STYLESHEET_FILE =
-RTF_EXTENSIONS_FILE =
-#---------------------------------------------------------------------------
-# configuration options related to the man page output
-#---------------------------------------------------------------------------
-GENERATE_MAN = NO
-MAN_OUTPUT = man
-MAN_EXTENSION = .3
-MAN_LINKS = NO
-#---------------------------------------------------------------------------
-# configuration options related to the XML output
-#---------------------------------------------------------------------------
-GENERATE_XML = NO
-XML_OUTPUT = xml
-XML_SCHEMA =
-XML_DTD =
-XML_PROGRAMLISTING = YES
-#---------------------------------------------------------------------------
-# configuration options for the AutoGen Definitions output
-#---------------------------------------------------------------------------
-GENERATE_AUTOGEN_DEF = NO
-#---------------------------------------------------------------------------
-# configuration options related to the Perl module output
-#---------------------------------------------------------------------------
-GENERATE_PERLMOD = NO
-PERLMOD_LATEX = NO
-PERLMOD_PRETTY = YES
-PERLMOD_MAKEVAR_PREFIX =
-#---------------------------------------------------------------------------
-# Configuration options related to the preprocessor
-#---------------------------------------------------------------------------
-ENABLE_PREPROCESSING = YES
-MACRO_EXPANSION = YES
-EXPAND_ONLY_PREDEF = NO
-SEARCH_INCLUDES = YES
-INCLUDE_PATH =
-INCLUDE_FILE_PATTERNS =
-PREDEFINED = NONSHARABLE_CLASS
-EXPAND_AS_DEFINED =
-SKIP_FUNCTION_MACROS = YES
-#---------------------------------------------------------------------------
-# Configuration::additions related to external references
-#---------------------------------------------------------------------------
-TAGFILES =
-GENERATE_TAGFILE =
-ALLEXTERNALS = NO
-EXTERNAL_GROUPS = YES
-PERL_PATH = /usr/bin/perl
-#---------------------------------------------------------------------------
-# Configuration options related to the dot tool
-#---------------------------------------------------------------------------
-CLASS_DIAGRAMS = YES
-HIDE_UNDOC_RELATIONS = YES
-HAVE_DOT = NO
-CLASS_GRAPH = YES
-COLLABORATION_GRAPH = YES
-GROUP_GRAPHS = YES
-UML_LOOK = NO
-TEMPLATE_RELATIONS = YES
-INCLUDE_GRAPH = YES
-INCLUDED_BY_GRAPH = YES
-CALL_GRAPH = NO
-GRAPHICAL_HIERARCHY = YES
-DIRECTORY_GRAPH = YES
-DOT_IMAGE_FORMAT = png
-DOT_PATH =
-DOTFILE_DIRS =
-MAX_DOT_GRAPH_WIDTH = 1024
-MAX_DOT_GRAPH_HEIGHT = 1024
-MAX_DOT_GRAPH_DEPTH = 0
-DOT_TRANSPARENT = NO
-DOT_MULTI_TARGETS = NO
-GENERATE_LEGEND = YES
-DOT_CLEANUP = YES
-#---------------------------------------------------------------------------
-# Configuration::additions related to the search engine
-#---------------------------------------------------------------------------
-SEARCHENGINE = NO
--- a/profilesapplication/Profiles/ProfileApp/tsrc/public/ProfileStif/group/TestFramework.ini Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,178 +0,0 @@
-#
-# This is STIFTestFramework initialization file
-# Comment lines start with '#'-character.
-# See STIF TestFramework users guide.doc for instructions
-
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-# Set following test engine settings:
-# - Set Test Reporting mode. TestReportMode's possible values are:
-# + 'Summary': Summary of the tested test cases.
-# + 'Environment': Hardware and software info.
-# + 'TestCases': Test case report.
-# + 'FullReport': Set of all above ones.
-# + Example 'TestReportMode= Summary TestCases'
-#
-# - CreateTestReport setting controls report creation mode
-# + YES, Test report will created.
-# + NO, No Test report.
-#
-# - File path indicates the base path of the test report.
-# - File name indicates the name of the test report.
-#
-# - File format indicates the type of the test report.
-# + TXT, Test report file will be txt type, for example 'TestReport.txt'.
-# + HTML, Test report will be html type, for example 'TestReport.html'.
-#
-# - File output indicates output source of the test report.
-# + FILE, Test report logging to file.
-# + RDEBUG, Test report logging to using rdebug.
-#
-# - File Creation Mode indicates test report overwriting if file exist.
-# + OVERWRITE, Overwrites if the Test report file exist.
-# + APPEND, Continue logging after the old Test report information if
-# report exist.
-
-[Engine_Defaults]
-
-TestReportMode= FullReport # Possible values are:
- # 'Summary', 'Environment', 'TestCases' or 'FullReport'
-
-CreateTestReport= YES # Possible values: YES or NO
-
-TestReportFilePath= C:\LOGS\TestFramework\
-TestReportFileName= TestReport
-
-TestReportFormat= TXT # Possible values: TXT or HTML
-TestReportOutput= FILE # Possible values: FILE or RDEBUG
-TestReportFileCreationMode= OVERWRITE # Possible values: OVERWRITE or APPEND
-UITestingSupport= Yes
-SeparateProcesses= YES
-[End_Defaults]
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-
-
-
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-# Module configurations start
-# Modules are added between module tags
-# tags. Module name is specified after ModuleName= tag, like
-# ModuleName= XXXXXXXXX
-# Modules might have initialisation file, specified as
-# IniFile= YYYYYY
-# Modules might have several configuration files, like
-# TestCaseFile= NormalCases.txt
-# TestCaseFile= SmokeCases.txt
-# TestCaseFile= ManualCases.txt
-
-# (TestCaseFile is synonym for old term ConfigFile)
-
-# Following case specifies demo module settings. Demo module
-# does not read any settings from file, so tags
-# IniFile and TestCaseFile are not used.
-# In the simplest case it is enough to specify only the
-# name of the test module when adding new test module
-
-[New_Module]
-ModuleName= testcombiner
-TestCaseFile= c:\testframework\tcProfile.cfg
-[End_Module]
-
-
-
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-
-#Load testmoduleXXX, optionally with initialization file and/or test case files
-#[New_Module]
-#ModuleName= testmodulexxx
-
-#TestModuleXXX used initialization file
-#IniFile= init.txt
-
-#TestModuleXXX used configuration file(s)
-#TestCaseFile= testcases1.cfg
-#TestCaseFile= testcases2.cfg
-#TestCaseFile= manualtestcases.cfg
-
-#[End_Module]
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-
-
-
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-# Set STIFTestFramework logging overwrite parameters for Logger.
-# Hardware and emulator environment logging path and styles can
-# be configured from here to overwrite the Logger's implemented values.
-#
-# Settings description:
-# - Indicates option for creation log directory/directories. If log directory/directories
-# is/are not created by user they will make by software.
-# + YES, Create log directory/directories if not allready exist.
-# + NO, Log directory/directories not created. Only created one is used.
-#
-# - Overwrite emulator path setting.
-# + Example: If 'EmulatorBasePath= C:\LOGS\TestFramework\' and in code is defined
-# Logger's path 'D:\\LOGS\\Module\\' with those definition the path
-# will be 'C:\LOGS\TestFramework\LOGS\Module\'
-#
-# - Overwrite emulator's logging format.
-# + TXT, Log file(s) will be txt type(s), for example 'Module.txt'.
-# + HTML, Log file(s) will be html type(s), for example 'Module.html'.
-#
-# - Overwrited emulator logging output source.
-# + FILE, Logging to file(s).
-# + RDEBUG, Logging to using rdebug(s).
-#
-# - Overwrite hardware path setting (Same description as above in emulator path).
-# - Overwrite hardware's logging format(Same description as above in emulator format).
-# - Overwrite hardware's logging output source(Same description as above in emulator output).
-#
-# - File Creation Mode indicates file overwriting if file exist.
-# + OVERWRITE, Overwrites if file(s) exist.
-# + APPEND, Continue logging after the old logging information if file(s) exist.
-#
-# - Will thread id include to the log filename.
-# + YES, Thread id to log file(s) name, Example filename 'Module_b9.txt'.
-# + NO, No thread id to log file(s), Example filename 'Module.txt'.
-#
-# - Will time stamps include the to log file.
-# + YES, Time stamp added to each line in log file(s). Time stamp is
-# for example'12.Nov.2003 115958 LOGGING INFO'
-# + NO, No time stamp(s).
-#
-# - Will line breaks include to the log file.
-# + YES, Each logging event includes line break and next log event is in own line.
-# + NO, No line break(s).
-#
-# - Will event ranking include to the log file.
-# + YES, Event ranking number added to each line in log file(s). Ranking number
-# depends on environment's tics, for example(includes time stamp also)
-# '012 12.Nov.2003 115958 LOGGING INFO'
-# + NO, No event ranking.
-#
-
-[Logger_Defaults]
-
-#NOTE: If you want to set Logger using next setting(s) remove comment(s)'#'
-
-#CreateLogDirectories= YES # Possible values: YES or NO
-
-#EmulatorBasePath= C:\LOGS\TestFramework\
-#EmulatorFormat= HTML # Possible values: TXT or HTML
-#EmulatorOutput= FILE # Possible values: FILE or RDEBUG
-
-#HardwareBasePath= D:\LOGS\TestFramework\
-#HardwareFormat= HTML # Possible values: TXT or HTML
-#HardwareOutput= FILE # Possible values: FILE or RDEBUG
-
-#FileCreationMode= OVERWRITE # Possible values: OVERWRITE or APPEND
-
-#ThreadIdToLogFile= YES # Possible values: YES or NO
-#WithTimeStamp= YES # Possible values: YES or NO
-#WithLineBreak= YES # Possible values: YES or NO
-#WithEventRanking= YES # Possible values: YES or NO
-
-[End_Logger_Defaults]
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-
-# End of file
--- a/profilesapplication/Profiles/ProfileApp/tsrc/public/ProfileStif/group/bld.inf Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,65 +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:
-*
-*/
-
-PRJ_PLATFORMS
-// specify the platforms your component needs to be built for here
-// defaults to WINS MARM so you can ignore this if you just build these
-
- DEFAULT
-
-PRJ_TESTEXPORTS
-// NOTE: If using ARS requirements all export operations should be done under this.
-// 'abld test export'
-
-PRJ_EXPORTS
-// Specify the source file followed by its destination here
-// copy will be used to copy the source file to its destination
-// If there's no destination then the source file will be copied
-// to the same name in \epoc32\include
-// Example:
-/*
-\agnmodel\inc\AGMCOMON.H
-*/
-profile_z.bat \epoc32\winscw\c\profile_z.bat
-profile_c.bat \epoc32\winscw\c\profile_c.bat
-testframework.ini \epoc32\winscw\c\testframework\TestFramework_profile.ini
-..\conf\tcProfile.cfg \epoc32\winscw\c\testframework\tcProfile.cfg
-..\conf\ui_Profile.cfg \epoc32\winscw\c\testframework\ui_Profile.cfg
-
-PRJ_TESTMMPFILES
-
- //ProfileStif_nrm.mmp
-
-PRJ_MMPFILES
-
- ProfileStif.mmp
-
-// Specify the .mmp files required for building the important component
-// releasables.
-//
-// Specify "tidy" if the component you need to build doesn't need to be
-// released. Specify "ignore" if the MMP file exists but should be
-// ignored.
-// Example:
-/*
-\agnmodel\group\agnmodel.mmp
-#if defined(MARM)
-\agnmodel\group\agsvexe.mmp
-#endif
-*/
-
-// End of File
--- a/profilesapplication/Profiles/ProfileApp/tsrc/public/ProfileStif/group/profile_c.bat Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,23 +0,0 @@
-@rem
-@rem Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-@rem All rights reserved.
-@rem This component and the accompanying materials are made available
-@rem under the terms of "Eclipse Public License v1.0"
-@rem which accompanies this distribution, and is available
-@rem at the URL "http://www.eclipse.org/legal/epl-v10.html".
-@rem
-@rem Initial Contributors:
-@rem Nokia Corporation - initial contribution.
-@rem
-@rem Contributors:
-@rem
-@rem Description:
-@rem
-
-copy C:\TestFramework\TestFramework_Profile.ini C:\TestFramework\TestFramework.ini
-md e:\ProfileTest
-md e:\ProfileTest\Results
-
-ATSINTERFACE.EXE -testmodule testcombiner -config C:\TestFramework\tcProfile.cfg
-copy c:\Logs\TestFramework\TestReport.txt e:\ProfileTest\results\Profile.txt
-
--- a/profilesapplication/Profiles/ProfileApp/tsrc/public/ProfileStif/group/profile_z.bat Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,25 +0,0 @@
-@rem
-@rem Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-@rem All rights reserved.
-@rem This component and the accompanying materials are made available
-@rem under the terms of "Eclipse Public License v1.0"
-@rem which accompanies this distribution, and is available
-@rem at the URL "http://www.eclipse.org/legal/epl-v10.html".
-@rem
-@rem Initial Contributors:
-@rem Nokia Corporation - initial contribution.
-@rem
-@rem Contributors:
-@rem
-@rem Description:
-@rem
-
-copy z:\TestFramework\TestFramework_Profile.ini C:\TestFramework\TestFramework.ini
-md e:\ProfileTest
-md e:\ProfileTest\Results
-
-ATSINTERFACE.EXE -testmodule testcombiner -config C:\TestFramework\tcProfile.cfg
-copy c:\Logs\TestFramework\TestReport.txt e:\ProfileTest\results\Profile.txt
-
-
-
--- a/profilesapplication/Profiles/ProfileApp/tsrc/public/ProfileStif/inc/ProfileStif.h Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,193 +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: STIF testclass declaration
-*
-*/
-
-#ifndef PROFILESTIF_H
-#define PROFILESTIF_H
-
-// INCLUDES
-#include <StifLogger.h>
-#include <TestScripterInternal.h>
-#include <StifTestModule.h>
-#include <TestclassAssert.h>
-
-// CONSTANTS
-//const ?type ?constant_var = ?constant;
-
-// MACROS
-//#define ?macro ?macro_def
-#define TEST_CLASS_VERSION_MAJOR 0
-#define TEST_CLASS_VERSION_MINOR 0
-#define TEST_CLASS_VERSION_BUILD 0
-
-// Logging path
-_LIT( KProfileStifLogPath, "\\logs\\testframework\\ProfileStif\\" );
-// Log file
-_LIT( KProfileStifLogFile, "ProfileStif.txt" );
-_LIT( KProfileStifLogFileWithTitle, "ProfileStif_[%S].txt" );
-
-// FUNCTION PROTOTYPES
-//?type ?function_name(?arg_list);
-
-// FORWARD DECLARATIONS
-//class ?FORWARD_CLASSNAME;
-class CProfileStif;
-
-// DATA TYPES
-//enum ?declaration
-//typedef ?declaration
-//extern ?data_type;
-
-// CLASS DECLARATION
-
-/**
-* CProfileStif test class for STIF Test Framework TestScripter.
-* ?other_description_lines
-*
-* @lib ?library
-* @since ?Series60_version
-*/
-NONSHARABLE_CLASS(CProfileStif) : public CScriptBase
- {
- public: // Constructors and destructor
-
- /**
- * Two-phased constructor.
- */
- static CProfileStif* NewL( CTestModuleIf& aTestModuleIf );
-
- /**
- * Destructor.
- */
- virtual ~CProfileStif();
-
- public: // New functions
-
- /**
- * ?member_description.
- * @since ?Series60_version
- * @param ?arg1 ?description
- * @return ?description
- */
- //?type ?member_function( ?type ?arg1 );
-
- public: // Functions from base classes
-
- /**
- * From CScriptBase Runs a script line.
- * @since ?Series60_version
- * @param aItem Script line containing method name and parameters
- * @return Symbian OS error code
- */
- virtual TInt RunMethodL( CStifItemParser& aItem );
-
- protected: // New functions
-
- /**
- * ?member_description.
- * @since ?Series60_version
- * @param ?arg1 ?description
- * @return ?description
- */
- //?type ?member_function( ?type ?arg1 );
-
- protected: // Functions from base classes
-
- /**
- * From ?base_class ?member_description
- */
- //?type ?member_function();
-
- private:
-
- /**
- * C++ default constructor.
- */
- CProfileStif( CTestModuleIf& aTestModuleIf );
-
- /**
- * By default Symbian 2nd phase constructor is private.
- */
- void ConstructL();
-
- // Prohibit copy constructor if not deriving from CBase.
- // ?classname( const ?classname& );
- // Prohibit assigment operator if not deriving from CBase.
- // ?classname& operator=( const ?classname& );
-
- /**
- * Frees all resources allocated from test methods.
- * @since ?Series60_version
- */
- void Delete();
-
- /**
- * Test methods are listed below.
- */
-
- /**
- * Example test method.
- * @since ?Series60_version
- * @param aItem Script line containing parameters.
- * @return Symbian OS error code.
- */
- virtual TInt NewLTestL( CStifItemParser& aItem );
-
- virtual TInt NewLCTestL( CStifItemParser& aItem );
-
- virtual TInt SetActiveProfileRingingToneTestL( CStifItemParser& aItem );
-
- virtual TInt SetProfileToneTestL( CStifItemParser& aItem );
-
- virtual TInt SetToneForAllProfilesTestL( CStifItemParser& aItem );
-
- virtual TInt SetProfileToneNotCheckLTestL( CStifItemParser& aItem );
- /**
- * Method used to log version of test class
- */
- void SendTestClassVersion();
-
- //ADD NEW METHOD DEC HERE
- //[TestMethods] - Do not remove
-
- public: // Data
- // ?one_line_short_description_of_data
- //?data_declaration;
-
- protected: // Data
- // ?one_line_short_description_of_data
- //?data_declaration;
-
- private: // Data
-
- // ?one_line_short_description_of_data
- //?data_declaration;
-
- // Reserved pointer for future extension
- //TAny* iReserved;
-
- public: // Friend classes
- //?friend_class_declaration;
- protected: // Friend classes
- //?friend_class_declaration;
- private: // Friend classes
- //?friend_class_declaration;
-
- };
-
-#endif // PROFILESTIF_H
-
-// End of File
--- a/profilesapplication/Profiles/ProfileApp/tsrc/public/ProfileStif/src/ProfileStif.cpp Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,199 +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: This file contains testclass implementation.
-*
-*/
-
-// INCLUDE FILES
-#include <Stiftestinterface.h>
-#include "ProfileStif.h"
-#include <SettingServerClient.h>
-
-// EXTERNAL DATA STRUCTURES
-//extern ?external_data;
-
-// EXTERNAL FUNCTION PROTOTYPES
-//extern ?external_function( ?arg_type,?arg_type );
-
-// CONSTANTS
-//const ?type ?constant_var = ?constant;
-
-// MACROS
-//#define ?macro ?macro_def
-
-// LOCAL CONSTANTS AND MACROS
-//const ?type ?constant_var = ?constant;
-//#define ?macro_name ?macro_def
-
-// MODULE DATA STRUCTURES
-//enum ?declaration
-//typedef ?declaration
-
-// LOCAL FUNCTION PROTOTYPES
-//?type ?function_name( ?arg_type, ?arg_type );
-
-// FORWARD DECLARATIONS
-//class ?FORWARD_CLASSNAME;
-
-// ============================= LOCAL FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// ?function_name ?description.
-// ?description
-// Returns: ?value_1: ?description
-// ?value_n: ?description_line1
-// ?description_line2
-// -----------------------------------------------------------------------------
-//
-/*
-?type ?function_name(
- ?arg_type arg, // ?description
- ?arg_type arg) // ?description
- {
-
- ?code // ?comment
-
- // ?comment
- ?code
- }
-*/
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CProfileStif::CProfileStif
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CProfileStif::CProfileStif(
- CTestModuleIf& aTestModuleIf ):
- CScriptBase( aTestModuleIf )
- {
- }
-
-// -----------------------------------------------------------------------------
-// CProfileStif::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CProfileStif::ConstructL()
- {
- //Read logger settings to check whether test case name is to be
- //appended to log file name.
- RSettingServer settingServer;
- TInt ret = settingServer.Connect();
- if(ret != KErrNone)
- {
- User::Leave(ret);
- }
- // Struct to StifLogger settigs.
- TLoggerSettings loggerSettings;
- // Parse StifLogger defaults from STIF initialization file.
- ret = settingServer.GetLoggerSettings(loggerSettings);
- if(ret != KErrNone)
- {
- User::Leave(ret);
- }
- // Close Setting server session
- settingServer.Close();
-
- TFileName logFileName;
-
- if(loggerSettings.iAddTestCaseTitle)
- {
- TName title;
- TestModuleIf().GetTestCaseTitleL(title);
- logFileName.Format(KProfileStifLogFileWithTitle, &title);
- }
- else
- {
- logFileName.Copy(KProfileStifLogFile);
- }
-
- iLog = CStifLogger::NewL( KProfileStifLogPath,
- logFileName,
- CStifLogger::ETxt,
- CStifLogger::EFile,
- EFalse );
-
- SendTestClassVersion();
- }
-
-// -----------------------------------------------------------------------------
-// CProfileStif::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CProfileStif* CProfileStif::NewL(
- CTestModuleIf& aTestModuleIf )
- {
- CProfileStif* self = new (ELeave) CProfileStif( aTestModuleIf );
-
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop();
-
- return self;
-
- }
-
-// Destructor
-CProfileStif::~CProfileStif()
- {
-
- // Delete resources allocated from test methods
- Delete();
-
- // Delete logger
- delete iLog;
-
- }
-
-//-----------------------------------------------------------------------------
-// CProfileStif::SendTestClassVersion
-// Method used to send version of test class
-//-----------------------------------------------------------------------------
-//
-void CProfileStif::SendTestClassVersion()
- {
- TVersion moduleVersion;
- moduleVersion.iMajor = TEST_CLASS_VERSION_MAJOR;
- moduleVersion.iMinor = TEST_CLASS_VERSION_MINOR;
- moduleVersion.iBuild = TEST_CLASS_VERSION_BUILD;
-
- TFileName moduleName;
- moduleName = _L("ProfileStif.dll");
-
- TBool newVersionOfMethod = ETrue;
- TestModuleIf().SendTestModuleVersion(moduleVersion, moduleName, newVersionOfMethod);
- }
-
-// ========================== OTHER EXPORTED FUNCTIONS =========================
-
-// -----------------------------------------------------------------------------
-// LibEntryL is a polymorphic Dll entry point.
-// Returns: CScriptBase: New CScriptBase derived object
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CScriptBase* LibEntryL(
- CTestModuleIf& aTestModuleIf ) // Backpointer to STIF Test Framework
- {
-
- return ( CScriptBase* ) CProfileStif::NewL( aTestModuleIf );
-
- }
-
-
-// End of File
--- a/profilesapplication/Profiles/ProfileApp/tsrc/public/ProfileStif/src/ProfileStifBlocks.cpp Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,201 +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: This file contains testclass implementation.
-*
-*/
-
-// [INCLUDE FILES] - do not remove
-#include <e32svr.h>
-#include <StifParser.h>
-#include <Stiftestinterface.h>
-#include "ProfileStif.h"
-#include <CProfileToneHandler.h>
-
-// EXTERNAL DATA STRUCTURES
-//extern ?external_data;
-
-// EXTERNAL FUNCTION PROTOTYPES
-//extern ?external_function( ?arg_type,?arg_type );
-
-// CONSTANTS
-//const ?type ?constant_var = ?constant;
-
-// MACROS
-//#define ?macro ?macro_def
-
-// LOCAL CONSTANTS AND MACROS
-//const ?type ?constant_var = ?constant;
-//#define ?macro_name ?macro_def
-
-// MODULE DATA STRUCTURES
-//enum ?declaration
-//typedef ?declaration
-
-// LOCAL FUNCTION PROTOTYPES
-//?type ?function_name( ?arg_type, ?arg_type );
-
-// FORWARD DECLARATIONS
-//class ?FORWARD_CLASSNAME;
-
-// ============================= LOCAL FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// ?function_name ?description.
-// ?description
-// Returns: ?value_1: ?description
-// ?value_n: ?description_line1
-// ?description_line2
-// -----------------------------------------------------------------------------
-//
-/*
-?type ?function_name(
- ?arg_type arg, // ?description
- ?arg_type arg) // ?description
- {
-
- ?code // ?comment
-
- // ?comment
- ?code
- }
-*/
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CProfileStif::Delete
-// Delete here all resources allocated and opened from test methods.
-// Called from destructor.
-// -----------------------------------------------------------------------------
-//
-void CProfileStif::Delete()
- {
-
- }
-
-// -----------------------------------------------------------------------------
-// CProfileStif::RunMethodL
-// Run specified method. Contains also table of test mothods and their names.
-// -----------------------------------------------------------------------------
-//
-TInt CProfileStif::RunMethodL(
- CStifItemParser& aItem )
- {
-
- static TStifFunctionInfo const KFunctions[] =
- {
- // Copy this line for every implemented function.
- // First string is the function name used in TestScripter script file.
- // Second is the actual implementation member function.
- ENTRY( "NewLTestL", CProfileStif::NewLTestL ),
- ENTRY( "NewLCTestL", CProfileStif::NewLCTestL ),
- ENTRY( "SetActiveProfileRingingToneTestL", CProfileStif::SetActiveProfileRingingToneTestL ),
- ENTRY( "SetProfileToneTestL", CProfileStif::SetProfileToneTestL ),
- ENTRY( "SetToneForAllProfilesTestL", CProfileStif::SetToneForAllProfilesTestL ),
- ENTRY( "SetProfileToneNotCheckLTestL", CProfileStif::SetProfileToneNotCheckLTestL )
- //ADD NEW ENTRY HERE
- // [test cases entries] - Do not remove
-
- };
-
- const TInt count = sizeof( KFunctions ) /
- sizeof( TStifFunctionInfo );
-
- return RunInternalL( KFunctions, count, aItem );
-
- }
-
-// -----------------------------------------------------------------------------
-// CProfileStif::ExampleL
-// Example test method function.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-
-
-TInt CProfileStif::NewLTestL( CStifItemParser& aItem )
- {
- CProfileToneHandler* toneHandler = CProfileToneHandler::NewL();
- CleanupStack::PushL( toneHandler );
- CleanupStack::PopAndDestroy(); // toneHandler
- return KErrNone;
- }
-
-TInt CProfileStif::NewLCTestL( CStifItemParser& aItem )
- {
- CProfileToneHandler* toneHandler = CProfileToneHandler::NewLC();
- CleanupStack::PopAndDestroy(); // toneHandler
- return KErrNone;
- }
-
-TInt CProfileStif::SetActiveProfileRingingToneTestL( CStifItemParser& aItem )
- {
- TInt err = KErrNone;
- CProfileToneHandler* toneHandler = CProfileToneHandler::NewL();
- CleanupStack::PushL( toneHandler );
- err = toneHandler->SetActiveProfileRingingToneL( KNullDesC );
- CleanupStack::PopAndDestroy(); // toneHandler
- return err;
- }
-
-TInt CProfileStif::SetProfileToneTestL( CStifItemParser& aItem )
- {
- TInt err = KErrNone;
- CProfileToneHandler* toneHandler = CProfileToneHandler::NewL();
- CleanupStack::PushL( toneHandler );
- err = toneHandler->SetProfileToneL( 0, EProfileRingingToneSetting, KNullDesC );
- CleanupStack::PopAndDestroy(); // toneHandler
- return err;
- }
-
-TInt CProfileStif::SetToneForAllProfilesTestL( CStifItemParser& aItem )
- {
- TInt err = KErrNone;
- CProfileToneHandler* toneHandler = CProfileToneHandler::NewL();
- CleanupStack::PushL( toneHandler );
- err = toneHandler->SetToneForAllProfilesL( EProfileRingingToneSetting, KNullDesC );
- CleanupStack::PopAndDestroy(); // toneHandler
- return err;
- }
-
-TInt CProfileStif::SetProfileToneNotCheckLTestL( CStifItemParser& aItem )
- {
- TInt err = KErrNone;
- CProfileToneHandler* toneHandler = CProfileToneHandler::NewL();
- CleanupStack::PushL( toneHandler );
- err = toneHandler->SetProfileToneNotCheckL(0, EProfileRingingToneSetting, KNullDesC );
- CleanupStack::PopAndDestroy(); // toneHandler
- return err;
- }
-
-// -----------------------------------------------------------------------------
-// CProfileStif::?member_function
-// ?implementation_description
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-/*
-TInt CProfileStif::?member_function(
- CItemParser& aItem )
- {
-
- ?code
-
- }
-*/
-
-// ========================== OTHER EXPORTED FUNCTIONS =========================
-// None
-
-// [End of File] - Do not remove
--- a/profilesapplication/Profiles/ProfileApp/tsrc/public/basic/bwins/T_ProfileSettingsViewu.def Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
-EXPORTS
- ?CreateTestSuiteL@@YAPAVMEUnitTest@@XZ @ 1 NONAME ; class MEUnitTest * CreateTestSuiteL(void)
-
--- a/profilesapplication/Profiles/ProfileApp/tsrc/public/basic/eabi/T_ProfileSettingsViewu.def Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,5 +0,0 @@
-EXPORTS
- _Z16CreateTestSuiteLv @ 1 NONAME
- _ZTI21T_CProfileToneHandler @ 2 NONAME ; #<TI>#
- _ZTV21T_CProfileToneHandler @ 3 NONAME ; #<VT>#
-
--- a/profilesapplication/Profiles/ProfileApp/tsrc/public/basic/group/T_ProfileSettingsView.mmp Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,46 +0,0 @@
-/*
-* Copyright (c) 2002 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: Project definition file for Profile Settings View module tests
-*
-*/
-
-// To get the APP_LAYER_SYSTEMINCLUDE-definition
-#include <platform_paths.hrh>
-
-TARGET T_ProfileSettingsView.dll
-TARGETTYPE dll
-UID 0x1000af5a 0x0107FBC9
-TARGETPATH ../../../../wins/c/DigiaEUnit/Tests
-
-CAPABILITY ALL -TCB
-
-SOURCEPATH ../src
-SOURCE DllMain.cpp
-SOURCE T_CProfileToneHandler.cpp
-
-USERINCLUDE ../inc
-
-APP_LAYER_SYSTEMINCLUDE
-SYSTEMINCLUDE /epoc32/include/Digia/EUnit
-
-LIBRARY euser.lib EUnit.lib
-LIBRARY ProfileSettingsView.lib // The tested library
-LIBRARY avkon.lib eikcore.lib cone.lib eikcoctl.lib
-LIBRARY FeatMgr.lib // Feature Manager
-LIBRARY commonengine.lib // RConeResourceLoader
-
-// Other possible keywords:
-// DOCUMENT ?file, that is not compiled, but added to MSVC project workspace (i.e. release notes)
-
-// End of file
--- a/profilesapplication/Profiles/ProfileApp/tsrc/public/basic/group/T_ProfileSettingsView.pkg Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,35 +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:
-;
-; Languages
-; none - English only by default
-&EN
-
-; Installation header
-; Only one component name as we only support English
-; UID is the main app's UID
-
-#{"BrCtlApiTest"},(0x101FB3E7),1,0,0,TYPE=SA
-(0x101F7961),0,0,0,{"Series60ProductID"}
-
-; Non-localised vendor name
-:"Nokia Corporation"
-
-; Localised vendor names
-%{"Nokia Corporation"}
-
-; Files to install and to where
-"\epoc32\Release\armv5\urel\T_ProfileSettingsView.dll"-"!:\sys\bin\T_ProfileSettingsView.dll"
-
--- a/profilesapplication/Profiles/ProfileApp/tsrc/public/basic/group/bld.inf Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
-/*
-* Copyright (c) 2007 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: ProfileSettingsView tests.
-*
-*/
-
-////////////////////////////////////////////////////////////
-// bld.inf
-// Part of EUnit library test
-
-PRJ_PLATFORMS
- DEFAULT
-
-PRJ_TESTEXPORTS
-
-PRJ_TESTMMPFILES
-// ModuleTests
-T_ProfileSettingsView.mmp
-
-
-
-
-
--- a/profilesapplication/Profiles/ProfileApp/tsrc/public/basic/inc/T_CProfileToneHandler.h Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,77 +0,0 @@
-/*
-* Copyright (c) 2002 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: Test class for ProfileToneHandler.
-*
-*/
-
-
-#ifndef T_CPROFILETONEHANDLER_H
-#define T_CPROFILETONEHANDLER_H
-
-// INCLUDES
-#include <CEUnitTestSuiteClass.h>
-
-// FORWARD DECLARATIONS
-class CProfileToneHandler;
-
-// CLASS DECLARATION
-
-/**
-* Test class for CProfileToneHandler.
-*
-* @lib SettingsViewMdlTest.lib
-* @since 2.5
-*/
-class T_CProfileToneHandler : public CEUnitTestSuiteClass
- {
- public: // Constructors and destructor
-
- static T_CProfileToneHandler* NewLC();
- ~T_CProfileToneHandler();
-
- private:
-
- void SetupL();
-
- void EmptySetupL();
-
- void Teardown();
-
- void NewLTestL();
-
- void NewLCTestL();
-
- void SetActiveProfileRingingToneTestL();
-
- void SetProfileToneTestL();
-
- void SetToneForAllProfilesTestL();
-
- private:
-
- T_CProfileToneHandler();
- void ConstructL();
-
- private: // Data
-
- // Own: The tested class, Profile tone Handler.
- CProfileToneHandler* iToneHandler;
-
- EUNIT_DECLARE_TEST_TABLE;
-
- };
-
-#endif // T_CPROFILETONEHANDLER_H
-
-// End of File
--- a/profilesapplication/Profiles/ProfileApp/tsrc/public/basic/rom/ProfileApp_ats3.iby Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +0,0 @@
-/*
-* Copyright (c) 2007 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:
-* ROM image definition for ProfileApp automated tests
-*
-*
-*/
-
-#ifndef __PROFILEAPP_ATS3_IBY__
-#define __PROFILEAPP_ATS3_IBY__
-
-// INCLUDED IN PROFILESAPPLICATION_ATS3_IBY
-
-//file=ABI_DIR\BUILD_DIR\T_ProfileSettingsView.dll SHARED_LIB_DIR\T_ProfileSettingsView.dll
-
-#endif
\ No newline at end of file
--- a/profilesapplication/Profiles/ProfileApp/tsrc/public/basic/src/DllMain.cpp Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +0,0 @@
-/*
-* Copyright (c) 2002 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: Profile Settings View module test suite and test class
-* creation and DLL entry point function.
-*
-*/
-
-
-
-// INCLUDE FILES
-#include "T_CProfileToneHandler.h"
-#include <CEUnitTestSuite.h>
-
-// ============================= LOCAL FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CreateTestSuiteL EUnit test suite factory function.
-// Creates the test suite and the test classes.
-//
-// Returns: EUnit test suite interface
-// -----------------------------------------------------------------------------
-//
-EXPORT_C MEUnitTest* CreateTestSuiteL()
- {
- CEUnitTestSuite* mainSuite = CEUnitTestSuite::NewLC(
- _L("ProfileSettingsView Module Tests") );
-
- // NewLC leaves the pointer to cleanupstack until AddL finishes
- mainSuite->AddL( T_CProfileToneHandler::NewLC() );
- CleanupStack::Pop();
-
- CleanupStack::Pop( mainSuite );
- return mainSuite;
- }
-
-// End of File
--- a/profilesapplication/Profiles/ProfileApp/tsrc/public/basic/src/T_CProfileToneHandler.cpp Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,205 +0,0 @@
-/*
-* Copyright (c) 2002 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: Test class for CProfileIndexHandler.
-*
-*/
-
-
-
-// INCLUDE FILES
-#include "T_CProfileToneHandler.h"
-#include <EUnitMacros.h>
-#include <CProfileToneHandler.h>
-
-namespace
- {
- }
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// T_CProfileToneHandler::T_CProfileToneHandler
-// C++ constructor can NOT contain any code, that might leave.
-// -----------------------------------------------------------------------------
-//
-T_CProfileToneHandler::T_CProfileToneHandler()
- {
- }
-
-// -----------------------------------------------------------------------------
-// T_CProfileToneHandler::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void T_CProfileToneHandler::ConstructL()
- {
- CEUnitTestSuiteClass::ConstructL();
- }
-
-// -----------------------------------------------------------------------------
-// T_CProfileToneHandler::NewLC
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-T_CProfileToneHandler* T_CProfileToneHandler::NewLC()
- {
- T_CProfileToneHandler* self = new( ELeave ) T_CProfileToneHandler();
- CleanupStack::PushL( self );
- self->ConstructL();
- return self;
- }
-
-// Destructor (virtual by CBase)
-T_CProfileToneHandler::~T_CProfileToneHandler()
- {
- }
-
-
-// -----------------------------------------------------------------------------
-// T_CProfileToneHandler::SetupL
-// -----------------------------------------------------------------------------
-//
-void T_CProfileToneHandler::SetupL()
- {
- iToneHandler = CProfileToneHandler::NewL();
- }
-
-// -----------------------------------------------------------------------------
-// T_CProfileToneHandler::EmptySetupL
-// -----------------------------------------------------------------------------
-//
-void T_CProfileToneHandler::EmptySetupL()
- {
- }
-
-// -----------------------------------------------------------------------------
-// T_CProfileToneHandler::Teardown
-// -----------------------------------------------------------------------------
-//
-void T_CProfileToneHandler::Teardown()
- {
- delete iToneHandler;
- }
-
-// -----------------------------------------------------------------------------
-// T_CProfileToneHandler::NewLTestL
-// -----------------------------------------------------------------------------
-//
-void T_CProfileToneHandler::NewLTestL()
- {
- CProfileToneHandler* toneHandler = CProfileToneHandler::NewL();
- CleanupStack::PushL( toneHandler );
- EUNIT_ASSERT( toneHandler );
- CleanupStack::PopAndDestroy(); // toneHandler
-
- toneHandler = CProfileToneHandler::NewL( );
- CleanupStack::PushL( toneHandler );
- EUNIT_ASSERT( toneHandler );
-
- CProfileToneHandler* anotherToneHandler = CProfileToneHandler::NewL( );
- CleanupStack::PushL( anotherToneHandler );
- EUNIT_ASSERT( anotherToneHandler );
- CleanupStack::PopAndDestroy(); // anotherToneHandler
-
- CleanupStack::PopAndDestroy(); // toneHandler
- }
-
-// -----------------------------------------------------------------------------
-// T_CProfileToneHandler::NewLCTestL
-// -----------------------------------------------------------------------------
-//
-void T_CProfileToneHandler::NewLCTestL()
- {
- CProfileToneHandler* toneHandler = CProfileToneHandler::NewLC();
- EUNIT_ASSERT( toneHandler );
- CleanupStack::PopAndDestroy(); // toneHandler
-
- toneHandler = CProfileToneHandler::NewLC( );
- EUNIT_ASSERT( toneHandler );
-
- CProfileToneHandler* anotherToneHandler = CProfileToneHandler::NewLC( );
- EUNIT_ASSERT( anotherToneHandler );
- CleanupStack::PopAndDestroy(); // anotherToneHandler
-
- CleanupStack::PopAndDestroy(); // toneHandler
- }
-
-// -----------------------------------------------------------------------------
-// T_CProfileToneHandler::SetActiveProfileRingingToneTestL
-// -----------------------------------------------------------------------------
-//
-void T_CProfileToneHandler::SetActiveProfileRingingToneTestL()
- {
- iToneHandler->SetActiveProfileRingingToneL( KNullDesC );
- }
-
-// -----------------------------------------------------------------------------
-// T_CProfileToneHandler::SetProfileToneTestL
-// -----------------------------------------------------------------------------
-//
-void T_CProfileToneHandler::SetProfileToneTestL()
- {
- iToneHandler->SetProfileToneL( 0, EProfileRingingToneSetting, KNullDesC );
- }
-
-// -----------------------------------------------------------------------------
-// T_CProfileToneHandler::SetToneForAllProfilesTestL
-// -----------------------------------------------------------------------------
-//
-void T_CProfileToneHandler::SetToneForAllProfilesTestL()
- {
- iToneHandler->SetToneForAllProfilesL( EProfileRingingToneSetting, KNullDesC );
- }
-
-// ========================== EUNIT TEST CASES =================================
-
-EUNIT_BEGIN_TEST_TABLE(
- T_CProfileToneHandler, // Name of the tester class
- "T_CProfileToneHandler test suite.", // Textual description of the test suite.
- "MODULE" )
-
-EUNIT_TEST(
- "NewLTestL",
- "CProfileToneHandler",
- "NewL",
- "FUNCTIONALITY",
- EmptySetupL, NewLTestL, Teardown )
-EUNIT_TEST(
- "NewLCTestL",
- "CProfileToneHandler",
- "NewLC",
- "FUNCTIONALITY",
- EmptySetupL, NewLCTestL, Teardown )
-EUNIT_TEST(
- "SetProfileToneTestL",
- "CProfileToneHandler",
- "SetProfileToneL",
- "FUNCTIONALITY",
- SetupL, SetProfileToneTestL, Teardown )
-EUNIT_TEST(
- "SetActiveProfileRingingToneTestL",
- "CProfileToneHandler",
- "SetActiveProfileRingingToneL",
- "FUNCTIONALITY",
- SetupL, SetActiveProfileRingingToneTestL, Teardown )
-EUNIT_TEST(
- "SetToneForAllProfilesTestL",
- "CProfileToneHandler",
- "SetToneForAllProfilesL",
- "FUNCTIONALITY",
- SetupL, SetToneForAllProfilesTestL, Teardown )
-
-EUNIT_END_TEST_TABLE
-
-// End of File
--- a/profilesapplication/Profiles/ProfilesGSTonesPlugin/data/1020729B.rss Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,44 +0,0 @@
-/*
-* Copyright (c) 2005 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: ECOM resource file for plugin.
-*
-*/
-
-#include <RegistryInfo.rh>
-#include "ProfilesUID.h"
-
-
-RESOURCE REGISTRY_INFO theInfo
- {
- dll_uid = IMPLEMENTATION_UID_PROFILES_GS_TONES_PLUGIN;
- interfaces =
- {
- INTERFACE_INFO
- {
- interface_uid = 0x10207236;
- implementations =
- {
- IMPLEMENTATION_INFO
- {
- implementation_uid = IMPLEMENTATION_UID_PROFILES_GS_TONES_PLUGIN;
- version_no = 1;
- display_name = "Tones View Plugin"; // Debug name
- default_data = "0x10207252";// Parent UID (Personalisation)
- opaque_data = "2";// Order number
- }
- };
- }
- };
- }
-
--- a/profilesapplication/Profiles/ProfilesGSTonesPlugin/data/ProfilesGSTonesPluginRsc.rss Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,355 +0,0 @@
-/*
-* Copyright (c) 2005 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: Resource file for plugin.
-*
-*/
-
-
-// RESOURCE IDENTIFIER
-NAME TNVW // 4 letter ID
-
-// INCLUDES
-//#include "GSPrslnPlugin.loc"
-
-#include <data_caging_paths_strings.hrh>
-#include <bldvariant.hrh>
-#include <avkon.loc> // Avkon localized strings
-#include <profile.hrh>
-#include <profilesettingsview.hrh>
-#include <profileinternal.hrh>
-#include <ProfileEng.hrh>
-#include <eikon.rh>
-#include <avkon.rh>
-#include <avkon.mbg>
-#include <avkon.rsg>
-#include <eikcore.rsg>
-#include <uikon.rh>
-#include "ProfilesGsTonesPlugin.hrh"
-#include <ProfilesGsTonesPlugin.loc>
-#include <ProfileApp.loc>
-// FileListModel path definitions
-#include <PathConfiguration.hrh>
-// FileListModel structure
-#include <filelistmodel.rh>
-
-// CONSTANTS
-
-// RESOURCE DEFINITIONS
-
-//----------------------------------------------------
-//
-//
-// Needed or loading the resource fails!
-//
-//----------------------------------------------------
-//
-RESOURCE RSS_SIGNATURE
- {
- }
-
-// Include the common part of the resources (of application and plugin):
-#include "ProfileSettingsViewCommon.rss"
-
-//----------------------------------------------------
-//
-// r_profiles_gs_tones_view
-// Tones view.
-//
-//----------------------------------------------------
-//
-RESOURCE AVKON_VIEW r_profiles_gs_tones_view
- {
- menubar = r_profiles_gs_options_menubar;
- cba = r_profiles_gs_tones_view_softkeys_options_back_change;
- }
-
-//----------------------------------------------------
-//
-// r_profiles_gs_tones_view_softkeys_options_back_change
-// Tones view cba.
-//
-//----------------------------------------------------
-//
-RESOURCE CBA r_profiles_gs_tones_view_softkeys_options_back_change
- {
- flags = 0;
- buttons =
- {
- CBA_BUTTON {id=EAknSoftkeyOptions; txt=text_softkey_option;},
- CBA_BUTTON {id=EAknSoftkeyBack; txt=text_softkey_back;},
- CBA_BUTTON {id=EAknSoftkeyChange; txt=qtn_msk_change;}
- };
- }
-
-//----------------------------------------------------
-//
-// r_profiles_gs_tones_view_title
-// Tones view title.
-//
-//----------------------------------------------------
-//
-RESOURCE TBUF r_profiles_gs_tones_view_title
- {
- buf = qtn_set_title_pers_tones;
- }
-
-//----------------------------------------------------
-//
-// r_profiles_gs_tones_view_caption
-// Tones view caption for plugin
-//
-//----------------------------------------------------
-//
-RESOURCE TBUF r_profiles_gs_tones_view_caption
- {
- buf = qtn_set_pers_tones;
- }
-
-//----------------------------------------------------
-//
-// r_profiles_gs_tones_view_updated_note
-// Active profile changed. View updated -note
-//
-//----------------------------------------------------
-//
-RESOURCE TBUF r_profiles_gs_tones_view_updated_note
- {
- buf = qtn_profiles_info_tones_view_updated;
- }
-
-//----------------------------------------------------
-//
-// r_profiles_gs_options_menubar
-// Options menu with 'Change' and 'Exit' items.
-//
-//----------------------------------------------------
-//
-RESOURCE MENU_BAR r_profiles_gs_options_menubar
- {
- titles =
- {
- MENU_TITLE
- {
- menu_pane = r_profiles_gs_options_menupane;
- }
- };
- }
-
-//----------------------------------------------------
-//
-// r_profiles_gs_menu_item_change
-// Options menu item 'Change'.
-//
-//----------------------------------------------------
-//
-RESOURCE MENU_PANE r_profiles_gs_menu_item_change
- {
- items =
- {
- MENU_ITEM
- {
- command = EProfilesGsTonesCmdChange;
- txt = qtn_options_change;
- }
- };
- }
-
-//----------------------------------------------------
-//
-// r_profiles_gs_options_menupane
-// Options menu of GS tones view
-//
-//----------------------------------------------------
-//
-RESOURCE MENU_PANE r_profiles_gs_options_menupane
- {
- items =
- {
- MENU_ITEM
- {
- command = EProfilesGsTonesCmdChange;
- txt = qtn_options_change;
- },
- MENU_ITEM
- {
- command = EAknCmdHelp;
- txt = qtn_options_help;
- },
- MENU_ITEM
- {
- command = EAknCmdExit;
- txt = qtn_options_exit;
- }
- };
- }
-
-// -----------------------------------------------------------------------------
-//
-// r_profile_gs_tones_view_setting_item_list
-// ?description
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE AVKON_SETTING_ITEM_LIST r_profile_gs_tones_view_setting_item_list
- {
- items =
- {
- AVKON_SETTING_ITEM
- {
- identifier = EProfileSettingRingingToneId;
- name = qtn_mode_ringing_tone;
- },
- AVKON_SETTING_ITEM
- {
- identifier = EProfileSettingRingingToneLine1Id;
- name = qtn_mode_line1_tone;
- },
- AVKON_SETTING_ITEM
- {
- identifier = EProfileSettingRingingToneLine2Id;
- name = qtn_mode_line2_tone;
- },
- AVKON_SETTING_ITEM
- {
- identifier = EProfileSettingVideoCallToneId;
- name = qtn_mode_vt_tone;
- },
- AVKON_SETTING_ITEM
- {
- identifier = EProfileSettingTTSRingingToneId;
- name = qtn_mode_tts_ringing_tone;
- setting_page_resource = r_profile_tts_tones_setting_page;
- associated_resource = r_profile_tts_setting_texts;
- },
- AVKON_SETTING_ITEM
- {
- identifier = EProfileSettingRingingTypeId;
- name = qtn_mode_ringing_type_2;
- setting_page_resource = r_profile_ringing_type_setting_page;
- associated_resource = r_profile_ringing_type_setting_texts;
- },
- AVKON_SETTING_ITEM
- {
- identifier = EProfileSettingRingingVolumeId;
- name = qtn_mode_ringing_volume;
- setting_page_resource = r_profile_ringing_volume_setting_page;
- },
- AVKON_SETTING_ITEM
- {
- identifier = EProfileSettingMessageAlertToneId;
- name = qtn_mode_message_tone;
- },
- AVKON_SETTING_ITEM
- {
- identifier = EProfileSettingEmailAlertToneId;
- name = qtn_profiles_e_mail_tone;
- },
- AVKON_SETTING_ITEM
- {
- identifier = EProfileGSTonesPluginSettingCalendarToneId;
- name = qtn_profiles_calendar_tone;
- },
- AVKON_SETTING_ITEM
- {
- identifier = EProfileGSTonesPluginSettingClockToneId;
- name = qtn_profiles_clock_tone;
- },
- AVKON_SETTING_ITEM
- {
- identifier = EProfileSettingVibratingAlertId;
- name = qtn_mode_vibrating_alert;
- setting_page_resource = r_profile_vibrating_alert_setting_page;
- associated_resource = r_profile_vibrating_alert_setting_texts;
- },
- AVKON_SETTING_ITEM
- {
- identifier = EProfileSettingKeypadVolumeId;
- name = qtn_mode_keypad_volume;
- setting_page_resource = r_profile_keypad_volume_setting_page;
- associated_resource = r_profile_keypad_volume_setting_texts;
- },
- AVKON_SETTING_ITEM
- {
- identifier = EProfileSettingWarningAndGameTonesId;
- name = qtn_mode_warning_game;
- setting_page_resource = r_profile_warning_tones_setting_page;
- associated_resource = r_profile_warning_alert_setting_texts;
- },
- AVKON_SETTING_ITEM
- {
- identifier = EProfileGSTonesPluginSettingHacModeId;
- name = qtn_set_audio_hac_mode;
- setting_page_resource = r_profile_hac_mode_setting_page;
- associated_resource = r_profile_hac_mode_setting_texts;
- }
- };
- }
-
-// -----------------------------------------------------------------------------
-//
-// r_qtn_no_personal_tone
-// Default tone text used in Calendar/Clock alarm tone selection list.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_qtn_no_personal_tone
- {
- buf = qtn_tc_no_personal_tone;
- }
-
-// -----------------------------------------------------------------------------
-//
-// r_profile_hac_mode_setting_page
-// Setting page resource for Hearing aid compatibility setting item.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE AVKON_SETTING_PAGE r_profile_hac_mode_setting_page
- {
- label = qtn_set_audio_hac_mode;
- softkey_resource = R_AVKON_SOFTKEYS_OK_CANCEL__OK;
- type = EAknCtPopupSettingList;
- editor_resource_id = r_profile_empty_popup_setting_list_control;
- }
-
-// -----------------------------------------------------------------------------
-//
-// r_profile_vibrating_alert_setting_texts
-// ?description
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE AVKON_POPUP_SETTING_TEXTS r_profile_hac_mode_setting_texts
- {
- setting_texts_resource = r_profile_hac_mode_texts_and_values;
- }
-
-// -----------------------------------------------------------------------------
-//
-// r_profile_vibrating_alert_texts_and_values
-// ?description
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE ARRAY r_profile_hac_mode_texts_and_values
- {
- items =
- {
- AVKON_ENUMERATED_TEXT { value = 1; text = qtn_set_audio_hac_mode_on; },
- AVKON_ENUMERATED_TEXT { value = 0; text = qtn_set_audio_hac_mode_off; }
- };
- }
-
-// End of File
-
--- a/profilesapplication/Profiles/ProfilesGSTonesPlugin/group/ProfilesGSTonesPlugin.mmp Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,95 +0,0 @@
-/*
-* Copyright (c) 2005 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: Resource file for plugin.
-*
-*/
-
-// To get the APP_LAYER_SYSTEMINCLUDE-definition
-#include <platform_paths.hrh>
-#include <data_caging_paths.hrh> // For RESOURCE_FILES_DIR
-
-CAPABILITY CAP_ECOM_PLUGIN
-TARGET ProfilesGSTonesPlugin.dll
-TARGETTYPE PLUGIN
-UID 0x10009D8D 0x1020729B
-VENDORID VID_DEFAULT
-
-SOURCEPATH ../src
-SOURCE CProfilesGSTonesViewFeatures.cpp
-SOURCE CProfilesGSTonesViewSettings.cpp
-SOURCE CProfilesGSTonesPluginFileListSettingItem.cpp
-SOURCE CProfilesGSTonesPluginSettingsHandler.cpp
-SOURCE CProfilesGSTonesPluginSettingsHandlerDrmFull.cpp
-LIBRARY drmhelper.lib
-SOURCE ProfilesGSTonesPlugin.cpp
-SOURCE ProfilesGSTonesPluginImplementationTable.cpp
-
-SOURCEPATH ../../ProfileApp/UiSrc
-SOURCE CProfileNaviPaneContainer.cpp
-
-USERINCLUDE ../../group
-USERINCLUDE ../../ProfileApp/group
-USERINCLUDE ../src
-USERINCLUDE ../inc
-USERINCLUDE ../data
-
-SYSTEMINCLUDE ../../ProfileApp/SettingsViewInc
-SYSTEMINCLUDE ../../ProfileApp/SettingsViewSrc
-SYSTEMINCLUDE ../../ProfileApp/UiSrc
-SYSTEMINCLUDE ../../ProfileEngine/EngInc
-SYSTEMINCLUDE ../../../inc
-
-APP_LAYER_SYSTEMINCLUDE
-SYSTEMINCLUDE /epoc32/include/ecom
-
-
-SOURCEPATH ../data
-
-START RESOURCE 1020729B.rss
-TARGET ProfilesGSTonesPlugin.rsc
-END
-
-// View resources
-START RESOURCE ProfilesGSTonesPluginRsc.rss
-HEADER
-TARGETPATH RESOURCE_FILES_DIR
-LANGUAGE_IDS
-END
-
-
-LIBRARY euser.lib
-LIBRARY ecom.lib
-LIBRARY efsrv.lib
-LIBRARY avkon.lib
-LIBRARY bafl.lib
-LIBRARY cone.lib
-LIBRARY eikcoctl.lib
-LIBRARY eikcore.lib
-LIBRARY commonengine.lib// For RConeResourceLoader
-LIBRARY featmgr.lib // Feature Manager
-LIBRARY GSEcomPlugin.lib
-LIBRARY GSFramework.lib
-LIBRARY centralrepository.lib
-LIBRARY CenRepNotifHandler.lib
-LIBRARY filelist.lib
-LIBRARY profilesettingsview.lib
-LIBRARY hlplch.lib
-LIBRARY ProfileEng.lib
-LIBRARY aknnotify.lib // CAknGlobalNote
-
-
-
-// End of File
-SOURCEPATH ../src
-SOURCE CProfilesGSTonesPluginSettingsHandlerDrmEmpty.cpp
--- a/profilesapplication/Profiles/ProfilesGSTonesPlugin/group/bld.inf Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-/*
-* Copyright (c) 2002 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: This file provides the information required for building ProfilesGSTones.
-*
-*/
-
-// To get the APP_LAYER_LOC_EXPORT_PATH-definition
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
- DEFAULT
-
-PRJ_EXPORTS
-../loc/ProfilesGSTonesPlugin.loc APP_LAYER_LOC_EXPORT_PATH(ProfilesGSTonesPlugin.loc)
-
-PRJ_MMPFILES
-
-#ifdef RD_GS_RENOVATION
-ProfilesGSTonesPlugin.mmp
-#endif // RD_GS_RENOVATION
-
-// End of File
--- a/profilesapplication/Profiles/ProfilesGSTonesPlugin/inc/ProfilesGSTonesPlugin.h Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,195 +0,0 @@
-/*
-* Copyright (c) 2005 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: Header file for plugin.
-*
-*/
-
-
-#ifndef PROFILESGSTONESPLUGIN_H
-#define PROFILESGSTONESPLUGIN_H
-
-// Includes
-#include <GSPluginInterface.h>
-#include <coneresloader.h>
-#include <MProfileViewHandler.h>
-#include <MProfileChangeObserver.h>
-
-
-// FORWARD DECLARATIONS
-class CProfileSettingsContainer;
-class CProfileGSTonesTopControl;
-class CProfilesGSTonesPluginSettingsHandler;
-class CProfileEngineHandler;
-class MProfilesLocalFeatures;
-class CProfileChangeNotifyHandler;
-class CProfileNaviPaneContainer;
-
-// CLASS DECLARATION
-
-
-/**
-* This interceptor control sits on top of the component stack. Its only purpose
-* is to route focus events to CProfileSettingsContainer. Key events are not
-* handled at all, they just fall through this component.
-*/
-NONSHARABLE_CLASS( CProfileGSTonesTopControl ) : public CCoeControl
- {
- public:
-
- static CProfileGSTonesTopControl* NewL( CCoeControl* aFocusControl );
- void FocusChanged( TDrawNow aDrawNow );
-
- private:
- CCoeControl* iFocusControl;
- };
-
-
-
-
-/**
-* CProfilesGSTonesPlugin view class.
-*
-* @since Series60_3.1
-*/
-class CProfilesGSTonesPlugin : public CGSPluginInterface,
- public MProfileChangeObserver,
- public MProfileViewHandler
- {
- public: // Constructors and destructor
-
- /**
- * Symbian OS two-phased constructor
- * @return
- */
- static CProfilesGSTonesPlugin* NewL( TAny* aInitParams );
-
- /**
- * Destructor.
- */
- ~CProfilesGSTonesPlugin();
-
- public: // From CAknView
-
- /**
- * See base class.
- */
- TUid Id() const;
-
- /**
- * See base class.
- */
- void DoActivateL( const TVwsViewId& aPrevViewId,
- TUid aCustomMessageId,
- const TDesC8& aCustomMessage );
- /**
- * See base class.
- */
- void DoDeactivate();
-
- /**
- * See base class.
- */
- void HandleCommandL( TInt aCommand );
-
- /**
- * See base class.
- */
- void DynInitMenuPaneL( TInt aResourceId, CEikMenuPane* aMenuPane );
-
- public: // From CGSPluginInterface
-
- /**
- * See base class.
- */
- void GetCaptionL( TDes& aCaption ) const;
-
- /**
- * See base class.
- */
- TGSListboxItemTypes ItemType();
-
- /**
- * See base class.
- */
- TInt PluginProviderCategory() const;
-
- /**
- * From MProfileChangeObserver
- */
- void HandleActiveProfileEventL(
- TProfileEvent aProfileEvent, TInt aProfileId );
-
- /**
- * From MProfileViewHandler
- */
- virtual void UpdateClientRect();
-
- /**
- * From MProfileViewHandler
- */
- virtual CAknView& View();
-
- protected: // New functions
-
- /**
- * Shows the information note with the text found from the given
- * resource.
- * @param aResourceId The ID of the resource containing the text to be
- * shown.
- */
- void ShowInfoNoteL( TInt aResourceId );
-
- protected: // Constructors
- /**
- * C++ default constructor.
- */
- CProfilesGSTonesPlugin();
-
- /**
- * Symbian OS default constructor.
- */
- void ConstructL();
-
- private: // Data
-
- // Resource loader.
- RConeResourceLoader iResourceLoader;
-
- /// Own: Container for the profile settings
- CProfileSettingsContainer* iContainer;
-
- /// Own: control needed to get the focus on listbox
- CProfileGSTonesTopControl* iTopControl;
-
- /// Own: handler for the settings external to Profiles
- CProfilesGSTonesPluginSettingsHandler* iSettingsHandler;
-
- /// Own: handler for Profiles Engine
- CProfileEngineHandler* iEngineHandler;
-
- // Own: Profile change notify handler.
- CProfileChangeNotifyHandler* iNotifier;
-
- // Own: Navi pane container.
- CProfileNaviPaneContainer* iNaviPaneContainer;
-
- // The ID of the previously active profile
- TInt iPreviousProfile;
- };
-
-
-#endif // PROFILESGSTONESPLUGIN_H
-
-// End of File
-
--- a/profilesapplication/Profiles/ProfilesGSTonesPlugin/inc/ProfilesGSTonesPlugin.hrh Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,43 +0,0 @@
-/*
-* Copyright (c) 2003, 2004 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: Resource header file for the plugin.
-*
-*/
-
-
-#ifndef PROFILESGSTONESPLUGIN_HRH
-#define PROFILESGSTONESPLUGIN_HRH
-
-// CONSTANTS
-
-// DATA TYPES
-
-enum TProfilesGsTonesCommandIds
- {
- EProfilesGsTonesCmdChange = 1 // available from menu in settings list
- };
-
-enum TProfileGSTonesSettingItemIds
- {
- // Start from 100 to not to collapse with the setting item IDs in Profiles
- // App:
- EProfileGSTonesPluginSettingCalendarToneId = 100,
- EProfileGSTonesPluginSettingClockToneId = 101,
- EProfileGSTonesPluginSettingHacModeId = 102
- };
-
-#endif // PROFILESGSTONESPLUGIN_HRH
-
-
-// End of File
--- a/profilesapplication/Profiles/ProfilesGSTonesPlugin/loc/ProfilesGsTonesPlugin.loc Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,109 +0,0 @@
-/*
-* Copyright (c) 2006-2006 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: Localization strings for Project ProfilesGsTonesPlugin.
-*
-*/
-
-
-/*
- The syntax of a logical name entry in this file is the following:
-
- // d:context description (line 1)
- // d:context description (line N)
- // l:layout id
- // w:
- // r:release information
- //
- #define qtn_<?feature_or_application>_?freetext "?text"
-
- where
- "qtn_" starts a logical name. Note: "text_" has been used in
- old logical names, but is deprecated.
- "?feature/application" is 2-5 lower-case characters and/or numbers
- identifying the larger context of the display text.
- "?freetext" is the free text portion of the logical name.
- It may contain only lower-case letters ('a' to 'z'), numbers
- ('0' to '9'), and the underscore ('_'). The total length of
- the logical name does must not exceed 50 characters.
- "d:" Starts a description line clarifying the entry's context with
- information like:
- - Is a word a verb in imperative or is it a noun? (For instance,
- what does "Set" mean?)
- - What will replace %U (unicode text parameter) or %N (number
- parameter) included in texts? (For instance, is it a phone
- number or an e-mail address?)
- "l:" Starts a layout id information (one line).
- "P" and "No" are symbols in LAF's information table
- - "P" is parent pane or current pane
- - "No" is reference number in table
- "r:" Starts a release information: one line indicating in which
- S60 release the text was used for the first time.
-
-*/
-
-
-// d:List pane text in General Settings Personalisation view.
-// l:list_setting_pane_t1
-// r:3.1u
-//
-#define qtn_set_pers_tones "Tones"
-
-// d:Title pane text in General Settings Tones view.
-// l:title_pane_t2/opt9
-// r:3.1u
-//
-#define qtn_set_title_pers_tones "Tones"
-
-// d:List pane text for calendar alert tone in General Settings Tones view.
-// l:list_setting_pane_t1
-// r:3.1u
-//
-#define qtn_profiles_calendar_tone "Calendar alert tone"
-
-// d:List pane text for clock alert tone in General Settings Tones view.
-// l:list_setting_pane_t1
-// r:3.1u
-//
-#define qtn_profiles_clock_tone "Clock alert tone"
-
-//d:Default tone selection choice in alarm tone list for Calendar and Clock
-//l:list_set_graphic_pane_t1
-//
-#define qtn_tc_no_personal_tone "Default tone"
-
-//d: Notification about updating of Tones View when the active profile is
-//d: changed.
-//l: popup_note_window
-#define qtn_profiles_info_tones_view_updated "Active profile changed. View updated."
-
-// LOC STRINGS FOR HAC HEARING AID SETTING
-
-// d:List pane text for hearing aid setting in General Settings Tones view.
-// l:list_setting_pane_t1
-// r:3.1
-//
-#define qtn_set_audio_hac_mode "T-coil hearing aid mode"
-
-//d: Profile GS Tones View Settings Item Edit - setting selection data
-//l: list_set_graphic_pane_t1
-//r:3.1
-#define qtn_set_audio_hac_mode_on "On"
-
-//d: Profile GS Tones View Settings Item Edit - setting selection data
-//l: list_set_graphic_pane_t1
-//r:3.1
-#define qtn_set_audio_hac_mode_off "Off"
-
-// End of File
-
--- a/profilesapplication/Profiles/ProfilesGSTonesPlugin/src/CProfilesGSTonesPluginFileListSettingItem.cpp Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,370 +0,0 @@
-/*
-* Copyright (c) 2002 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: Setting item class for tone selection.
-*
-*/
-
-
-
-// CLASS HEADER
-#include "CProfilesGSTonesPluginFileListSettingItem.h"
-
-// INTERNAL INCLUDES
-#include <Profile.hrh> // From Profile Engine
-#include <ProfileSettingsView.hrh>
-#include "ProfilesGSTonesPlugin.hrh"
-#include <ProfilesGSTonesPluginRsc.rsg>
-#include "MProfilesGSTonesPluginItemDataInterface.h"
-#include "ProfilesDebug.h"
-
-// SYSTEM INCLUDES
-#include <centralrepository.h>
-#include <coemain.h>
-#include <CFLDFileListContainer.h>
-#include <stringloader.h>
-#include <data_caging_path_literals.hrh>
-#include <ProfileEngineInternalCRKeys.h>
-#include <HWRMVibraSDKCRKeys.h>
-#include <CLFContentListing.hrh>
-
-namespace
- {
-// CONSTANTS
- _LIT( KIgnoredExtension, ".RNG" );
- _LIT( KProfileSilentTone, "Z:No_Sound.wav" );
- // MIME types that should not be shown by FileList
- _LIT( KProfileTypeMpegUrl, "audio/mpegurl" );
- _LIT( KProfileTypeRaPlugin, "audio/x-pn-realaudio-plugin" );
-#ifndef __WMA
- _LIT( KProfileTypeWma, "audio/x-ms-wma" );
-#endif
- }
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CProfilesGSTonesPluginFileListSettingItem::CProfilesGSTonesPluginFileListSettingItem
-// C++ constructor can NOT contain any code, that might leave.
-// -----------------------------------------------------------------------------
-//
-CProfilesGSTonesPluginFileListSettingItem::CProfilesGSTonesPluginFileListSettingItem(
- TInt aIdentifier,
- const TDesC& aDefaultToneFileName,
- CCoeEnv* aCoeEnv,
- MProfilesGSTonesPluginItemDataInterface& aDataInterface )
- : CAknSettingItem( aIdentifier ),
- iDefaultToneFileName( aDefaultToneFileName ),
- iCoeEnv( aCoeEnv ),
- iDataInterface( aDataInterface )
- {
- }
-
-// Destructor
-CProfilesGSTonesPluginFileListSettingItem::~CProfilesGSTonesPluginFileListSettingItem()
- {
- PRODEBUG( "~CProfilesGSTonesPluginFileListSettingItem" );
- if( iVibraNotifyHandler )
- {
- iVibraNotifyHandler->StopListening();
- }
-
- if( iTypeNotifyHandler )
- {
- iTypeNotifyHandler->StopListening();
- }
-
- if( iVolumeNotifyHandler )
- {
- iVolumeNotifyHandler->StopListening();
- }
-
- delete iVibraNotifyHandler;
- delete iTypeNotifyHandler;
- delete iVolumeNotifyHandler;
-
- delete iSession;
- delete iVibraSession;
-
- delete iTitle;
- delete iNoSoundFileName;
- delete iNoSoundText;
-
- delete iDefaultToneText;
- delete iFileListContainer;
- PRODEBUG( "~CProfilesGSTonesPluginFileListSettingItem end" );
- }
-
-// -----------------------------------------------------------------------------
-// CProfilesGSTonesPluginFileListSettingItem::CompleteConstructionL
-// -----------------------------------------------------------------------------
-//
-void CProfilesGSTonesPluginFileListSettingItem::CompleteConstructionL()
- {
- PRODEBUG( "CProfilesGSTonesPluginFileListSettingItem::CompleteConstr begin" );
- iNoSoundText =
- StringLoader::LoadL( R_PROFILE_TEXT_NONE );
-
- TFileName fileName;
- TParse* fp = new(ELeave) TParse();
- fp->Set(KProfileSilentTone, &KDC_RESOURCE_FILES_DIR, NULL);
- fileName.Copy( fp->FullName() );
- delete fp;
- iNoSoundFileName = fileName.AllocL();
- iTitle =
- StringLoader::LoadL( R_PROFILE_TEXT_SELECT_TONE );
-
- iVibraSession = CRepository::NewL(KCRUidVibraCtrl);
- iSession = CRepository::NewL(KCRUidProfileEngine);
- ReadMaxToneFileSizeL( *iSession );
-
- iVibraNotifyHandler = CCenRepNotifyHandler::NewL(*this,
- *iVibraSession,
- CCenRepNotifyHandler::EIntKey,
- KVibraCtrlProfileVibraEnabled);
-
- User::LeaveIfError( iVibraSession->Get( KVibraCtrlProfileVibraEnabled, iVibratingAlert ) );
-
- iVibraNotifyHandler->StartListeningL();
-
- if( Identifier() == EProfileGSTonesPluginSettingCalendarToneId )
- {
- iVolumeNotifyHandler = CCenRepNotifyHandler::NewL(*this,
- *iSession,
- CCenRepNotifyHandler::EIntKey,
- KProEngActiveRingingVolume);
-
- iTypeNotifyHandler = CCenRepNotifyHandler::NewL(*this,
- *iSession,
- CCenRepNotifyHandler::EIntKey,
- KProEngActiveRingingType);
-
- User::LeaveIfError( iSession->Get( KProEngActiveRingingVolume,
- iRingingVolume ) );
- User::LeaveIfError( iSession->Get( KProEngActiveRingingType,
- iRingingType ) );
-
- iVolumeNotifyHandler->StartListeningL();
- iTypeNotifyHandler->StartListeningL();
- }
-
- iDefaultToneText = StringLoader::LoadL(R_QTN_NO_PERSONAL_TONE, iCoeEnv);
- iInternalToneFileName.Copy( iDataInterface.ItemData() );
- PRODEBUG( "CProfilesGSTonesPluginFileListSettingItem::CompleteConstr end" );
- }
-
-// -----------------------------------------------------------------------------
-// CProfilesGSTonesPluginFileListSettingItem::StoreL
-// -----------------------------------------------------------------------------
-//
-void CProfilesGSTonesPluginFileListSettingItem::StoreL()
- {
- if( iInternalToneFileName.Length() == 0 )
- {
- iInternalToneFileName = *iNoSoundFileName; // No_Sound.wav
- }
- iDataInterface.SetItemDataL( iInternalToneFileName );
- }
-
-// -----------------------------------------------------------------------------
-// CProfilesGSTonesPluginFileListSettingItem::LoadL
-// -----------------------------------------------------------------------------
-//
-void CProfilesGSTonesPluginFileListSettingItem::LoadL()
- {
- iInternalToneFileName.Copy( iDataInterface.ItemData() );
- if( iInternalToneFileName.Length() == 0 )
- {
- iInternalToneFileName = *iNoSoundFileName;
- }
- }
-
-// -----------------------------------------------------------------------------
-// CProfilesGSTonesPluginFileListSettingItem::EditItemL
-// -----------------------------------------------------------------------------
-//
-void CProfilesGSTonesPluginFileListSettingItem::EditItemL( TBool /* aCalledFromMenu */ )
- {
- PRODEBUG( "CProfilesGSTonesPluginFileListSettingItem::EditItemL begin" );
- TInt ringingType( iRingingType );
- TInt volume( iRingingVolume );
- TInt id( Identifier() );
- if( id == EProfileGSTonesPluginSettingCalendarToneId )
- {
- if( ( ringingType != EProfileRingingTypeBeepOnce ) &&
- ( ringingType != EProfileRingingTypeSilent ) )
- {
- ringingType = EProfileRingingTypeRinging;
- }
- }
- else // Clock alert tone
- {
- ringingType = EProfileRingingTypeRinging;
- volume = EProfileRingingVolumeLevel7;
- }
-
- PRODEBUG( "CProfilesGSTonesPluginFileListSettingItem::EditItemL before FLD constr" );
-
- iFileListContainer = CFLDFileListContainer::NewL();
- PRODEBUG( "CProfilesGSTonesPluginFileListSettingItem::EditItemL after FLD constr" );
-
-
- iFileListContainer->InsertNullItemL( *iDefaultToneText, iDefaultToneFileName );
- // Add "Off" as the last item in tone selection list.
- iFileListContainer->InsertEndNullItemL( *iNoSoundText, *iNoSoundFileName );
- iFileListContainer->SetRingingType( ringingType );
- iFileListContainer->SetVolume( volume );
- iFileListContainer->SetVibra( iVibratingAlert );
- iFileListContainer->AddExclusiveMimeTypeL( KProfileTypeMpegUrl );
- iFileListContainer->AddExclusiveMimeTypeL( KProfileTypeRaPlugin );
-#ifndef __WMA
- iFileListContainer->AddExclusiveMimeTypeL( KProfileTypeWma );
-#endif
- iFileListContainer->AddExclusiveMediaTypeL( ECLFMediaTypeVideo );
-
- if( id == EProfileGSTonesPluginSettingCalendarToneId )
- {
- iFileListContainer->SetAutomatedType(
- CDRMHelper::EAutomatedTypeCalendarAlarm );
- }
- else
- {
- iFileListContainer->SetAutomatedType(
- CDRMHelper::EAutomatedTypeClockAlarm );
- }
-
- // Size limit for voice call tone files
- if ( ( id == EProfileSettingRingingToneId ||
- id == EProfileSettingRingingToneLine1Id ||
- id == EProfileSettingRingingToneLine2Id ) && iSizeLimit )
- {
- iFileListContainer->SetMaxFileSize( iSizeLimit );
- }
-
- // Launch File List Dialog
- PRODEBUG( "CProfilesGSTonesPluginFileListSettingItem::EditItemL before FLD launch" );
- TBool returnValue( iFileListContainer->LaunchL( iInternalToneFileName, *iTitle ) );
- PRODEBUG( "CProfilesGSTonesPluginFileListSettingItem::EditItemL after FLD launch" );
- if( returnValue )
- {
- // Setting Oked.
- iDataInterface.SetItemDataL( iInternalToneFileName );
- UpdateListBoxTextL();
- }
-
- delete iFileListContainer;
- iFileListContainer = NULL;
- PRODEBUG( "CProfilesGSTonesPluginFileListSettingItem::EditItemL end" );
- }
-
-// -----------------------------------------------------------------------------
-// CProfilesGSTonesPluginFileListSettingItem::SettingTextL
-// -----------------------------------------------------------------------------
-//
-const TDesC& CProfilesGSTonesPluginFileListSettingItem::SettingTextL()
- {
- PRODEBUG( "CProfilesGSTonesPluginFileListSettingItem::SettingTextL begin" );
- if( iInternalToneFileName.Length() > 0 )
- {
- // FLD has returned a filename
- if( iInternalToneFileName.CompareF( *iNoSoundFileName ) == 0 )
- {
- // Filename is "No_Sound", return localized text "None"
- iSettingText.Set( *iNoSoundText );
- }
- else if( iInternalToneFileName.CompareF( iDefaultToneFileName ) == 0 )
- {
- // Filename is "No_Sound", return localized text "None"
- iSettingText.Set( *iDefaultToneText );
- }
- else
- {
- // Filename is something else
- TParsePtrC parse( iInternalToneFileName );
- if( parse.Ext().CompareF( KIgnoredExtension ) == 0 )
- {
- iSettingText.Set( parse.Name() );
- }
- else
- {
- iSettingText.Set( parse.NameAndExt() );
- }
- }
- }
- else
- {
- // Filename is an empty descriptor, return localised text "None"
- iSettingText.Set( *iNoSoundText );
- }
- PRODEBUG( "CProfilesGSTonesPluginFileListSettingItem::SettingTextL end" );
- return iSettingText;
- }
-
-// -----------------------------------------------------------------------------
-// CProfilesGSTonesPluginFileListSettingItem::HandleNotifyInt
-// -----------------------------------------------------------------------------
-//
-void CProfilesGSTonesPluginFileListSettingItem::HandleNotifyInt( TUint32 aId,
- TInt aNewValue )
- {
- switch( aId )
- {
- case KVibraCtrlProfileVibraEnabled:
- {
- iVibratingAlert = aNewValue;
- if( iFileListContainer )
- {
- iFileListContainer->SetVibra( iVibratingAlert );
- }
- break;
- }
- case KProEngActiveRingingType:
- {
- iRingingType = aNewValue;
- if( iFileListContainer )
- {
- iFileListContainer->SetRingingType( iRingingType );
- }
- break;
- }
- default: // KProEngActiveRingingVolume
- {
- iRingingVolume = aNewValue;
- if( iFileListContainer )
- {
- iFileListContainer->SetVolume( iRingingVolume );
- }
- break;
- }
- }
-
- }
-
-// -----------------------------------------------------------------------------
-// CProfileFileListSettingItem::ReadMaxToneFileSizeL
-// -----------------------------------------------------------------------------
-//
-void CProfilesGSTonesPluginFileListSettingItem::ReadMaxToneFileSizeL(
- CRepository& aRepository )
- {
- // Set file size limit if configured ON.
- User::LeaveIfError( aRepository.Get( KProEngRingingToneMaxSize,
- iSizeLimit ) );
- if ( iSizeLimit < 0 )
- {
- iSizeLimit = 0;
- }
- iSizeLimit *= KKilo;
- }
-
-// End Of File
--- a/profilesapplication/Profiles/ProfilesGSTonesPlugin/src/CProfilesGSTonesPluginFileListSettingItem.h Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,172 +0,0 @@
-/*
-* Copyright (c) 2002 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: Setting item class for tone selection.
-*
-*/
-
-
-
-#ifndef CPROFILESGSTONESPLUGINFILELISTSETTINGITEM_H
-#define CPROFILESGSTONESPLUGINFILELISTSETTINGITEM_H
-
-// INCLUDES
-#include <aknsettingitemlist.h>
-#include <cenrepnotifyhandler.h>
-
-// FORWARD DECLARATIONS
-class CCoeEnv;
-class CFLDFileListContainer;
-class CRepository;
-class MProfilesGSTonesPluginItemDataInterface;
-
-// CLASS DECLARATION
-/**
-* Setting item class for tone selection.
-* CProfilesGSTonesPluginFileListSettingItem launches File List Dialog common component
-* from which user can select a file for ringing tone.
-*
-* @lib ProfileSettingsView.lib
-* @since 1.2
-*/
-NONSHARABLE_CLASS( CProfilesGSTonesPluginFileListSettingItem ) : public CAknSettingItem,
- public MCenRepNotifyHandlerCallback
- {
-
- public: // Constructors and destructor
-
- /**
- * C++ constructor.
- * @param aIdentifier Resource identifier.
- * Tells which setting item is currently edited.
- * @param aRingingType Describes how the tone is played.
- * @param aRingingVolume The volume how loud the tone is played.
- * @param aVibratingAlert Setting of the vibrating alert.
- * @param aCoeEnv Pointer to Control Environment.
- * @param aDataInterface reference to the interface to the data
- * storage.
- */
- CProfilesGSTonesPluginFileListSettingItem(
- TInt aIdentifier,
- const TDesC& aDefaultToneFileName,
- CCoeEnv* aCoeEnv,
- MProfilesGSTonesPluginItemDataInterface& aDataInterface );
-
- /**
- * Destructor.
- */
- ~CProfilesGSTonesPluginFileListSettingItem();
-
- private: // Functions from base classes
-
- /**
- * From CAknSettingItem
- */
- void CompleteConstructionL();
-
- /**
- * From CAknSettingItem
- */
- void StoreL();
-
- /**
- * From CAknSettingItem
- */
- void LoadL();
-
- /**
- * From CAknSettingItem
- */
- void EditItemL( TBool aCalledFromMenu );
-
- /**
- * From CAknSettingItem
- */
- const TDesC& SettingTextL();
-
- /**
- * From MCenRepNotifyHandlerCallback
- */
- void HandleNotifyInt( TUint32 aId, TInt aNewValue );
-
- private: // New functions
- /**
- * Read the size limitation key from Profiles Central Repository.
- *
- * @param aRepository reference to an open Profiles Cenrep session.
- */
- void ReadMaxToneFileSizeL( CRepository& aRepository );
-
- private: // Data
-
- // Internal buffer for filename of selected tone
- TFileName iInternalToneFileName;
-
- // Ringing type for tone playback
- TInt iRingingType;
-
- // Ringing volume for tone playback
- TInt iRingingVolume;
-
- // Vibrating alert setting for tone playback
- TBool iVibratingAlert;
-
- // Own: Localised text qtn_tc_none
- HBufC* iNoSoundText;
-
- // Own: "No_Sound.wav" file name
- HBufC* iNoSoundFileName;
-
- // Own: Localised text qtn_no_personal_tone
- HBufC* iDefaultToneText;
-
- // Default tone file name
- TFileName iDefaultToneFileName;
-
- // Own: Localised text for title for tone selection
- HBufC* iTitle; /// Title for tone selection
-
- // Text that is returned by SettingTextL
- TPtrC iSettingText;
-
- // Ref: Pointer to Control Environment
- CCoeEnv* iCoeEnv;
-
- // Own: File list container
- CFLDFileListContainer* iFileListContainer;
-
- // Own: Notification handler for active profile vibra setting
- CCenRepNotifyHandler* iVibraNotifyHandler;
-
- // Own: Notification handler for active profile ringing type setting
- CCenRepNotifyHandler* iTypeNotifyHandler;
-
- // Own: Notification handler for active profile ringing volume setting
- CCenRepNotifyHandler* iVolumeNotifyHandler;
-
- // Own: Profiles Central Repository session
- CRepository* iSession;
-
- // Own: Vibra control Central Repository session
- CRepository* iVibraSession;
-
- // The interface to the external data storage
- MProfilesGSTonesPluginItemDataInterface& iDataInterface;
-
- // Holds the size limitation value for ringing tone file size
- TInt iSizeLimit;
- };
-
-#endif // CPROFILESGSTONESPLUGINFILELISTSETTINGITEM_H
-
-// End of File
--- a/profilesapplication/Profiles/ProfilesGSTonesPlugin/src/CProfilesGSTonesPluginSettingsHandler.cpp Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,382 +0,0 @@
-/*
-* Copyright (c) 2002 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: Settings handler for the settings outside of Profiles.
-*
-*/
-
-
-
-// CLASS HEADER
-#include "CProfilesGSTonesPluginSettingsHandler.h"
-
-// INTERNAL INCLUDES
-#include "CProfilesGSTonesPluginFileListSettingItem.h"
-#include "ProfilesGSTonesPlugin.hrh"
-#include "ProfilesDebug.h"
-
-// INCLUDES FROM PROFILES SETTINGS VIEW
-#include <ProfilePanics.h>
-#include <ProfileSettingsView.hrh>
-#include <MProfileExternalSettingsObserver.h>
-
-// SYSTEM INCLUDES
-#include <centralrepository.h>
-#include <CalendarInternalCRKeys.h>
-#include <ClockDomainCRKeys.h>
-#include <ProfileEngineDomainCRKeys.h>
-#include <CoeHelp.h>
-#include <csxhelp/mode.hlp.hrh>
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CProfilesGSTonesPluginSettingsHandler::CProfilesGSTonesPluginSettingsHandler
-// C++ constructor can NOT contain any code, that might leave.
-// -----------------------------------------------------------------------------
-//
-CProfilesGSTonesPluginSettingsHandler::CProfilesGSTonesPluginSettingsHandler(
- CCoeEnv* aCoeEnv )
- : iCoeEnv( aCoeEnv )
- {
- }
-
-// Destructor
-CProfilesGSTonesPluginSettingsHandler::~CProfilesGSTonesPluginSettingsHandler()
- {
- DrmDelete();
- if( iClockNotifyHandler )
- {
- iClockNotifyHandler->StopListening();
- }
- if( iCalendarNotifyHandler )
- {
- iCalendarNotifyHandler->StopListening();
- }
-
- delete iClockNotifyHandler;
- delete iCalendarNotifyHandler;
-
- delete iClockSession;
- delete iCalendarSession;
- delete iCalendarInterface;
- delete iClockInterface;
-
- delete iTonesViewSettings;
- delete iFeatures;
- }
-
-// -----------------------------------------------------------------------------
-// CProfilesGSTonesPluginSettingsHandler::ConstructL
-// -----------------------------------------------------------------------------
-//
-void CProfilesGSTonesPluginSettingsHandler::ConstructL()
- {
- PRODEBUG( "CProfilesGSTonesPluginSettingHandler::ConstructL begin" );
- iFeatures = CProfilesGSTonesViewFeatures::NewL();
- PRODEBUG( "CProfilesGSTonesPluginSettingHandler::ConstructL after features" );
- iTonesViewSettings = CProfilesGSTonesViewSettings::NewL( *iFeatures );
- PRODEBUG( "CProfilesGSTonesPluginSettingHandler::ConstructL after settings" );
-
- iClockSession = CRepository::NewL( KCRUidClockApp );
- iCalendarSession = CRepository::NewL( KCRUidCalendar );
-
- iClockNotifyHandler = CCenRepNotifyHandler::NewL( *this,
- *iClockSession,
- CCenRepNotifyHandler::EStringKey,
- KClockAppSoundFile );
-
- iClockNotifyHandler->StartListeningL();
-
- iCalendarNotifyHandler = CCenRepNotifyHandler::NewL( *this,
- *iCalendarSession,
- CCenRepNotifyHandler::EStringKey,
- KCalendarSoundFile );
-
- iCalendarNotifyHandler->StartListeningL();
-
- User::LeaveIfError( iClockSession->Get( KClockAppSoundFile, iClockTone ) );
- User::LeaveIfError( iCalendarSession->Get( KCalendarSoundFile,
- iCalendarTone ) );
- DrmConstructL();
-
- iCalendarInterface =
- new ( ELeave ) CProfilesGSTonesPluginCalendarDataInterface( *this );
- iClockInterface =
- new ( ELeave ) CProfilesGSTonesPluginClockDataInterface( *this );
- PRODEBUG( "CProfilesGSTonesPluginSettingHandler::ConstructL end" );
- }
-
-// -----------------------------------------------------------------------------
-// CProfilesGSTonesPluginSettingsHandler::NewL
-// -----------------------------------------------------------------------------
-//
-CProfilesGSTonesPluginSettingsHandler*
- CProfilesGSTonesPluginSettingsHandler::NewL( CCoeEnv* aCoeEnv )
- {
- CProfilesGSTonesPluginSettingsHandler* self = new ( ELeave )
- CProfilesGSTonesPluginSettingsHandler( aCoeEnv );
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop( self );
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// CProfilesGSTonesPluginSettingsHandler::CreateSettingItemL
-// -----------------------------------------------------------------------------
-//
-CAknSettingItem* CProfilesGSTonesPluginSettingsHandler::CreateSettingItemL(
- TInt aIdentifier )
- {
- PRODEBUG1( "CProfilesGSTonesPluginSettingHandler::CreateSettingItemL(%d) begin",aIdentifier );
- TFileName defaultToneFile;
- CAknSettingItem* item = NULL;
-
- switch( aIdentifier )
- {
- case EProfileGSTonesPluginSettingCalendarToneId:
- {
- User::LeaveIfError( iCalendarSession->Get( KCalendarDefaultSoundFile,
- defaultToneFile ) );
- item = new ( ELeave ) CProfilesGSTonesPluginFileListSettingItem(
- aIdentifier, defaultToneFile, iCoeEnv, *iCalendarInterface );
- break;
- }
- case EProfileGSTonesPluginSettingClockToneId:
- {
- User::LeaveIfError( iClockSession->Get( KClockAppDefaultSoundFile,
- defaultToneFile ) );
- item = new ( ELeave ) CProfilesGSTonesPluginFileListSettingItem(
- aIdentifier, defaultToneFile, iCoeEnv, *iClockInterface );
-
- break;
- }
- case EProfileGSTonesPluginSettingHacModeId:
- {
- item = new( ELeave ) CAknBinaryPopupSettingItem(
- aIdentifier, iTonesViewSettings->iHac );
- break;
- }
- default:
- {
- User::Panic( KProfilePanicText, EProfilePanicInvalidSettingItemId );
- break;
- }
- }
-
- PRODEBUG1( "CProfilesGSTonesPluginSettingHandler::CreateSettingItemL(%d) end",aIdentifier );
- return item;
- }
-
-// -----------------------------------------------------------------------------
-// CProfilesGSTonesPluginSettingsHandler::SetObserver
-// -----------------------------------------------------------------------------
-//
-void CProfilesGSTonesPluginSettingsHandler::SetObserver(
- MProfileExternalSettingsObserver& aObserver )
- {
- PRODEBUG( "CProfilesGSTonesPluginSettingHandler::SetObserver" );
- iObserver = &aObserver;
- }
-
-// -----------------------------------------------------------------------------
-// CProfilesGSTonesPluginSettingsHandler::AllowedToChange
-// -----------------------------------------------------------------------------
-//
-TBool CProfilesGSTonesPluginSettingsHandler::AllowedToChange(
- TInt aSettingItemId ) const
- {
- switch( aSettingItemId )
- {
- case EProfileGSTonesPluginSettingCalendarToneId: // Fall through
- case EProfileGSTonesPluginSettingClockToneId:
- {
- return ETrue;
- }
- case EProfileGSTonesPluginSettingHacModeId:
- {
- return ( iFeatures->IsLocalFeatureSupported(
- KTonesViewFeatureIdHac ) );
- }
- default:
- {
- return EFalse;
- }
- }
- }
-
-// -----------------------------------------------------------------------------
-// CProfilesGSTonesPluginSettingsHandler::GetHelpContext
-// -----------------------------------------------------------------------------
-//
-TBool CProfilesGSTonesPluginSettingsHandler::GetHelpContext(
- TCoeHelpContext& aContext ) const
- {
- aContext.iContext = KSET_HLP_PERSONAL_TONES;
- return ETrue;
- }
-
-// -----------------------------------------------------------------------------
-// CProfilesGSTonesPluginSettingsHandler::SetHiddenItems
-// -----------------------------------------------------------------------------
-//
-void CProfilesGSTonesPluginSettingsHandler::SetHiddenItems(
- CAknSettingItemArray& aSettingItemArray ) const
- {
- PRODEBUG( "CProfilesGSTonesPluginSettingHandler::SetHiddenItems" );
- TInt count( aSettingItemArray.Count() );
- for( TInt index( 0 ); index < count; index++ )
- {
- CAknSettingItem* item = aSettingItemArray.At( index );
- if( ( item->Identifier() == EProfileGSTonesPluginSettingHacModeId ) )
- {
- PRODEBUG( "CProfilesGSTonesPluginSettingHandler::SetHiddenItems hac" );
- item->SetHidden(
- !iFeatures->IsLocalFeatureSupported( KTonesViewFeatureIdHac ) );
- }
- }
- PRODEBUG( "CProfilesGSTonesPluginSettingHandler::SetHiddenItems end" );
- }
-
-// -----------------------------------------------------------------------------
-// CProfilesGSTonesPluginSettingsHandler::StoreIfChangedL
-// -----------------------------------------------------------------------------
-//
-void CProfilesGSTonesPluginSettingsHandler::StoreIfChangedL( TInt aSettingId )
- {
- PRODEBUG( "CProfilesGSTonesPluginSettingHandler::StoreIfChanged" );
- iTonesViewSettings->StoreIfChangedL( aSettingId );
- PRODEBUG( "CProfilesGSTonesPluginSettingHandler::StoreIfChanged end" );
- }
-
-// -----------------------------------------------------------------------------
-// CProfilesGSTonesPluginSettingsHandler::HandleNotifyString
-// -----------------------------------------------------------------------------
-//
-void CProfilesGSTonesPluginSettingsHandler::HandleNotifyString( TUint32 aId,
- const TDesC16& /* aNewValue */ )
- {
- PRODEBUG1( "CProfilesGSTonesPluginSettingHandler::HandleNotifyString(%d) begin",aId );
- if( aId == KCalendarSoundFile )
- { // cannot leave - ignore return value:
- iCalendarSession->Get( KCalendarSoundFile, iCalendarTone );
- }
- else // Clock sound file
- { // cannot leave - ignore return value:
- iClockSession->Get( KClockAppSoundFile, iClockTone );
- }
- TRAP_IGNORE( iObserver->HandleExternalSettingsChangedL() );
- PRODEBUG1( "CProfilesGSTonesPluginSettingHandler::HandleNotifyString(%d) end",aId );
- }
-
-// -----------------------------------------------------------------------------
-// CProfilesGSTonesPluginSettingsHandler::StoreCalendarToneL
-// -----------------------------------------------------------------------------
-//
-void CProfilesGSTonesPluginSettingsHandler::StoreCalendarToneL(
- const TDesC& aTone )
- {
- PRODEBUG1( "CProfilesGSTonesPluginSettingHandler::StoreCalendarTone(%S)",&aTone );
- if( iCalendarTone.CompareF( aTone ) != 0 )
- {
- User::LeaveIfError(
- iCalendarSession->Set( KCalendarSoundFile, aTone ) );
- RemoveAutomatedContent( iCalendarTone );
- iCalendarTone.Copy( aTone );
- }
- }
-
-// -----------------------------------------------------------------------------
-// CProfilesGSTonesPluginSettingsHandler::StoreClockToneL
-// -----------------------------------------------------------------------------
-//
-void CProfilesGSTonesPluginSettingsHandler::StoreClockToneL(
- const TDesC& aTone )
- {
- PRODEBUG1( "CProfilesGSTonesPluginSettingHandler::StoreClockTone(%S)",&aTone );
- if( iClockTone.CompareF( aTone ) != 0 )
- {
- User::LeaveIfError(
- iClockSession->Set( KClockAppSoundFile, aTone ) );
- RemoveAutomatedContent( iClockTone );
- iClockTone.Copy( aTone );
- }
- }
-
-// -----------------------------------------------------------------------------
-// CProfilesGSTonesPluginCalendarDataInterface::
-// CProfilesGSTonesPluginCalendarDataInterface
-// -----------------------------------------------------------------------------
-//
-CProfilesGSTonesPluginCalendarDataInterface::
-CProfilesGSTonesPluginCalendarDataInterface(
- CProfilesGSTonesPluginSettingsHandler& aSettingsHandler )
- : iSettingsHandler( aSettingsHandler )
- {}
-
-// -----------------------------------------------------------------------------
-// CProfilesGSTonesPluginCalendarDataInterface::ItemData
-// -----------------------------------------------------------------------------
-//
-const TDesC& CProfilesGSTonesPluginCalendarDataInterface::ItemData()
- {
- return iSettingsHandler.iCalendarTone;
- }
-
-// -----------------------------------------------------------------------------
-// CProfilesGSTonesPluginCalendarDataInterface::SetItemDataL
-// -----------------------------------------------------------------------------
-//
-void CProfilesGSTonesPluginCalendarDataInterface::SetItemDataL(
- const TDesC& aDataBuf )
- {
- PRODEBUG( "CProfilesGSTonesPluginCalendarDataInterface::SetItemDataL" );
- iSettingsHandler.StoreCalendarToneL( aDataBuf );
- PRODEBUG( "CProfilesGSTonesPluginCalendarDataInterface::SetItemDataL end" );
- }
-
-// -----------------------------------------------------------------------------
-// CProfilesGSTonesPluginClockDataInterface::
-// CProfilesGSTonesPluginClockDataInterface
-// -----------------------------------------------------------------------------
-//
-CProfilesGSTonesPluginClockDataInterface::
-CProfilesGSTonesPluginClockDataInterface(
- CProfilesGSTonesPluginSettingsHandler& aSettingsHandler )
- : iSettingsHandler( aSettingsHandler )
- {}
-
-// -----------------------------------------------------------------------------
-// CProfilesGSTonesPluginClockDataInterface::ItemData
-// -----------------------------------------------------------------------------
-//
-const TDesC& CProfilesGSTonesPluginClockDataInterface::ItemData()
- {
- return iSettingsHandler.iClockTone;
- }
-
-// -----------------------------------------------------------------------------
-// CProfilesGSTonesPluginClockDataInterface::SetItemDataL
-// -----------------------------------------------------------------------------
-//
-void CProfilesGSTonesPluginClockDataInterface::SetItemDataL(
- const TDesC& aDataBuf )
- {
- PRODEBUG( "CProfilesGSTonesPluginClockDataInterface::SetItemDataL" );
- iSettingsHandler.StoreClockToneL( aDataBuf );
- PRODEBUG( "CProfilesGSTonesPluginClockDataInterface::SetItemDataL end" );
- }
-
-// End Of File
-
--- a/profilesapplication/Profiles/ProfilesGSTonesPlugin/src/CProfilesGSTonesPluginSettingsHandler.h Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,271 +0,0 @@
-/*
-* Copyright (c) 2002 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: Settings handler for the settings outside of Profiles.
-*
-*/
-
-
-
-#ifndef CPROFILESGSTONESPLUGINSETTINGSHANDLER_H
-#define CPROFILESGSTONESPLUGINSETTINGSHANDLER_H
-
-// INCLUDES
-#include <e32base.h>
-#include <cenrepnotifyhandler.h>
-#include <MProfileExternalSettingsHandler.h>
-#include "MProfilesGSTonesPluginItemDataInterface.h"
-#include "CProfilesGSTonesViewFeatures.h"
-#include "CProfilesGSTonesViewSettings.h"
-
-// FORWARD DECLARATIONS
-class CCoeEnv;
-class CRepository;
-class MProfileExternalSettingsObserver;
-class CDRMHelper;
-class CProfilesGSTonesPluginCalendarDataInterface;
-class CProfilesGSTonesPluginClockDataInterface;
-class TCoeHelpContext;
-
-// CLASS DECLARATION
-/**
-* Setting item class for tone selection.
-* CProfilesGSTonesPluginSettingsHandler launches File List Dialog common component
-* from which user can select a file for ringing tone.
-*
-* @lib ProfileSettingsView.lib
-* @since 1.2
-*/
-NONSHARABLE_CLASS( CProfilesGSTonesPluginSettingsHandler )
- : public CBase,
- public MCenRepNotifyHandlerCallback,
- public MProfileExternalSettingsHandler
- {
-
- friend class CProfilesGSTonesPluginCalendarDataInterface; // CSI: 36 # This friend is defined in this very same file
- friend class CProfilesGSTonesPluginClockDataInterface; // CSI: 36 # This friend is defined in this very same file
-
- public: // Constructors and destructor
-
- /**
- * Two-phased constructor.
- */
- static CProfilesGSTonesPluginSettingsHandler* NewL( CCoeEnv* aCoeEnv );
-
- /**
- * Destructor.
- */
- ~CProfilesGSTonesPluginSettingsHandler();
-
- /**
- * Variated destructor.
- */
- void DrmDelete();
-
- private: // Functions from base classes
-
- /**
- * From MCenRepNotifyHandlerCallback
- */
- void HandleNotifyString( TUint32 aId, const TDesC16& aNewValue );
-
- /**
- * From MProfilesExternalSettingsHandler
- */
- CAknSettingItem* CreateSettingItemL( TInt aIdentifier );
-
- /**
- * From MProfilesExternalSettingsHandler
- */
- void SetObserver(
- MProfileExternalSettingsObserver& aObserver );
-
- /**
- * From MProfilesExternalSettingsHandler
- */
- TBool AllowedToChange( TInt aSettingItemId ) const;
-
- /**
- * From MProfilesExternalSettingsHandler
- */
- TBool GetHelpContext( TCoeHelpContext& aContext ) const;
-
- /**
- * From MProfilesExternalSettingsHandler
- */
- void SetHiddenItems( CAknSettingItemArray& aSettingItemArray ) const;
-
- /**
- * From MProfilesExternalSettingsHandler
- */
- void StoreIfChangedL( TInt aSettingId );
-
- protected:
-
- /**
- * C++ constructor.
- */
- CProfilesGSTonesPluginSettingsHandler( CCoeEnv* aCoeEnv );
-
- /**
- * Symbian 2nd phase constructor.
- */
- void ConstructL();
-
- /**
- * Variated constructor.
- */
- void DrmConstructL();
-
- private: // New functions
-
- /**
- * Stores the new Calendar alarm tone in the Central Repository.
- * @param aTone the file to be used as the new Calendar alarm tone.
- */
- void StoreCalendarToneL( const TDesC& aTone );
-
- /**
- * Stores the new Clock alarm tone in the Central Repository.
- * @param aTone the file to be used as the new Clock alarm tone.
- */
- void StoreClockToneL( const TDesC& aTone );
-
- /**
- * Removes the given tone from the list of automated content.
- * @param aOldTone tone to be removed from the automated content list.
- */
- void RemoveAutomatedContent( const TDesC& aOldTone );
-
- private: // Data
-
- /// Ref: Observer for the settings controlled by this handler
- MProfileExternalSettingsObserver* iObserver;
-
- /// Own: Pointer to Central Repository of Clock App
- CRepository* iClockSession;
-
- /// Own: Pointer to Central Repository of Calendar App
- CRepository* iCalendarSession;
-
- /// Own: Pointer to clock alert tone notify handler
- CCenRepNotifyHandler* iClockNotifyHandler;
-
- /// Own: Pointer to calendar alert tone notify handler
- CCenRepNotifyHandler* iCalendarNotifyHandler;
-
- /// Current Clock alert tone
- TFileName iClockTone;
-
- /// Current Calendar alert tone
- TFileName iCalendarTone;
-
- /// Ref: Pointer to the control environment
- CCoeEnv* iCoeEnv;
-
- /// Own: Interface for File list setting item for calendar tone
- CProfilesGSTonesPluginCalendarDataInterface* iCalendarInterface;
-
- /// Own: Interface for File list setting item for clock tone
- CProfilesGSTonesPluginClockDataInterface* iClockInterface;
-
- /// Own: Drm helper for removing automated content when needed:
- CDRMHelper* iDrmHelper;
-
- /// Own: The variable features of Tones View
- CProfilesGSTonesViewFeatures* iFeatures;
-
- /// Own: The settings only in Tones View
- CProfilesGSTonesViewSettings* iTonesViewSettings;
- };
-
-// This friend class of CProfilesGSTonesPluginSettingsHandler provides the
-// interface for the setting item to actually load and store the Calendar
-// alert tone name to the handler above.
-NONSHARABLE_CLASS( CProfilesGSTonesPluginCalendarDataInterface )
- : public CBase,
- public MProfilesGSTonesPluginItemDataInterface
- {
- public: // Constructors and destructor
-
- /**
- * C++ constructor.
- */
- CProfilesGSTonesPluginCalendarDataInterface(
- CProfilesGSTonesPluginSettingsHandler& aSettingsHandler );
-
- /**
- * Destructor.
- */
- ~CProfilesGSTonesPluginCalendarDataInterface() {};
-
- private: // Functions from base classes
-
- /**
- * From MProfilesGSTonesPluginItemDataInterface
- */
- virtual const TDesC& ItemData();
-
- /**
- * From MProfilesGSTonesPluginItemDataInterface
- */
- virtual void SetItemDataL( const TDesC& aDataBuf );
-
- private: // Data
-
- /// Settings handler containing the setting to be controlled
- CProfilesGSTonesPluginSettingsHandler& iSettingsHandler;
- };
-
-// This friend class of CProfilesGSTonesPluginSettingsHandler provides the
-// interface for the setting item to actually load and store the Clock
-// alert tone name to the handler above.
-NONSHARABLE_CLASS( CProfilesGSTonesPluginClockDataInterface )
- : public CBase,
- public MProfilesGSTonesPluginItemDataInterface
- {
- public: // Constructors and destructor
-
- /**
- * C++ constructor.
- */
- CProfilesGSTonesPluginClockDataInterface(
- CProfilesGSTonesPluginSettingsHandler& aSettingsHandler );
-
- /**
- * Destructor.
- */
- ~CProfilesGSTonesPluginClockDataInterface() {};
-
- private: // Functions from base classes
-
- /**
- * From MProfilesGSTonesPluginItemDataInterface
- */
- virtual const TDesC& ItemData();
-
- /**
- * From MProfilesGSTonesPluginItemDataInterface
- */
- virtual void SetItemDataL( const TDesC& aDataBuf );
-
- private: // Data
-
- /// Settings handler containing the setting to be controlled
- CProfilesGSTonesPluginSettingsHandler& iSettingsHandler;
- };
-
-#endif // CPROFILESGSTONESPLUGINSETTINGSHANDLER_H
-
-// End of File
-
--- a/profilesapplication/Profiles/ProfilesGSTonesPlugin/src/CProfilesGSTonesPluginSettingsHandlerDrmEmpty.cpp Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,55 +0,0 @@
-/*
-* Copyright (c) 2002 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: Settings handler for the settings outside of Profiles.
-*
-*/
-
-
-
-// CLASS HEADER
-#include "CProfilesGSTonesPluginSettingsHandler.h"
-
-#include <DRMHelper.h>
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CProfilesGSTonesPluginSettingsHandler::RemoveAutomatedContent
-// -----------------------------------------------------------------------------
-//
-void CProfilesGSTonesPluginSettingsHandler::RemoveAutomatedContent(
- const TDesC& aOldTone )
- {
- }
-
-// -----------------------------------------------------------------------------
-// CProfilesGSTonesPluginSettingsHandler::DrmConstructL
-// -----------------------------------------------------------------------------
-//
-void CProfilesGSTonesPluginSettingsHandler::DrmConstructL()
- {
- }
-
-// -----------------------------------------------------------------------------
-// CProfilesGSTonesPluginSettingsHandler::DrmDelete
-// -----------------------------------------------------------------------------
-//
-void CProfilesGSTonesPluginSettingsHandler::DrmDelete()
- {
- }
-
-// End Of File
-
-
-
--- a/profilesapplication/Profiles/ProfilesGSTonesPlugin/src/CProfilesGSTonesPluginSettingsHandlerDrmFull.cpp Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,57 +0,0 @@
-/*
-* Copyright (c) 2002 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: Settings handler for the settings outside of Profiles.
-*
-*/
-
-
-
-// CLASS HEADER
-#include "CProfilesGSTonesPluginSettingsHandler.h"
-
-#include <DRMHelper.h>
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CProfilesGSTonesPluginSettingsHandler::RemoveAutomatedContent
-// -----------------------------------------------------------------------------
-//
-void CProfilesGSTonesPluginSettingsHandler::RemoveAutomatedContent(
- const TDesC& aOldTone )
- {
- iDrmHelper->RemoveAutomatedPassive( aOldTone ); // ignore return value
- }
-
-// -----------------------------------------------------------------------------
-// CProfilesGSTonesPluginSettingsHandler::DrmConstructL
-// -----------------------------------------------------------------------------
-//
-void CProfilesGSTonesPluginSettingsHandler::DrmConstructL()
- {
- iDrmHelper = CDRMHelper::NewL( *iCoeEnv );
- }
-
-// -----------------------------------------------------------------------------
-// CProfilesGSTonesPluginSettingsHandler::DrmDelete
-// -----------------------------------------------------------------------------
-//
-void CProfilesGSTonesPluginSettingsHandler::DrmDelete()
- {
- delete iDrmHelper;
- iDrmHelper = NULL;
- }
-
-// End Of File
-
--- a/profilesapplication/Profiles/ProfilesGSTonesPlugin/src/CProfilesGSTonesViewFeatures.cpp Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,86 +0,0 @@
-/*
-* Copyright (c) 2006 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: Wraps the information about variable features of GS Tones
-* View.
-*
-*/
-
-
-
-// CLASS HEADER
-#include "CProfilesGSTonesViewFeatures.h"
-
-// INTERNAL INCLUDES
-#include "ProfilesDebug.h"
-
-// SYSTEM INCLUDES
-#include <centralrepository.h>
-#include <ProfileEngineDomainCRKeys.h>
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// Destructor
-CProfilesGSTonesViewFeatures::~CProfilesGSTonesViewFeatures()
- {
- }
-
-// -----------------------------------------------------------------------------
-// CProfilesGSTonesViewFeatures::ConstructL
-// -----------------------------------------------------------------------------
-//
-void CProfilesGSTonesViewFeatures::ConstructL()
- {
- PRODEBUG( "CProfilesGSTonesViewFeatures::ConstructL begin" );
- CRepository* profilesLVSession = CRepository::NewLC( KCRUidProfilesLV );
- TInt error( profilesLVSession->Get( KProEngTonesViewLVFlags,
- iLocalFeatures ) );
- // If the key isn't found, all the local features are disabled:
- if( error && ( error != KErrNotFound ) )
- {
- User::Leave( error );
- }
-
- CleanupStack::PopAndDestroy( profilesLVSession );
- PRODEBUG( "CProfilesGSTonesViewFeatures::ConstructL end" );
- }
-
-// -----------------------------------------------------------------------------
-// CProfilesGSTonesViewFeatures::NewL
-// -----------------------------------------------------------------------------
-//
-CProfilesGSTonesViewFeatures*
- CProfilesGSTonesViewFeatures::NewL()
- {
- CProfilesGSTonesViewFeatures* self = new ( ELeave )
- CProfilesGSTonesViewFeatures();
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop( self );
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// CProfilesGSTonesViewFeatures::IsLocalFeatureSupported
-// -----------------------------------------------------------------------------
-//
-TBool CProfilesGSTonesViewFeatures::IsLocalFeatureSupported(
- TUint32 aFeatureId ) const
- {
- return ( iLocalFeatures & aFeatureId );
- }
-
-// End Of File
-
-
-
--- a/profilesapplication/Profiles/ProfilesGSTonesPlugin/src/CProfilesGSTonesViewFeatures.h Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,80 +0,0 @@
-/*
-* Copyright (c) 2006 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: Wraps the information about variable features of GS Tones
-* View.
-*
-*/
-
-
-
-#ifndef CPROFILESGSTONESVIEWFEATURES_H
-#define CPROFILESGSTONESVIEWFEATURES_H
-
-// INCLUDES
-#include <e32base.h>
-
-// CONSTANTS
-
-// FORWARD DECLARATIONS
-
-// CLASS DECLARATION
-/**
-* Contains the information about variated features of GS Tones View.
-*
-* @lib ProfilesGSTonesPlugin.lib
-* @since 3.1
-*/
-NONSHARABLE_CLASS( CProfilesGSTonesViewFeatures ) : public CBase
- {
- public: // Constructor and destructor
-
- static CProfilesGSTonesViewFeatures* NewL();
-
- /**
- * Destructor.
- */
- ~CProfilesGSTonesViewFeatures();
-
- public: // New functions
-
- /**
- * Checks if the given locally variated feature is enabled.
- * @param aFeatureId the feature id Tones view features as specified in
- * ProfileEngineDomainCRKeys.h
- * @return ETrue is the given feature is supported, false otherwise.
- */
- TBool IsLocalFeatureSupported( TUint32 aFeatureId ) const;
-
- private: // constructors
- /**
- * C++ default constructor.
- */
- CProfilesGSTonesViewFeatures() {};
-
- /**
- * Symbian constructor.
- */
- void ConstructL();
-
- private: // Data
-
- // Local features of Tones View
- TInt iLocalFeatures;
-
- };
-
-#endif // CPROFILESGSTONESVIEWFEATURES_H
-
-// End of File
-
--- a/profilesapplication/Profiles/ProfilesGSTonesPlugin/src/CProfilesGSTonesViewSettings.cpp Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,96 +0,0 @@
-/*
-* Copyright (c) 2006 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: Data structure class for profile tones view settings.
-*
-*/
-
-
-
-// CLASS HEADER
-#include "CProfilesGSTonesViewSettings.h"
-
-// INTERNAL INCLUDES
-#include "ProfilesGSTonesPlugin.hrh"
-#include "ProfilesDebug.h"
-#include "CProfilesGSTonesViewFeatures.h"
-
-// INCLUDES FROM PROFILES SETTINGS VIEW
-
-// SYSTEM INCLUDES
-#include <centralrepository.h>
-#include <HWRMDomainCRKeys.h>
-#include <ProfileEngineDomainCRKeys.h>
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// Destructor
-CProfilesGSTonesViewSettings::~CProfilesGSTonesViewSettings()
- {
- delete iHwRmSession;
- }
-
-// -----------------------------------------------------------------------------
-// CProfilesGSTonesViewSettings::ConstructL
-// -----------------------------------------------------------------------------
-//
-void CProfilesGSTonesViewSettings::ConstructL()
- {
- PRODEBUG( "CProfilesGSTonesPluginSettingHandler::ConstructL begin" );
- if( iFeatures.IsLocalFeatureSupported( KTonesViewFeatureIdHac ) )
- {
- iHwRmSession = CRepository::NewL( KCRUidHWSettings );
- User::LeaveIfError( iHwRmSession->Get( KHWSettingsHearingAidMode, iHac ) );
- }
- PRODEBUG( "CProfilesGSTonesPluginSettingHandler::ConstructL end" );
- }
-
-// -----------------------------------------------------------------------------
-// CProfilesGSTonesViewSettings::NewL
-// -----------------------------------------------------------------------------
-//
-CProfilesGSTonesViewSettings* CProfilesGSTonesViewSettings::NewL(
- CProfilesGSTonesViewFeatures& aFeatures )
-
- {
- CProfilesGSTonesViewSettings* self = new ( ELeave )
- CProfilesGSTonesViewSettings( aFeatures );
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop( self );
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// CProfilesGSTonesViewSettings::StoreIfChangedL
-// -----------------------------------------------------------------------------
-//
-void CProfilesGSTonesViewSettings::StoreIfChangedL( TInt aSettingId ) const
- {
- if( ( aSettingId == EProfileGSTonesPluginSettingHacModeId ) &&
- iFeatures.IsLocalFeatureSupported( KTonesViewFeatureIdHac ) )
- {
- TInt currentValue( 0 );
- User::LeaveIfError( iHwRmSession->Get( KHWSettingsHearingAidMode,
- currentValue ) );
- if( currentValue != iHac )
- {
- User::LeaveIfError( iHwRmSession->Set( KHWSettingsHearingAidMode,
- iHac ) );
- currentValue = iHac;
- }
- }
- }
-
-// End Of File
-
--- a/profilesapplication/Profiles/ProfilesGSTonesPlugin/src/CProfilesGSTonesViewSettings.h Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,93 +0,0 @@
-/*
-* Copyright (c) 2006 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: Data structure class for profile tones view settings.
-*
-*/
-
-
-
-#ifndef CPROFILESGSTONESVIEWSETTINGS_H
-#define CPROFILESGSTONESVIEWSETTINGS_H
-
-// INCLUDES
-#include <e32base.h>
-
-// CONSTANTS
-
-// FORWARD DECLARATIONS
-class CProfilesGSTonesViewFeatures;
-class CRepository;
-
-// CLASS DECLARATION
-/**
-* Data structure class for Profile GS Tones View settings. Contains only the
-* settings not found in Profiles Personalization view. However, Calendar
-* and Clock alert tones are not handled by this class.
-*
-* @lib ProfilesGSTonesPlugin.lib
-* @since 3.1
-*/
-NONSHARABLE_CLASS( CProfilesGSTonesViewSettings ) : public CBase
- {
- public: // Constructors and destructor
-
- /**
- * Two-phased constructor.
- */
- static CProfilesGSTonesViewSettings* NewL(
- CProfilesGSTonesViewFeatures& aFeatures );
-
- /**
- * Destructor.
- */
- ~CProfilesGSTonesViewSettings();
-
- public: // New functions
-
- /**
- * Stores the value of the given setting to persistent memory if the
- * value has been changed (from that found from persistent storage).
- * @param aSettingId the ID of the setting (as defined in resources) to
- * be checked.
- */
- void StoreIfChangedL( TInt aSettingId ) const;
-
- private:
- /**
- * C++ constructor.
- */
- CProfilesGSTonesViewSettings( CProfilesGSTonesViewFeatures& aFeatures )
- : iFeatures( aFeatures ) {};
-
- /**
- * Symbian constructor.
- */
- void ConstructL();
-
- public: // Data
-
- // HAC setting
- TBool iHac;
-
- // HW Resource Manager central repository
- // Note, this is NULL if HAC is not supported:
- CRepository* iHwRmSession;
-
- // Reference to the variable features wrapper
- CProfilesGSTonesViewFeatures& iFeatures;
- };
-
-#endif // CPROFILESGSTONESVIEWSETTINGS_H
-
-// End of File
--- a/profilesapplication/Profiles/ProfilesGSTonesPlugin/src/MProfilesGSTonesPluginItemDataInterface.h Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,57 +0,0 @@
-/*
-* Copyright (c) 2002 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: Interface to the actual storage used for saving the data.
-*
-*/
-
-
-
-#ifndef MPROFILESGSTONESPLUGINITEMDATAINTERFACE_H
-#define MPROFILESGSTONESPLUGINITEMDATAINTERFACE_H
-
-// INCLUDES
-#include <e32std.h>
-
-// CLASS DECLARATION
-
-/**
-* Interface to the actual storage used for saving the data.
-*
-* @lib ProfilesGSTonesPlugin.dll
-* @since 3.1
-*/
-class MProfilesGSTonesPluginItemDataInterface
- {
-
- public: // New functions
-
- /**
- * Returns the data currently saved in the storage.
- * @return the data currently saved in the storage.
- */
- virtual const TDesC& ItemData() = 0;
-
- /**
- * Sets the data in the storage.
- * @param aDataBuf contains the data to be saved.
- */
- virtual void SetItemDataL( const TDesC& aDataBuf ) = 0;
-
- };
-
-#endif // MPROFILESGSTONESPLUGINITEMDATAINTERFACE_H
-
-// End of File
-
-
--- a/profilesapplication/Profiles/ProfilesGSTonesPlugin/src/ProfilesGSTonesPlugin.cpp Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,393 +0,0 @@
-/*
-* Copyright (c) 2005 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: Cpp file for plugin.
-*
-*/
-
-
-// Includes
-#include "ProfilesGSTonesPlugin.h"
-
-#include "ProfilesUID.h"
-#include "CProfilesGSTonesPluginSettingsHandler.h"
-#include "ProfilesDebug.h"
-#include "ProfilesGSTonesPlugin.hrh"
-#include <ProfilesGSTonesPluginRsc.rsg>
-#include <CProfileNaviPaneContainer.h>
-
-// Includes from Profiles Settings View:
-#include <CProfileSettingsContainer.h>
-#include <CProfileEngineHandler.h>
-
-// Includes from Profiles Engine:
-#include <MProfileEngineExtended.h>
-#include <MProfilesLocalFeatures.h>
-#include <CProfileChangeNotifyHandler.h>
-#include "ProfilesVariant.hrh"
-
-// Includes from GS framework:
-#include <GSFWViewUIDs.h>
-#include <GSPrivatePluginProviderIds.h>
-
-// External includes
-#include <StringLoader.h>
-#include <bautils.h>
-#include <f32file.h>
-#include <data_caging_path_literals.hrh>
-#include <FeatMgr.h>
-#include <hlplch.h>
-#include <akntitle.h>
-#include <aknglobalnote.h>
-
-class CProfileIndexHandler;
-class CProfileTabHandler;
-
-namespace {
-// Constants
- const TUid KProfilesGSTonesPluginUid =
- { IMPLEMENTATION_UID_PROFILES_GS_TONES_PLUGIN };
-
- _LIT( KProfilesGSTonesPluginResourceFileName,
- "z:ProfilesGSTonesPluginRsc.rsc" );
-}
-
-// CLASS DECLARATION
-
-
-/******************************************************************************
- * class CProfileGSTonesTopControl
- ******************************************************************************/
-
-
-CProfileGSTonesTopControl* CProfileGSTonesTopControl::NewL( CCoeControl* aFocusControl )
- {
- CProfileGSTonesTopControl* self = new ( ELeave ) CProfileGSTonesTopControl();
- self->iFocusControl = aFocusControl;
- return self;
- }
-
-void CProfileGSTonesTopControl::FocusChanged( TDrawNow aDrawNow )
- {
- // Not calling super::FocusChanged is intentional
- if( iFocusControl )
- {
- iFocusControl->SetFocus( IsFocused(), aDrawNow );
- }
- }
-
-
-/******************************************************************************
- * class CProfilesGSTonesPlugin
- ******************************************************************************/
-
-
-
-// ---------------------------------------------------------------------------
-// CProfilesGSTonesPlugin::CProfilesGSTonesPlugin()
-// ---------------------------------------------------------------------------
-//
-CProfilesGSTonesPlugin::CProfilesGSTonesPlugin()
- : iResourceLoader( *iCoeEnv )
- {
- }
-
-
-// ---------------------------------------------------------------------------
-// CProfilesGSTonesPlugin::~CProfilesGSTonesPlugin()
-// ---------------------------------------------------------------------------
-//
-CProfilesGSTonesPlugin::~CProfilesGSTonesPlugin()
- {
- DoDeactivate();
- delete iEngineHandler;
- iResourceLoader.Close();
- delete iNotifier;
- }
-
-
-// ---------------------------------------------------------------------------
-// CProfilesGSTonesPlugin::ConstructL()
-// ---------------------------------------------------------------------------
-//
-void CProfilesGSTonesPlugin::ConstructL()
- {
- PRODEBUG( "CProfilesGSTonesPlugin::ConstructL() begin" );
- // Find the resource file
- TParse parse;
- parse.Set( KProfilesGSTonesPluginResourceFileName,
- &KDC_RESOURCE_FILES_DIR, NULL );
- TFileName fileName( parse.FullName() );
-
- // Get language of resource file
- BaflUtils::NearestLanguageFile( iCoeEnv->FsSession(), fileName );
-
- // Open resource file
- iResourceLoader.OpenL( fileName );
-
- PRODEBUG( "CProfilesGSTonesPlugin::ConstructL() before BaseConstructL call" );
- BaseConstructL( R_PROFILES_GS_TONES_VIEW ); // CSI: 9 # The resource file must be opened before this call
-
- iNotifier = CProfileChangeNotifyHandler::NewL( this );
- iEngineHandler = CProfileEngineHandler::NewL();
- iPreviousProfile = iEngineHandler->Engine()->ActiveProfileId();
- PRODEBUG( "CProfilesGSTonesPlugin::ConstructL() end" );
- }
-
-
-// ---------------------------------------------------------------------------
-// CProfilesGSTonesPlugin::NewL()
-// ---------------------------------------------------------------------------
-//
-CProfilesGSTonesPlugin* CProfilesGSTonesPlugin::NewL( TAny* /*aInitParams*/ )
- {
- CProfilesGSTonesPlugin* self = new(ELeave) CProfilesGSTonesPlugin();
- CleanupStack::PushL(self);
- self->ConstructL();
- CleanupStack::Pop(self);
- return self;
- }
-
-
-// ---------------------------------------------------------------------------
-// CGSParentPlugin::Id()
-// ---------------------------------------------------------------------------
-//
-TUid CProfilesGSTonesPlugin::Id() const
- {
- PRODEBUG( "CProfilesGSTonesPlugin::Id" );
- return KProfilesGSTonesPluginUid;
- }
-
-
-// ---------------------------------------------------------------------------
-// CGSParentPlugin::DoActivateL()
-// ---------------------------------------------------------------------------
-//
-void CProfilesGSTonesPlugin::DoActivateL
- ( const TVwsViewId& /* aPrevViewId */,
- TUid /* aCustomMessageId */,
- const TDesC8& /* aCustomMessage */ )
- {
- PRODEBUG( "CProfilesGSTonesPlugin::DoActivateL begin" );
- if ( !iContainer )
- {
- iSettingsHandler =
- CProfilesGSTonesPluginSettingsHandler::NewL( iCoeEnv );
-
- iContainer = CProfileSettingsContainer::NewL(
- *this, *iEngineHandler, *iSettingsHandler, (CProfileIndexHandler*) NULL,
- (CProfileTabHandler*) NULL, (CAknTitlePane*) NULL,
- R_PROFILE_GS_TONES_VIEW_SETTING_ITEM_LIST );
-
- iTopControl = CProfileGSTonesTopControl::NewL( iContainer );
-
- // Set the title pane text
- CAknTitlePane* titlePane = static_cast< CAknTitlePane* >(
- StatusPane()->ControlL( TUid::Uid( EEikStatusPaneUidTitle ) ) );
- HBufC* title = StringLoader::LoadLC( R_PROFILES_GS_TONES_VIEW_TITLE );
- titlePane->SetTextL( *title );
- CleanupStack::PopAndDestroy( title );
-
- iNaviPaneContainer =
- CProfileNaviPaneContainer::NewL( *StatusPane(), *iEngineHandler );
- // Set the name of the active profile to navi pane
- iNaviPaneContainer->SetNaviPaneTextL();
-
- AppUi()->AddToViewStackL( *this, iContainer );
- // Top control is always on top as it listens to focus changes (which
- // will be routed to container to adapt highlight animation to focus)
- AppUi()->AddToStackL( *this, iTopControl );
-
- iContainer->MakeVisible( ETrue );
- }
- PRODEBUG( "CProfilesGSTonesPlugin::DoActivateL end" );
- }
-
-// ---------------------------------------------------------------------------
-// CGSParentPlugin::DoDeactivate()
-// ---------------------------------------------------------------------------
-//
-void CProfilesGSTonesPlugin::DoDeactivate()
- {
- PRODEBUG( "CProfilesGSTonesPlugin::DoDeactivateL begin" );
- delete iNaviPaneContainer;
- iNaviPaneContainer = NULL;
-
- if ( iTopControl )
- {
- AppUi()->RemoveFromStack( iTopControl );
- delete iTopControl;
- iTopControl = NULL;
- }
- if ( iContainer )
- {
- AppUi()->RemoveFromViewStack( *this, iContainer );
- delete iContainer;
- iContainer = NULL;
- }
- delete iSettingsHandler;
- iSettingsHandler = NULL;
- PRODEBUG( "CProfilesGSTonesPlugin::DoDeactivateL end" );
- }
-
-// ----------------------------------------------------------------------------
-// CProfilesGSTonesPlugin::HandleCommandL
-//
-// Handles commands directed to this class.
-// ----------------------------------------------------------------------------
-void CProfilesGSTonesPlugin::HandleCommandL( TInt aCommand )
- {
- PRODEBUG1( "CProfilesGSTonesPlugin::HandleCommandL(%d) begin", aCommand );
- CAknViewAppUi* appUi = AppUi();
- switch ( aCommand )
- {
- case EAknSoftkeyBack:
- appUi->ActivateLocalViewL( KGSPrslnPluginUid );
- break;
- case EProfilesGsTonesCmdChange:
- case EAknSoftkeyChange:
- PRODEBUG( "CProfilesGSTonesPlugin::HandleCommandL before EditItemL" );
- iContainer->EditItemL(
- iContainer->SettingItemArray()->ItemIndexFromVisibleIndex(
- iContainer->ListBox()->CurrentItemIndex() ),
- ( aCommand == EProfilesGsTonesCmdChange ) );
- PRODEBUG( "CProfilesGSTonesPlugin::HandleCommandL after EditItemL" );
- break;
- case EAknCmdHelp:
- {
- if( FeatureManager::FeatureSupported( KFeatureIdHelp ) )
- {
- HlpLauncher::LaunchHelpApplicationL(
- iEikonEnv->WsSession(), appUi->AppHelpContextL() );
- }
- break;
- }
- default:
- appUi->HandleCommandL( aCommand );
- break;
- }
- PRODEBUG( "CProfilesGSTonesPlugin::HandleCommandL end" );
- }
-
-// -----------------------------------------------------------------------------
-// CProfilesGSTonesPlugin::DynInitMenuPaneL
-// -----------------------------------------------------------------------------
-//
-void CProfilesGSTonesPlugin::DynInitMenuPaneL(
- TInt aResourceId, CEikMenuPane* aMenuPane )
- {
- if( aResourceId == R_PROFILES_GS_OPTIONS_MENUPANE )
- {
- if( !FeatureManager::FeatureSupported( KFeatureIdHelp ) )
- {
- // Help is not supported. Hide Help from Options menu
- aMenuPane->SetItemDimmed( EAknCmdHelp, ETrue );
- }
- }
- }
-
-// ========================= From CGSPluginInterface ==================
-
-
-// ---------------------------------------------------------------------------
-// CProfilesGSTonesPlugin::GetCaptionL()
-// ---------------------------------------------------------------------------
-//
-void CProfilesGSTonesPlugin::GetCaptionL( TDes& aCaption ) const
- {
- PRODEBUG( "CProfilesGSTonesPlugin::GetCaptionL begin" );
- // The resource file is already opened by iResourceLoader.
- HBufC* result = StringLoader::LoadL( R_PROFILES_GS_TONES_VIEW_CAPTION );
- aCaption.Copy( *result );
- delete result;
- PRODEBUG( "CProfilesGSTonesPlugin::GetCaptionL end" );
- }
-
-// ---------------------------------------------------------------------------
-// CProfilesGSTonesPlugin::PluginProviderCategory()
-// ---------------------------------------------------------------------------
-//
-TInt CProfilesGSTonesPlugin::PluginProviderCategory() const
- {
- PRODEBUG( "CProfilesGSTonesPlugin::PluginProviderCategory" );
- return KGSPluginProviderInternal;
- }
-
-// ---------------------------------------------------------------------------
-// CProfilesGSTonesPlugin::ItemType()
-// ---------------------------------------------------------------------------
-//
-TGSListboxItemTypes CProfilesGSTonesPlugin::ItemType()
- {
- PRODEBUG( "CProfilesGSTonesPlugin::ItemType" );
- return EGSItemTypeSetting;
- }
-
-// ---------------------------------------------------------------------------
-// CProfilesGSTonesPlugin::UpdateClientRect()
-// ---------------------------------------------------------------------------
-//
-void CProfilesGSTonesPlugin::UpdateClientRect()
- {
- PRODEBUG( "CProfilesGSTonesPlugin::UpdateClientRect" );
- iContainer->SetRect( ClientRect() );
- }
-
-// ---------------------------------------------------------------------------
-// CProfilesGSTonesPlugin::View()
-// ---------------------------------------------------------------------------
-//
-CAknView& CProfilesGSTonesPlugin::View()
- {
- PRODEBUG( "CProfilesGSTonesPlugin::View" );
- return *this;
- }
-
-// -----------------------------------------------------------------------------
-// CProfilesGSTonesPlugin::HandleActiveProfileEventL
-// -----------------------------------------------------------------------------
-//
-void CProfilesGSTonesPlugin::HandleActiveProfileEventL(
- TProfileEvent aProfileEvent, TInt aProfileId )
- {
- PRODEBUG( "CProfilesGSTonesPlugin::HandleActiveProfileEventL" );
- if( ( aProfileEvent == EProfileNewActiveProfile ) &&
- ( aProfileId != iPreviousProfile ) &&
- iNaviPaneContainer )
- {
- // Active profile has changed. Change active profile name in navi pane.
- iNaviPaneContainer->SetNaviPaneTextL();
- ShowInfoNoteL( R_PROFILES_GS_TONES_VIEW_UPDATED_NOTE );
- iPreviousProfile = aProfileId;
- }
- }
-
-// -----------------------------------------------------------------------------
-// CProfilesGSTonesPlugin::ShowInfoNoteL
-// -----------------------------------------------------------------------------
-//
-void CProfilesGSTonesPlugin::ShowInfoNoteL( TInt aResourceId )
- {
- if( IsForeground() )
- {
- HBufC* infoText = StringLoader::LoadLC( aResourceId );
- CAknGlobalNote* note = CAknGlobalNote::NewLC();
- note->ShowNoteL( EAknGlobalInformationNote, *infoText );
-
- CleanupStack::PopAndDestroy( 2, infoText );
- }
- }
-
-// End of File
-
--- a/profilesapplication/Profiles/ProfilesGSTonesPlugin/src/ProfilesGSTonesPluginImplementationTable.cpp Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,50 +0,0 @@
-/*
-* Copyright (c) 2005 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: ECOM prxy table for plugin.
-*
-*/
-
-
-// System includes
-#include <e32std.h>
-#include <implementationproxy.h>
-
-// Internal includes
-#include "ProfilesGSTonesPlugin.h"
-#include "ProfilesUID.h"
-
-// Constants
-const TImplementationProxy KProfilesGSTonesPluginImplementationTable[] =
- {
- IMPLEMENTATION_PROXY_ENTRY( IMPLEMENTATION_UID_PROFILES_GS_TONES_PLUGIN,
- CProfilesGSTonesPlugin::NewL )
- };
-
-
-// ---------------------------------------------------------------------------
-// ImplementationGroupProxy
-// Gate/factory function
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C const TImplementationProxy* ImplementationGroupProxy(
- TInt& aTableCount )
- {
- aTableCount = sizeof( KProfilesGSTonesPluginImplementationTable )
- / sizeof( TImplementationProxy );
- return KProfilesGSTonesPluginImplementationTable;
- }
-
-
-// End of File
--- a/profilesapplication/Profiles/rom/Profile.iby Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +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: Iby files for Profile.
-*
-*/
-#ifndef __PROFILE_IBY__
-#define __PROFILE_IBY__
-
-S60_APP_EXE(ProfileApp)
-S60_APP_AIF_ICONS(ProfileApp)
-S60_APP_AIF_RSC(ProfileApp)
-
-file=ABI_DIR\BUILD_DIR\profilesettingsview.dll SHARED_LIB_DIR\profilesettingsview.dll
-
-#ifdef RD_GS_RENOVATION
-
-#ifndef RD_CONTROL_PANEL
-// GS Tones View Plugin:
-ECOM_PLUGIN(profilesgstonesplugin.dll,1020729B.rsc)
-#endif // RD_CONTROL_PANEL
-
-#ifdef RD_CONTROL_PANEL
-// GS Profiles Plugin:
-ECOM_PLUGIN(GSProfilesPlugin.dll,10283386.rsc)
-data=DATAZ_\BITMAP_DIR\gsprofilesplugin.mif BITMAP_DIR\gsprofilesplugin.mif
-#endif // RD_CONTROL_PANEL
-
-#endif // RD_GS_RENOVATION
-
-ECOM_PLUGIN(profileaiwprovider.dll,10281F18.rsc)
-
-//Configration file of PSMProfilesPlugin
-data=ZPRIVATE\2000B187\10283386.xml private\2000B187\10283386.xml
-
-#endif // PROFILE_IBY
-
--- a/profilesapplication/Profiles/rom/ProfileResources.iby Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +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: Iby files for Profile.
-*
-*/
-#ifndef __PROFILE_RESOURCES_IBY__
-#define __PROFILE_RESOURCES_IBY__
-
-
-S60_APP_CAPTION(profileapp)
-
-//Resource file(s) for ProfileApp
-
-data=DATAZ_\APP_RESOURCE_DIR\profileapp.rsc APP_RESOURCE_DIR\profileapp.rsc
-
-data=ZRESOURCE\profilesettingsview.rsc RESOURCE_FILES_DIR\profilesettingsview.rsc
-
-#ifdef RD_GS_RENOVATION
-
-#ifndef RD_CONTROL_PANEL
-// Resource file for GS Tones View plugin
-data=ZRESOURCE\profilesgstonespluginrsc.rsc RESOURCE_FILES_DIR\profilesgstonespluginrsc.rsc
-#endif // RD_CONTROL_PANEL
-
-#ifdef RD_CONTROL_PANEL
-// Resource file for GS Profiles plugin
-data=ZRESOURCE\GSProfilesPluginRsc.rsc RESOURCE_FILES_DIR\GSProfilesPluginRsc.rsc
-#endif // RD_CONTROL_PANEL
-
-#endif // RD_GS_RENOVATION
-
-data=ZRESOURCE\profileaiwproviderresource.rsc RESOURCE_FILES_DIR\profileaiwproviderresource.rsc
-
-
-#endif
--- a/profilesapplication/Profiles/tsrc/public/basic/group/bld.inf Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,22 +0,0 @@
-/*
-* Copyright (c) 2007 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: This file provides the information required for building the
-* Profiles tests
-*
-*/
-
-////////////////////////////////////////////////////////////
-// bld.inf
-
-#include "../../../../ProfileApp/tsrc/public/basic/group/bld.inf"
--- a/profilesapplication/Profiles/tsrc/public/basic/rom/Profiles_ats3.iby Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-/*
-* Copyright (c) 2007 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:
-* ROM image definition for Profiles automated tests
-*
-*
-*/
-
-#ifndef __PROFILES_ATS3_IBY__
-#define __PROFILES_ATS3_IBY__
-
-// THESE ARE INCLUDED IN PROFILESAPPLICATION_ATS3_IBY
-
-// Profiles rom files
-//file=ABI_DIR\BUILD_DIR\T_ProfileSettingsView.dll SHARED_LIB_DIR\T_ProfileSettingsView.dll
-
-#endif
\ No newline at end of file
--- a/profilesapplication/group/bld.inf Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,19 +0,0 @@
-/*
-* Copyright (c) 2006 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: This file provides the information required for building ProfilesApplicaton.
-*
-*/
-
-
-#include "../Profiles/Group/bld.inf"
--- a/profilesapplication/tsrc/public/basic/group/bld.inf Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,22 +0,0 @@
-/*
-* Copyright (c) 2007 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: This file provides the information required for building the
-* ProfilesApplication tests
-*
-*/
-
-////////////////////////////////////////////////////////////
-// bld.inf
-
-#include "../../../../Profiles/tsrc/public/basic/group/bld.inf"
--- a/profilesapplication/tsrc/public/basic/rom/ProfilesApplication_ats3.iby Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +0,0 @@
-/*
-* Copyright (c) 2007 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:
-* Top level ROM image definition for ProfilesApplication automated tests
-*
-*
-*/
-
-
-#ifndef __PROFILESAPPLICATION_ATS3_IBY__
-#define __PROFILESAPPLICATION_ATS3_IBY__
-
-// Profiles rom files
-file=ABI_DIR\BUILD_DIR\T_ProfileSettingsView.dll SHARED_LIB_DIR\T_ProfileSettingsView.dll
-
-#endif
--- a/profilesapplication/tsrc/public/basic/test.xml Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,91 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<test>
- <name>ProfilesApplication 5.0 Automated Tests</name>
- <target>
- <device rank="none" alias="DEFAULT">
- <property name="HARNESS" value="EUNIT" />
- <property name="TYPE" value="Ariane" />
- </device>
- </target>
- <plan name="ProfilesApplication Automated Test Plan" harness="EUNIT" enabled="true" passrate="100">
- <session name="session" harness="EUNIT" enabled="true" passrate="100">
- <set name="set" harness="EUNIT" enabled="true" passrate="100">
- <target>
- <device rank="master" alias="DEFAULT"/>
- </target>
- <case name="Test Case 1" harness="EUNIT" enabled="true" passrate="100">
- <flash target-alias="DEFAULT" images="ATS3Drop/images/sydo_ProfilesApplication_ats3_image.fpsx" />
- <flash target-alias="DEFAULT" images="ATS3Drop/images/sydo_ProfilesApplication_ats3_image_udaerase.fpsx" />
-
- <step name="Create CTC log dir" harness="EUNIT" enabled="true" passrate="100" significant="false">
- <command>makedir</command>
- <params>
- <param dir="c:\data\ctc\"/>
- </params>
- </step>
-
- <step name="CTC start" harness="EUNIT" enabled="true" passrate="100" significant="false">
- <command>execute</command>
- <params>
- <param file="z:\sys\bin\ctcman.exe"/>
- </params>
- </step>
-
- <step name="Create EUnit log dir" harness="EUNIT" enabled="true" passrate="100" significant="false">
- <command>makedir</command>
- <params>
- <param dir="c:\shared\eunit\logs\"/>
- </params>
- </step>
-
- <step name="Execute tests" harness="EUNIT" enabled="true" passrate="100" significant="true">
- <command>execute</command>
- <params>
- <param parameters="/l xml /e s60appenv /w 30 /r warning T_ProfileSettingsView"/>
- <param timeout="720"/>
- <param result-file="c:\shared\eunit\logs\EUnit_log.xml"/>
- <param file="z:\sys\bin\EUNITEXERUNNER.EXE"/>
- </params>
- </step>
-
- <step name="Save CTC data" harness="EUNIT" enabled="true" passrate="100" significant="false">
- <command>execute</command>
- <params>
- <param parameters="writefile"/>
- <param file="z:\sys\bin\ctcman.exe"/>
- </params>
- </step>
-
- <step name="Fetch and clean CTC data" harness="EUNIT" enabled="true" passrate="100" significant="false">
- <command>fetch-log</command>
- <params>
- <param delete="true"/>
- <param path="c:\data\ctc\ctcdata.txt"/>
- </params>
- </step>
- </case>
- </set>
- </session>
- </plan>
- <files>
- <file>ATS3Drop/images/sydo_ProfilesApplication_ats3_image.fpsx</file>
- <file>ATS3Drop/images/sydo_ProfilesApplication_ats3_image_udaerase.fpsx</file>
- </files>
-
- <postAction>
- <type>SendEmailAction</type>
- <params>
- <param name="type" value="ATS3_REPORT"/>
- <param name="to" value="olli.an.makinen@nokia.com;pasi.p.keranen@nokia.com"/>
- <param name="subject" value="ATS3 report for §RUN_NAME§ §RUN_START_DATE§ §RUN_START_TIME§"/>
- <param name="send-files" value="true"/>
- </params>
- </postAction>
-
- <postAction>
- <type>FileStoreAction</type>
- <params>
- <param name="to-folder" value="\\ousrv058\data$\ATS3Reports\S60_5_0\SyDo\profile\ProfilesApplication\"/>
- </params>
- </postAction>
-</test>
--- a/sysdef_1_4_0.dtd Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,86 +0,0 @@
- <!ELEMENT SystemDefinition (systemModel?, build?)>
- <!ATTLIST SystemDefinition
- name CDATA #REQUIRED
- schema CDATA #REQUIRED>
- <!ELEMENT systemModel (layer+)>
- <!ELEMENT layer (logicalset* | module*)*>
- <!ATTLIST layer
- name CDATA #REQUIRED
- levels CDATA #IMPLIED
- span CDATA #IMPLIED>
- <!ELEMENT logicalset (logicalsubset* | module* | unit* | package* | prebuilt*)*>
- <!ATTLIST logicalset name CDATA #REQUIRED>
- <!ELEMENT logicalsubset (module* | unit* | package* | prebuilt*)*>
- <!ATTLIST logicalsubset name CDATA #REQUIRED>
- <!ELEMENT module (component* | unit* | package* | prebuilt*)*>
- <!ATTLIST module
- name CDATA #REQUIRED
- level CDATA #IMPLIED>
- <!ELEMENT component (unit* | package* | prebuilt*)*>
- <!ATTLIST component name CDATA #REQUIRED>
- <!ELEMENT unit EMPTY>
- <!ATTLIST unit
- unitID ID #REQUIRED
- name CDATA #REQUIRED
- mrp CDATA #REQUIRED
- filter CDATA #IMPLIED
- bldFile CDATA #REQUIRED
- priority CDATA #IMPLIED
- contract CDATA #IMPLIED>
- <!ELEMENT package EMPTY>
- <!ATTLIST package
- name CDATA #REQUIRED
- mrp CDATA #REQUIRED
- filter CDATA #IMPLIED
- contract CDATA #IMPLIED>
- <!ELEMENT prebuilt EMPTY>
- <!ATTLIST prebuilt
- name CDATA #REQUIRED
- version CDATA #REQUIRED
- late (Y|N) #IMPLIED
- filter CDATA #IMPLIED
- contract CDATA #IMPLIED>
- <!ELEMENT build (option* | target+ | targetList+ | unitList+ | configuration+)*>
- <!ELEMENT unitList (unitRef+)>
- <!ATTLIST unitList
- name ID #REQUIRED
- description CDATA #REQUIRED>
- <!ELEMENT unitRef EMPTY>
- <!ATTLIST unitRef unit IDREF #REQUIRED>
- <!ELEMENT targetList EMPTY>
- <!ATTLIST targetList
- name ID #REQUIRED
- description CDATA #REQUIRED
- target IDREFS #REQUIRED>
- <!ELEMENT target EMPTY>
- <!ATTLIST target
- name ID #REQUIRED
- abldTarget CDATA #REQUIRED
- description CDATA #REQUIRED>
- <!ELEMENT option EMPTY>
- <!ATTLIST option
- name ID #REQUIRED
- abldOption CDATA #REQUIRED
- description CDATA #REQUIRED
- enable (Y | N | y | n) #REQUIRED>
- <!ELEMENT configuration (unitListRef+ | layerRef+ | task+)*>
- <!ATTLIST configuration
- name ID #REQUIRED
- description CDATA #REQUIRED
- filter CDATA #REQUIRED>
- <!ELEMENT task ( unitListRef* , (buildLayer | specialInstructions))>
- <!ELEMENT unitListRef EMPTY>
- <!ATTLIST unitListRef unitList IDREF #REQUIRED>
- <!ELEMENT layerRef EMPTY>
- <!ATTLIST layerRef layerName CDATA #REQUIRED>
- <!ELEMENT buildLayer EMPTY>
- <!ATTLIST buildLayer
- command CDATA #REQUIRED
- targetList IDREFS #IMPLIED
- unitParallel (Y | N | y | n) #REQUIRED
- targetParallel (Y | N | y | n) #IMPLIED>
- <!ELEMENT specialInstructions EMPTY>
- <!ATTLIST specialInstructions
- name CDATA #REQUIRED
- cwd CDATA #REQUIRED
- command CDATA #REQUIRED>
--- a/tsrc/group/bld.inf Tue Feb 02 00:10:48 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,24 +0,0 @@
-/*
-* Copyright (c) 2008 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:
-* This file provides the information required for building
-* Profile ADO API test cases.
-*
-*/
-
-////////////////////////////////////////////////////////////
-// bld.inf
-// Part of EUnit library test
-
-#include "../../profile_plat/profiles_settings_view_api/tsrc/group/bld.inf"