diff -r 4697dfb2d7ad -r 238255e8b033 messagingapp/msgui/unifiededitor/inc/msgunieditoraddress.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/messagingapp/msgui/unifiededitor/inc/msgunieditoraddress.h Fri Apr 16 14:56:15 2010 +0300 @@ -0,0 +1,139 @@ +/* + * Copyright (c) 2009 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:Header for entering To field (phone number, contact name). + * + */ + +#ifndef UNIFIED_EDITOR_ADDRESS_H +#define UNIFIED_EDITOR_ADDRESS_H + +#include + +#include +#include + +class HbTextItem; +class HbPushButton; +class HbLineEdit; +class MsgUnifiedEditorLineEdit; +class MsgUiUtilsManager; + +class MsgUnifiedEditorAddress : public HbWidget + { + Q_OBJECT + +public: + + /** + * Constructor + */ + MsgUnifiedEditorAddress(const QString& label, + const QString& pluginPath, + QGraphicsItem *parent = 0); + + /** + * Destructor + */ + ~MsgUnifiedEditorAddress(); + + /** + * Seeker method to return back data to editor's view + * Removes duplicates. + */ + ConvergedMessageAddressList addresses(); + + /** + * Get total number of recipient's (including duplicates) + */ + int addressCount(); + + /** + * setter method to set address + */ + void setAddresses(ConvergedMessageAddressList addrlist); + +signals: + /** + * Emitted when send button from virtual ITUT is pressed. + */ + void sendMessage(); + + /** + * Emitted when MMS content is added or removed + */ + void mmContentAdded(bool isAdded); + +private slots: + + /** + * called after selection from pbk. + */ + void contactsFetched(const QVariant& contacts); + + /** + * Called when textChanged signal is emitted by the line edit + */ + void onTextChanged(const QString&); + + /** + * Called when textChanged signal is emitted by the line edit + * Checks for empty text content + */ + void onTextRemoved(const QString& text); + +private: + /** + * Remove edit-field's user-deleted addresses from Map + */ + void syncDeletionsToMap(); + + /** + * Add edit-field's user-added addresses to Map + */ + void syncAdditionsToMap(); + + /** + * Removes duplicate addresses and gives unique address list + */ + QStringList uniqueAddressList(); +private: + + /** + * Push button to launch phone book. + */ + HbPushButton* mLaunchBtn; + + /** + * line edit field. + */ + MsgUnifiedEditorLineEdit* mAddressEdit; + + /** + * string to hold plugin path. + */ + QString mPluginPath; + + /** + * address map. + */ + QMap mAddressMap; + + /** + * MsgUiUtils Manager for phonebook operations + * Not Owned + */ + MsgUiUtilsManager *mUtilsManager; + }; + +#endif //UNIFIED_EDITOR_ADDRESS_H