diff -r 224522e33db9 -r 25fe1fe642e3 messagingapp/msgsettings/settingsview/src/msgsettingsview.cpp --- a/messagingapp/msgsettings/settingsview/src/msgsettingsview.cpp Tue Jul 06 22:50:16 2010 +0530 +++ b/messagingapp/msgsettings/settingsview/src/msgsettingsview.cpp Fri Jul 09 14:46:10 2010 +0530 @@ -17,6 +17,7 @@ #include #include #include +#include #include "msgsettingsview.h" #include "msgsettingsform.h" @@ -26,9 +27,11 @@ //LOCALAIZED CONSTANTS #define LOC_MESSAGE_SETTINGS_HEADING hbTrId("txt_messaging_title_messaging_settings") -MsgSettingsView::MsgSettingsView(SettingsView settingsView, - QGraphicsItem *parent) : - MsgBaseView(parent), mSMSCenterView(0), mSettingsForm(0) +MsgSettingsView::MsgSettingsView(SettingsView settingsView,QGraphicsItem *parent): +MsgBaseView(parent), +mSMSCenterView(0), +mSettingsForm(0), +mCurrentView(settingsView) { mMainWindow = this->mainWindow(); @@ -47,11 +50,18 @@ SIGNAL(newSMSCCenterClicked(int)), this, SLOT(onNewSMSCCenterClicked(int))); + mainLayout->addItem(viewHeading); mainLayout->addItem(mSettingsForm); this->setLayout(mainLayout); + + //sms settings need to be created so launch MsgSMSCenterView in edit mode. + if(settingsView == SMSView) + { + onNewSMSCCenterClicked(-1); + } } MsgSettingsView::~MsgSettingsView() @@ -81,9 +91,16 @@ void MsgSettingsView::onSmsCenterEditViewClosed() { + + //sms center view was directly launched, no need to go back to settings view. + if(mCurrentView == SMSView) + { + this->navigationAction()->trigger(); + return; + } //remove the view mMainWindow->removeView(mSMSCenterView); - + //refresh the form mSettingsForm->refreshViewForm();