notepad/notepad1/LibSrc/NpdListDialog.cpp
branchRCL_3
changeset 86 ed599363c2d7
parent 78 356f28cd5ca0
equal deleted inserted replaced
78:356f28cd5ca0 86:ed599363c2d7
   105 // (caused by RemoveFromStack).
   105 // (caused by RemoveFromStack).
   106 // -----------------------------------------------------------------------------
   106 // -----------------------------------------------------------------------------
   107 //
   107 //
   108 EXPORT_C CNotepadListDialog::~CNotepadListDialog()
   108 EXPORT_C CNotepadListDialog::~CNotepadListDialog()
   109     {
   109     {
   110     if ( iServiceHandler )
       
   111         {
       
   112         delete iServiceHandler;
       
   113         iServiceHandler = NULL;
       
   114         }
       
   115     delete iIdle;
   110     delete iIdle;
   116     delete iProgressDialog; // *1*
   111     delete iProgressDialog; // *1*
   117     delete iEditorDialog;
   112     delete iEditorDialog;
   118     if ( iFlags & ENotepadObserveView )
   113     if ( iFlags & ENotepadObserveView )
   119         {
   114         {
   122     delete iModel;
   117     delete iModel;
   123     delete iSendUi;
   118     delete iSendUi;
   124     iSavedSelectedKeys.Close();
   119     iSavedSelectedKeys.Close();
   125     iSavedKeysAboveCurrent.Close();
   120     iSavedKeysAboveCurrent.Close();
   126     delete iEnvironmentChangeNotifier;
   121     delete iEnvironmentChangeNotifier;
       
   122     if ( iServiceHandler )
       
   123     	{
       
   124     	    	
       
   125 		delete iServiceHandler;
       
   126 		iServiceHandler = NULL;
       
   127     	}
   127     }
   128     }
   128 
   129 
   129 // -----------------------------------------------------------------------------
   130 // -----------------------------------------------------------------------------
   130 // CNotepadListDialog::EditByKeyL
   131 // CNotepadListDialog::EditByKeyL
   131 // Called from CNotepadAppUi.
   132 // Called from CNotepadAppUi.
   974                 }
   975                 }
   975             TInt currIndex = iListBox->CurrentItemIndex();
   976             TInt currIndex = iListBox->CurrentItemIndex();
   976             TKeyArrayFix itemKey(0,ECmpTUint);
   977             TKeyArrayFix itemKey(0,ECmpTUint);
   977             TInt ignore;
   978             TInt ignore;
   978             TInt itemMarked = iListBox->SelectionIndexes()->Find( currIndex, itemKey, ignore );
   979             TInt itemMarked = iListBox->SelectionIndexes()->Find( currIndex, itemKey, ignore );
   979 			
       
   980             if ( memoCount > 0 && 
   980             if ( memoCount > 0 && 
   981                 ( markCount == 0 || IsNotepad() || IsTemplates()) )
   981                 ( markCount == 0 || IsNotepad() || IsTemplates()) )
   982                 {
   982                 {
   983                 // this must preceed DeleteMenuItem(ENotepadCmdOpen)
   983                 // this must preceed DeleteMenuItem(ENotepadCmdOpen)
   984                 InsertSendMenuItemAfterL( *iSendUi, *aMenuPane, 
   984                 InsertSendMenuItemAfterL( *iSendUi, *aMenuPane, 
   985                     ENotepadCmdOpen );
   985                     ENotepadCmdOpen );
   986                 }
   986                 }
   987 				
       
   988             if ( memoCount == 0 )
   987             if ( memoCount == 0 )
   989                 {
   988                 {
   990                 aMenuPane->DeleteMenuItem( ENotepadCmdDelete );
   989                 aMenuPane->DeleteMenuItem(ENotepadCmdDelete);
   991                 }
   990                 }
   992 				
   991             if ( (memoCount == 0) ||  ( markCount >= 1  ) )
   993             //delete 'Open' item from Option list at the following situations:
       
   994             //no memo,have item marked,user select the 'New note'
       
   995             if ( ( memoCount == 0 ) || ( markCount >= 1 ) || 
       
   996                     ( ( currIndex == 0 ) && IsNotepad() ) )
       
   997                 {
   992                 {
   998                 // this must after InsertSendMenuItemAfterL
   993                 // this must after InsertSendMenuItemAfterL
   999                 aMenuPane->DeleteMenuItem( ENotepadCmdOpen );
   994                 aMenuPane->DeleteMenuItem(ENotepadCmdOpen);
  1000                 }
   995                 }
  1001 				
       
  1002             if ( markCount >= 1 && IsNoteListDialog() && ( memoCount > 0 ) )
   996             if ( markCount >= 1 && IsNoteListDialog() && ( memoCount > 0 ) )
  1003                 {
   997                 {
  1004                 aMenuPane->SetItemSpecific( ENotepadCmdSend, EFalse );
   998                 aMenuPane->SetItemSpecific( ENotepadCmdSend, EFalse );
  1005                 aMenuPane->SetItemSpecific( ENotepadCmdDelete, EFalse );
   999                 aMenuPane->SetItemSpecific( ENotepadCmdDelete, EFalse );
  1006                 }
  1000                 }
  1075     {
  1069     {
  1076     HideMenu();
  1070     HideMenu();
  1077     switch ( aCommandId )
  1071     switch ( aCommandId )
  1078         {
  1072         {
  1079         case ENotepadCmdOpen: // Open memo
  1073         case ENotepadCmdOpen: // Open memo
  1080             OnCmdOpenL( iListBox->CurrentItemIndex() );
  1074             OnCmdOpenL(iListBox->CurrentItemIndex());
  1081             break;
  1075             break;
  1082         case ENotepadCmdAdd:
  1076         case ENotepadCmdAdd:
  1083            OnCmdAddL();
  1077            OnCmdAddL();
  1084             break;
  1078             break;
  1085         case ENotepadCmdDelete:
  1079         case ENotepadCmdDelete: