diff -r 61bc0f252b2b -r bac7acad7cb3 camerauis/cameraxui/cxui/src/main.cpp --- a/camerauis/cameraxui/cxui/src/main.cpp Tue Aug 31 15:03:46 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,162 +0,0 @@ -/* -* Copyright (c) 2009-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 -// needed for localization -#include -#include -#include -#include - -#ifdef Q_OS_SYMBIAN -#include -#include -#endif // Q_OS_SYMBIAN - -#include "cxeengine.h" -#include "cxecameradevicecontrol.h" -#include "cxuiapplication.h" -#include "cxuiviewmanager.h" -#include "cxuiapplicationstate.h" -#include "cxuienums.h" -#include "cxutils.h" -#include "cxuiserviceprovider.h" - -#ifdef Q_OS_SYMBIAN -#include "OstTraceDefinitions.h" -#ifdef OST_TRACE_COMPILER_IN_USE -#include "mainTraces.h" -#endif // OST_TRACE_COMPILER_IN_USE -#endif // Q_OS_SYMBIAN - -using namespace Cxe; - -// CONSTANTS -const QString TRANSLATIONS_PATH = "/resource/qt/translations/"; -const QString TRANSLATIONS_FILE = "camera"; - -int main(int argc, char *argv[]) -{ - CX_DEBUG(("CxUI: entering main()")); - OstTrace0( camerax_performance, _MAIN, "msg: e_CX_STARTUP 1" ); - - Q_INIT_RESOURCE(cxui); - - // Use software rendering / raster graphics system to save graphics memory - CX_DEBUG(("CxUI: Take raster graphics system into use")); - QApplication::setGraphicsSystem("raster"); - - OstTrace0( camerax_performance, DUP1__MAIN, "msg: e_CX_HBAPP_CREATION 1" ); - CxuiApplication app(argc, argv); - OstTrace0( camerax_performance, DUP2__MAIN, "msg: e_CX_HBAPP_CREATION 0" ); - - // Creating and initializing engine as early as possible. - // Reserve and power on can then proceed in parallel with - // ui construction. - OstTrace0( camerax_performance, DUP7__MAIN, "msg: e_CX_CREATE_ENGINE 1" ); - CxeEngine *engine = CxeEngine::createEngine(); - OstTrace0( camerax_performance, DUP8__MAIN, "msg: e_CX_CREATE_ENGINE 0" ); - - if (app.activateReason() == Hb::ActivationReasonService || - // @todo: There's a bug in orbit and we never get Hb::ActivationReasonService as - // activation reason. Use XQServiceUtil to determine if starting service as - // a workaround for now - XQServiceUtil::isService()) { - CX_DEBUG(("CxUI: Camera started as service")); - // Embedded mode. Engine is inited to correct mode - // by service provider when request arrives - CX_DEBUG(("CxUI: creating serviceprovider")); - CxuiServiceProvider::create(engine); - CX_DEBUG(("CxUI: done")); - } else if (app.activateReason() == Hb::ActivationReasonActivity) { - CX_DEBUG(("CxUI: Camera started as activity")); - Cxe::CameraMode mode = Cxe::ImageMode; - QString activityId = app.activateId(); - if (activityId == CxuiActivityIds::VIDEO_PRECAPTURE_ACTIVITY || - activityId == CxuiActivityIds::VIDEO_POSTCAPTURE_ACTIVITY) { - mode = Cxe::VideoMode; - } - - if (activityId == CxuiActivityIds::STILL_PRECAPTURE_ACTIVITY || - activityId == CxuiActivityIds::VIDEO_PRECAPTURE_ACTIVITY) { - // init engine only if going to pre-capture - engine->initMode(mode); - } else { - // in post-capture don't init but set the correct mode to engine - // so init can be done later - engine->setMode(mode); - } - } else { - CX_DEBUG(("CxUI: Camera started as normal app")); - // normal start - engine->initMode(engine->mode()); - } - - // Load language specific application localization file, e.g. "camera_en.qm" - // Translations need to be loaded before any widgets are created. - CX_DEBUG(("CxUI: Load translations..")); - OstTrace0( camerax_performance, DUP3__MAIN, "msg: e_CX_LOAD_TRANSLATIONS 1" ); - HbTranslator translator(TRANSLATIONS_PATH, TRANSLATIONS_FILE); - // Load language specific common localization file - translator.loadCommon(); - OstTrace0( camerax_performance, DUP4__MAIN, "msg: e_CX_LOAD_TRANSLATIONS 0" ); - CX_DEBUG(("CxUI: ..translations loaded")); - - // Create main window - OstTrace0( camerax_performance, DUP5__MAIN, "msg: e_CX_MAINWINDOW_CREATION 1" ); - HbMainWindow mainWindow(0, Hb::WindowFlagTransparent | Hb::WindowFlagNoBackground); - mainWindow.setAttribute(Qt::WA_NoBackground); - OstTrace0( camerax_performance, DUP6__MAIN, "msg: e_CX_MAINWINDOW_CREATION 0" ); - - // Set main window to landscape and full screen - OstTrace0( camerax_performance, DUP13__MAIN, "msg: e_CX_MAINWINDOW_SETORIENTATION 1" ); - mainWindow.setOrientation(Qt::Horizontal); - OstTrace0( camerax_performance, DUP14__MAIN, "msg: e_CX_MAINWINDOW_SETORIENTATION 0" ); - OstTrace0( camerax_performance, DUP15__MAIN, "msg: e_CX_MAINWINDOW_FULLSCREEN 1" ); - -#ifdef Q_OS_SYMBIAN - mainWindow.showFullScreen(); -#else - /* - * todo : check if this is an Orbit bug or if there's a better solution - */ - mainWindow.resize(640, 360); - mainWindow.setOrientation(Qt::Vertical, false); - mainWindow.show(); - mainWindow.setOrientation(Qt::Horizontal, false); -#endif //Q_OS_SYMBIAN - OstTrace0( camerax_performance, DUP16__MAIN, "msg: e_CX_MAINWINDOW_FULLSCREEN 0" ); - - // Create view manager - OstTrace0( camerax_performance, DUP11__MAIN, "msg: e_CX_CREATE_VIEW_MANAGER 1" ); - CxuiViewManager *viewManager = new CxuiViewManager(app, mainWindow, *engine); - OstTrace0( camerax_performance, DUP12__MAIN, "msg: e_CX_CREATE_VIEW_MANAGER 0" ); - - // Give main window id to engine for setting up viewfinder window behind it - OstTrace0( camerax_performance, DUP17__MAIN, "msg: e_CX_PREPAREWINDOW 1" ); - engine->viewfinderControl().setWindow(mainWindow.effectiveWinId()); - OstTrace0( camerax_performance, DUP18__MAIN, "msg: e_CX_PREPAREWINDOW 0" ); - - int returnValue = app.exec(); - - delete viewManager; - CxuiServiceProvider::destroy(); // delete service provider instance - delete engine; - - return returnValue; -}