diff -r 0ba2181d7c28 -r 76a2435edfd4 phonebookui/pbkcommonui/src/cntmycardview.cpp --- a/phonebookui/pbkcommonui/src/cntmycardview.cpp Fri Mar 19 09:27:18 2010 +0200 +++ b/phonebookui/pbkcommonui/src/cntmycardview.cpp Fri Apr 16 14:53:18 2010 +0300 @@ -16,73 +16,101 @@ */ #include "cntmycardview.h" +#include "qtpbkglobal.h" #include +#include +#include +#include const char *CNT_MYCARD_UI_XML = ":/xml/contacts_mc.docml"; -CntMyCardView::CntMyCardView(CntViewManager *viewManager, QGraphicsItem *parent) : CntBaseView(viewManager, parent), mContact(0) -{ +CntMyCardView::CntMyCardView() : + mContact(0), + mViewManager(0), + mView(0), + mSoftkey(0) +{ bool ok = false; - ok=loadDocument(CNT_MYCARD_UI_XML); + mDocumentLoader.load(CNT_MYCARD_UI_XML, &ok); if (ok) { - - QGraphicsWidget *w = findWidget(QString("view")); - setWidget(w); + mView = static_cast(mDocumentLoader.findWidget(QString("view"))); } else { qFatal("Unable to read :/xml/contacts_mc.docml"); } + + //back button + mSoftkey = new HbAction(Hb::BackNaviAction, mView); + connect(mSoftkey, SIGNAL(triggered()), this, SLOT(showPreviousView())); } CntMyCardView::~CntMyCardView() { + mView->deleteLater(); + delete mContact; + mContact = 0; } /*! Activates a previous view */ -void CntMyCardView::aboutToCloseView() +void CntMyCardView::showPreviousView() { - viewManager()->onActivateView(CntViewParameters::namesView); + CntViewParameters args; + mViewManager->back(args); } /* Activates a default view */ -void CntMyCardView::activateView(const CntViewParameters &aViewParameters) +void CntMyCardView::activate(CntAbstractViewManager* aMgr, const CntViewParameters& aArgs) { - mContact = new QContact(aViewParameters.selectedContact()); + if (mView->navigationAction() != mSoftkey) + mView->setNavigationAction(mSoftkey); - HbPushButton *newButton = static_cast(findWidget(QString("cnt_button_new"))); + HbMainWindow* window = mView->mainWindow(); + connect(window, SIGNAL(orientationChanged(Qt::Orientation)), this, SLOT(setOrientation(Qt::Orientation))); + setOrientation(window->orientation()); + + mContact = new QContact(aArgs.selectedContact()); + mViewManager = aMgr; + + HbPushButton *newButton = static_cast(mDocumentLoader.findWidget(QString("cnt_button_new"))); connect(newButton, SIGNAL(clicked()), this, SLOT(openNameEditor())); - HbPushButton *chooseButton = static_cast(findWidget(QString("cnt_button_choose"))); + HbPushButton *chooseButton = static_cast(mDocumentLoader.findWidget(QString("cnt_button_choose"))); connect(chooseButton, SIGNAL(clicked()), this, SLOT(openMyCardSelectionView())); QContactDetailFilter filter; filter.setDetailDefinitionName(QContactType::DefinitionName, QContactType::FieldType); filter.setValue(QLatin1String(QContactType::TypeContact)); - if (contactManager()->contacts(filter).isEmpty()) + + if (mViewManager->contactManager( SYMBIAN_BACKEND )->contactIds(filter).isEmpty()) { chooseButton->setEnabled(false); } } +void CntMyCardView::deactivate() +{ + +} + void CntMyCardView::setOrientation(Qt::Orientation orientation) { - if( orientation == Qt::Vertical ) + if (orientation == Qt::Vertical) { // reading "portrait" section - loadDocument(CNT_MYCARD_UI_XML, "portrait"); + mDocumentLoader.load(CNT_MYCARD_UI_XML, "portrait"); } else { // reading "landscape" section - loadDocument(CNT_MYCARD_UI_XML, "landscape"); + mDocumentLoader.load(CNT_MYCARD_UI_XML, "landscape"); } } @@ -92,12 +120,13 @@ void CntMyCardView::openNameEditor() { //create a new my card contact - contactManager()->saveContact(mContact); - contactManager()->setSelfContactId(mContact->localId()); + QContactManager* mgr = mViewManager->contactManager( SYMBIAN_BACKEND ); + mgr->saveContact(mContact); + mgr->setSelfContactId(mContact->localId()); //open the contact editor CntViewParameters viewParameters(CntViewParameters::editView); viewParameters.setSelectedContact(*mContact); - viewManager()->onActivateView(viewParameters); + mViewManager->changeView(viewParameters); } /*! @@ -106,7 +135,7 @@ void CntMyCardView::openMyCardSelectionView() { CntViewParameters viewParameters(CntViewParameters::myCardSelectionView); - viewManager()->onActivateView(viewParameters); + mViewManager->changeView(viewParameters); } // EOF