phonebookui/Phonebook/View/src/CPbkEmailOverSmsAddressSelect.cpp
changeset 0 e686773b3f54
child 21 9da50d567e3c
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonebookui/Phonebook/View/src/CPbkEmailOverSmsAddressSelect.cpp	Tue Feb 02 10:12:17 2010 +0200
@@ -0,0 +1,92 @@
+/*
+* Copyright (c) 2002 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: 
+*           Phonebook generic address selection dialog class methods.
+*
+*/
+
+
+// INCLUDE FILES
+
+#include    "CPbkEmailOverSmsAddressSelect.h"
+#include    <avkon.hrh> // AVKON softkey codes
+#include    <avkon.rsg> // R_AVKON_SOFTKEYS_SELECT_CANCEL;
+#include    <aknnotewrappers.h>
+#include    <StringLoader.h>        // StringLoader
+#include    <PbkView.rsg>
+#include    <CPbkFieldInfo.h>
+#include    <CPbkContactItem.h>
+
+
+// ================= MEMBER FUNCTIONS =======================
+
+EXPORT_C CPbkEmailOverSmsAddressSelect::TParams::TParams
+        (const CPbkContactItem& aContact) :
+    TBaseParams(aContact, aContact.DefaultEmailOverSmsField())
+    {
+    }
+
+EXPORT_C CPbkEmailOverSmsAddressSelect::CPbkEmailOverSmsAddressSelect()
+    {
+    }
+
+EXPORT_C TBool CPbkEmailOverSmsAddressSelect::ExecuteLD(TParams& aParams)
+    {
+    return CPbkAddressSelect::ExecuteLD(aParams);
+    }
+
+EXPORT_C CPbkEmailOverSmsAddressSelect::~CPbkEmailOverSmsAddressSelect()
+	{
+    delete iQueryTitle;
+	}
+
+EXPORT_C TBool CPbkEmailOverSmsAddressSelect::AddressField(const TPbkContactItemField& aField) const
+    {
+    // Return true for non-empty phonenumber and email fields
+    return (aField.FieldInfo().IsEmailOverSmsField() && !aField.IsEmptyOrAllSpaces());
+    }
+
+EXPORT_C void CPbkEmailOverSmsAddressSelect::NoAddressesL()
+    {
+    HBufC* title = ContactItem().GetContactTitleOrNullL();
+    if (title)
+        {
+        CleanupStack::PushL(title);
+        HBufC* prompt = StringLoader::LoadLC(R_QTN_PHOB_NOTE_NO_SMS_WITH_EMAIL_TO_NAME, *title);
+        CAknInformationNote* noteDlg = new(ELeave) CAknInformationNote;
+        noteDlg->ExecuteLD(*prompt);
+        CleanupStack::PopAndDestroy(2); // prompt, title
+        }
+    else
+        {
+        CAknNoteWrapper * noteDlg = new(ELeave) CAknNoteWrapper;
+        noteDlg->ExecuteLD(R_QTN_PHOB_NOTE_NO_EMAIL_OVER_SMS);
+        }
+    }
+
+EXPORT_C const TDesC& CPbkEmailOverSmsAddressSelect::QueryTitleL()
+    {
+    if (!iQueryTitle)
+        {
+        iQueryTitle = ContactItem().GetContactTitleL();
+        }
+    return *iQueryTitle;
+    }
+
+EXPORT_C TInt CPbkEmailOverSmsAddressSelect::QuerySoftkeysResource() const
+    {
+    return R_AVKON_SOFTKEYS_SELECT_CANCEL__SELECT;
+    }
+
+//  End of File