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 } |