~ubuntu-branches/ubuntu/saucy/sflphone/saucy

« back to all changes in this revision

Viewing changes to sflphone-common/libs/pjproject/pjsip-apps/src/symbian_ua_gui/src/symbian_ua_guiSettingItemList.cpp

  • Committer: Bazaar Package Importer
  • Author(s): Francois Marier
  • Date: 2010-12-24 16:33:55 UTC
  • mfrom: (1.1.2 upstream)
  • Revision ID: james.westby@ubuntu.com-20101224163355-tkvvikqxbrbav6up
Tags: 0.9.11-1
* New upstream release
* Add new build dependencies on libwebkit-dev and libyaml-dev

* Bump Standards-Version up to 3.9.1
* Bump debhelper compatibility to 8
* Patch another typo in the upstream code (lintian notice)

Show diffs side-by-side

added added

removed removed

Lines of Context:
3
3
 Name        : symbian_ua_guiSettingItemList.cpp
4
4
 Author      : nanang
5
5
 Copyright   : (c) 2008-2009 Teluu Inc.
6
 
 Description : 
 
6
 Description :
7
7
========================================================================
8
8
*/
9
9
 
22
22
#include <aknpopupfieldtext.h>
23
23
#include <eikappui.h>
24
24
#include <aknviewappui.h>
25
 
#include <akntextsettingpage.h> 
 
25
#include <akntextsettingpage.h>
26
26
#include <symbian_ua_gui.rsg>
27
27
// ]]] end generated region [Generated System Includes]
28
28
 
43
43
// ]]] end generated region [Generated Constants]
44
44
 
45
45
 
46
 
_LIT(KtxDicFileName                     ,"settings.ini" );
47
 
 
 
46
_LIT (KtxDicFileName                    ,"settings.ini");
 
47
 
48
48
const TInt KRegistrar           = 2;
49
49
const TInt KUsername            = 3;
50
50
const TInt KPassword            = 4;
55
55
/**
56
56
 * Construct the CSymbian_ua_guiSettingItemList instance
57
57
 * @param aCommandObserver command observer
58
 
 */ 
59
 
CSymbian_ua_guiSettingItemList::CSymbian_ua_guiSettingItemList( 
60
 
                TSymbian_ua_guiSettingItemListSettings& aSettings, 
61
 
                MEikCommandObserver* aCommandObserver )
62
 
        : iSettings( aSettings ), iCommandObserver( aCommandObserver )
63
 
        {
64
 
        // [[[ begin generated region: do not modify [Generated Contents]
65
 
        // ]]] end generated region [Generated Contents]
66
 
        
67
 
        }
68
 
/** 
 
58
 */
 
59
CSymbian_ua_guiSettingItemList::CSymbian_ua_guiSettingItemList (
 
60
    TSymbian_ua_guiSettingItemListSettings& aSettings,
 
61
    MEikCommandObserver* aCommandObserver)
 
62
        : iSettings (aSettings), iCommandObserver (aCommandObserver)
 
63
{
 
64
    // [[[ begin generated region: do not modify [Generated Contents]
 
65
    // ]]] end generated region [Generated Contents]
 
66
 
 
67
}
 
68
/**
69
69
 * Destroy any instance variables
70
70
 */
71
71
CSymbian_ua_guiSettingItemList::~CSymbian_ua_guiSettingItemList()
72
 
        {
73
 
        // [[[ begin generated region: do not modify [Generated Contents]
74
 
        // ]]] end generated region [Generated Contents]
75
 
        
76
 
        }
 
72
{
 
73
    // [[[ begin generated region: do not modify [Generated Contents]
 
74
    // ]]] end generated region [Generated Contents]
 
75
 
 
76
}
77
77
 
78
78
/**
79
79
 * Handle system notification that the container's size has changed.
80
80
 */
81
81
void CSymbian_ua_guiSettingItemList::SizeChanged()
82
 
        {
83
 
        if ( ListBox() ) 
84
 
                {
85
 
                ListBox()->SetRect( Rect() );
86
 
                }
87
 
        }
 
82
{
 
83
    if (ListBox()) {
 
84
        ListBox()->SetRect (Rect());
 
85
    }
 
86
}
88
87
 
89
88
/**
90
89
 * Create one setting item at a time, identified by id.
93
92
 * a reference to the underlying data, which EditItemL() uses
94
93
 * to edit and store the value.
95
94
 */
96
 
CAknSettingItem* CSymbian_ua_guiSettingItemList::CreateSettingItemL( TInt aId )
97
 
        {
98
 
        switch ( aId )
99
 
                {
100
 
        // [[[ begin generated region: do not modify [Initializers]
101
 
                case ESymbian_ua_guiSettingItemListViewEd_registrar:
102
 
                        {                       
103
 
                        CAknTextSettingItem* item = new ( ELeave ) 
104
 
                                CAknTextSettingItem( 
105
 
                                        aId,
106
 
                                        iSettings.Ed_registrar() );
107
 
                        item->SetSettingPageFlags(CAknTextSettingPage::EZeroLengthAllowed);
108
 
                        return item;
109
 
                        }
110
 
                case ESymbian_ua_guiSettingItemListViewEd_user:
111
 
                        {                       
112
 
                        CAknTextSettingItem* item = new ( ELeave ) 
113
 
                                CAknTextSettingItem( 
114
 
                                        aId,
115
 
                                        iSettings.Ed_user() );
116
 
                        item->SetSettingPageFlags(CAknTextSettingPage::EZeroLengthAllowed);
117
 
                        return item;
118
 
                        }
119
 
                case ESymbian_ua_guiSettingItemListViewEd_password:
120
 
                        {                       
121
 
                        CAknPasswordSettingItem* item = new ( ELeave ) 
122
 
                                CAknPasswordSettingItem( 
123
 
                                        aId,
124
 
                                        CAknPasswordSettingItem::EAlpha,
125
 
                                        iSettings.Ed_password() );
126
 
                        item->SetSettingPageFlags(CAknTextSettingPage::EZeroLengthAllowed);
127
 
                        return item;
128
 
                        }
129
 
                case ESymbian_ua_guiSettingItemListViewB_srtp:
130
 
                        {                       
131
 
                        CAknBinaryPopupSettingItem* item = new ( ELeave ) 
132
 
                                CAknBinaryPopupSettingItem( 
133
 
                                        aId,
134
 
                                        iSettings.B_srtp() );
135
 
                        item->SetHidden( ETrue ); 
136
 
                        return item;
137
 
                        }
138
 
                case ESymbian_ua_guiSettingItemListViewB_ice:
139
 
                        {                       
140
 
                        CAknBinaryPopupSettingItem* item = new ( ELeave ) 
141
 
                                CAknBinaryPopupSettingItem( 
142
 
                                        aId,
143
 
                                        iSettings.B_ice() );
144
 
                        item->SetHidden( ETrue ); 
145
 
                        return item;
146
 
                        }
147
 
                case ESymbian_ua_guiSettingItemListViewEd_stun_server:
148
 
                        {                       
149
 
                        CAknTextSettingItem* item = new ( ELeave ) 
150
 
                                CAknTextSettingItem( 
151
 
                                        aId,
152
 
                                        iSettings.Ed_stun_server() );
153
 
                        item->SetHidden( ETrue ); 
154
 
                        return item;
155
 
                        }
156
 
        // ]]] end generated region [Initializers]
157
 
        
158
 
                }
159
 
                
160
 
        return NULL;
161
 
        }
162
 
        
 
95
CAknSettingItem* CSymbian_ua_guiSettingItemList::CreateSettingItemL (TInt aId)
 
96
{
 
97
    switch (aId) {
 
98
            // [[[ begin generated region: do not modify [Initializers]
 
99
        case ESymbian_ua_guiSettingItemListViewEd_registrar: {
 
100
            CAknTextSettingItem* item = new (ELeave)
 
101
            CAknTextSettingItem (
 
102
                aId,
 
103
                iSettings.Ed_registrar());
 
104
            item->SetSettingPageFlags (CAknTextSettingPage::EZeroLengthAllowed);
 
105
            return item;
 
106
        }
 
107
        case ESymbian_ua_guiSettingItemListViewEd_user: {
 
108
            CAknTextSettingItem* item = new (ELeave)
 
109
            CAknTextSettingItem (
 
110
                aId,
 
111
                iSettings.Ed_user());
 
112
            item->SetSettingPageFlags (CAknTextSettingPage::EZeroLengthAllowed);
 
113
            return item;
 
114
        }
 
115
        case ESymbian_ua_guiSettingItemListViewEd_password: {
 
116
            CAknPasswordSettingItem* item = new (ELeave)
 
117
            CAknPasswordSettingItem (
 
118
                aId,
 
119
                CAknPasswordSettingItem::EAlpha,
 
120
                iSettings.Ed_password());
 
121
            item->SetSettingPageFlags (CAknTextSettingPage::EZeroLengthAllowed);
 
122
            return item;
 
123
        }
 
124
        case ESymbian_ua_guiSettingItemListViewB_srtp: {
 
125
            CAknBinaryPopupSettingItem* item = new (ELeave)
 
126
            CAknBinaryPopupSettingItem (
 
127
                aId,
 
128
                iSettings.B_srtp());
 
129
            item->SetHidden (ETrue);
 
130
            return item;
 
131
        }
 
132
        case ESymbian_ua_guiSettingItemListViewB_ice: {
 
133
            CAknBinaryPopupSettingItem* item = new (ELeave)
 
134
            CAknBinaryPopupSettingItem (
 
135
                aId,
 
136
                iSettings.B_ice());
 
137
            item->SetHidden (ETrue);
 
138
            return item;
 
139
        }
 
140
        case ESymbian_ua_guiSettingItemListViewEd_stun_server: {
 
141
            CAknTextSettingItem* item = new (ELeave)
 
142
            CAknTextSettingItem (
 
143
                aId,
 
144
                iSettings.Ed_stun_server());
 
145
            item->SetHidden (ETrue);
 
146
            return item;
 
147
        }
 
148
        // ]]] end generated region [Initializers]
 
149
 
 
150
    }
 
151
 
 
152
    return NULL;
 
153
}
 
154
 
163
155
/**
164
156
 * Edit the setting item identified by the given id and store
165
157
 * the changes into the store.
168
160
 *      always show the edit page and interactively edit the item;
169
161
 *      false: change the item in place if possible, else show the edit page
170
162
 */
171
 
void CSymbian_ua_guiSettingItemList::EditItemL ( TInt aIndex, TBool aCalledFromMenu )
172
 
        {
173
 
        CAknSettingItem* item = ( *SettingItemArray() )[aIndex];
174
 
        switch ( item->Identifier() )
175
 
                {
176
 
        // [[[ begin generated region: do not modify [Editing Started Invoker]
177
 
        // ]]] end generated region [Editing Started Invoker]
178
 
        
179
 
                }
180
 
        
181
 
        CAknSettingItemList::EditItemL( aIndex, aCalledFromMenu );
182
 
        
183
 
        TBool storeValue = ETrue;
184
 
        switch ( item->Identifier() )
185
 
                {
186
 
        // [[[ begin generated region: do not modify [Editing Stopped Invoker]
187
 
        // ]]] end generated region [Editing Stopped Invoker]
188
 
        
189
 
                }
190
 
                
191
 
        if ( storeValue )
192
 
                {
193
 
                item->StoreL();
194
 
                SaveSettingValuesL();
195
 
                }       
196
 
        }
 
163
void CSymbian_ua_guiSettingItemList::EditItemL (TInt aIndex, TBool aCalledFromMenu)
 
164
{
 
165
    CAknSettingItem* item = (*SettingItemArray()) [aIndex];
 
166
 
 
167
    switch (item->Identifier()) {
 
168
            // [[[ begin generated region: do not modify [Editing Started Invoker]
 
169
            // ]]] end generated region [Editing Started Invoker]
 
170
 
 
171
    }
 
172
 
 
173
    CAknSettingItemList::EditItemL (aIndex, aCalledFromMenu);
 
174
 
 
175
    TBool storeValue = ETrue;
 
176
 
 
177
    switch (item->Identifier()) {
 
178
            // [[[ begin generated region: do not modify [Editing Stopped Invoker]
 
179
            // ]]] end generated region [Editing Stopped Invoker]
 
180
 
 
181
    }
 
182
 
 
183
    if (storeValue) {
 
184
        item->StoreL();
 
185
        SaveSettingValuesL();
 
186
    }
 
187
}
197
188
/**
198
189
 *      Handle the "Change" option on the Options menu.  This is an
199
190
 *      alternative to the Selection key that forces the settings page
200
191
 *      to come up rather than changing the value in place (if possible).
201
192
 */
202
193
void CSymbian_ua_guiSettingItemList::ChangeSelectedItemL()
203
 
        {
204
 
        if ( ListBox()->CurrentItemIndex() >= 0 )
205
 
                {
206
 
                EditItemL( ListBox()->CurrentItemIndex(), ETrue );
207
 
                }
208
 
        }
 
194
{
 
195
    if (ListBox()->CurrentItemIndex() >= 0) {
 
196
        EditItemL (ListBox()->CurrentItemIndex(), ETrue);
 
197
    }
 
198
}
209
199
 
210
200
/**
211
201
 *      Load the initial contents of the setting items.  By default,
212
202
 *      the setting items are populated with the default values from
213
203
 *      the design.  You can override those values here.
214
204
 *      <p>
215
 
 *      Note: this call alone does not update the UI.  
 
205
 *      Note: this call alone does not update the UI.
216
206
 *      LoadSettingsL() must be called afterwards.
217
207
 */
218
208
void CSymbian_ua_guiSettingItemList::LoadSettingValuesL()
219
 
        {
220
 
        // load values into iSettings
221
 
 
222
 
        TFileName path;
223
 
        TFileName pathWithoutDrive;
224
 
        CEikonEnv::Static()->FsSession().PrivatePath( pathWithoutDrive );
225
 
 
226
 
        // Extract drive letter into appDrive:
 
209
{
 
210
    // load values into iSettings
 
211
 
 
212
    TFileName path;
 
213
    TFileName pathWithoutDrive;
 
214
    CEikonEnv::Static()->FsSession().PrivatePath (pathWithoutDrive);
 
215
 
 
216
    // Extract drive letter into appDrive:
227
217
#ifdef __WINS__
228
 
        path.Copy( _L("c:") );
 
218
    path.Copy (_L ("c:"));
229
219
#else
230
 
        RProcess process;
231
 
        path.Copy( process.FileName().Left(2) );
 
220
    RProcess process;
 
221
    path.Copy (process.FileName().Left (2));
232
222
#endif
233
223
 
234
 
        path.Append( pathWithoutDrive );
235
 
        path.Append( KtxDicFileName );
236
 
        
237
 
        TFindFile AufFolder(CCoeEnv::Static()->FsSession());
238
 
        if(KErrNone == AufFolder.FindByDir(path, KNullDesC))
239
 
        {
240
 
                CDictionaryFileStore* MyDStore = CDictionaryFileStore::OpenLC(CCoeEnv::Static()->FsSession(),AufFolder.File(), TUid::Uid(1));
241
 
                TUid FileUid;
242
 
                
243
 
                FileUid.iUid = KRegistrar;
244
 
                if(MyDStore->IsPresentL(FileUid))
245
 
                {
246
 
                        RDictionaryReadStream in;
247
 
                        in.OpenLC(*MyDStore,FileUid);
248
 
                        in >> iSettings.Ed_registrar();
249
 
                        CleanupStack::PopAndDestroy(1);// in
250
 
                }
251
 
                        
252
 
                FileUid.iUid = KUsername;
253
 
                if(MyDStore->IsPresentL(FileUid))
254
 
                {
255
 
                        RDictionaryReadStream in;
256
 
                        in.OpenLC(*MyDStore,FileUid);
257
 
                        in >> iSettings.Ed_user();
258
 
                        CleanupStack::PopAndDestroy(1);// in
259
 
                }
260
 
 
261
 
                FileUid.iUid = KPassword;
262
 
                if(MyDStore->IsPresentL(FileUid))
263
 
                {
264
 
                        RDictionaryReadStream in;
265
 
                        in.OpenLC(*MyDStore,FileUid);
266
 
                        in >> iSettings.Ed_password();
267
 
                        CleanupStack::PopAndDestroy(1);// in
268
 
                }
269
 
 
270
 
                FileUid.iUid = KStunServer;
271
 
                if(MyDStore->IsPresentL(FileUid))
272
 
                {
273
 
                        RDictionaryReadStream in;
274
 
                        in.OpenLC(*MyDStore,FileUid);
275
 
                        in >> iSettings.Ed_stun_server();
276
 
                        CleanupStack::PopAndDestroy(1);// in
277
 
                }
278
 
 
279
 
                FileUid.iUid = KSrtp;
280
 
                if(MyDStore->IsPresentL(FileUid))
281
 
                {
282
 
                        RDictionaryReadStream in;
283
 
                        in.OpenLC(*MyDStore,FileUid);
284
 
                        iSettings.SetB_srtp((TBool)in.ReadInt32L());
285
 
                        CleanupStack::PopAndDestroy(1);// in
286
 
                }
287
 
                
288
 
                FileUid.iUid = KIce;
289
 
                if(MyDStore->IsPresentL(FileUid))
290
 
                {
291
 
                        RDictionaryReadStream in;
292
 
                        in.OpenLC(*MyDStore,FileUid);
293
 
                        iSettings.SetB_ice((TBool)in.ReadInt32L());
294
 
                        CleanupStack::PopAndDestroy(1);// in
295
 
                }
296
 
 
297
 
                CleanupStack::PopAndDestroy(1);// Store         
298
 
        }
299
 
 
300
 
        }
301
 
        
 
224
    path.Append (pathWithoutDrive);
 
225
    path.Append (KtxDicFileName);
 
226
 
 
227
    TFindFile AufFolder (CCoeEnv::Static()->FsSession());
 
228
 
 
229
    if (KErrNone == AufFolder.FindByDir (path, KNullDesC)) {
 
230
        CDictionaryFileStore* MyDStore = CDictionaryFileStore::OpenLC (CCoeEnv::Static()->FsSession(),AufFolder.File(), TUid::Uid (1));
 
231
        TUid FileUid;
 
232
 
 
233
        FileUid.iUid = KRegistrar;
 
234
 
 
235
        if (MyDStore->IsPresentL (FileUid)) {
 
236
            RDictionaryReadStream in;
 
237
            in.OpenLC (*MyDStore,FileUid);
 
238
            in >> iSettings.Ed_registrar();
 
239
            CleanupStack::PopAndDestroy (1);// in
 
240
        }
 
241
 
 
242
        FileUid.iUid = KUsername;
 
243
 
 
244
        if (MyDStore->IsPresentL (FileUid)) {
 
245
            RDictionaryReadStream in;
 
246
            in.OpenLC (*MyDStore,FileUid);
 
247
            in >> iSettings.Ed_user();
 
248
            CleanupStack::PopAndDestroy (1);// in
 
249
        }
 
250
 
 
251
        FileUid.iUid = KPassword;
 
252
 
 
253
        if (MyDStore->IsPresentL (FileUid)) {
 
254
            RDictionaryReadStream in;
 
255
            in.OpenLC (*MyDStore,FileUid);
 
256
            in >> iSettings.Ed_password();
 
257
            CleanupStack::PopAndDestroy (1);// in
 
258
        }
 
259
 
 
260
        FileUid.iUid = KStunServer;
 
261
 
 
262
        if (MyDStore->IsPresentL (FileUid)) {
 
263
            RDictionaryReadStream in;
 
264
            in.OpenLC (*MyDStore,FileUid);
 
265
            in >> iSettings.Ed_stun_server();
 
266
            CleanupStack::PopAndDestroy (1);// in
 
267
        }
 
268
 
 
269
        FileUid.iUid = KSrtp;
 
270
 
 
271
        if (MyDStore->IsPresentL (FileUid)) {
 
272
            RDictionaryReadStream in;
 
273
            in.OpenLC (*MyDStore,FileUid);
 
274
            iSettings.SetB_srtp ( (TBool) in.ReadInt32L());
 
275
            CleanupStack::PopAndDestroy (1);// in
 
276
        }
 
277
 
 
278
        FileUid.iUid = KIce;
 
279
 
 
280
        if (MyDStore->IsPresentL (FileUid)) {
 
281
            RDictionaryReadStream in;
 
282
            in.OpenLC (*MyDStore,FileUid);
 
283
            iSettings.SetB_ice ( (TBool) in.ReadInt32L());
 
284
            CleanupStack::PopAndDestroy (1);// in
 
285
        }
 
286
 
 
287
        CleanupStack::PopAndDestroy (1);// Store
 
288
    }
 
289
 
 
290
}
 
291
 
302
292
/**
303
293
 *      Save the contents of the setting items.  Note, this is called
304
294
 *      whenever an item is changed and stored to the model, so it
305
295
 *      may be called multiple times or not at all.
306
296
 */
307
297
void CSymbian_ua_guiSettingItemList::SaveSettingValuesL()
308
 
        {
309
 
        // store values from iSettings
310
 
 
311
 
        TFileName path;
312
 
        TFileName pathWithoutDrive;
313
 
        CEikonEnv::Static()->FsSession().PrivatePath( pathWithoutDrive );
314
 
 
315
 
        // Extract drive letter into appDrive:
 
298
{
 
299
    // store values from iSettings
 
300
 
 
301
    TFileName path;
 
302
    TFileName pathWithoutDrive;
 
303
    CEikonEnv::Static()->FsSession().PrivatePath (pathWithoutDrive);
 
304
 
 
305
    // Extract drive letter into appDrive:
316
306
#ifdef __WINS__
317
 
        path.Copy( _L("c:") );
 
307
    path.Copy (_L ("c:"));
318
308
#else
319
 
        RProcess process;
320
 
        path.Copy( process.FileName().Left(2) );
321
 
        
322
 
        if(path.Compare(_L("c")) || path.Compare(_L("C")))
323
 
                CEikonEnv::Static()->FsSession().CreatePrivatePath(EDriveC);
324
 
        else if(path.Compare(_L("e")) || path.Compare(_L("E")))
325
 
                CEikonEnv::Static()->FsSession().CreatePrivatePath(EDriveE);    
 
309
    RProcess process;
 
310
    path.Copy (process.FileName().Left (2));
 
311
 
 
312
    if (path.Compare (_L ("c")) || path.Compare (_L ("C")))
 
313
        CEikonEnv::Static()->FsSession().CreatePrivatePath (EDriveC);
 
314
    else if (path.Compare (_L ("e")) || path.Compare (_L ("E")))
 
315
        CEikonEnv::Static()->FsSession().CreatePrivatePath (EDriveE);
 
316
 
326
317
#endif
327
318
 
328
 
        path.Append( pathWithoutDrive );
329
 
        path.Append( KtxDicFileName );
330
 
        
331
 
        TFindFile AufFolder(CCoeEnv::Static()->FsSession());
332
 
        if(KErrNone == AufFolder.FindByDir(path, KNullDesC))
333
 
        {
334
 
                User::LeaveIfError(CCoeEnv::Static()->FsSession().Delete(AufFolder.File()));
335
 
        }
336
 
 
337
 
        CDictionaryFileStore* MyDStore = CDictionaryFileStore::OpenLC(CCoeEnv::Static()->FsSession(),path, TUid::Uid(1));
338
 
 
339
 
        TUid FileUid = {0x0};
340
 
                
341
 
        FileUid.iUid = KRegistrar;
342
 
        RDictionaryWriteStream out1;
343
 
        out1.AssignLC(*MyDStore,FileUid);
344
 
        out1 << iSettings.Ed_registrar();
345
 
        out1.CommitL();         
346
 
        CleanupStack::PopAndDestroy(1);// out2  
347
 
        
348
 
        FileUid.iUid = KUsername;
349
 
        RDictionaryWriteStream out2;
350
 
        out2.AssignLC(*MyDStore,FileUid);
351
 
        out2 << iSettings.Ed_user();
352
 
        out2.CommitL();         
353
 
        CleanupStack::PopAndDestroy(1);// out2  
354
 
        
355
 
        FileUid.iUid = KPassword;
356
 
        RDictionaryWriteStream out3;
357
 
        out3.AssignLC(*MyDStore,FileUid);
358
 
        out3 << iSettings.Ed_password();
359
 
        out3.CommitL();         
360
 
        CleanupStack::PopAndDestroy(1);// out2  
361
 
        
362
 
        FileUid.iUid = KStunServer;
363
 
        RDictionaryWriteStream out4;
364
 
        out4.AssignLC(*MyDStore,FileUid);
365
 
        out4 << iSettings.Ed_stun_server();
366
 
        out4.CommitL();         
367
 
        CleanupStack::PopAndDestroy(1);// out2  
368
 
        
369
 
        FileUid.iUid = KSrtp;
370
 
        RDictionaryWriteStream out5;
371
 
        out5.AssignLC(*MyDStore,FileUid);
372
 
        out5.WriteInt32L(iSettings.B_srtp());
373
 
        out5.CommitL();         
374
 
        CleanupStack::PopAndDestroy(1);// out1
375
 
        
376
 
        FileUid.iUid = KIce;
377
 
        RDictionaryWriteStream out6;
378
 
        out6.AssignLC(*MyDStore,FileUid);
379
 
        out6.WriteInt32L(iSettings.B_ice());
380
 
        out6.CommitL();         
381
 
        CleanupStack::PopAndDestroy(1);// out1
382
 
         
383
 
        MyDStore->CommitL();
384
 
        CleanupStack::PopAndDestroy(1);// Store
385
 
 
386
 
        }
387
 
 
388
 
 
389
 
/** 
 
319
    path.Append (pathWithoutDrive);
 
320
    path.Append (KtxDicFileName);
 
321
 
 
322
    TFindFile AufFolder (CCoeEnv::Static()->FsSession());
 
323
 
 
324
    if (KErrNone == AufFolder.FindByDir (path, KNullDesC)) {
 
325
        User::LeaveIfError (CCoeEnv::Static()->FsSession().Delete (AufFolder.File()));
 
326
    }
 
327
 
 
328
    CDictionaryFileStore* MyDStore = CDictionaryFileStore::OpenLC (CCoeEnv::Static()->FsSession(),path, TUid::Uid (1));
 
329
 
 
330
    TUid FileUid = {0x0};
 
331
 
 
332
    FileUid.iUid = KRegistrar;
 
333
    RDictionaryWriteStream out1;
 
334
    out1.AssignLC (*MyDStore,FileUid);
 
335
    out1 << iSettings.Ed_registrar();
 
336
    out1.CommitL();
 
337
    CleanupStack::PopAndDestroy (1);// out2
 
338
 
 
339
    FileUid.iUid = KUsername;
 
340
    RDictionaryWriteStream out2;
 
341
    out2.AssignLC (*MyDStore,FileUid);
 
342
    out2 << iSettings.Ed_user();
 
343
    out2.CommitL();
 
344
    CleanupStack::PopAndDestroy (1);// out2
 
345
 
 
346
    FileUid.iUid = KPassword;
 
347
    RDictionaryWriteStream out3;
 
348
    out3.AssignLC (*MyDStore,FileUid);
 
349
    out3 << iSettings.Ed_password();
 
350
    out3.CommitL();
 
351
    CleanupStack::PopAndDestroy (1);// out2
 
352
 
 
353
    FileUid.iUid = KStunServer;
 
354
    RDictionaryWriteStream out4;
 
355
    out4.AssignLC (*MyDStore,FileUid);
 
356
    out4 << iSettings.Ed_stun_server();
 
357
    out4.CommitL();
 
358
    CleanupStack::PopAndDestroy (1);// out2
 
359
 
 
360
    FileUid.iUid = KSrtp;
 
361
    RDictionaryWriteStream out5;
 
362
    out5.AssignLC (*MyDStore,FileUid);
 
363
    out5.WriteInt32L (iSettings.B_srtp());
 
364
    out5.CommitL();
 
365
    CleanupStack::PopAndDestroy (1);// out1
 
366
 
 
367
    FileUid.iUid = KIce;
 
368
    RDictionaryWriteStream out6;
 
369
    out6.AssignLC (*MyDStore,FileUid);
 
370
    out6.WriteInt32L (iSettings.B_ice());
 
371
    out6.CommitL();
 
372
    CleanupStack::PopAndDestroy (1);// out1
 
373
 
 
374
    MyDStore->CommitL();
 
375
    CleanupStack::PopAndDestroy (1);// Store
 
376
 
 
377
}
 
378
 
 
379
 
 
380
/**
390
381
 * Handle global resource changes, such as scalable UI or skin events (override)
391
382
 */
392
 
void CSymbian_ua_guiSettingItemList::HandleResourceChange( TInt aType )
393
 
        {
394
 
        CAknSettingItemList::HandleResourceChange( aType );
395
 
        SetRect( iAvkonViewAppUi->View( TUid::Uid( ESymbian_ua_guiSettingItemListViewId ) )->ClientRect() );
396
 
        // [[[ begin generated region: do not modify [Generated Contents]
397
 
        // ]]] end generated region [Generated Contents]
398
 
        
399
 
        }
400
 
                                
401
 
/** 
 
383
void CSymbian_ua_guiSettingItemList::HandleResourceChange (TInt aType)
 
384
{
 
385
    CAknSettingItemList::HandleResourceChange (aType);
 
386
    SetRect (iAvkonViewAppUi->View (TUid::Uid (ESymbian_ua_guiSettingItemListViewId))->ClientRect());
 
387
    // [[[ begin generated region: do not modify [Generated Contents]
 
388
    // ]]] end generated region [Generated Contents]
 
389
 
 
390
}
 
391
 
 
392
/**
402
393
 * Handle key event (override)
403
394
 * @param aKeyEvent key event
404
395
 * @param aType event code
405
396
 * @return EKeyWasConsumed if the event was handled, else EKeyWasNotConsumed
406
397
 */
407
 
TKeyResponse CSymbian_ua_guiSettingItemList::OfferKeyEventL( 
408
 
                const TKeyEvent& aKeyEvent, 
409
 
                TEventCode aType )
410
 
        {
411
 
        // [[[ begin generated region: do not modify [Generated Contents]
412
 
        // ]]] end generated region [Generated Contents]
413
 
        
414
 
        if ( aKeyEvent.iCode == EKeyLeftArrow 
415
 
                || aKeyEvent.iCode == EKeyRightArrow )
416
 
                {
417
 
                // allow the tab control to get the arrow keys
418
 
                return EKeyWasNotConsumed;
419
 
                }
420
 
        
421
 
        return CAknSettingItemList::OfferKeyEventL( aKeyEvent, aType );
422
 
        }
423
 
                                
 
398
TKeyResponse CSymbian_ua_guiSettingItemList::OfferKeyEventL (
 
399
    const TKeyEvent& aKeyEvent,
 
400
    TEventCode aType)
 
401
{
 
402
    // [[[ begin generated region: do not modify [Generated Contents]
 
403
    // ]]] end generated region [Generated Contents]
 
404
 
 
405
    if (aKeyEvent.iCode == EKeyLeftArrow
 
406
            || aKeyEvent.iCode == EKeyRightArrow) {
 
407
        // allow the tab control to get the arrow keys
 
408
        return EKeyWasNotConsumed;
 
409
    }
 
410
 
 
411
    return CAknSettingItemList::OfferKeyEventL (aKeyEvent, aType);
 
412
}
 
413