wvuing/IMPSServiceSettingsUI/Src/cwvsettingsuseridsettingpage.cpp
changeset 0 094583676ce7
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wvuing/IMPSServiceSettingsUI/Src/cwvsettingsuseridsettingpage.cpp	Thu Dec 17 08:41:52 2009 +0200
@@ -0,0 +1,86 @@
+/*
+* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Setting page for user ID
+*
+*/
+
+
+#include "cwvsettingsuseridsettingpage.h"
+
+// ======== MEMBER FUNCTIONS ========
+
+// ---------------------------------------------------------------------------
+// Constructor
+// ---------------------------------------------------------------------------
+//
+CWVSettingsUserIDSettingPage::CWVSettingsUserIDSettingPage(
+    TInt aResourceID, TDes& aText, TInt aTextSettingPageFlags ) :
+        CAknTextSettingPage( aResourceID, aText, aTextSettingPageFlags )
+    {
+    }
+
+// ---------------------------------------------------------------------------
+// Destructor
+// ---------------------------------------------------------------------------
+//
+CWVSettingsUserIDSettingPage::~CWVSettingsUserIDSettingPage()
+    {
+    // Implementation not needed
+    }
+
+// ---------------------------------------------------------------------------
+// From class CAknTextSettingPage.
+// ---------------------------------------------------------------------------
+//
+void CWVSettingsUserIDSettingPage::SetSettingPageObserver(
+    MAknSettingPageObserver* aObserver )
+    {
+    iObserver = aObserver;
+    }
+
+// ---------------------------------------------------------------------------
+// From class CAknTextSettingPage.
+// ---------------------------------------------------------------------------
+//
+TKeyResponse CWVSettingsUserIDSettingPage::OfferKeyEventL(
+    const TKeyEvent& aKeyEvent, TEventCode aType )
+    {
+    // Get char count before key event
+    TInt oldCharCount = 0;
+    CCoeControl* ctrl = EditorControl();
+    CEikEdwin* edwin = NULL;
+    if ( ctrl )
+        {
+        edwin = static_cast<CEikEdwin*>( ctrl );
+        oldCharCount = edwin->TextLength();
+        }
+
+    // Offer key event to base class
+    TKeyResponse response = CAknTextSettingPage::OfferKeyEventL( aKeyEvent, aType );
+
+    // Report changes only when user has cleared editor
+    if ( edwin )
+        {
+        if ( response == EKeyWasConsumed
+             && edwin->TextLength() == 0
+             && oldCharCount > 0
+             && iObserver )
+            {
+            iObserver->HandleSettingPageEventL( this,
+                                                MAknSettingPageObserver::EEventSettingChanged );
+            }
+        }
+
+    return response;
+    }