--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingapp/msgui/unifiedviewer/src/univiewslidewidget.cpp Fri Jun 04 10:25:39 2010 +0100
@@ -0,0 +1,142 @@
+/*
+ * 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: This widget holds the message details and silde contents.
+ *
+ */
+
+#include "univiewslidewidget.h"
+
+// SYSTEM INCLUDES
+#include <QGraphicsLinearLayout>
+
+// USER INCLUDES
+#include "univiewerbodywidget.h"
+#include "univiewerfeeder.h"
+#include "univiewerheadercontainer.h"
+#include "nativemessageconsts.h"
+
+#define LOC_SLIDE_COUNTER hbTrId("txt_messaging_formlabel_slide_l1l2")
+
+//---------------------------------------------------------------
+// UniViewSlideWidget :: UniViewSlideWidget
+// @see header file
+//---------------------------------------------------------------
+UniViewSlideWidget::UniViewSlideWidget(UniViewerFeeder* feeder, int slideNumber,
+ QGraphicsItem * parent) :
+ HbWidget(parent), mInsideLayout(false), mSlideNumber(slideNumber), mViewFeeder(feeder),
+ mHeaderContainer(0)
+
+{
+ mMainLayout = new QGraphicsLinearLayout(Qt::Vertical, this);
+ mMainLayout->setSpacing(0);
+ mMainLayout->setContentsMargins(0, 0, 0, 0);
+
+ mBody = new UniViewerBodyWidget(this);
+
+ connect(mBody, SIGNAL(sendMessage(const QString&)), this, SIGNAL(sendMessage(const QString&)));
+
+ /**
+ * If its a first slide create the headers and attach to the main layout
+ */
+ if (mSlideNumber == 0) {
+ mHeaderContainer = new UniViewerHeaderContainer(mViewFeeder, this);
+
+ // Always connect to populate sms content
+ connect(mViewFeeder, SIGNAL(msgBody(QString)), mBody, SLOT(setTextContent(QString)));
+
+ connect(mHeaderContainer,SIGNAL(sendMessage(const QString&,const QString&)),
+ this, SIGNAL(sendMessage(const QString&,const QString&)));
+
+
+
+ mMainLayout->addItem(mHeaderContainer);
+ }
+
+ mMainLayout->addItem(mBody);
+
+ setLayout(mMainLayout);
+}
+
+//---------------------------------------------------------------
+// UniViewSlideWidget::~UniViewSlideWidget
+// @see header file
+//---------------------------------------------------------------
+UniViewSlideWidget::~UniViewSlideWidget()
+{
+
+}
+
+//---------------------------------------------------------------
+//UniViewSlideWidget::clearContent
+// @see header file
+//---------------------------------------------------------------
+void UniViewSlideWidget::clearContent()
+{
+ if (mHeaderContainer) {
+ mHeaderContainer->clearContent();
+ }
+ if (mBody) {
+ mBody->clearContent();
+ }
+}
+
+//---------------------------------------------------------------
+// UniViewSlideWidget::populateContent
+// @see header file
+//---------------------------------------------------------------
+void UniViewSlideWidget::populateContent()
+{
+ if (mSlideNumber == 0) {
+ mViewFeeder->fetchDetails();
+ populateFirstSlide();
+ }
+
+ if (mViewFeeder->msgType() == KSenduiMtmMmsUidValue) {
+ QString slideString;
+ if (mViewFeeder->slideCount() > 1) {
+ slideString = QString(LOC_SLIDE_COUNTER).arg(mSlideNumber + 1).arg(
+ mViewFeeder->slideCount());
+ }
+ mBody->setSlideContents(mViewFeeder->slideContent(mSlideNumber), slideString);
+ }
+}
+
+//---------------------------------------------------------------
+// UniViewSlideWidget::populateFirstSlide
+// @see header file
+//---------------------------------------------------------------
+void UniViewSlideWidget::populateFirstSlide()
+{
+ mHeaderContainer->populateContent();
+}
+
+//---------------------------------------------------------------
+// UniViewSlideWidget::insideLayout
+// @see header file
+//---------------------------------------------------------------
+bool UniViewSlideWidget::insideLayout()
+{
+ return mInsideLayout;
+}
+
+//---------------------------------------------------------------
+// UniViewSlideWidget::setInsideLayout
+// @see header file
+//---------------------------------------------------------------
+void UniViewSlideWidget::setInsideLayout(bool inside)
+{
+ mInsideLayout = inside;
+}
+
+// EOF