diff -r c464cd7e2753 -r 66c26770985f stateproviders/ftustateprovider/src/ftuwizardmenustate.cpp --- a/stateproviders/ftustateprovider/src/ftuwizardmenustate.cpp Mon Apr 19 14:01:47 2010 +0300 +++ b/stateproviders/ftustateprovider/src/ftuwizardmenustate.cpp Mon May 03 12:24:41 2010 +0300 @@ -26,12 +26,14 @@ #include #include #include - #include #include #include -#include + +#include + +#include "ftustatecenrephandler.h" const int progressCompelete = 100; const char* emptyLine = " "; @@ -44,7 +46,6 @@ const char *TOC_LIST_VIEW = "tocListView"; - // --------------------------------------------------------------------------- // FtuWizardMenuState::FtuWizardMenuState // --------------------------------------------------------------------------- @@ -56,10 +57,13 @@ mInfoText(NULL), mListView(NULL), mDocumentLoader(NULL), - mModel(NULL) + mModel(NULL) { mMainWindow = hbInstance->allMainWindows().at(0); mModel = new QStandardItemModel(this); + + //TODO Read number of wizards supported and init the following list + //mCompletedWizardList << false << false << false << false << false <addView(mTocView); // Set as initial view. mMainWindow->setCurrentView(mTocView); - mExitAction = new HbAction(Hb::QuitNaviAction, this); - mTocView->setNavigationAction(mExitAction); - QObject::connect( mExitAction, SIGNAL(triggered()), this, SLOT(exitApp())); + mCenrepHandler = new FtuStateCenrepHandler(NULL); + int registeredPlugins = mCenrepHandler->registeredPluginCount(); + for(int counter = 0; counter < registeredPlugins; counter ++){ + mCompletedWizardList << mCenrepHandler->getPluginInfo(counter); + } + } // --------------------------------------------------------------------------- @@ -89,6 +96,7 @@ delete mModel; } delete mDocumentLoader; + delete mCenrepHandler; } // --------------------------------------------------------------------------- @@ -124,6 +132,8 @@ // void FtuWizardMenuState::onExit(QEvent *event) { + //remove the options menu so that plugin can perform the cleanup + mMainWindow->currentView()->takeMenu(); QState::onExit(event); } @@ -229,8 +239,12 @@ // void FtuWizardMenuState::activateWizard(const QModelIndex index) { + //remove the main menu + mMainWindow->currentView()->takeMenu(); // Set the active wizard index content()->setActiveWizard(index.row()); + FtuWizard * wizard=content()->wizard(index.row()); + // signal to activated state emit wizardSelected(); } @@ -272,12 +286,16 @@ { QDate date = wizards[index]->wizardCompletedDate(); data << updatedAsString(date); + + XQSettingsManager settingsManager; + + if(false == mCompletedWizardList[index]) + { + mCompletedWizardList[index] = true; + mCenrepHandler->updatePluginInfo(index); + } + } mModel->item(index)->setData(QVariant(data), Qt::DisplayRole); } } - -void FtuWizardMenuState::exitApp() - { - qApp->exit(); - }