diff -r fa1df4b99609 -r ebe688cedc25 messagingapp/msgui/msgapp/src/main.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/messagingapp/msgui/msgapp/src/main.cpp Tue Aug 31 15:11:31 2010 +0300 @@ -0,0 +1,157 @@ +/* + * 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:main() for messaging application. + * + */ + +#include +#include +#include +#include +#include "debugtraces.h" +#include +#include +#include + +#include "msgmainwindow.h" +#include "msgactivityhandler.h" + +//Localised constants +#define LOC_TITLE hbTrId("txt_messaging_title_messaging") + +const QString debugFileName("c:/art2_app_log.txt"); +const QString activityParam("-activity"); +const int INVALID_MSGID = -1; + +#ifdef _DEBUG_TRACES_ +void debugInit(QtMsgType type, const char *msg) +{ + + QFile ofile(debugFileName); + if (!ofile.open(QIODevice::Append | QIODevice::Text)) + { + qFatal("error opening results file"); + return; + } + QDateTime dt = QDateTime::currentDateTime(); + + QTextStream out(&ofile); + switch (type) + { + case QtDebugMsg: + out << " DEBUG:"; + out << msg; + break; + case QtWarningMsg: + out << " WARN:"; + out << msg; + break; + case QtCriticalMsg: + out << "\n "; + out << dt.toString("dd/MM/yyyy hh:mm:ss.zzz:ap"); + out << " CRITICAL:"; + out << msg; + break; + case QtFatalMsg: + out << " FATAL:"; + out << msg; + abort(); + break; + default: + out << " No Log Selection Type:"; + out << msg; + break; + + } +} + +#endif +int main(int argc, char *argv[]) +{ + + QCRITICAL_WRITE("MsgApp start."); + + QString firstArg(argv[1]); + bool serviceRequest = false; + // check for argc is greater than 1 and its not from activity + if(argc >1 && firstArg != activityParam ) + { + serviceRequest = true; + HbSplashScreen::setScreenId("dummy"); + } + else + { + HbSplashScreen::setScreenId("clv"); + } + + // Application + HbApplication app(argc, argv); + + //TODO: Uncomment the lines when actual translation files are available in sdk and remove loading locally. + QString locale = QLocale::system().name(); + QString path = "z:/resource/qt/translations/"; + QTranslator translator; + QTranslator translator_comm; + translator.load(path + QString("messaging_") + locale); + translator_comm.load(path + QString("common_") + locale); + app.installTranslator(&translator); + app.installTranslator(&translator_comm); + + app.setApplicationName(LOC_TITLE); + +#ifdef _DEBUG_TRACES_ + //Debug Logs + QFile ofile; + if (ofile.exists(debugFileName)) + { + ofile.remove(debugFileName); + } + qInstallMsgHandler(debugInit); +#endif + + + + MsgActivityHandler* activityHandler = new MsgActivityHandler(&app); + // connect to aboutToQuit signal to save activity + QObject::connect(&app, SIGNAL(aboutToQuit()), + activityHandler, SLOT(saveActivity())); + + int activityMsgId = INVALID_MSGID; + if(app.activateReason() == Hb::ActivationReasonActivity) { + // restoring an activity, not a fresh startup or a service + QVariant data = app.activateData(); + activityMsgId = activityHandler->parseActivityData(data); + // set service request to false , since its a activity launch + serviceRequest = false; + } + // clear the old activities + activityHandler->clearActivities(); + + // Main window + QPointer mainWindow = new MsgMainWindow(serviceRequest,activityMsgId); + // Set the main window pointer to activity handler. + activityHandler->setMainWindow(mainWindow); + mainWindow->show(); + + // Event loop + int error = app.exec(); + HbApplication::processEvents(); + + // delete main window and return error + delete mainWindow; + + return error; +} + +// End of file