activityfw/testapplications/nftapps/lptapp/datawidget.cpp
changeset 117 c63ee96dbe5f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/activityfw/testapplications/nftapps/lptapp/datawidget.cpp	Thu Sep 16 12:11:40 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:
+*
+*/
+#include "datawidget.h"
+
+
+
+datawidget::datawidget(QObject* activityStorage, QObject* activityManager, QTextStream* stream, QGraphicsItem *parent)
+    : basewidget(activityStorage, activityManager, stream, parent)
+{
+    mTestCheckBox->setText("Prepare data");    
+    mStartTestButton->setText("Data");
+}
+
+datawidget::~datawidget()
+{
+}
+
+
+void datawidget::timeout()
+{
+    if(mAction == "predel") {
+        if(mItemsCounter<mItems) {
+            QString name = mActivities.at(mItemsCounter);
+            bool ok = removeActivity(name);
+            mItemsCounter++;
+            if(!ok) {                
+                setError("remove activity");
+                return;
+            }
+            updateItemLabel(mItemsCounter);
+        }
+        else {
+            mItems=Items();
+            mItemsCounter = 0;
+            mAction = "presave";
+            updateActionLabel();
+            //updateItemLabel(mItemsCounter);
+            prepareSave();
+        }
+    }
+    else if(mAction == "presave") {
+        if(mItemsCounter<mItems) {
+            bool ok = saveActivity(mItemsCounter);
+            mItemsCounter++;
+            if(!ok) {                
+                setError("save activity");
+                return;
+            }
+            updateItemLabel(mItemsCounter);
+        }
+        else {
+            mItems=Items();
+            mTimes=Times();
+            mItemsCounter = 0;
+            mAction = "data";
+            updateActionLabel();
+            //updateItemLabel(mItemsCounter);
+            updateTimeLabel(mTimesCounter);
+            clearSaveData();
+            logFirst(); 
+            bool ok = activities();
+            if(!ok) {
+                setError("get activities list");
+                return;
+            }
+        }
+    }
+    else if(mAction == "data") {
+        if(mTimesCounter==mTimes) {
+            endNormally();
+            return;
+        }
+        if(mItemsCounter<mItems) {
+            QString name = mActivities.at(mItemsCounter);
+            bool ok = privateData(name);
+            mItemsCounter++;
+            if(!ok) {                
+                setError("get data");
+                return;
+            }            
+            updateItemLabel(mItemsCounter);
+        }
+        else {
+            mTimesCounter++;
+            mItemsCounter = 0;
+            //updateItemLabel(mItemsCounter);
+            updateTimeLabel(mTimesCounter);
+        }
+    }
+    else {
+        setError("unexpected state");
+    }
+}
+
+void datawidget::test()
+{
+    mTimesCounter = 0;
+    mStatusValueLabel->setPlainText("Pending");
+    enableControls(false);
+    *mStream<<tr("*Get private data*\n");
+    mStream->flush();
+    logSettings();
+    bool ok = activities();
+    if(!ok) {
+        setError("get activities list");
+        return;
+    }
+    if (TestCheckBoxChecked()) {
+        mAction = "predel"; 
+        mItems = mActivities.count();        
+    }
+    else {
+        mAction = "data";
+        ok = checkActNum();
+         if(!ok) {
+             setError("unexpected act number");
+             return;
+         }
+         mItems=Items();
+         mTimes=Times();
+         mItemsCounter = 0;
+         updateItemLabel(mItemsCounter);
+         updateTimeLabel(mTimesCounter);
+         logFirst();
+         connect( mActivityManager, SIGNAL(thumbnailReady(QPixmap, void *)), this, SLOT(thumbnailReady(QPixmap, void *)) );
+    }
+    basewidget::test();
+}