diff -r 6a20128ce557 -r ebfee66fde93 messagingapp/msgui/unifiedviewer/src/univiewerattachmentcontainer.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/messagingapp/msgui/unifiedviewer/src/univiewerattachmentcontainer.cpp Fri Jun 04 10:25:39 2010 +0100 @@ -0,0 +1,103 @@ +/* +* 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 "univiewerattachmentcontainer.h" + +// SYSTEM INCLUDES +#include +#include + +// USER INCLUDES +#include "univiewermediawidget.h" +#include "debugtraces.h" + +// LOCAL CONSTANTS +const QString ATTACHMENT_FRAME("qtg_fr_groupbox"); +const QString ATTACHMENT_ICON("qtg_small_attachment.svg"); + +const int KILOBYTE = 1024; + +//--------------------------------------------------------------- +// UniViewerAttachmentContainer :: UniViewerAttachmentContainer +// @see header file +//--------------------------------------------------------------- +UniViewerAttachmentContainer::UniViewerAttachmentContainer(QGraphicsItem *parent) : + HbWidget(parent), mTotalAttachment(0), mMainLayout(NULL) +{ + QDEBUG_WRITE("AttachmentContainer Initialized.."); + mMainLayout = new QGraphicsLinearLayout(Qt::Vertical); + mMainLayout->setContentsMargins(0, 0, 0, 0); + mMainLayout->setSpacing(0); + setLayout(mMainLayout); +} + +//--------------------------------------------------------------- +// UniViewerAttachmentContainer :: ~UniViewerAttachmentContainer +// @see header file +//--------------------------------------------------------------- +UniViewerAttachmentContainer::~UniViewerAttachmentContainer() +{ + +} + +//--------------------------------------------------------------- +// UniViewerAttachmentContainer :: addAttachmentWidget +// @see header file +//--------------------------------------------------------------- +void UniViewerAttachmentContainer::addAttachmentWidget(QString type, QString fileName) +{ + Q_UNUSED(type) + + UniViewerMediaWidget *attachmentWidget = new UniViewerMediaWidget(this); + mUniViewerMediaWidgetList.append(attachmentWidget); + QFileInfo fileInfo(fileName); + + int fileSize = fileInfo.size(); + QString sizeString('B'); + if (fileSize > KILOBYTE) { + // Convert to Kilobytes. + fileSize /= KILOBYTE; + sizeString = "Kb"; + } + + QString fileDetails = "(" + QString::number(fileSize) + sizeString + ")"; + + attachmentWidget->populate(ATTACHMENT_ICON, fileInfo.fileName(), fileDetails, ATTACHMENT_FRAME); + + mMainLayout->addItem(attachmentWidget); + + mTotalAttachment++; +} + +//--------------------------------------------------------------- +// UniViewerAttachmentContainer :: clearContent +// @see header file +//--------------------------------------------------------------- +void UniViewerAttachmentContainer::clearContent() +{ + for (int i = 0; i < mUniViewerMediaWidgetList.count(); ++i) { + --mTotalAttachment; + mMainLayout->removeItem(mUniViewerMediaWidgetList[i]); + mUniViewerMediaWidgetList[i]->setParent(NULL); + delete mUniViewerMediaWidgetList[i]; + mUniViewerMediaWidgetList[i] = NULL; + } + mUniViewerMediaWidgetList.clear(); + resize(rect().width(), -1); +} + +//eof