diff -r 7d48bed6ce0c -r 987c9837762f cbs/cbsui/src/cbsuiviewmanager.cpp --- a/cbs/cbsui/src/cbsuiviewmanager.cpp Tue Aug 31 15:45:17 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,193 +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 "cbsuiviewmanager.h" -#include "cbsuitopiclistview.h" -#include "cbsuitopicview.h" -#include "mcbs.h" -#include "cbslog.h" - -const char *CBS_APP_XML = ":/xml/cbs_app.docml"; -const char *CBS_TOPIC_VIEW_XML = ":/xml/cbs_topic_view.docml"; -const char *CBS_MAIN_VIEW = "t:view"; -const char *CBS_TOPIC_VIEW ="t:view2"; - -// ======== MEMBER FUNCTIONS ================================================== -// ---------------------------------------------------------------------------- -// CbsUiViewManager::CbsUiViewManager -// ---------------------------------------------------------------------------- -// -CbsUiViewManager::CbsUiViewManager(HbMainWindow *window, MCbs &server) - :mMainWindow(window), - mServer(server), - mTopicListView(NULL), - mTopicView(NULL), - mLoader(NULL), - mSoftKeyBackAction(NULL), - mSoftKeyExitAction(NULL) -{ - LOG(NORMAL,"CBSUI: CbsUiViewManager::CbsUiViewManager IN"); - - // SYMBIAN CODE: - //mTopicMonitor = CCbsUiTopicListMonitor::NewL(mServer); not in use at the moment - - bool ok = false; - mLoader = new CbsUiDocumentLoader(); - // ownership of the objects are transferred to caller - mObjects = mLoader->load(CBS_APP_XML, &ok); - if (ok) { - activateMainView(); - } else { - LOG(NORMAL,"CBSUI: CbsUiViewManager::CbsUiViewManager DocML failure!"); - } - - LOG(NORMAL,"CBSUI: CbsUiViewManager::CbsUiViewManager OUT"); -} - -// ---------------------------------------------------------------------------- -// CbsUiViewManager::~CbsUiViewManager -// ---------------------------------------------------------------------------- -// -CbsUiViewManager::~CbsUiViewManager() -{ - LOG(NORMAL,"CBSUI: CbsUiViewManager::~CbsUiViewManager IN"); - //delete mTopicMonitor; not in use at the moment - delete mLoader; - // delete all objects created from DocML. - while (!mObjects.isEmpty()) { - LOG(NORMAL,"CBSUI: CbsUiViewManager::~CbsUiViewManager deleting..."); - delete mObjects.takeFirst(); - } - LOG(NORMAL,"CBSUI: CbsUiViewManager::~CbsUiViewManager OUT"); -} - -// ---------------------------------------------------------------------------- -// CbsUiViewManager::activateTopicView -// ---------------------------------------------------------------------------- -// -void CbsUiViewManager::activateTopicView(TCbsTopicNumber topicNumber) -{ - LOG(NORMAL,"CBSUI: CbsUiViewManager::activateTopicView IN"); - if (!mTopicView) { - bool ok = false; - // ownership of the objects are transferred to caller - mObjects += mLoader->load(CBS_TOPIC_VIEW_XML, &ok); - if (ok) { - mTopicView = - qobject_cast(mLoader->findWidget(CBS_TOPIC_VIEW)); - mTopicView->init(mServer, *this); - } else { - LOG(NORMAL,"CBSUI: CbsUiViewManager::activateTopicView DocML failure!"); - } - } - - if (mTopicView != mMainWindow->currentView()) { - if (!mSoftKeyBackAction) { - mSoftKeyBackAction = new HbAction(Hb::BackAction,mTopicView); - LOG2(NORMAL,"CBSUI: CbsUiViewManager::activateTopicView \ - mSoftKeyBackAction==%d", mSoftKeyBackAction); - } - - mTopicView->reloadMessages(topicNumber); - mMainWindow->addSoftKeyAction(Hb::SecondarySoftKey,mSoftKeyBackAction); - bool ret = connect(mSoftKeyBackAction, SIGNAL(triggered()), - this, SLOT(activateMainView())); - HbView* view = mMainWindow->currentView(); - mMainWindow->removeView(view); - // just temp implement - mTopicListView = 0; - mMainWindow->addView(mTopicView); - LOG2(NORMAL,"CBSUI: CbsUiViewManager::activateTopicView\ - mTopicView=%d", mTopicView); - } - LOG(NORMAL,"CBSUI: CbsUiViewManager::activateTopicView OUT"); -} - -// ---------------------------------------------------------------------------- -// CbsUiViewManager::activateMainView -// ---------------------------------------------------------------------------- -// -void CbsUiViewManager::activateMainView() -{ - LOG(NORMAL,"CBSUI: CbsUiViewManager::activateMainView IN"); - if (!mTopicListView) { - // First time called - mTopicListView = qobject_cast - (mLoader->findWidget(CBS_MAIN_VIEW)); - mTopicListView->init(mServer, *this); - // Connect signal to change view - bool ret = connect(mTopicListView, - SIGNAL(topicSelected(TCbsTopicNumber)), this, - SLOT(activateTopicView(TCbsTopicNumber))); - LOG2(NORMAL,"CBSUI: CbsUiViewManager::activateMainView ret=%d", ret); - } else { - HbView *view = mMainWindow->currentView(); - mMainWindow->removeView(view); - // just temp implement - mTopicView = 0; - } - - if (!mSoftKeyExitAction) { - mSoftKeyExitAction = new HbAction(Hb::QuitAction, mTopicListView); - LOG(NORMAL,"CBSUI: CbsUiViewManager::activateMainView add quit action"); - } - if ( mSoftKeyBackAction ) { - mMainWindow->removeSoftKeyAction(Hb::SecondarySoftKey, mSoftKeyBackAction); - mSoftKeyBackAction = 0; - LOG(NORMAL,"CBSUI: CbsUiViewManager::activateMainView remove back action"); - } - - mMainWindow->addSoftKeyAction(Hb::SecondarySoftKey,mSoftKeyExitAction); - bool ret = connect(mSoftKeyExitAction, SIGNAL(triggered()), - mMainWindow, SLOT(close())); - LOG2(NORMAL,"CBSUI: CbsUiViewManager::activateMainView connect exit=%d", ret); - mMainWindow->addView(mTopicListView); - mMainWindow->setCurrentView(mTopicListView); - LOG(NORMAL,"CBSUI: CbsUiViewManager::activateMainView OUT"); -} - -// ---------------------------------------------------------------------------- -// CbsUiDocumentLoader::createObject -// For DocML usage: -// ---------------------------------------------------------------------------- -// -QObject *CbsUiDocumentLoader::createObject( - const QString& type, const QString &name) -{ - LOG(NORMAL,"CBSUI: CbsUiViewManager::createObject IN"); - if (type == CbsUiTopicListView::staticMetaObject.className()) { - QObject *object = new CbsUiTopicListView; - object->setObjectName(name); - LOG(NORMAL,"CBSUI: CbsUiViewManager::createObject:CbsUiTopicListView OUT"); - return object; - } else if (type == CbsUiTopicView::staticMetaObject.className()) { - QObject *object = new CbsUiTopicView; - object->setObjectName(name); - LOG(NORMAL,"CBSUI: CbsUiViewManager::createObject:CbsUiTopicView OUT"); - return object; - } - LOG2(NORMAL,"CBSUI: CbsUiViewManager::createObject: \ - object name = %s",name.utf16()); - return HbDocumentLoader::createObject(type, name); -} - -// End of file