Hi,

I have created a settings lisbox by deriving it from CAknSettingItemList class. I have two items in this settings list box UserId and Password. The former is a CAknTextSettingItem and the later is a CAknPasswordSettingItem.

void CSyncOptionsListbox::StoreSettingsL()
{
// Store Settings into the data members
CAknSettingItemList::StoreSettingsL();

// Create a file server object;
CFileServ *file = CFileServ::NewL();

// Put on clean up stack
CleanupStack::PushL(file);

// Local Variable
TBuf8<20> keyValue;

// Open file for reading
if ( file->OpenForReadL( KSyncIniFile ) )
{

// User Id Entry
keyValue.Copy( iUserId );
file->SetKeyValueL( KSyncKeyUserId, keyValue );

// Password Entry
keyValue.Copy( iPassword );
file->SetKeyValueL( KSyncKeyPassword, keyValue );

// Close the file
file->Close();

}

// Destroy the object
CleanupStack::PopAndDestroy();

}

For saving the setting to and ini file i have written the above code. In this I call the parent class's StoreSettingsL() function which transfers the setting form the UI to the member variables iUserId and iPassword. But my problem is that when I am on Password option and press ok, I get the get the edit dialog. Now suppose I make some changes and instead of pressing ok I press cancel. In a normal course the changes should be discarded and the original value should be retained, but in this case changes are retained even though I press cancel softkey.

Note that the same problem does occur when I am on the userid item.

What could be the possible cause of the problem? Any solutions

Ashish