diff -r 819e59dfc032 -r 2d9cac8919d3 launcher/src/enginewrapper.cpp --- a/launcher/src/enginewrapper.cpp Mon Oct 04 10:09:02 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,355 +0,0 @@ -/* -* Copyright (c) 2010 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 -#include -#include -#include -#include -#include -#include -#include - -#include "launchermainwindow.h" -#include "notifications.h" -#include "enginewrapper.h" - -// --------------------------------------------------------------------------- - -EngineWrapper::EngineWrapper(LauncherMainWindow* mainWindow) -: mEngine(0), - mMainWindow(mainWindow), - mProgressDialog(0), - mWaitDialog(0) -{ -} - -// --------------------------------------------------------------------------- - -EngineWrapper::~EngineWrapper() -{ - if (mEngine != NULL) { - delete mEngine; - mEngine = NULL; - } - if (mProgressDialog != NULL) { - delete mProgressDialog; - mProgressDialog = NULL; - } - if (mWaitDialog != NULL) { - delete mWaitDialog; - mWaitDialog = NULL; - } -} - -// --------------------------------------------------------------------------- - -bool EngineWrapper::init() -{ - - // construct engine - TRAPD(error, mEngine = CLauncherEngine::NewL(this)); - if (error != KErrNone) { - return false; - } - - return true; - -} - -// --------------------------------------------------------------------------- - -bool EngineWrapper::listOfAllApps(QStringList &allAppsQStringList){ - - // Get application CDesCArray list from engine - CDesCArray* allAppsCDescArray = 0; - TRAPD(error, allAppsCDescArray = mEngine->ListOfAllAppsL()); - if(error != KErrNone) { - return false; - } - - //convert CDesCArray to QStringList - for (int i = 0; i < allAppsCDescArray->Count(); i++) { - allAppsQStringList.append(QString::fromUtf16( - allAppsCDescArray->MdcaPoint(i).Ptr(), - allAppsCDescArray->MdcaPoint(i).Length())); - } - return true; -} - -// --------------------------------------------------------------------------- -bool EngineWrapper::startAppLaunching(const QModelIndexList &qList, bool autoClose) -{ - - // check if used has not selected any files - if (qList.size() == 0) { - Notifications::showErrorNote("Nothing selected"); - return false; - } - - bool retval(true); - CArrayFix* pArrayFix = NULL; - try{ - // Create CArrayFix for application numbers that are launched and Qlist into CArrayFix - QT_TRAP_THROWING( pArrayFix = QModelIndexListToCArrayFixL(qList) ); - - // Start launching applications - QT_TRAP_THROWING(mEngine->StartAppLaunchingL(pArrayFix, autoClose ? ETrue : EFalse)); - } - catch (const std::exception &e){ - qDebug() << "EngineWrapper::startAppLaunching - exception: " << e.what(); - retval = false; - } - - if(pArrayFix) - delete pArrayFix; - - return retval; -} - -// --------------------------------------------------------------------------- - -bool EngineWrapper::stopLaunching() -{ - TRAPD(error, mEngine->StopLaunchingL()); - if (error != KErrNone) { - return false; - } - else { - return true; - } -} - -// --------------------------------------------------------------------------- - -bool EngineWrapper::sendLog() -{ - ShareUi dialog; - QList fileList; - - if( mEngine->LogFileExists() ) - { - const TDesC& logFilePath = mEngine->LogFilePath(); - fileList.append( QString::fromUtf16( logFilePath.Ptr(), logFilePath.Length() ) ); - } - if( mEngine->BCLogFileExists() ) - { - const TDesC& BCLogFilePath = mEngine->BCLogFilePath(); - fileList.append( QString::fromUtf16( BCLogFilePath.Ptr(), BCLogFilePath.Length() ) ); - } - - if( !fileList.empty()){ - dialog.init(fileList,true); - return true; - } - else{ - return false; - } - -} - -// --------------------------------------------------------------------------- - -bool EngineWrapper::deleteLog() -{ - // if log file exists delete it. - if (mEngine->LogFileExists()) { - if (mEngine->DeleteLogFile() != KErrNone) { - return false; - } - } - - //if BC log file exists, delete it. - if (mEngine->BCLogFileExists()) { - if (mEngine->DeleteBCLogFile() != KErrNone) { - return false; - } - } - - return true; - -} - -// --------------------------------------------------------------------------- - -bool EngineWrapper::sendListOfDlls() -{ - const TDesC& systemDllsFilePath = mEngine->SystemDllsFilePath(); - - if ( BaflUtils::FileExists( CEikonEnv::Static()->FsSession(), systemDllsFilePath) ){ - ShareUi dialog; - QList fileList; - fileList.append( QString::fromUtf16( systemDllsFilePath.Ptr(), systemDllsFilePath.Length() ) ); - dialog.init(fileList,true); - return true; - } - else{ - Notifications::showErrorNote("DLL list does not exist"); - return false; - } -} - -// --------------------------------------------------------------------------- - -void EngineWrapper::doCompareDlls(HbAction* action) - { - HbInputDialog *dlg = static_cast(sender()); - if( action && !action->text().compare("ok", Qt::CaseInsensitive) ) - { - TFileName fileName( dlg->value().toString().utf16() ); - TRAPD(error, mEngine->AnalyseDLLsL( fileName ) ); - if( error != KErrNone ) - { - HideWaitDialog(); - HideProgressBar(); - Notifications::showErrorNote( QString("Error in analyse: %1").arg( error ) ); - } - } - } - -// --------------------------------------------------------------------------- - -void EngineWrapper::compareDlls() -{ - const TDesC& requiredDllsFileName = mEngine->RequiredDllsFilePath(); - QString fileName = QString::fromUtf16( requiredDllsFileName.Ptr(), requiredDllsFileName.Length() ); - HbInputDialog::getText( "Select input file for BC analysis:", this, SLOT(doCompareDlls(HbAction*)), fileName ); -} - -// --------------------------------------------------------------------------- -void EngineWrapper::ShowProgressBar(const TDesC& descText, TInt minimum, TInt maximum) -{ - QString qStringText = XQConversions::s60DescToQString(descText); - - if(mProgressDialog){ - delete mProgressDialog; - mProgressDialog = NULL; - } - mProgressDialog = new HbProgressDialog( HbProgressDialog::ProgressDialog ); - - if( maximum > 0 ) - mProgressDialog->setRange(minimum, maximum); - //iProgressDialog->setAutoClose(true); - mProgressDialog->setText(qStringText); - connect(mProgressDialog, SIGNAL(cancelled()), this, SLOT(CancelDllBCanalysis())); - mProgressDialog->show(); -} - -// --------------------------------------------------------------------------- -void EngineWrapper::SetProgressBarValue(TInt value) -{ - if (mProgressDialog && value > 0 ){ - mProgressDialog->setProgressValue(value); - } -} - -// --------------------------------------------------------------------------- -void EngineWrapper::HideProgressBar() -{ - if (mProgressDialog != NULL) { - disconnect(mProgressDialog, SIGNAL(cancelled), this, SLOT(CancelDllBCanalysis())); - delete mProgressDialog; - mProgressDialog = NULL; - } -} - -// --------------------------------------------------------------------------- -void EngineWrapper::CancelDllBCanalysis() -{ - mEngine->CancelBCAnalysis(); -} - -// --------------------------------------------------------------------------- -void EngineWrapper::ShowWaitDialog(const TDesC& descText) -{ - QString qStringText = XQConversions::s60DescToQString(descText); - - if(mWaitDialog){ - delete mWaitDialog; - mWaitDialog = NULL; - } - mWaitDialog = Notifications::showWaitDialog(qStringText); -} - -// --------------------------------------------------------------------------- -void EngineWrapper::HideWaitDialog() -{ - if (mWaitDialog != NULL) { - delete mWaitDialog; - mWaitDialog = NULL; - } -} - -// --------------------------------------------------------------------------- - -void EngineWrapper::setSkipHiddenAndEmbedOnly(bool skip) -{ - if(skip) { - mEngine->SetSkipHiddenAndEmbedOnly(ETrue); - } - else { - mEngine->SetSkipHiddenAndEmbedOnly(EFalse); - } -} - -// --------------------------------------------------------------------------- - -void EngineWrapper::ChangeFocusToOutputView() -{ - mMainWindow->openOutputView(); -} - -// --------------------------------------------------------------------------- - -void EngineWrapper::PrintText(const TDesC& descText) -{ - - // Convert the descriptor to QString - QString qStringText = XQConversions::s60DescToQString(descText); - mMainWindow->printText(qStringText); -} - -// --------------------------------------------------------------------------- - -CArrayFix* EngineWrapper::QModelIndexListToCArrayFixL(const QModelIndexList& qlist) -{ - CArrayFix* pArrayFix = new (ELeave) CArrayFixFlat( qlist.size() ); - CleanupStack::PushL(pArrayFix); - for (int j = 0; j < qlist.size(); j++) { - pArrayFix->AppendL(qlist.at(j).row()); - } - CleanupStack::Pop(pArrayFix); - return pArrayFix; -} - -// --------------------------------------------------------------------------- - -void EngineWrapper::ShowErrorMessage(const TDesC& descText) -{ - QString qStringText = XQConversions::s60DescToQString(descText); - Notifications::showErrorNote(qStringText); -} - -// --------------------------------------------------------------------------- - -void EngineWrapper::ShowInfoMessage(const TDesC& descText) -{ - QString qStringText = XQConversions::s60DescToQString(descText); - Notifications::showInformationNote(qStringText); -} - -// End of File