messagingapp/msgui/unifiedviewer/src/univiewerattachmentcontainer.cpp
changeset 23 238255e8b033
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingapp/msgui/unifiedviewer/src/univiewerattachmentcontainer.cpp	Fri Apr 16 14:56:15 2010 +0300
@@ -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 <QGraphicsLinearLayout>
+#include <QFileInfo>
+
+// 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