messagingapp/msgsettings/settingsview/src/msgsettingsview.cpp
changeset 56 f42d9a78f435
parent 46 b1f0785c289d
equal deleted inserted replaced
55:5b3b2fa8c3ec 56:f42d9a78f435
    64     }
    64     }
    65 }
    65 }
    66 
    66 
    67 MsgSettingsView::~MsgSettingsView()
    67 MsgSettingsView::~MsgSettingsView()
    68 {
    68 {
    69     delete mSMSCenterView;
       
    70 }
    69 }
    71 
    70 
    72 void MsgSettingsView::onNewSMSCCenterClicked(int index)
    71 void MsgSettingsView::onNewSMSCCenterClicked(int index)
    73 {
    72 {
    74     //open the sms center views
    73     //open the sms center views
    75     if (mSMSCenterView)
       
    76     {
       
    77         delete mSMSCenterView;
       
    78         mSMSCenterView = NULL;
       
    79     }
       
    80 
       
    81     mSMSCenterView = new MsgSMSCenterView(index);
    74     mSMSCenterView = new MsgSMSCenterView(index);
    82 
    75 
    83     connect(mSMSCenterView,
    76     connect(mSMSCenterView,
    84             SIGNAL(smsCenterEditViewClosed()),
    77             SIGNAL(smsCenterEditViewClosed()),
    85             this,
    78             this,
    93 {
    86 {
    94 
    87 
    95     //sms center view was directly launched, no need to go back to settings view.
    88     //sms center view was directly launched, no need to go back to settings view.
    96     if(mCurrentView == SMSView)
    89     if(mCurrentView == SMSView)
    97     {
    90     {
       
    91         // mSMSCenterView will be deleted by MainWindow. 
    98         this->navigationAction()->trigger();
    92         this->navigationAction()->trigger();
    99         return;
    93         return;
   100     }
    94     }
   101     //remove the view 
    95     //remove the view 
   102     mMainWindow->removeView(mSMSCenterView);
    96     mMainWindow->removeView(mSMSCenterView);
       
    97     // Delete the view since the ownership is transferred to caller.
       
    98     // @see HbMainWindow::removeView()
       
    99     delete mSMSCenterView;
       
   100     mSMSCenterView = NULL;
   103     
   101     
   104     // This check is needed in case when smsc center view is 
   102     // This check is needed in case when smsc center view is 
   105     // launched directly 
   103     // launched directly 
   106     if(mMainWindow->views().count() > 0)
   104     if(mMainWindow->views().count() > 0)
   107     {
   105     {