controlpanelui/src/cpprofilewrapper/src/cpprofilemodel_p.cpp
author hgs
Thu, 30 Sep 2010 16:15:53 +0800
changeset 41 ab0490982943
parent 33 0cfa53de576f
permissions -rw-r--r--
201039
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
10
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     1
/*
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     2
* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     3
* All rights reserved.
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     4
* This component and the accompanying materials are made available
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0""
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     6
* which accompanies this distribution, and is available
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     8
*
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     9
* Initial Contributors:
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    11
*
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    12
* Contributors:
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    13
*
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    14
* Description:  
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    15
*
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    16
*/
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    17
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    18
#include "cpprofilemodel_p.h"
12
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
    19
#include "cpprofilemodel.h"
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
    20
#include <cplogger.h>
10
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    21
#include <e32base.h>
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    22
#include <QString>
19
hgs
parents: 12
diff changeset
    23
#include <QMap>
12
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
    24
#include <MProfileEngineExtended2.h>
10
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    25
#include <MProfileExtended.h>
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    26
#include <MProfileName.h>
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    27
#include <MProfileTones.h>
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    28
#include <MProfileSetTones.h>
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    29
#include <MProfileExtraTones.h>
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    30
#include <MProfileSetExtraTones.h>
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    31
#include <MProfileExtraSettings.h>
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    32
#include <MProfileSetExtraSettings.h>
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    33
#include <MProfileFeedbackSettings.h>
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    34
#include <MProfileSetFeedbackSettings.h>
12
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
    35
#include <MProfilesNamesArray.h>
41
hgs
parents: 33
diff changeset
    36
#include <MProfileSetName.h>
19
hgs
parents: 12
diff changeset
    37
#include <settingsinternalcrkeys.h>
12
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
    38
#include <hbglobal.h>
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
    39
#include <QtCore/QStringList>
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
    40
#include <MProfileExtended2.h>
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
    41
#include <MProfileSetExtraTones2.h>
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
    42
#include <MProfileExtraTones2.h>
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
    43
#include <MProfileVibraSettings.h>
19
hgs
parents: 12
diff changeset
    44
#include <MProfileSetVibraSettings.h>
10
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    45
#include <TProfileToneSettings.h>
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    46
#include <hwrmvibrasdkcrkeys.h>
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    47
#include <centralrepository.h>
33
hgs
parents: 22
diff changeset
    48
#include <XQConversions>
hgs
parents: 22
diff changeset
    49
#include <profile.hrh>
hgs
parents: 22
diff changeset
    50
/*
hgs
parents: 22
diff changeset
    51
 * Constructor
hgs
parents: 22
diff changeset
    52
 */
10
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    53
CpProfileModelPrivate::CpProfileModelPrivate()
41
hgs
parents: 33
diff changeset
    54
    : mEngine(0),      
12
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
    55
      q_ptr(0)
10
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    56
{
12
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
    57
    
10
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    58
}
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    59
33
hgs
parents: 22
diff changeset
    60
/*
hgs
parents: 22
diff changeset
    61
 * Initialize the profile engine and available profile list for profile wrapper. 
hgs
parents: 22
diff changeset
    62
 */
12
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
    63
void CpProfileModelPrivate::initialize(CpProfileModel *parent)
10
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    64
{
12
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
    65
    q_ptr = parent;
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
    66
    CPFW_LOG("CpProfileModelPrivate::CpProfileModelPrivate(), START.");
33
hgs
parents: 22
diff changeset
    67
    TRAP_IGNORE(
hgs
parents: 22
diff changeset
    68
        mEngine = CreateProfileEngineExtended2L();
hgs
parents: 22
diff changeset
    69
        /*
hgs
parents: 22
diff changeset
    70
         * Currently, engine part will return all previous version of profile
hgs
parents: 22
diff changeset
    71
         * so some invalid profile will be added in the new list, to avoid this 
hgs
parents: 22
diff changeset
    72
         * use hard code to get the right list of profile. 
hgs
parents: 22
diff changeset
    73
         */
hgs
parents: 22
diff changeset
    74
        /*MProfilesNamesArray* nameList = mEngine->ProfilesNamesArrayLC();
hgs
parents: 22
diff changeset
    75
        int profileCount = nameList->MdcaCount();
hgs
parents: 22
diff changeset
    76
        for (int i = 0; i<profileCount; i++) {
hgs
parents: 22
diff changeset
    77
            MProfileName *profileName = nameList->ProfileName(i);
hgs
parents: 22
diff changeset
    78
            mProfileList.insert(profileName->Id(), mEngine->Profile2L(profileName->Id())); 
hgs
parents: 22
diff changeset
    79
        }
hgs
parents: 22
diff changeset
    80
        CleanupStack::PopAndDestroy(*nameList);*/           
12
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
    81
    );
33
hgs
parents: 22
diff changeset
    82
    mProfileList.append(static_cast<int>(EProfileWrapperGeneralId)); // general id 
hgs
parents: 22
diff changeset
    83
    mProfileList.append(static_cast<int>(EProfileWrapperMeetingId)); // meeting id     
hgs
parents: 22
diff changeset
    84
    CPFW_LOG("CpProfileModelPrivate::CpProfileModelPrivate(), END");
12
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
    85
}    
10
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    86
33
hgs
parents: 22
diff changeset
    87
/*
hgs
parents: 22
diff changeset
    88
 * Destructor 
hgs
parents: 22
diff changeset
    89
 */
10
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    90
CpProfileModelPrivate::~CpProfileModelPrivate()
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    91
{
12
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
    92
    if (mEngine!=0) {
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
    93
        mEngine->Release();
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
    94
    }
33
hgs
parents: 22
diff changeset
    95
	mProfileList.clear();
10
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    96
}
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    97
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    98
/*
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    99
 * Get profile name with its id
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   100
 */
12
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
   101
QString CpProfileModelPrivate::profileName(int profileId) const
10
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   102
{
12
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
   103
    CPFW_LOG("CpProfileModelPrivate::profileName(), START.");
33
hgs
parents: 22
diff changeset
   104
    // Return an empty string if id is not valid.    
hgs
parents: 22
diff changeset
   105
    if (!isValidProfile(profileId)) {
hgs
parents: 22
diff changeset
   106
        return QString();
hgs
parents: 22
diff changeset
   107
    }
41
hgs
parents: 33
diff changeset
   108
    QString profileName;
hgs
parents: 33
diff changeset
   109
    QT_TRAP_THROWING(        
hgs
parents: 33
diff changeset
   110
        MProfile *profile = mEngine->Profile2L(profileId);
hgs
parents: 33
diff changeset
   111
        const MProfileName &name = profile->ProfileName();        
hgs
parents: 33
diff changeset
   112
        if (name.Name().Length() > 0) {
hgs
parents: 33
diff changeset
   113
            profileName = XQConversions::s60DescToQString(name.Name());
hgs
parents: 33
diff changeset
   114
        }
hgs
parents: 33
diff changeset
   115
        profile->Release();
hgs
parents: 33
diff changeset
   116
    )
hgs
parents: 33
diff changeset
   117
    return profileName;    
33
hgs
parents: 22
diff changeset
   118
    
41
hgs
parents: 33
diff changeset
   119
}
hgs
parents: 33
diff changeset
   120
hgs
parents: 33
diff changeset
   121
/*
hgs
parents: 33
diff changeset
   122
 * Set profile name with \a profileId.
hgs
parents: 33
diff changeset
   123
 */
hgs
parents: 33
diff changeset
   124
void CpProfileModelPrivate::setProfileName(int profileId, const QString &name)
hgs
parents: 33
diff changeset
   125
{
hgs
parents: 33
diff changeset
   126
    if(!isValidProfile(profileId)) {
hgs
parents: 33
diff changeset
   127
        return;
33
hgs
parents: 22
diff changeset
   128
    }
41
hgs
parents: 33
diff changeset
   129
    HBufC *des = XQConversions::qStringToS60Desc( name );
hgs
parents: 33
diff changeset
   130
    QT_TRAP_THROWING(
hgs
parents: 33
diff changeset
   131
        CleanupStack::PushL(des);
hgs
parents: 33
diff changeset
   132
        MProfileExtended *profileExtend = mEngine->Profile2L(profileId);
hgs
parents: 33
diff changeset
   133
        CleanupStack::PushL(profileExtend);
hgs
parents: 33
diff changeset
   134
        MProfileSetName &profileSetName = profileExtend->ProfileSetName();
hgs
parents: 33
diff changeset
   135
        profileSetName.SetNameL(*des);
hgs
parents: 33
diff changeset
   136
        mEngine ->CommitChangeL(*profileExtend);
hgs
parents: 33
diff changeset
   137
        CleanupStack::Pop(2); // des, profileExtend
hgs
parents: 33
diff changeset
   138
        profileExtend->Release();
hgs
parents: 33
diff changeset
   139
    )    
33
hgs
parents: 22
diff changeset
   140
}
10
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   141
33
hgs
parents: 22
diff changeset
   142
/*
hgs
parents: 22
diff changeset
   143
 * Get available profiles' name list.
hgs
parents: 22
diff changeset
   144
 */
12
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
   145
QStringList CpProfileModelPrivate::profileNames() const
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
   146
{
33
hgs
parents: 22
diff changeset
   147
    CPFW_LOG("CpProfileModelPrivate::profileNames(), START.");
41
hgs
parents: 33
diff changeset
   148
    QStringList nameList;    
hgs
parents: 33
diff changeset
   149
    foreach(int profileId, mProfileList) {               
hgs
parents: 33
diff changeset
   150
        QT_TRAP_THROWING(        
hgs
parents: 33
diff changeset
   151
            MProfile *profile = mEngine->Profile2L(profileId);
hgs
parents: 33
diff changeset
   152
            const MProfileName &name = profile->ProfileName();
hgs
parents: 33
diff changeset
   153
            if (name.Name().Length() > 0) {
hgs
parents: 33
diff changeset
   154
                nameList.append(XQConversions::s60DescToQString(name.Name()));
hgs
parents: 33
diff changeset
   155
            }
hgs
parents: 33
diff changeset
   156
            profile->Release();
hgs
parents: 33
diff changeset
   157
        )
33
hgs
parents: 22
diff changeset
   158
    }
hgs
parents: 22
diff changeset
   159
    CPFW_LOG("CpProfileModelPrivate::profileNames(), END.");
12
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
   160
    return nameList;
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
   161
}
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
   162
10
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   163
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   164
/*
33
hgs
parents: 22
diff changeset
   165
 * Activate a profile with its id, return the result.
10
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   166
 */
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   167
int CpProfileModelPrivate::activateProfile(int profileId)
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   168
{
12
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
   169
    CPFW_LOG("CpProfileModelPrivate::activateProfile(), START.");
33
hgs
parents: 22
diff changeset
   170
    // currently, only two profile remains: general and meeting,
hgs
parents: 22
diff changeset
   171
    // But profile engine also support the old profile like:
hgs
parents: 22
diff changeset
   172
    // silence, out ...
hgs
parents: 22
diff changeset
   173
    // so filter the invalid profile id first.
hgs
parents: 22
diff changeset
   174
    if (!isValidProfile(profileId)) {
hgs
parents: 22
diff changeset
   175
        return KErrNotFound;
hgs
parents: 22
diff changeset
   176
    }
10
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   177
    TRAPD( err, 
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   178
        mEngine->SetActiveProfileL( profileId );
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   179
    );
12
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
   180
    CPFW_LOG("CpProfileModelPrivate::activateProfile(), END.");
10
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   181
    return err;
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   182
}
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   183
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   184
/*
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   185
 * Get active profile's id
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   186
 */
19
hgs
parents: 12
diff changeset
   187
int CpProfileModelPrivate::activeProfileId() const
10
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   188
{
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   189
    return mEngine->ActiveProfileId();
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   190
}
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   191
33
hgs
parents: 22
diff changeset
   192
/*
hgs
parents: 22
diff changeset
   193
 * Return all profile settings according to profile's id
hgs
parents: 22
diff changeset
   194
 */
19
hgs
parents: 12
diff changeset
   195
void CpProfileModelPrivate::profileSettings(int profileId,
12
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
   196
        CpProfileSettings& profileSettings)
10
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   197
{
33
hgs
parents: 22
diff changeset
   198
    if (!isValidProfile(profileId)) {
hgs
parents: 22
diff changeset
   199
        return;
hgs
parents: 22
diff changeset
   200
    }
hgs
parents: 22
diff changeset
   201
    QT_TRAP_THROWING(
hgs
parents: 22
diff changeset
   202
        MProfileExtended2 *profileExtend = mEngine->Profile2L(profileId);
hgs
parents: 22
diff changeset
   203
        CleanupStack::PushL(profileExtend);
hgs
parents: 22
diff changeset
   204
        
hgs
parents: 22
diff changeset
   205
        const MProfileTones &setTones = profileExtend->ProfileTones();
hgs
parents: 22
diff changeset
   206
        const TProfileToneSettings &toneSettings = setTones.ToneSettings();
hgs
parents: 22
diff changeset
   207
        const MProfileExtraTones2 &extTones = profileExtend->ProfileExtraTones2();
hgs
parents: 22
diff changeset
   208
        const MProfileVibraSettings &vibraSettings =
hgs
parents: 22
diff changeset
   209
                profileExtend->ProfileVibraSettings();
hgs
parents: 22
diff changeset
   210
        const MProfileExtraSettings &extraSettings =
hgs
parents: 22
diff changeset
   211
                profileExtend->ProfileExtraSettings();
hgs
parents: 22
diff changeset
   212
        const MProfileFeedbackSettings &feedbackSettings =
hgs
parents: 22
diff changeset
   213
                extraSettings.ProfileFeedbackSettings();
hgs
parents: 22
diff changeset
   214
               
hgs
parents: 22
diff changeset
   215
        profileSettings.mRingTone = XQConversions::s60DescToQString(setTones.RingingTone1());
hgs
parents: 22
diff changeset
   216
        profileSettings.mMessageTone = XQConversions::s60DescToQString(setTones.MessageAlertTone());
hgs
parents: 22
diff changeset
   217
        profileSettings.mEmailTone = XQConversions::s60DescToQString(extTones.EmailAlertTone());
hgs
parents: 22
diff changeset
   218
        profileSettings.mReminderTone = XQConversions::s60DescToQString(extTones.ReminderTone());
hgs
parents: 22
diff changeset
   219
        profileSettings.mNotificationTone = toneSettings.iWarningAndGameTones;
hgs
parents: 22
diff changeset
   220
        
hgs
parents: 22
diff changeset
   221
        // only use Keypad Volume as a base value for display in key & touch screen setting option
hgs
parents: 22
diff changeset
   222
        profileSettings.mKeyTouchScreenTone = toneSettings.iKeypadVolume;
hgs
parents: 22
diff changeset
   223
        profileSettings.mKeyTouchScreenVibra = feedbackSettings.TactileFeedback();
hgs
parents: 22
diff changeset
   224
        CleanupStack::Pop(); // profileExtend
hgs
parents: 22
diff changeset
   225
        profileExtend->Release();    
hgs
parents: 22
diff changeset
   226
    );
12
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
   227
}
33
hgs
parents: 22
diff changeset
   228
/*
hgs
parents: 22
diff changeset
   229
 *   set profile settings
22
hgs
parents: 21
diff changeset
   230
 */
33
hgs
parents: 22
diff changeset
   231
void CpProfileModelPrivate::setProfileSettings(int profileId, CpProfileSettings& profileSettings)
12
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
   232
{
33
hgs
parents: 22
diff changeset
   233
    if (!isValidProfile(profileId)) {
hgs
parents: 22
diff changeset
   234
        return;
hgs
parents: 22
diff changeset
   235
    }
22
hgs
parents: 21
diff changeset
   236
    
33
hgs
parents: 22
diff changeset
   237
    QT_TRAP_THROWING (
hgs
parents: 22
diff changeset
   238
        MProfileExtended2 *profileExtend = mEngine->Profile2L(profileId); 
hgs
parents: 22
diff changeset
   239
        CleanupStack::PushL(profileExtend);
hgs
parents: 22
diff changeset
   240
        
hgs
parents: 22
diff changeset
   241
        MProfileSetTones &setTones = profileExtend->ProfileSetTones();
hgs
parents: 22
diff changeset
   242
        TProfileToneSettings &toneSettings = setTones.SetToneSettings();
hgs
parents: 22
diff changeset
   243
        MProfileSetExtraTones2 &setExtTones =
hgs
parents: 22
diff changeset
   244
                profileExtend->ProfileSetExtraTones2();
hgs
parents: 22
diff changeset
   245
        MProfileSetVibraSettings &setVibraSettings =
hgs
parents: 22
diff changeset
   246
                profileExtend->ProfileSetVibraSettings();
hgs
parents: 22
diff changeset
   247
        MProfileSetExtraSettings &extraSettings =
hgs
parents: 22
diff changeset
   248
                profileExtend->ProfileSetExtraSettings();
hgs
parents: 22
diff changeset
   249
        MProfileSetFeedbackSettings &setFeedbackSettings =
hgs
parents: 22
diff changeset
   250
                extraSettings.ProfileSetFeedbackSettings();
hgs
parents: 22
diff changeset
   251
        
41
hgs
parents: 33
diff changeset
   252
        HBufC *setting = XQConversions::qStringToS60Desc(profileSettings.mRingTone);
hgs
parents: 33
diff changeset
   253
        CleanupStack::PushL(setting);
hgs
parents: 33
diff changeset
   254
        setTones.SetRingingTone1L(*setting);
hgs
parents: 33
diff changeset
   255
        CleanupStack::PopAndDestroy();
33
hgs
parents: 22
diff changeset
   256
        
41
hgs
parents: 33
diff changeset
   257
        setting = XQConversions::qStringToS60Desc(profileSettings.mMessageTone);
hgs
parents: 33
diff changeset
   258
        CleanupStack::PushL(setting);
hgs
parents: 33
diff changeset
   259
        setTones.SetMessageAlertToneL(*setting);
hgs
parents: 33
diff changeset
   260
        CleanupStack::PopAndDestroy();
hgs
parents: 33
diff changeset
   261
        
hgs
parents: 33
diff changeset
   262
        setting = XQConversions::qStringToS60Desc(profileSettings.mEmailTone);
hgs
parents: 33
diff changeset
   263
        CleanupStack::PushL(setting);
hgs
parents: 33
diff changeset
   264
        setExtTones.SetEmailAlertToneL(*setting);
hgs
parents: 33
diff changeset
   265
        CleanupStack::PopAndDestroy();
hgs
parents: 33
diff changeset
   266
        
hgs
parents: 33
diff changeset
   267
        setting = XQConversions::qStringToS60Desc(profileSettings.mReminderTone);
hgs
parents: 33
diff changeset
   268
        CleanupStack::PushL(setting);
hgs
parents: 33
diff changeset
   269
        setExtTones.SetReminderToneL(*setting);
hgs
parents: 33
diff changeset
   270
        CleanupStack::PopAndDestroy();
12
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
   271
33
hgs
parents: 22
diff changeset
   272
        toneSettings.iWarningAndGameTones
hgs
parents: 22
diff changeset
   273
                        = profileSettings.mNotificationTone;
hgs
parents: 22
diff changeset
   274
        // Change the keypad volume and touch screen tone together
hgs
parents: 22
diff changeset
   275
        toneSettings.iKeypadVolume
hgs
parents: 22
diff changeset
   276
                        = static_cast<TProfileKeypadVolume> (profileSettings.mKeyTouchScreenTone);    
hgs
parents: 22
diff changeset
   277
        setFeedbackSettings.SetAudioFeedback(
hgs
parents: 22
diff changeset
   278
                        static_cast<TProfileAudioFeedback> (profileSettings.mKeyTouchScreenTone));
hgs
parents: 22
diff changeset
   279
        setFeedbackSettings.SetTactileFeedback(
hgs
parents: 22
diff changeset
   280
                        static_cast<TProfileTactileFeedback> (profileSettings.mKeyTouchScreenVibra));
hgs
parents: 22
diff changeset
   281
        
hgs
parents: 22
diff changeset
   282
        mEngine->CommitChangeL(*profileExtend);
hgs
parents: 22
diff changeset
   283
        CleanupStack::Pop(); // profileExtend
19
hgs
parents: 12
diff changeset
   284
         )
10
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   285
}
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   286
33
hgs
parents: 22
diff changeset
   287
/*
hgs
parents: 22
diff changeset
   288
 * Get the active profile's ring tone name
hgs
parents: 22
diff changeset
   289
 */
12
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
   290
QString CpProfileModelPrivate::ringTone() const
10
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   291
{
33
hgs
parents: 22
diff changeset
   292
    // return empty string when active profile id is invalid,
hgs
parents: 22
diff changeset
   293
    // some old application still set the profile which is not available now,
hgs
parents: 22
diff changeset
   294
    // this check can be removed when every application use a correct profile id    
hgs
parents: 22
diff changeset
   295
hgs
parents: 22
diff changeset
   296
    QString ringTone;
hgs
parents: 22
diff changeset
   297
    if (!isValidProfile(activeProfileId())) {
hgs
parents: 22
diff changeset
   298
        return ringTone;
hgs
parents: 22
diff changeset
   299
    }
hgs
parents: 22
diff changeset
   300
    QT_TRAP_THROWING(
hgs
parents: 22
diff changeset
   301
        MProfileExtended2 *profileExtend = mEngine->Profile2L(activeProfileId());
hgs
parents: 22
diff changeset
   302
        CleanupStack::PushL(profileExtend);
hgs
parents: 22
diff changeset
   303
        const MProfileTones &setTones = profileExtend->ProfileTones();
hgs
parents: 22
diff changeset
   304
        
hgs
parents: 22
diff changeset
   305
        ringTone = XQConversions::s60DescToQString(setTones.RingingTone1());
hgs
parents: 22
diff changeset
   306
        CleanupStack::Pop(); // profileExtend
hgs
parents: 22
diff changeset
   307
        profileExtend->Release();
hgs
parents: 22
diff changeset
   308
        )
hgs
parents: 22
diff changeset
   309
    
12
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
   310
    return ringTone;
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
   311
}
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
   312
33
hgs
parents: 22
diff changeset
   313
/*
hgs
parents: 22
diff changeset
   314
 * Set the ring tone for all profiles
hgs
parents: 22
diff changeset
   315
 */
12
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
   316
void CpProfileModelPrivate::setRingTone(const QString& filePath)
33
hgs
parents: 22
diff changeset
   317
{   
hgs
parents: 22
diff changeset
   318
    for (TInt i = 0; i < mProfileList.count(); ++i) {  
hgs
parents: 22
diff changeset
   319
        QT_TRAP_THROWING(
hgs
parents: 22
diff changeset
   320
            MProfileExtended2 *profileExtend = mEngine->Profile2L(mProfileList.at(i));
hgs
parents: 22
diff changeset
   321
            CleanupStack::PushL(profileExtend);
hgs
parents: 22
diff changeset
   322
            
hgs
parents: 22
diff changeset
   323
            MProfileSetTones &setTones = profileExtend->ProfileSetTones();
41
hgs
parents: 33
diff changeset
   324
            HBufC *ringTone =  XQConversions::qStringToS60Desc(filePath);
hgs
parents: 33
diff changeset
   325
            CleanupStack::PushL(ringTone);
hgs
parents: 33
diff changeset
   326
            setTones.SetRingingTone1L( *ringTone );
33
hgs
parents: 22
diff changeset
   327
            mEngine ->CommitChangeL(*profileExtend);
41
hgs
parents: 33
diff changeset
   328
            CleanupStack::PopAndDestroy();
33
hgs
parents: 22
diff changeset
   329
            CleanupStack::Pop(); // profileExtend
hgs
parents: 22
diff changeset
   330
            profileExtend->Release();
hgs
parents: 22
diff changeset
   331
        )
19
hgs
parents: 12
diff changeset
   332
    }     
10
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   333
}
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   334
33
hgs
parents: 22
diff changeset
   335
/*
hgs
parents: 22
diff changeset
   336
 *  Get the ringing volume value 
hgs
parents: 22
diff changeset
   337
 */
12
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
   338
int CpProfileModelPrivate::masterVolume() const
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
   339
{
19
hgs
parents: 12
diff changeset
   340
    int masterVolume = 0;
33
hgs
parents: 22
diff changeset
   341
    QT_TRAP_THROWING(masterVolume = mEngine->MasterVolumeL();)
12
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
   342
    return masterVolume;
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
   343
}
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
   344
33
hgs
parents: 22
diff changeset
   345
/*
hgs
parents: 22
diff changeset
   346
 * Set the ringing volume
hgs
parents: 22
diff changeset
   347
 */
12
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
   348
void CpProfileModelPrivate::setMasterVolume(int volume)
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
   349
{
33
hgs
parents: 22
diff changeset
   350
    // the volume range 1-10
hgs
parents: 22
diff changeset
   351
    if (volume >= EProfileRingingVolumeLevel1 && volume <= EProfileRingingVolumeLevel10) {
hgs
parents: 22
diff changeset
   352
        QT_TRAP_THROWING(mEngine->SetMasterVolumeL( volume );)
hgs
parents: 22
diff changeset
   353
    }
12
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
   354
}
33
hgs
parents: 22
diff changeset
   355
/*
hgs
parents: 22
diff changeset
   356
 * Get the master vibra's status   
hgs
parents: 22
diff changeset
   357
 */
12
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
   358
bool CpProfileModelPrivate::masterVibra() const
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
   359
{
19
hgs
parents: 12
diff changeset
   360
    bool masterVibra = false;
33
hgs
parents: 22
diff changeset
   361
    QT_TRAP_THROWING(masterVibra = mEngine->MasterVibraL();)
12
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
   362
    return masterVibra; 
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
   363
}
33
hgs
parents: 22
diff changeset
   364
hgs
parents: 22
diff changeset
   365
/*
hgs
parents: 22
diff changeset
   366
 * Set master vibra's status
hgs
parents: 22
diff changeset
   367
 */
12
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
   368
void CpProfileModelPrivate::setMasterVibra(bool isVibra)
10
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   369
{
33
hgs
parents: 22
diff changeset
   370
    QT_TRAP_THROWING(mEngine->SetMasterVibraL( isVibra );)    
12
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
   371
}
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
   372
33
hgs
parents: 22
diff changeset
   373
/*
hgs
parents: 22
diff changeset
   374
 * Get the status of silence mode.
hgs
parents: 22
diff changeset
   375
 */
19
hgs
parents: 12
diff changeset
   376
bool CpProfileModelPrivate::silenceMode() const
12
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
   377
{
19
hgs
parents: 12
diff changeset
   378
    bool isSlience = false;
33
hgs
parents: 22
diff changeset
   379
    QT_TRAP_THROWING(isSlience = mEngine->SilenceModeL();)
12
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
   380
    return isSlience;
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
   381
}
33
hgs
parents: 22
diff changeset
   382
hgs
parents: 22
diff changeset
   383
/*
hgs
parents: 22
diff changeset
   384
 * Set the status of silence mode
hgs
parents: 22
diff changeset
   385
 */
12
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
   386
void CpProfileModelPrivate::setSilenceMode(bool isSilence)
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
   387
{
33
hgs
parents: 22
diff changeset
   388
    QT_TRAP_THROWING(mEngine->SetSilenceModeL( isSilence );)    
12
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
   389
}
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
   390
33
hgs
parents: 22
diff changeset
   391
/*
hgs
parents: 22
diff changeset
   392
 * Return the ring tone of a profile, if the profile id is invalid, always
hgs
parents: 22
diff changeset
   393
 * return an empty string
hgs
parents: 22
diff changeset
   394
 */
12
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
   395
QString CpProfileModelPrivate::ringTone(int profileId) const
10
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   396
{
33
hgs
parents: 22
diff changeset
   397
    QString ringTone;
hgs
parents: 22
diff changeset
   398
    if(!isValidProfile(profileId)) {
hgs
parents: 22
diff changeset
   399
        return ringTone;
hgs
parents: 22
diff changeset
   400
    }
hgs
parents: 22
diff changeset
   401
    QT_TRAP_THROWING(
hgs
parents: 22
diff changeset
   402
        MProfileExtended2 *profileExtend =  mEngine->Profile2L(profileId); 
hgs
parents: 22
diff changeset
   403
        CleanupStack::PushL(profileExtend);
hgs
parents: 22
diff changeset
   404
        
hgs
parents: 22
diff changeset
   405
        const MProfileTones &setTones = profileExtend->ProfileTones();
hgs
parents: 22
diff changeset
   406
        
hgs
parents: 22
diff changeset
   407
        ringTone = XQConversions::s60DescToQString(setTones.RingingTone1());
hgs
parents: 22
diff changeset
   408
        CleanupStack::Pop(); // profileExtend
hgs
parents: 22
diff changeset
   409
        profileExtend->Release();
hgs
parents: 22
diff changeset
   410
    )    
12
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
   411
    return ringTone;
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
   412
}
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
   413
33
hgs
parents: 22
diff changeset
   414
/*
hgs
parents: 22
diff changeset
   415
 * Set the ring tone for a profile, if the profile id is invalid, nothing happens
hgs
parents: 22
diff changeset
   416
 */
12
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
   417
void CpProfileModelPrivate::setRingTone(int profileId, const QString& filePath)
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
   418
{
33
hgs
parents: 22
diff changeset
   419
    if(!isValidProfile(profileId)) {
hgs
parents: 22
diff changeset
   420
        return;
hgs
parents: 22
diff changeset
   421
    }
hgs
parents: 22
diff changeset
   422
    QT_TRAP_THROWING(
hgs
parents: 22
diff changeset
   423
        MProfileExtended2 *profileExtend = mEngine->Profile2L(profileId);
hgs
parents: 22
diff changeset
   424
        CleanupStack::PushL(profileExtend);
hgs
parents: 22
diff changeset
   425
        
hgs
parents: 22
diff changeset
   426
        MProfileSetTones &setTones = profileExtend->ProfileSetTones();
41
hgs
parents: 33
diff changeset
   427
        HBufC *ringTone =  XQConversions::qStringToS60Desc(filePath);
hgs
parents: 33
diff changeset
   428
        CleanupStack::PushL(ringTone);
hgs
parents: 33
diff changeset
   429
        setTones.SetRingingTone1L(*ringTone);
hgs
parents: 33
diff changeset
   430
        mEngine->CommitChangeL(*profileExtend);
hgs
parents: 33
diff changeset
   431
        CleanupStack::PopAndDestroy(); //ringTone
33
hgs
parents: 22
diff changeset
   432
        CleanupStack::Pop(); // profileExtend
hgs
parents: 22
diff changeset
   433
        profileExtend->Release();
hgs
parents: 22
diff changeset
   434
    )            
10
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   435
}
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   436
33
hgs
parents: 22
diff changeset
   437
/*
hgs
parents: 22
diff changeset
   438
 * Get the message tone of a profile, if the profile id is invalid, always return 
hgs
parents: 22
diff changeset
   439
 * an empty string 
hgs
parents: 22
diff changeset
   440
 */
12
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
   441
QString CpProfileModelPrivate::messageTone(int profileId) const
10
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   442
{
33
hgs
parents: 22
diff changeset
   443
    QString messageTone;
hgs
parents: 22
diff changeset
   444
    if(!isValidProfile(profileId)) {
hgs
parents: 22
diff changeset
   445
        return messageTone;
hgs
parents: 22
diff changeset
   446
    }
hgs
parents: 22
diff changeset
   447
    QT_TRAP_THROWING(
hgs
parents: 22
diff changeset
   448
        MProfileExtended2 *profileExtend = mEngine->Profile2L(profileId); 
hgs
parents: 22
diff changeset
   449
        CleanupStack::PushL(profileExtend);
hgs
parents: 22
diff changeset
   450
        
hgs
parents: 22
diff changeset
   451
        const MProfileTones &setTones = profileExtend->ProfileTones();
hgs
parents: 22
diff changeset
   452
        
hgs
parents: 22
diff changeset
   453
        messageTone = XQConversions::s60DescToQString(setTones.MessageAlertTone());
hgs
parents: 22
diff changeset
   454
        CleanupStack::Pop(); // profileExtend
hgs
parents: 22
diff changeset
   455
        profileExtend->Release();
hgs
parents: 22
diff changeset
   456
    )
19
hgs
parents: 12
diff changeset
   457
    
12
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
   458
    return messageTone;    
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
   459
}
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
   460
33
hgs
parents: 22
diff changeset
   461
/*
hgs
parents: 22
diff changeset
   462
 * Set the message tone of a profile, if the profile id is invalid, nothing happens
hgs
parents: 22
diff changeset
   463
 */
12
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
   464
void CpProfileModelPrivate::setMessageTone(int profileId, const QString& filePath)
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
   465
{
33
hgs
parents: 22
diff changeset
   466
    if(!isValidProfile(profileId)) {
hgs
parents: 22
diff changeset
   467
        return;
hgs
parents: 22
diff changeset
   468
    }
hgs
parents: 22
diff changeset
   469
    QT_TRAP_THROWING(
hgs
parents: 22
diff changeset
   470
        MProfileExtended2 *profileExtend = mEngine->Profile2L(profileId);
hgs
parents: 22
diff changeset
   471
        CleanupStack::PushL(profileExtend);
hgs
parents: 22
diff changeset
   472
        MProfileSetTones &setTones =
19
hgs
parents: 12
diff changeset
   473
            profileExtend->ProfileSetTones();
41
hgs
parents: 33
diff changeset
   474
        HBufC *messageTone = XQConversions::qStringToS60Desc(filePath);
hgs
parents: 33
diff changeset
   475
        CleanupStack::PushL(messageTone);
hgs
parents: 33
diff changeset
   476
        setTones.SetMessageAlertToneL(*messageTone);
19
hgs
parents: 12
diff changeset
   477
        mEngine->CommitChangeL(*profileExtend);
41
hgs
parents: 33
diff changeset
   478
        CleanupStack::PopAndDestroy();//messageTone
33
hgs
parents: 22
diff changeset
   479
        CleanupStack::Pop(); // profileExtend
hgs
parents: 22
diff changeset
   480
        profileExtend->Release();
hgs
parents: 22
diff changeset
   481
    )                
10
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   482
}
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   483
33
hgs
parents: 22
diff changeset
   484
/*
hgs
parents: 22
diff changeset
   485
 * Get the email tone of a profile, if profile id is invalid, return an empty string
hgs
parents: 22
diff changeset
   486
 */
12
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
   487
QString CpProfileModelPrivate::emailTone(int profileId) const
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
   488
{
33
hgs
parents: 22
diff changeset
   489
    QString emailTone;
hgs
parents: 22
diff changeset
   490
    
hgs
parents: 22
diff changeset
   491
    if(!isValidProfile(profileId)) {
hgs
parents: 22
diff changeset
   492
        return emailTone;
hgs
parents: 22
diff changeset
   493
    }
hgs
parents: 22
diff changeset
   494
    QT_TRAP_THROWING(
hgs
parents: 22
diff changeset
   495
        MProfileExtended2 *profileExtend = mEngine->Profile2L(profileId);  
hgs
parents: 22
diff changeset
   496
        CleanupStack::PushL(profileExtend);
hgs
parents: 22
diff changeset
   497
        const MProfileExtraTones2 &extTones =
hgs
parents: 22
diff changeset
   498
                profileExtend->ProfileExtraTones2();
19
hgs
parents: 12
diff changeset
   499
33
hgs
parents: 22
diff changeset
   500
        emailTone = XQConversions::s60DescToQString(extTones.EmailAlertTone());
hgs
parents: 22
diff changeset
   501
        CleanupStack::Pop(); // profileExtend
hgs
parents: 22
diff changeset
   502
        profileExtend->Release();
hgs
parents: 22
diff changeset
   503
    )
hgs
parents: 22
diff changeset
   504
    return emailTone;
12
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
   505
}
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
   506
33
hgs
parents: 22
diff changeset
   507
/*
hgs
parents: 22
diff changeset
   508
 * Set the email tone for a profile, if the profile id is invalid, nothing happens
hgs
parents: 22
diff changeset
   509
 */
12
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
   510
void CpProfileModelPrivate::setEmailTone(int profileId, const QString& filePath)
10
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   511
{
33
hgs
parents: 22
diff changeset
   512
    if(!isValidProfile(profileId)) {
hgs
parents: 22
diff changeset
   513
        return ;
hgs
parents: 22
diff changeset
   514
    }
hgs
parents: 22
diff changeset
   515
    QT_TRAP_THROWING(
hgs
parents: 22
diff changeset
   516
        MProfileExtended2 *profileExtend = mEngine->Profile2L(profileId);
hgs
parents: 22
diff changeset
   517
        CleanupStack::PushL(profileExtend);
hgs
parents: 22
diff changeset
   518
        MProfileSetExtraTones2 &setExtTones =
hgs
parents: 22
diff changeset
   519
                profileExtend->ProfileSetExtraTones2();
41
hgs
parents: 33
diff changeset
   520
        HBufC *emailTone =  XQConversions::qStringToS60Desc(filePath);
hgs
parents: 33
diff changeset
   521
        CleanupStack::PushL(emailTone);
hgs
parents: 33
diff changeset
   522
        setExtTones.SetEmailAlertToneL(*emailTone);
19
hgs
parents: 12
diff changeset
   523
        mEngine->CommitChangeL(*profileExtend);
41
hgs
parents: 33
diff changeset
   524
        CleanupStack::PopAndDestroy();//emailtone;
33
hgs
parents: 22
diff changeset
   525
        CleanupStack::Pop(); // profileExtend
hgs
parents: 22
diff changeset
   526
        profileExtend->Release();
19
hgs
parents: 12
diff changeset
   527
    )
12
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
   528
}
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
   529
33
hgs
parents: 22
diff changeset
   530
/*
hgs
parents: 22
diff changeset
   531
 * Get a reminder tone for a profile, if the profile id is invalid,
hgs
parents: 22
diff changeset
   532
 * always return an emtpy string 
hgs
parents: 22
diff changeset
   533
 */
12
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
   534
QString CpProfileModelPrivate::reminderTone(int profileId) const
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
   535
{
33
hgs
parents: 22
diff changeset
   536
    QString reminderTone;
hgs
parents: 22
diff changeset
   537
    if(!isValidProfile(profileId)) {
hgs
parents: 22
diff changeset
   538
        return reminderTone;
hgs
parents: 22
diff changeset
   539
    }
hgs
parents: 22
diff changeset
   540
    QT_TRAP_THROWING(
hgs
parents: 22
diff changeset
   541
        MProfileExtended2 *profileExtend = mEngine->Profile2L(profileId);
hgs
parents: 22
diff changeset
   542
        CleanupStack::PushL(profileExtend);
hgs
parents: 22
diff changeset
   543
        const MProfileExtraTones2 &extTones = profileExtend->ProfileExtraTones2();
hgs
parents: 22
diff changeset
   544
        
hgs
parents: 22
diff changeset
   545
        reminderTone = XQConversions::s60DescToQString(extTones.ReminderTone());
hgs
parents: 22
diff changeset
   546
        CleanupStack::Pop(); // profileExtend
hgs
parents: 22
diff changeset
   547
        profileExtend->Release();
hgs
parents: 22
diff changeset
   548
    )
19
hgs
parents: 12
diff changeset
   549
    return reminderTone;        
10
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   550
}
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   551
33
hgs
parents: 22
diff changeset
   552
/*
hgs
parents: 22
diff changeset
   553
 * Set a reminder tone for a profile, if the profile id is invalid,
hgs
parents: 22
diff changeset
   554
 * nothing happens
hgs
parents: 22
diff changeset
   555
 */
12
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
   556
void CpProfileModelPrivate::setReminderTone(int profileId, const QString& filePath)
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
   557
{
33
hgs
parents: 22
diff changeset
   558
    if(!isValidProfile(profileId)) {
hgs
parents: 22
diff changeset
   559
        return;
hgs
parents: 22
diff changeset
   560
    }
hgs
parents: 22
diff changeset
   561
    QT_TRAP_THROWING(
hgs
parents: 22
diff changeset
   562
        MProfileExtended2 *profileExtend = mEngine->Profile2L(profileId);
hgs
parents: 22
diff changeset
   563
        CleanupStack::PushL(profileExtend);
hgs
parents: 22
diff changeset
   564
        
hgs
parents: 22
diff changeset
   565
        MProfileSetExtraTones2 &setExtTones = profileExtend->ProfileSetExtraTones2();
41
hgs
parents: 33
diff changeset
   566
        HBufC *reminderTone = XQConversions::qStringToS60Desc(filePath);
hgs
parents: 33
diff changeset
   567
        CleanupStack::PushL(reminderTone);
hgs
parents: 33
diff changeset
   568
        setExtTones.SetReminderToneL( *reminderTone );
33
hgs
parents: 22
diff changeset
   569
        mEngine->CommitChangeL(*profileExtend);
41
hgs
parents: 33
diff changeset
   570
        CleanupStack::PopAndDestroy(); //reminderTone;
33
hgs
parents: 22
diff changeset
   571
        CleanupStack::Pop(); // profileExtend
hgs
parents: 22
diff changeset
   572
        profileExtend->Release();
19
hgs
parents: 12
diff changeset
   573
    )            
12
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
   574
}
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
   575
33
hgs
parents: 22
diff changeset
   576
/*
hgs
parents: 22
diff changeset
   577
 * Get the status of notification tone, if the profile id is invalid,
hgs
parents: 22
diff changeset
   578
 * always return false
hgs
parents: 22
diff changeset
   579
 */
12
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
   580
bool CpProfileModelPrivate::notificationTone(int profileId) const
10
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   581
{
33
hgs
parents: 22
diff changeset
   582
    bool ret = false;
hgs
parents: 22
diff changeset
   583
    if(!isValidProfile(profileId)) {
hgs
parents: 22
diff changeset
   584
        return false;
hgs
parents: 22
diff changeset
   585
    }
hgs
parents: 22
diff changeset
   586
    QT_TRAP_THROWING(
hgs
parents: 22
diff changeset
   587
        MProfileExtended2 *profileExtend = mEngine->Profile2L(profileId);
hgs
parents: 22
diff changeset
   588
        CleanupStack::PushL(profileExtend);
hgs
parents: 22
diff changeset
   589
        
hgs
parents: 22
diff changeset
   590
        const MProfileTones &setTones = profileExtend->ProfileTones();
hgs
parents: 22
diff changeset
   591
        const TProfileToneSettings &toneSettings = setTones.ToneSettings();
hgs
parents: 22
diff changeset
   592
        ret = toneSettings.iWarningAndGameTones;
hgs
parents: 22
diff changeset
   593
        
hgs
parents: 22
diff changeset
   594
        CleanupStack::Pop(); // profileExtend
hgs
parents: 22
diff changeset
   595
        profileExtend->Release();
hgs
parents: 22
diff changeset
   596
    )
hgs
parents: 22
diff changeset
   597
    return ret;
12
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
   598
}
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
   599
33
hgs
parents: 22
diff changeset
   600
/*
hgs
parents: 22
diff changeset
   601
 * Set the status of notification tone, if the profile id is
hgs
parents: 22
diff changeset
   602
 * invalid, nothing happens
hgs
parents: 22
diff changeset
   603
 */
12
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
   604
void CpProfileModelPrivate::setNotificationTone(int profileId, bool isActive)
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
   605
{
33
hgs
parents: 22
diff changeset
   606
    if(!isValidProfile(profileId)) {
hgs
parents: 22
diff changeset
   607
        return ;
hgs
parents: 22
diff changeset
   608
    }
hgs
parents: 22
diff changeset
   609
    QT_TRAP_THROWING(
hgs
parents: 22
diff changeset
   610
        MProfileExtended2 *profileExtend = mEngine->Profile2L(profileId);
hgs
parents: 22
diff changeset
   611
        CleanupStack::PushL(profileExtend);
hgs
parents: 22
diff changeset
   612
        MProfileSetTones &setTones = profileExtend->ProfileSetTones();
hgs
parents: 22
diff changeset
   613
        TProfileToneSettings &toneSettings = setTones.SetToneSettings();
12
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
   614
33
hgs
parents: 22
diff changeset
   615
        toneSettings.iWarningAndGameTones = isActive;
hgs
parents: 22
diff changeset
   616
hgs
parents: 22
diff changeset
   617
        mEngine->CommitChangeL(*profileExtend);
hgs
parents: 22
diff changeset
   618
        CleanupStack::Pop(); // profileExtend
hgs
parents: 22
diff changeset
   619
        profileExtend->Release();
hgs
parents: 22
diff changeset
   620
    )
10
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   621
}
33
hgs
parents: 22
diff changeset
   622
/*
hgs
parents: 22
diff changeset
   623
 * Get key & touch screen tone's value, if the profile id
hgs
parents: 22
diff changeset
   624
 * is invalid, always return 0
22
hgs
parents: 21
diff changeset
   625
 */
12
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
   626
int CpProfileModelPrivate::keyTouchScreenTone(int profileId) const
10
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   627
{
33
hgs
parents: 22
diff changeset
   628
    int level = 0;
hgs
parents: 22
diff changeset
   629
    if(!isValidProfile(profileId)) {
hgs
parents: 22
diff changeset
   630
        return level;
hgs
parents: 22
diff changeset
   631
    }
19
hgs
parents: 12
diff changeset
   632
    
33
hgs
parents: 22
diff changeset
   633
    QT_TRAP_THROWING(
hgs
parents: 22
diff changeset
   634
        MProfileExtended2 *profileExtend = mEngine->Profile2L(profileId);
hgs
parents: 22
diff changeset
   635
        CleanupStack::PushL(profileExtend);
19
hgs
parents: 12
diff changeset
   636
33
hgs
parents: 22
diff changeset
   637
        const MProfileTones &setTones = profileExtend->ProfileTones();
hgs
parents: 22
diff changeset
   638
        const TProfileToneSettings &toneSettings = setTones.ToneSettings();
hgs
parents: 22
diff changeset
   639
        
hgs
parents: 22
diff changeset
   640
        // Return only keypad volume, but touch tone volume will be synchronized in 
hgs
parents: 22
diff changeset
   641
        // SetKeyTouchScreenTone(), these two settings also have the same default value
hgs
parents: 22
diff changeset
   642
        // in cenrep key
hgs
parents: 22
diff changeset
   643
        level = toneSettings.iKeypadVolume;  
hgs
parents: 22
diff changeset
   644
        CleanupStack::Pop(); // profileExtend
hgs
parents: 22
diff changeset
   645
        profileExtend->Release();
hgs
parents: 22
diff changeset
   646
    )
hgs
parents: 22
diff changeset
   647
    return level;
12
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
   648
}
33
hgs
parents: 22
diff changeset
   649
/*
hgs
parents: 22
diff changeset
   650
 *   set key & touch screen tone, if the profile id
hgs
parents: 22
diff changeset
   651
 *   is invalid, nothing happens
22
hgs
parents: 21
diff changeset
   652
 */
12
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
   653
void CpProfileModelPrivate::setKeyTouchScreenTone(int profileId, int level)
33
hgs
parents: 22
diff changeset
   654
{   
hgs
parents: 22
diff changeset
   655
    if(!isValidProfile(profileId)) {
hgs
parents: 22
diff changeset
   656
        return ;
hgs
parents: 22
diff changeset
   657
    }
hgs
parents: 22
diff changeset
   658
    QT_TRAP_THROWING(
12
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
   659
33
hgs
parents: 22
diff changeset
   660
        MProfileExtended2 *profileExtend = mEngine->Profile2L(profileId);
hgs
parents: 22
diff changeset
   661
        CleanupStack::PushL(profileExtend);
hgs
parents: 22
diff changeset
   662
        MProfileSetTones &setTones =
hgs
parents: 22
diff changeset
   663
                profileExtend->ProfileSetTones();
hgs
parents: 22
diff changeset
   664
        TProfileToneSettings &toneSettings =
hgs
parents: 22
diff changeset
   665
                setTones.SetToneSettings();
hgs
parents: 22
diff changeset
   666
        
hgs
parents: 22
diff changeset
   667
        MProfileSetExtraSettings &extraSettings =
hgs
parents: 22
diff changeset
   668
                    profileExtend->ProfileSetExtraSettings();
hgs
parents: 22
diff changeset
   669
        MProfileSetFeedbackSettings &setFeedbackSettings =
hgs
parents: 22
diff changeset
   670
                    extraSettings.ProfileSetFeedbackSettings();
hgs
parents: 22
diff changeset
   671
        
hgs
parents: 22
diff changeset
   672
        // Update the key pad volume and touch tone volume together
hgs
parents: 22
diff changeset
   673
        toneSettings.iKeypadVolume
hgs
parents: 22
diff changeset
   674
                = static_cast<TProfileKeypadVolume> (level);
hgs
parents: 22
diff changeset
   675
        
hgs
parents: 22
diff changeset
   676
        setFeedbackSettings.SetAudioFeedback(
hgs
parents: 22
diff changeset
   677
                static_cast<TProfileAudioFeedback> (level));
hgs
parents: 22
diff changeset
   678
        
hgs
parents: 22
diff changeset
   679
        mEngine->CommitChangeL(*profileExtend);
hgs
parents: 22
diff changeset
   680
        CleanupStack::Pop(); // profileExtend
hgs
parents: 22
diff changeset
   681
        profileExtend->Release();
19
hgs
parents: 12
diff changeset
   682
    )    
10
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   683
}
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   684
33
hgs
parents: 22
diff changeset
   685
/*
hgs
parents: 22
diff changeset
   686
 * Get key touch screen vibra's value of a profile, return 0 if the
hgs
parents: 22
diff changeset
   687
 * profile id is invalid  
hgs
parents: 22
diff changeset
   688
 */
hgs
parents: 22
diff changeset
   689
int CpProfileModelPrivate::keyTouchScreenVibra(int profileId)const
10
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   690
{
33
hgs
parents: 22
diff changeset
   691
    int level = 0;
hgs
parents: 22
diff changeset
   692
    if(!isValidProfile(profileId)) {
hgs
parents: 22
diff changeset
   693
        return level;
hgs
parents: 22
diff changeset
   694
    }
hgs
parents: 22
diff changeset
   695
    QT_TRAP_THROWING(
hgs
parents: 22
diff changeset
   696
        MProfileExtended2 *profileExtend = mEngine->Profile2L(profileId);
hgs
parents: 22
diff changeset
   697
        CleanupStack::PushL(profileExtend);    
hgs
parents: 22
diff changeset
   698
        const MProfileExtraSettings &extraSettings =
hgs
parents: 22
diff changeset
   699
                    profileExtend->ProfileExtraSettings();
hgs
parents: 22
diff changeset
   700
        const MProfileFeedbackSettings &feedbackSettings =
hgs
parents: 22
diff changeset
   701
                    extraSettings.ProfileFeedbackSettings();
hgs
parents: 22
diff changeset
   702
        level = feedbackSettings.TactileFeedback();
12
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
   703
33
hgs
parents: 22
diff changeset
   704
        CleanupStack::Pop(); // profileExtend
hgs
parents: 22
diff changeset
   705
        profileExtend->Release();
hgs
parents: 22
diff changeset
   706
    )
12
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
   707
    
33
hgs
parents: 22
diff changeset
   708
    return level;
12
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
   709
}
11
10d0dd0e43f1 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 10
diff changeset
   710
33
hgs
parents: 22
diff changeset
   711
/*
hgs
parents: 22
diff changeset
   712
 * Set key & touch screen vibra for a profile, 
hgs
parents: 22
diff changeset
   713
 * if the profile id is invalid, nothing happens
hgs
parents: 22
diff changeset
   714
 */
hgs
parents: 22
diff changeset
   715
void CpProfileModelPrivate::setKeyTouchScreenVibra(int profileId, int level)
12
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
   716
{
33
hgs
parents: 22
diff changeset
   717
    if(!isValidProfile(profileId)) {
hgs
parents: 22
diff changeset
   718
        return ;
12
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
   719
    }
33
hgs
parents: 22
diff changeset
   720
    QT_TRAP_THROWING(
hgs
parents: 22
diff changeset
   721
        MProfileExtended2 *profileExtend = mEngine->Profile2L(profileId);
hgs
parents: 22
diff changeset
   722
        CleanupStack::PushL(profileExtend);    
10
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   723
33
hgs
parents: 22
diff changeset
   724
        MProfileSetExtraSettings &extraSettings =
hgs
parents: 22
diff changeset
   725
                profileExtend->ProfileSetExtraSettings();
hgs
parents: 22
diff changeset
   726
        MProfileSetFeedbackSettings &setFeedbackSettings =
hgs
parents: 22
diff changeset
   727
                extraSettings.ProfileSetFeedbackSettings();
hgs
parents: 22
diff changeset
   728
        setFeedbackSettings.SetTactileFeedback(
hgs
parents: 22
diff changeset
   729
                static_cast<TProfileTactileFeedback> (level));
hgs
parents: 22
diff changeset
   730
        mEngine->CommitChangeL(*profileExtend);
hgs
parents: 22
diff changeset
   731
        CleanupStack::Pop(); // profileExtend
hgs
parents: 22
diff changeset
   732
        profileExtend->Release();
hgs
parents: 22
diff changeset
   733
    )                
10
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   734
}
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   735
33
hgs
parents: 22
diff changeset
   736
/*
hgs
parents: 22
diff changeset
   737
 * Judge the profile is valid or not 
hgs
parents: 22
diff changeset
   738
 */
10
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   739
33
hgs
parents: 22
diff changeset
   740
bool CpProfileModelPrivate::isValidProfile(int profileId) const
10
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   741
{
33
hgs
parents: 22
diff changeset
   742
    return mProfileList.contains(profileId);
10
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   743
}
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   744
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   745
// End of file
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   746
19
hgs
parents: 12
diff changeset
   747