controlpanelui/src/cpplugins/personalizationplugin/src/cpprofilesettingform.cpp
author hgs
Thu, 30 Sep 2010 16:15:53 +0800
changeset 41 ab0490982943
parent 33 0cfa53de576f
child 43 aae8b749572d
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 "cpprofilesettingform.h"
12
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
    19
#include "cppersonalizationentryitemdata.h"
41
hgs
parents: 33
diff changeset
    20
#include "cpprofilenameeditdialog.h"
10
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    21
#include <QStringList>
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    22
#include <hbdataformmodel.h>
12
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
    23
#include <hbabstractviewitem.h>
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
    24
#include <cpitemdatahelper.h>
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
    25
#include <cpprofilemodel.h>
41
hgs
parents: 33
diff changeset
    26
#include <cpprofilemonitor.h>
19
hgs
parents: 12
diff changeset
    27
#include <hbslider.h>
41
hgs
parents: 33
diff changeset
    28
#include <hbaction.h>
12
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
    29
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
    30
#include <QFileInfo>
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
    31
#include <QFileIconProvider>
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
    32
#include <QAbstractItemModel>
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
    33
#include <QModelIndex>
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
    34
#include <QMap>
10
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    35
19
hgs
parents: 12
diff changeset
    36
#include <xqsettingsmanager.h>
hgs
parents: 12
diff changeset
    37
#include <ProfileEngineInternalCRKeys.h>
hgs
parents: 12
diff changeset
    38
10
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    39
CpProfileSettingForm::CpProfileSettingForm()
12
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
    40
    : mModel(0), mItemDataHelper(new CpItemDataHelper( this )),
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
    41
    mProfileModel(new CpProfileModel()), mFileIconProvider(new QFileIconProvider),
41
hgs
parents: 33
diff changeset
    42
    mGeneralPage(0),mMeetingPage(0), mSettingManager(0),
hgs
parents: 33
diff changeset
    43
    mCurrentProfileId(EProfileWrapperGeneralId), mEditProfileNameDialog(0), mOkButton(0), mCancelButton(0)
10
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    44
{
12
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
    45
    this->setHeading(hbTrId("txt_cp_button_advanced_settings"));
41
hgs
parents: 33
diff changeset
    46
    this->setDescription(hbTrId("txt_cp_info_select_tones_that_play_when_you_select"));    
10
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    47
    initModel();
41
hgs
parents: 33
diff changeset
    48
    connect(this, SIGNAL(activated(QModelIndex)), this, SLOT(onDataFormActivated(QModelIndex)));
hgs
parents: 33
diff changeset
    49
    mProfileMonitor = new CpProfileMonitor();    
hgs
parents: 33
diff changeset
    50
    connect(mProfileMonitor, SIGNAL(profileNameModified()), this, SLOT(onProfileNameChanged()));       
10
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    51
}
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    52
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    53
CpProfileSettingForm::~CpProfileSettingForm()
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    54
{
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    55
    delete mModel;
12
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
    56
    delete mProfileModel;
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
    57
    delete mFileIconProvider;
19
hgs
parents: 12
diff changeset
    58
    delete mSettingManager;
41
hgs
parents: 33
diff changeset
    59
    delete mProfileMonitor;
hgs
parents: 33
diff changeset
    60
    if (mEditProfileNameDialog) {
hgs
parents: 33
diff changeset
    61
       delete mEditProfileNameDialog;
hgs
parents: 33
diff changeset
    62
    }
hgs
parents: 33
diff changeset
    63
    if (mOkButton) {
hgs
parents: 33
diff changeset
    64
       delete mOkButton;
hgs
parents: 33
diff changeset
    65
    }
hgs
parents: 33
diff changeset
    66
    if (mCancelButton) {
hgs
parents: 33
diff changeset
    67
       delete mCancelButton;
hgs
parents: 33
diff changeset
    68
    }
hgs
parents: 33
diff changeset
    69
}
hgs
parents: 33
diff changeset
    70
hgs
parents: 33
diff changeset
    71
void CpProfileSettingForm::onDataFormActivated(const QModelIndex &index)
hgs
parents: 33
diff changeset
    72
{
hgs
parents: 33
diff changeset
    73
    HbDataFormModelItem *item = mModel->itemFromIndex(index);
hgs
parents: 33
diff changeset
    74
    if (item == mGeneralPage ) {
hgs
parents: 33
diff changeset
    75
        mCurrentProfileId = EProfileWrapperGeneralId;        
hgs
parents: 33
diff changeset
    76
    } else if (item == mMeetingPage) {
hgs
parents: 33
diff changeset
    77
        mCurrentProfileId = EProfileWrapperMeetingId;        
hgs
parents: 33
diff changeset
    78
    }
hgs
parents: 33
diff changeset
    79
}
hgs
parents: 33
diff changeset
    80
hgs
parents: 33
diff changeset
    81
void CpProfileSettingForm::onProfileNameChanged()
hgs
parents: 33
diff changeset
    82
{    
hgs
parents: 33
diff changeset
    83
    mGeneralPage->setLabel(mProfileModel->profileName(EProfileWrapperGeneralId));
hgs
parents: 33
diff changeset
    84
    mMeetingPage->setLabel(mProfileModel->profileName(EProfileWrapperMeetingId));
10
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    85
}
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    86
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    87
void CpProfileSettingForm::initModel()
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    88
{
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    89
    mModel = new HbDataFormModel();
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    90
12
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
    91
    QString generalString( mProfileModel->profileName( EProfileWrapperGeneralId ) );
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
    92
    if( generalString.isEmpty() ) {
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
    93
        qDebug( "warning: general profile name is empty");
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
    94
        generalString = hbTrId("txt_cp_list_general"); 
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
    95
    }
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
    96
    QString meetingString( mProfileModel->profileName( EProfileWrapperMeetingId ) );
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
    97
    if( meetingString.isEmpty() ) {
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
    98
        qDebug( "warning: meeting profile name is empty");
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
    99
        meetingString = hbTrId("txt_cp_list_meeting"); 
10
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
    
19
hgs
parents: 12
diff changeset
   102
    mSettingManager = new XQSettingsManager();   
hgs
parents: 12
diff changeset
   103
    
hgs
parents: 12
diff changeset
   104
    XQCentralRepositorySettingsKey key(KCRUidProfileEngine.iUid,KProEngSilenceMode);
hgs
parents: 12
diff changeset
   105
    
hgs
parents: 12
diff changeset
   106
    QVariant silenceMode = mSettingManager->readItemValue(key,XQSettingsManager::TypeInt);
hgs
parents: 12
diff changeset
   107
hgs
parents: 12
diff changeset
   108
    mSettingManager->startMonitoring(key,XQSettingsManager::TypeInt);
hgs
parents: 12
diff changeset
   109
    connect(mSettingManager, SIGNAL(valueChanged (XQSettingsKey, QVariant)),
hgs
parents: 12
diff changeset
   110
            this, SLOT(settingValueChanged(XQSettingsKey, QVariant)));
hgs
parents: 12
diff changeset
   111
    
12
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
   112
    mGeneralPage = mModel->appendDataFormPage( generalString );
19
hgs
parents: 12
diff changeset
   113
    initProfileItems(EProfileWrapperGeneralId,mGeneralPage);
hgs
parents: 12
diff changeset
   114
    
hgs
parents: 12
diff changeset
   115
    //initGeneralTonesGroup();
hgs
parents: 12
diff changeset
   116
    
12
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
   117
    //initGeneralVibraGroup();
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
   118
    
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
   119
    mMeetingPage = mModel->appendDataFormPage( meetingString );
19
hgs
parents: 12
diff changeset
   120
    initProfileItems(EProfileWrapperMeetingId,mMeetingPage);
hgs
parents: 12
diff changeset
   121
    //initMeetingTonesGroup();
12
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
   122
    //initMeetingVibraGroup();
10
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   123
    setModel(mModel);
19
hgs
parents: 12
diff changeset
   124
    settingValueChanged(key,silenceMode);
10
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   125
}
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   126
19
hgs
parents: 12
diff changeset
   127
void CpProfileSettingForm::initProfileItems(int profileId,HbDataFormModelItem *parent)
hgs
parents: 12
diff changeset
   128
{
hgs
parents: 12
diff changeset
   129
    CpProfileSettings profileSettings;
hgs
parents: 12
diff changeset
   130
    mProfileModel->profileSettings( profileId, profileSettings );
hgs
parents: 12
diff changeset
   131
    
hgs
parents: 12
diff changeset
   132
    QHash<int,HbDataFormModelItem*> modelItems;
hgs
parents: 12
diff changeset
   133
    
hgs
parents: 12
diff changeset
   134
    //ring tone item
hgs
parents: 12
diff changeset
   135
    QFileInfo ringToneFileInfo( profileSettings.mRingTone );
hgs
parents: 12
diff changeset
   136
    HbDataFormModelItem *modelItem = new CpPersonalizationEntryItemData( *mItemDataHelper,
22
hgs
parents: 21
diff changeset
   137
            hbTrId("txt_cp_dblist_ringtone"), ringToneFileInfo.fileName(), "qtg_large_ring_tone",
19
hgs
parents: 12
diff changeset
   138
            CpPersonalizationEntryItemData::TONE_Ring, profileId );
hgs
parents: 12
diff changeset
   139
    mModel->appendDataFormItem(modelItem, parent);
hgs
parents: 12
diff changeset
   140
    modelItems.insert(ProfileItemRingTone,modelItem);
hgs
parents: 12
diff changeset
   141
    
hgs
parents: 12
diff changeset
   142
    //message tone item
hgs
parents: 12
diff changeset
   143
    QFileInfo messageToneFileInfo( profileSettings.mMessageTone );
hgs
parents: 12
diff changeset
   144
    modelItem = new CpPersonalizationEntryItemData( *mItemDataHelper,
22
hgs
parents: 21
diff changeset
   145
            hbTrId("txt_cp_dblist_message_tone"), messageToneFileInfo.fileName(), "qtg_large_message",
19
hgs
parents: 12
diff changeset
   146
            CpPersonalizationEntryItemData::TONE_Message,
hgs
parents: 12
diff changeset
   147
            profileId );
hgs
parents: 12
diff changeset
   148
    mModel->appendDataFormItem(modelItem , parent);
hgs
parents: 12
diff changeset
   149
    modelItems.insert(ProfileItemMessageTone,modelItem);
hgs
parents: 12
diff changeset
   150
    
hgs
parents: 12
diff changeset
   151
    //email tone item
hgs
parents: 12
diff changeset
   152
    QFileInfo emailToneFileInfo( profileSettings.mEmailTone );
hgs
parents: 12
diff changeset
   153
    modelItem = new CpPersonalizationEntryItemData( *mItemDataHelper,
22
hgs
parents: 21
diff changeset
   154
            hbTrId("txt_cp_dblist_email_tone"),  emailToneFileInfo.fileName(), "qtg_large_email",
19
hgs
parents: 12
diff changeset
   155
            CpPersonalizationEntryItemData::TONE_Email,
hgs
parents: 12
diff changeset
   156
            profileId );
hgs
parents: 12
diff changeset
   157
    mModel->appendDataFormItem(modelItem , parent);
hgs
parents: 12
diff changeset
   158
    modelItems.insert(ProfileItemEmailTone,modelItem);
hgs
parents: 12
diff changeset
   159
    
hgs
parents: 12
diff changeset
   160
    //reminder tone item
hgs
parents: 12
diff changeset
   161
    QFileInfo reminderToneFileInfo( profileSettings.mReminderTone );
hgs
parents: 12
diff changeset
   162
    modelItem = new CpPersonalizationEntryItemData( *mItemDataHelper,
22
hgs
parents: 21
diff changeset
   163
            hbTrId("txt_cp_dblist_reminder_tone"), reminderToneFileInfo.fileName(), "qtg_large_calendar",
19
hgs
parents: 12
diff changeset
   164
            CpPersonalizationEntryItemData::TONE_Reminder,
hgs
parents: 12
diff changeset
   165
            profileId );
hgs
parents: 12
diff changeset
   166
    mModel->appendDataFormItem(modelItem , parent);
hgs
parents: 12
diff changeset
   167
    modelItems.insert(ProfileItemReminderTone,modelItem);
hgs
parents: 12
diff changeset
   168
    
hgs
parents: 12
diff changeset
   169
    //notification tones item
hgs
parents: 12
diff changeset
   170
    modelItem= mModel->appendDataFormItem(HbDataFormModelItem::CheckBoxItem,QString(),parent);
hgs
parents: 12
diff changeset
   171
    modelItem->setContentWidgetData("text", hbTrId("txt_cp_list_notification_tones"));
26
hgs
parents: 22
diff changeset
   172
    modelItem->setContentWidgetData("checkState", profileSettings.mNotificationTone ? 2 : 0);
hgs
parents: 22
diff changeset
   173
    modelItem->setContentWidgetData("objectName", "notificationTonesCheckBox" + QString::number(profileId));
19
hgs
parents: 12
diff changeset
   174
    if (profileId == EProfileWrapperGeneralId) {
hgs
parents: 12
diff changeset
   175
        addConnection( modelItem, SIGNAL( stateChanged( int )), this, SLOT( on_general_notificationTones_stateChanged( int )));
hgs
parents: 12
diff changeset
   176
    }
hgs
parents: 12
diff changeset
   177
    else if (profileId == EProfileWrapperMeetingId) {
hgs
parents: 12
diff changeset
   178
        addConnection( modelItem, SIGNAL( stateChanged( int )), this, SLOT( on_meeting_notificationTones_stateChanged( int )));
hgs
parents: 12
diff changeset
   179
    }
hgs
parents: 12
diff changeset
   180
    modelItems.insert(ProfileItemNotificationTones,modelItem);
hgs
parents: 12
diff changeset
   181
    
hgs
parents: 12
diff changeset
   182
    
hgs
parents: 12
diff changeset
   183
    //Key and Touch Screen Tones item
hgs
parents: 12
diff changeset
   184
    modelItem = 
hgs
parents: 12
diff changeset
   185
            mModel->appendDataFormItem(HbDataFormModelItem::SliderItem ,QString(hbTrId("txt_cp_setlabel_key_and_touchscreen_tones")),parent);
hgs
parents: 12
diff changeset
   186
    
hgs
parents: 12
diff changeset
   187
    QList<QVariant> sliderElements;
hgs
parents: 12
diff changeset
   188
    sliderElements << QVariant(HbSlider::IncreaseElement) << QVariant(HbSlider::TrackElement)
hgs
parents: 12
diff changeset
   189
            << QVariant(HbSlider::DecreaseElement) << QVariant(HbSlider::IconElement)
hgs
parents: 12
diff changeset
   190
            << QVariant(HbSlider::TextElement);
hgs
parents: 12
diff changeset
   191
    modelItem->setContentWidgetData("sliderElements",sliderElements);
26
hgs
parents: 22
diff changeset
   192
    modelItem->setContentWidgetData("objectName", "keyTonesSlider" + QString::number(profileId));
19
hgs
parents: 12
diff changeset
   193
    
hgs
parents: 12
diff changeset
   194
    
hgs
parents: 12
diff changeset
   195
    //TODO: profileModel need provide Max and Min value( 0-5 ), current max value from profileModel is 3
hgs
parents: 12
diff changeset
   196
    modelItem->setContentWidgetData( QString( "minimum" ), 0 );
hgs
parents: 12
diff changeset
   197
    modelItem->setContentWidgetData( QString( "maximum" ), 5 );
hgs
parents: 12
diff changeset
   198
    modelItem->setContentWidgetData( QString("value"), profileSettings.mKeyTouchScreenTone );
hgs
parents: 12
diff changeset
   199
    QMap< QString, QVariant > elements;
41
hgs
parents: 33
diff changeset
   200
    elements.insert(QString("IncreaseElement") , QVariant("qtg_mono_vol_up"));
hgs
parents: 33
diff changeset
   201
    elements.insert(QString("DecreaseElement"), QVariant("qtg_mono_vol_down") );
19
hgs
parents: 12
diff changeset
   202
    if (profileSettings.mKeyTouchScreenTone != 0) {
41
hgs
parents: 33
diff changeset
   203
        elements.insert(QString("IconElement"), QVariant("qtg_mono_speaker") );
19
hgs
parents: 12
diff changeset
   204
    }
hgs
parents: 12
diff changeset
   205
    else {
41
hgs
parents: 33
diff changeset
   206
        elements.insert(QString("IconElement"), QVariant("qtg_mono_speaker_off") );
19
hgs
parents: 12
diff changeset
   207
    }
hgs
parents: 12
diff changeset
   208
    
hgs
parents: 12
diff changeset
   209
    modelItem->setContentWidgetData( QString( "elementIcons" ), elements );
hgs
parents: 12
diff changeset
   210
    
hgs
parents: 12
diff changeset
   211
    if (profileId == EProfileWrapperGeneralId) {
hgs
parents: 12
diff changeset
   212
        addConnection( modelItem, SIGNAL( valueChanged( int )), this, SLOT( on_general_keysAndScreenToneSlider_ValueChanged( int )));
hgs
parents: 12
diff changeset
   213
    }
hgs
parents: 12
diff changeset
   214
    else if (profileId == EProfileWrapperMeetingId) {
hgs
parents: 12
diff changeset
   215
        addConnection( modelItem, SIGNAL( valueChanged( int )), this, SLOT( on_meeting_keysAndScreenToneSlider_ValueChanged( int )));
hgs
parents: 12
diff changeset
   216
    }
hgs
parents: 12
diff changeset
   217
  
hgs
parents: 12
diff changeset
   218
    modelItems.insert(ProfileItemKeyandTouchScreenTones,modelItem);
hgs
parents: 12
diff changeset
   219
    
hgs
parents: 12
diff changeset
   220
    
hgs
parents: 12
diff changeset
   221
    //Touch Screen Vibra item
hgs
parents: 12
diff changeset
   222
    modelItem = mModel->appendDataFormItem( HbDataFormModelItem::SliderItem, QString( hbTrId( "txt_cp_setlabel_touch_screen_vibra" ) ), parent );
hgs
parents: 12
diff changeset
   223
     //TODO: profileModel need provide Max and Min value( 0-5 ), current max value from profileModel is 3
21
hgs
parents: 19
diff changeset
   224
    sliderElements.clear();
hgs
parents: 19
diff changeset
   225
    sliderElements << QVariant(HbSlider::IncreaseElement) << QVariant(HbSlider::TrackElement)
hgs
parents: 19
diff changeset
   226
                << QVariant(HbSlider::DecreaseElement);
hgs
parents: 19
diff changeset
   227
    modelItem->setContentWidgetData("sliderElements",sliderElements);
26
hgs
parents: 22
diff changeset
   228
    modelItem->setContentWidgetData("objectName", "vibrationSlider" + QString::number(profileId));
19
hgs
parents: 12
diff changeset
   229
    modelItem->setContentWidgetData( QString( "minimum" ), 0 );
hgs
parents: 12
diff changeset
   230
    modelItem->setContentWidgetData( QString( "maximum" ), 5 );
hgs
parents: 12
diff changeset
   231
    modelItem->setContentWidgetData( QString("value"), profileSettings.mKeyTouchScreenVibra );
21
hgs
parents: 19
diff changeset
   232
    QMap< QString, QVariant > iconElements;
41
hgs
parents: 33
diff changeset
   233
    iconElements.insert(QString("IncreaseElement") , QVariant("qtg_mono_vol_up"));
hgs
parents: 33
diff changeset
   234
    iconElements.insert(QString("DecreaseElement"), QVariant("qtg_mono_vol_down") );
21
hgs
parents: 19
diff changeset
   235
    modelItem->setContentWidgetData( QString( "elementIcons" ), iconElements );
19
hgs
parents: 12
diff changeset
   236
    
hgs
parents: 12
diff changeset
   237
    if (profileId == EProfileWrapperGeneralId) {
hgs
parents: 12
diff changeset
   238
        addConnection( modelItem, SIGNAL( valueChanged( int )), this, SLOT( on_general_screenVibra_ValueChanged( int )));
hgs
parents: 12
diff changeset
   239
    }
hgs
parents: 12
diff changeset
   240
    else if (profileId == EProfileWrapperMeetingId) {
hgs
parents: 12
diff changeset
   241
        addConnection( modelItem, SIGNAL( valueChanged( int )), this, SLOT( on_meeting_screenVibra_ValueChanged( int )));
hgs
parents: 12
diff changeset
   242
    }
hgs
parents: 12
diff changeset
   243
    
hgs
parents: 12
diff changeset
   244
    modelItems.insert(ProfileItemTouchScreenVibra,modelItem);
hgs
parents: 12
diff changeset
   245
    
hgs
parents: 12
diff changeset
   246
    mProfileModelItems.insert(profileId,modelItems);
hgs
parents: 12
diff changeset
   247
    
hgs
parents: 12
diff changeset
   248
}
hgs
parents: 12
diff changeset
   249
12
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
   250
11
10d0dd0e43f1 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 10
diff changeset
   251
12
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
   252
////////////////////////////////////////////////////
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
   253
//general tones
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
   254
void CpProfileSettingForm::on_general_notificationTones_stateChanged(int state)
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
   255
{
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
   256
    mProfileModel->setNotificationTone( EProfileWrapperGeneralId, checkBoxStateToBool( state ) );
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
   257
}
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
   258
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
   259
void CpProfileSettingForm::on_general_keysAndScreenToneSlider_ValueChanged( int value )
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
   260
{
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
   261
    mProfileModel->setKeyTouchScreenTone( EProfileWrapperGeneralId, value );
19
hgs
parents: 12
diff changeset
   262
    HbDataFormModelItem *modelItem = profileItem(EProfileWrapperGeneralId,ProfileItemKeyandTouchScreenTones);
hgs
parents: 12
diff changeset
   263
    if (modelItem) {
hgs
parents: 12
diff changeset
   264
        modelItem->setContentWidgetData( QString("value"), value );
22
hgs
parents: 21
diff changeset
   265
        setMuteIcon(modelItem, (value == 0) );            
19
hgs
parents: 12
diff changeset
   266
    }
12
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
   267
}
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
   268
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
   269
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
   270
//general vibra
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
   271
void CpProfileSettingForm::on_general_screenVibra_ValueChanged( int value )
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
   272
{
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
   273
    mProfileModel->setKeyTouchScreenVibra( EProfileWrapperGeneralId, value );
19
hgs
parents: 12
diff changeset
   274
    
hgs
parents: 12
diff changeset
   275
    HbDataFormModelItem *modelItem = profileItem(EProfileWrapperGeneralId,ProfileItemTouchScreenVibra);
hgs
parents: 12
diff changeset
   276
    if (modelItem) {
hgs
parents: 12
diff changeset
   277
        modelItem->setContentWidgetData( QString("value"), value );
hgs
parents: 12
diff changeset
   278
    }
11
10d0dd0e43f1 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 10
diff changeset
   279
10
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   280
}
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   281
12
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
   282
////////////////////////////////////////////////////
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
   283
//meeting Tones
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
   284
void CpProfileSettingForm::on_meeting_notificationTones_stateChanged(int state)
10
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   285
{
12
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
   286
    mProfileModel->setNotificationTone( EProfileWrapperMeetingId, checkBoxStateToBool( state ) );
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
   287
}
10
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   288
19
hgs
parents: 12
diff changeset
   289
void CpProfileSettingForm::on_meeting_keysAndScreenToneSlider_ValueChanged( int value )
12
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
   290
{
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
   291
    mProfileModel->setKeyTouchScreenTone( EProfileWrapperMeetingId, value );
19
hgs
parents: 12
diff changeset
   292
    
hgs
parents: 12
diff changeset
   293
    HbDataFormModelItem *modelItem = profileItem(EProfileWrapperMeetingId,ProfileItemKeyandTouchScreenTones);
hgs
parents: 12
diff changeset
   294
    if (modelItem) {
hgs
parents: 12
diff changeset
   295
        modelItem->setContentWidgetData( QString("value"), value );
22
hgs
parents: 21
diff changeset
   296
        setMuteIcon(modelItem, (value == 0) );            
19
hgs
parents: 12
diff changeset
   297
    }
10
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   298
}
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   299
12
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
   300
void CpProfileSettingForm::on_meeting_screenVibra_ValueChanged( int value )
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
   301
{
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
   302
    mProfileModel->setKeyTouchScreenVibra( EProfileWrapperMeetingId, value );
19
hgs
parents: 12
diff changeset
   303
    
hgs
parents: 12
diff changeset
   304
    HbDataFormModelItem *modelItem = profileItem(EProfileWrapperMeetingId,ProfileItemTouchScreenVibra);
hgs
parents: 12
diff changeset
   305
    if (modelItem) {
hgs
parents: 12
diff changeset
   306
        modelItem->setContentWidgetData( QString("value"), value );
hgs
parents: 12
diff changeset
   307
    }
10
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   308
}
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   309
12
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
   310
bool CpProfileSettingForm::checkBoxStateToBool( int state )
10
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   311
{
12
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
   312
    if( state == Qt::Checked ) {
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
   313
        return true;
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
   314
    } else {
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
   315
        return false;
624337f114fe Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 11
diff changeset
   316
    }
10
0a74be98a8bc Revision: 201005
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   317
}
19
hgs
parents: 12
diff changeset
   318
hgs
parents: 12
diff changeset
   319
hgs
parents: 12
diff changeset
   320
void CpProfileSettingForm::settingValueChanged(const XQSettingsKey &key, const QVariant &value)
hgs
parents: 12
diff changeset
   321
{
hgs
parents: 12
diff changeset
   322
    if (key.uid() == KCRUidProfileEngine.iUid && key.key() == KProEngSilenceMode && value.isValid()) {
hgs
parents: 12
diff changeset
   323
    
hgs
parents: 12
diff changeset
   324
		static const int silenceSensitiveModelItemIds[] = 
hgs
parents: 12
diff changeset
   325
		{       
hgs
parents: 12
diff changeset
   326
			CpProfileSettingForm::ProfileItemRingTone,
hgs
parents: 12
diff changeset
   327
			CpProfileSettingForm::ProfileItemMessageTone,
hgs
parents: 12
diff changeset
   328
			CpProfileSettingForm::ProfileItemEmailTone,
hgs
parents: 12
diff changeset
   329
			CpProfileSettingForm::ProfileItemReminderTone,
hgs
parents: 12
diff changeset
   330
			CpProfileSettingForm::ProfileItemNotificationTones,
hgs
parents: 12
diff changeset
   331
			CpProfileSettingForm::ProfileItemKeyandTouchScreenTones
hgs
parents: 12
diff changeset
   332
		};
hgs
parents: 12
diff changeset
   333
    
hgs
parents: 12
diff changeset
   334
        QHash< int,QHash<int,HbDataFormModelItem*>  >::const_iterator it (mProfileModelItems.begin());
hgs
parents: 12
diff changeset
   335
        for(; it != mProfileModelItems.end(); ++it ) {          
hgs
parents: 12
diff changeset
   336
            for (int i = 0; i < sizeof(silenceSensitiveModelItemIds)/sizeof(silenceSensitiveModelItemIds[0]);++i) {           
hgs
parents: 12
diff changeset
   337
                QHash<int,HbDataFormModelItem*>::const_iterator found = it.value().find(silenceSensitiveModelItemIds[i]);
hgs
parents: 12
diff changeset
   338
                if (found != it.value().end()) {
22
hgs
parents: 21
diff changeset
   339
                    if (found.key() == CpProfileSettingForm::ProfileItemKeyandTouchScreenTones) {
hgs
parents: 21
diff changeset
   340
                        int currentValue = found.value()->contentWidgetData("value").toInt();
hgs
parents: 21
diff changeset
   341
                        // change the mute icon when the silence mode is changed
hgs
parents: 21
diff changeset
   342
                        bool isMute = value.toBool() || (currentValue == 0);
hgs
parents: 21
diff changeset
   343
                        setMuteIcon(found.value(), isMute); 
hgs
parents: 21
diff changeset
   344
                    } 
hgs
parents: 21
diff changeset
   345
                    found.value()->setEnabled(!value.toBool());                             
19
hgs
parents: 12
diff changeset
   346
                }
hgs
parents: 12
diff changeset
   347
            }   
hgs
parents: 12
diff changeset
   348
        }
hgs
parents: 12
diff changeset
   349
    }
hgs
parents: 12
diff changeset
   350
}
hgs
parents: 12
diff changeset
   351
hgs
parents: 12
diff changeset
   352
HbDataFormModelItem *CpProfileSettingForm::profileItem(int profileId,int profileItemId)
hgs
parents: 12
diff changeset
   353
{
hgs
parents: 12
diff changeset
   354
    return mProfileModelItems.value(profileId).value(profileItemId);
hgs
parents: 12
diff changeset
   355
}
hgs
parents: 12
diff changeset
   356
22
hgs
parents: 21
diff changeset
   357
/*!
hgs
parents: 21
diff changeset
   358
 *  Set the slider icon to mute or unmute
hgs
parents: 21
diff changeset
   359
 *  @param isMute: identified the icon of slider, mute or unmute
hgs
parents: 21
diff changeset
   360
 *  @param profileId: identified which slider should be changed
hgs
parents: 21
diff changeset
   361
 */
hgs
parents: 21
diff changeset
   362
hgs
parents: 21
diff changeset
   363
void CpProfileSettingForm::setMuteIcon(HbDataFormModelItem *sliderItem, bool isMute)
hgs
parents: 21
diff changeset
   364
{
hgs
parents: 21
diff changeset
   365
    if (sliderItem == 0) {
hgs
parents: 21
diff changeset
   366
        return;
hgs
parents: 21
diff changeset
   367
    }
hgs
parents: 21
diff changeset
   368
    //VolumeSliderItem will be depreacted, so ignore the assert about it
hgs
parents: 21
diff changeset
   369
    if (sliderItem->type() != HbDataFormModelItem::SliderItem) {
hgs
parents: 21
diff changeset
   370
        return;
hgs
parents: 21
diff changeset
   371
    }
hgs
parents: 21
diff changeset
   372
    
hgs
parents: 21
diff changeset
   373
    QMap<QString, QVariant> elements = sliderItem->contentWidgetData("elementIcons").toMap();
hgs
parents: 21
diff changeset
   374
    
hgs
parents: 21
diff changeset
   375
    if (isMute) {        
41
hgs
parents: 33
diff changeset
   376
        elements.insert(QString("IconElement"), QVariant("qtg_mono_speaker_off"));
22
hgs
parents: 21
diff changeset
   377
    }
hgs
parents: 21
diff changeset
   378
    else {
41
hgs
parents: 33
diff changeset
   379
        elements.insert(QString("IconElement"), QVariant("qtg_mono_speaker"));
22
hgs
parents: 21
diff changeset
   380
    }
hgs
parents: 21
diff changeset
   381
    sliderItem->setContentWidgetData( QString( "elementIcons" ), elements ); 
hgs
parents: 21
diff changeset
   382
}
41
hgs
parents: 33
diff changeset
   383
hgs
parents: 33
diff changeset
   384
void CpProfileSettingForm::on_editNameAction_triggered()
hgs
parents: 33
diff changeset
   385
{    
hgs
parents: 33
diff changeset
   386
    if (mEditProfileNameDialog) {       
hgs
parents: 33
diff changeset
   387
        delete mEditProfileNameDialog;
hgs
parents: 33
diff changeset
   388
        delete mCancelButton;
hgs
parents: 33
diff changeset
   389
        delete mOkButton;
hgs
parents: 33
diff changeset
   390
    }  
hgs
parents: 33
diff changeset
   391
    mProfileName =  mProfileModel->profileName(mCurrentProfileId);
hgs
parents: 33
diff changeset
   392
    mCancelButton = new HbAction(hbTrId("txt_common_button_cancel"));
hgs
parents: 33
diff changeset
   393
    mOkButton = new HbAction(hbTrId("txt_common_button_ok"));
hgs
parents: 33
diff changeset
   394
    mEditProfileNameDialog = new CpProfileNameEditDialog();
hgs
parents: 33
diff changeset
   395
    mEditProfileNameDialog->addAction(mOkButton);
hgs
parents: 33
diff changeset
   396
    mEditProfileNameDialog->addAction(mCancelButton);
hgs
parents: 33
diff changeset
   397
    mEditProfileNameDialog->setLineEditMaxLength(maxProfileNameLength);
hgs
parents: 33
diff changeset
   398
    mEditProfileNameDialog->setLineEditText(mProfileName);    
hgs
parents: 33
diff changeset
   399
    mEditProfileNameDialog->open(this, SLOT(onEditNameDialogClosed(HbAction*)));      
hgs
parents: 33
diff changeset
   400
}
hgs
parents: 33
diff changeset
   401
hgs
parents: 33
diff changeset
   402
void CpProfileSettingForm::onEditNameDialogClosed(HbAction *action)
hgs
parents: 33
diff changeset
   403
{
hgs
parents: 33
diff changeset
   404
    QString editText(mEditProfileNameDialog->lineEditText());
hgs
parents: 33
diff changeset
   405
    if (action == mOkButton && mProfileName != editText) {  
hgs
parents: 33
diff changeset
   406
             
hgs
parents: 33
diff changeset
   407
            mProfileModel->setProfileName(mCurrentProfileId, editText);       
hgs
parents: 33
diff changeset
   408
    }
hgs
parents: 33
diff changeset
   409
}
hgs
parents: 33
diff changeset
   410
19
hgs
parents: 12
diff changeset
   411
//End of File