activityfw/testapplications/nftapps/lptapp/thumbwidget.cpp
changeset 117 c63ee96dbe5f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/activityfw/testapplications/nftapps/lptapp/thumbwidget.cpp	Thu Sep 16 12:11:40 2010 +0100
@@ -0,0 +1,160 @@
+/*
+* 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 "thumbwidget.h"
+
+
+
+thumbwidget::thumbwidget(QObject* activityStorage, QObject* activityManager, QTextStream* stream, QGraphicsItem *parent)
+    : basewidget(activityStorage, activityManager, stream, parent)
+{
+    mTestCheckBox->setText("Prepare data");
+    mKBytesEdid->setText("1");
+    mStartTestButton->setText("Thumb");
+}
+
+thumbwidget::~thumbwidget()
+{
+}
+
+
+void thumbwidget::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 = "thumb";
+            updateActionLabel();
+            //updateItemLabel(mItemsCounter);
+            updateTimeLabel(mTimesCounter);
+            clearSaveData();
+            logFirst();
+            connect( mActivityManager, SIGNAL(thumbnailReady(QPixmap, void *)), this, SLOT(thumbnailReady(QPixmap, void *)) );
+            bool ok = activities();
+            if(!ok) {
+                setError("get activities list");
+                return;
+            }
+        }
+    }
+    else if(mAction == "thumb") {
+        if(mTimesCounter==mTimes) {
+            endNormally();
+            return;
+        }
+        if(mItemsCounter<mItems) {
+            QString name = mActivities.at(mItemsCounter);
+            bool ok = getThumbnail(name);
+            mItemsCounter++;
+            if(!ok) {                
+                setError("get thumbnail");
+                return;
+            }            
+            updateItemLabel(mItemsCounter);
+            mTimer->stop();
+        }
+        else {
+            mTimesCounter++;
+            mItemsCounter = 0;
+            //updateItemLabel(mItemsCounter);
+            updateTimeLabel(mTimesCounter);
+        }
+    }
+    else {
+        setError("unexpected state");
+    }
+}
+
+void thumbwidget::test()
+{
+    mTimesCounter = 0;
+    mStatusValueLabel->setPlainText("Pending");
+    enableControls(false);
+    *mStream<<tr("*Get thumbnail*\n");
+    mStream->flush();
+    logSettings();
+    bool ok = activities();
+    if(!ok) {
+        setError("get activities list");
+        return;
+    }
+    if (TestCheckBoxChecked()) {
+        mAction = "predel"; 
+        mItems = mActivities.count();        
+    }
+    else {
+        mAction = "thumb";
+        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();      
+}
+
+void thumbwidget::thumbnailReady(QPixmap pixmap, void* ptr)
+{
+    if(pixmap.isNull()) {
+        setError("Null pixmap");
+        return;
+    }
+    mTimer->start(1);
+}
+
+void thumbwidget::endTest(int reason)
+{
+    disconnect( mActivityManager, SIGNAL(thumbnailReady(QPixmap, void *)), this, SLOT(thumbnailReady(QPixmap, void *)) );
+    basewidget::endTest(reason);
+}