--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/deviceupdatesui/cpqtsp/src/CpQtSpView.cpp Fri Mar 19 04:28:07 2010 +0530
@@ -0,0 +1,176 @@
+/*
+* Copyright (c) 2002 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:
+* Bio control for Provisioning documents.
+*
+*/
+
+#include <hbapplication.h>
+#include <hbtoolbar.h>
+#include <hbaction.h>
+#include <HbMenu.h>
+#include <HbTextItem>
+#include <HbFontSpec>
+#include <HbMessageBox>
+#include <QGraphicsLinearLayout>
+#include <xqserviceprovider.h>
+#include <xqservicerequest.h>
+#include <xqserviceutil.h>
+#include <e32base.h>
+#include <flogger.h>
+#include <CWPNameValue.h>
+#include <CWPEngine.h>
+#include <CpQtSpView.h>
+#include <CpQtSpMainWindow.h>
+
+
+CpQtSpView::CpQtSpView(CpQtSp* service,QGraphicsItem *parent)
+ : HbView(parent), iServiceProvider(service)
+{
+ setTitle(tr("Messaging"));
+ HbToolBar* toolBar = this->toolBar();
+ HbMenu* menu = this->menu();
+ HbAction* saveAction = new HbAction("Save");
+ connect(saveAction, SIGNAL(triggered()), this, SLOT(saveProvisoningMessage()));
+ HbAction* DeleteAction = new HbAction("Delete");
+
+ toolBar->addAction(saveAction);
+ toolBar->addAction(DeleteAction);
+ toolBar->setOrientation(Qt::Horizontal);
+ iPrimaryFont = new HbFontSpec(HbFontSpec::Primary);
+ iSecondaryFont = new HbFontSpec(HbFontSpec::Secondary);
+
+ layout = new QGraphicsLinearLayout(Qt::Vertical, this);
+
+ QString str = hbTrId("txt_device_update_dblist_configuration_message");
+ QString str1 = hbTrId("txt_device_update_dblist_product_code_val_save_to");
+ HbTextItem* mPrimaryItem = new HbTextItem(str, this);
+ HbTextItem* mSecondaryItem = new HbTextItem(str1, this);
+
+ QFont font = iPrimaryFont->font();
+ mPrimaryItem->setFont(font);
+
+ font = iSecondaryFont->font();
+ mSecondaryItem->setFont(font);
+
+ layout->addItem(mPrimaryItem);
+ layout->addItem(mSecondaryItem);
+
+ setLayout(layout);
+ }
+
+void CpQtSpView::constructView()
+{
+ iBio = CWPBioControl::NewL(iServiceProvider->returnSession(),iServiceProvider->returnId());
+ RPointerArray<CWPNameValue>* iArray = iBio->CollectItemsLC();
+ TBufC<200> Name;
+ TBufC<200> Value;
+ HbTextItem* mPrimaryItem[100];
+ HbTextItem* mSecondaryItem[100];
+ HbTextItem* mSecondaryItemBlank = new HbTextItem("", this);
+ QFont pfont = iPrimaryFont->font();
+ QFont sfont = iSecondaryFont->font();
+
+ TBuf<200> currentTitle(KNullDesC);
+
+ for( TInt item = 0; item < iArray->Count(); item++ )
+ {
+ CWPNameValue* pair = ((*iArray)[item]);
+ Name = pair->Name();
+ if(Name.Compare(currentTitle) !=0 )
+ {
+ QString qname((QChar*)Name.Ptr(),Name.Length());
+ mPrimaryItem[item] = new HbTextItem(qname);
+ mPrimaryItem[item]->setFont(pfont);
+ layout->addItem(mSecondaryItemBlank);
+ layout->addItem(mPrimaryItem[item]);
+ currentTitle.Copy(Name);
+ }
+
+ Value = pair->Value();
+ QString qvalue((QChar*)Value.Ptr(),Value.Length());
+ mSecondaryItem[item] = new HbTextItem(qvalue);
+ mSecondaryItem[item]->setFont(sfont);
+ layout->addItem(mSecondaryItem[item]);
+ }
+ CleanupStack::PopAndDestroy();
+
+}
+
+void CpQtSpView::saveProvisoningMessage()
+{
+ CWPEngine* engine = iBio->returnEngine();
+ int errSave = KErrNone;
+
+ for(TInt i=0; i < engine->ItemCount(); i++)
+ {
+ TRAP( errSave, engine->SaveL(i) );
+ }
+
+ if( errSave == KErrNone )
+ {
+ //For testing purpose. Will be removed in future.
+ HbMessageBox::launchInformationMessageBox("Message Saved");
+ }
+}
+
+CpQtSpView::~CpQtSpView()
+{
+ delete iBio;
+}
+
+void CpQtSpView::requestCompleted(const QVariant& value)
+{
+}
+
+
+CpQtSp::CpQtSp(QObject* parent)
+: XQServiceProvider("com.nokia.services.MDM.Provisioning",parent)
+{
+ publishAll();
+}
+
+CpQtSp::~CpQtSp()
+{
+ delete iObserver;
+ delete iSession;
+}
+
+void CpQtSp::complete()
+{
+ QString retvalue ="";
+ completeRequest(1,retvalue);
+}
+
+QString CpQtSp::ProcessMessage(const QString& tmsvid)
+{
+ iId = tmsvid.toInt();
+ TMsvSelectionOrdering sort;
+ sort.SetShowInvisibleEntries(ETrue);
+ iObserver = new(ELeave) CObserver;
+ iSession = CMsvSession::OpenSyncL(*iObserver);
+ emit showView();
+ setCurrentRequestAsync();
+ return "";
+ }
+
+TMsvId CpQtSp::returnId()
+{
+ return iId;
+}
+
+CMsvSession* CpQtSp::returnSession()
+{
+ return iSession;
+}