diff -r 4697dfb2d7ad -r 238255e8b033 messagingapp/msgui/unifiedviewer/src/univieweraddresscontainer.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/messagingapp/msgui/unifiedviewer/src/univieweraddresscontainer.cpp Fri Apr 16 14:56:15 2010 +0300 @@ -0,0 +1,136 @@ +/* + * 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: + * + */ + +#include "univieweraddresscontainer.h" + +// SYSTEM INCLUDES +#include +#include + +// USER INCLUDES +#include "univieweraddresswidget.h" + +// LOCAL CONSTANTS +#define LOC_FROM hbTrId("txt_messaging_formlabel_from ") +#define LOC_TO hbTrId("txt_messaging_viewer_formlabel_to ") +#define LOC_CC hbTrId("txt_messaging_viewer_formlabel_cc ") + +//--------------------------------------------------------------- +// UniViewerAddressContainer :: UniViewerAddressContainer +// @see header file +//--------------------------------------------------------------- +UniViewerAddressContainer::UniViewerAddressContainer(QGraphicsItem *parent) : + HbWidget(parent), mMainLayout(NULL), + mFromWidget(NULL), + mToWidget(NULL), + mCcWidget(NULL) +{ + mMainLayout = new QGraphicsLinearLayout(Qt::Vertical); + mMainLayout->setContentsMargins(0, 0, 0, 0); + mMainLayout->setSpacing(0); + setLayout(mMainLayout); +} + +//--------------------------------------------------------------- +// UniViewerAddressContainer :: ~UniViewerAddressContainer +// @see header file +//--------------------------------------------------------------- +UniViewerAddressContainer::~UniViewerAddressContainer() +{ + +} + +//--------------------------------------------------------------- +// UniViewerAddressContainer :: setFromField +// @see header file +//--------------------------------------------------------------- +void UniViewerAddressContainer::setFromField(const QString& fromRecipient, + const QString& alias) +{ + if (!mFromWidget) + { + mFromWidget = new UniViewerAddressWidget(); + } + + mMainLayout->addItem(mFromWidget); + mFromWidget->populate(LOC_FROM, fromRecipient, alias); +} + +//--------------------------------------------------------------- +// UniViewerAddressContainer :: setToField +// @see header file +//--------------------------------------------------------------- +void UniViewerAddressContainer::setToField( + ConvergedMessageAddressList toRecipients) +{ + if (!mToWidget) + { + mToWidget = new UniViewerAddressWidget(); + } + + mMainLayout->addItem(mToWidget); + mToWidget->populate(LOC_TO, toRecipients); +} + +//--------------------------------------------------------------- +//UniViewerAddressContainer :: setCcField +// @see header file +//--------------------------------------------------------------- +void UniViewerAddressContainer::setCcField( + ConvergedMessageAddressList ccRecipients) +{ + if (!mCcWidget) + { + mCcWidget = new UniViewerAddressWidget(); + } + + mMainLayout->addItem(mCcWidget); + mCcWidget->populate(LOC_CC, ccRecipients); +} + +//--------------------------------------------------------------- +// UniViewerAddressContainer :: clearContent +// @see header file +//--------------------------------------------------------------- +void UniViewerAddressContainer::clearContent() +{ + if (mFromWidget) + { + mMainLayout->removeItem(mFromWidget); + mFromWidget->setParent(NULL); + delete mFromWidget; + mFromWidget = NULL; + } + if (mToWidget) + { + mMainLayout->removeItem(mToWidget); + mToWidget->setParent(NULL); + delete mToWidget; + mToWidget = NULL; + } + if (mCcWidget) + { + mMainLayout->removeItem(mCcWidget); + mCcWidget->setParent(NULL); + delete mCcWidget; + mCcWidget = NULL; + } + + resize(rect().width(), -1); +} + +// EOF