activityfw/testapplications/nftapps/lptapp/savedelwidget.cpp
author Jaakko Haukipuro (Nokia-MS/Oulu) <Jaakko.Haukipuro@nokia.com>
Thu, 16 Sep 2010 12:11:40 +0100
changeset 117 c63ee96dbe5f
permissions -rw-r--r--
Missing activityfw and taskswitcher components - fix for Bug 3670

/*
* 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 "savedelwidget.h"



savedelwidget::savedelwidget(QObject* activityStorage, QObject* activityManager, QTextStream* stream, QGraphicsItem *parent)
    : basewidget(activityStorage, activityManager, stream, parent)
{
    mStartTestButton->setText("Save");
}

savedelwidget::~savedelwidget()
{
}


void savedelwidget::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();
            mTimes=Times();
            mItemsCounter = 0;
            mAction = "save";
            updateActionLabel();
            //updateItemLabel(mItemsCounter);
            updateTimeLabel(mTimesCounter);
            logFirst();
            prepareSave();
        }
    }
    else if(mAction=="save") {
        if(mTimesCounter==mTimes) {
            endNormally();
            return;
        }
        if(mItemsCounter<mItems) {

            bool ok = saveActivity(mItemsCounter);
            if(!ok) {                
                setError("save activity");
                return;
            }
            mItemsCounter++;
            updateItemLabel(mItemsCounter);
        }
        else {
            if(TestCheckBoxChecked()) {
                bool ok = activities();
                if(!ok) {
                    setError("get activities list");                    
                    return;
                }
                ok = checkActNum();
                if(!ok) {
                    setError("unexpected act number");
                    return;
                }
                mItemsCounter = 0;
                mAction = "remove";
                updateActionLabel();
                //updateItemLabel(mItemsCounter);
                
            }
            else {
                mTimesCounter++;
                mItemsCounter = 0;
                //updateItemLabel(mItemsCounter);
                updateTimeLabel(mTimesCounter);
            }           
        }
    }
    else if(mAction=="remove") {
        if(mItemsCounter<mItems) {

            QString name = mActivities.at(mItemsCounter);
            bool ok = removeActivity(name);
            mItemsCounter++;
            if(!ok) {                
                setError("remove activity");
                return;
            }     
            updateItemLabel(mItemsCounter);
        }
        else {
            mTimesCounter++;
            mItemsCounter = 0;
            //updateItemLabel(mItemsCounter);
            updateTimeLabel(mTimesCounter);
            mAction = "save";
            updateActionLabel();
        }
    }
    else {
        setError("unexpected state");
    }
}

void savedelwidget::test()
{   
    mTimesCounter = 0;
    mStatusValueLabel->setPlainText("Pending");
    enableControls(false);
    *mStream<<tr("*Save del start*\n");
    logSettings();
    mStream->flush();
    mAction = "predel";    
    bool ok = activities();
    if(!ok) {
        setError("get activities list");
        return;
    }
    mItems = mActivities.count();
    basewidget::test();
}