diff -r c8382f7b54ef -r 726fba06891a meetingrequest/mrgui/mrfieldbuilderplugin/src/cesmrviewerdetailedsubjectfield.cpp --- a/meetingrequest/mrgui/mrfieldbuilderplugin/src/cesmrviewerdetailedsubjectfield.cpp Wed Sep 15 11:52:37 2010 +0300 +++ b/meetingrequest/mrgui/mrfieldbuilderplugin/src/cesmrviewerdetailedsubjectfield.cpp Wed Oct 13 14:11:15 2010 +0300 @@ -118,12 +118,15 @@ iFieldIcon = CMRImage::NewL( NMRBitmapManager::EMRBitmapOccasion, this ); - + iPriorityIcon = CMRImage::NewL( + NMRBitmapManager::EMRBitmapLockField, + this ); iRichTextViewer = CESMRRichTextViewer::NewL( this ); CESMRField::ConstructL( iRichTextViewer ); // ownership transferred iRichTextViewer->SetEdwinSizeObserver( this ); iRichTextViewer->SetParent( this ); iRichTextViewer->SetLinkObserver( this ); + iCurrentPriority = EFSCalenMRPriorityNormal; } // --------------------------------------------------------------------------- @@ -199,17 +202,29 @@ { if( entry.PriorityL() == EFSCalenMRPriorityHigh ) { + if( iPriorityIcon ) + { + delete iPriorityIcon; + iPriorityIcon = NULL; + } iPriorityIcon = CMRImage::NewL( NMRBitmapManager::EMRBitmapPriorityHigh, this, ETrue ); + iCurrentPriority = EFSCalenMRPriorityHigh; } if( entry.PriorityL() == EFSCalenMRPriorityLow ) { + if( iPriorityIcon ) + { + delete iPriorityIcon; + iPriorityIcon = NULL; + } iPriorityIcon = CMRImage::NewL( NMRBitmapManager::EMRBitmapPriorityLow, this, ETrue ); + iCurrentPriority = EFSCalenMRPriorityLow; } } @@ -425,12 +440,15 @@ CESMRField::LockL(); - delete iPriorityIcon; - iPriorityIcon = NULL; - iPriorityIcon = CMRImage::NewL( - NMRBitmapManager::EMRBitmapLockField, - this, - ETrue ); + if( !iPriorityIcon ) + { + delete iPriorityIcon; + iPriorityIcon = NULL; + iPriorityIcon = CMRImage::NewL( + NMRBitmapManager::EMRBitmapLockField, + this, + ETrue ); + } } // --------------------------------------------------------------------------- @@ -483,12 +501,12 @@ ++count; } - if ( iRichTextViewer ) + if ( iPriorityIcon ) { ++count; } - if ( iPriorityIcon ) + if ( iRichTextViewer ) { ++count; } @@ -508,9 +526,9 @@ case 0: return iFieldIcon; case 1: - return iRichTextViewer; + return iPriorityIcon; case 2: - return iPriorityIcon; + return iRichTextViewer; default: return NULL; @@ -541,7 +559,7 @@ } // Layouting priority icon - if( iPriorityIcon ) + if( iPriorityIcon && ( IsLocked() || iCurrentPriority != EFSCalenMRPriorityNormal ) ) { TAknWindowComponentLayout iconLayout( NMRLayoutManager::GetWindowComponentLayout( @@ -551,7 +569,7 @@ TAknLayoutText viewerLayoutText; - if( iPriorityIcon ) + if( iPriorityIcon && ( IsLocked() || iCurrentPriority != EFSCalenMRPriorityNormal ) ) { viewerLayoutText = NMRLayoutManager::GetLayoutText( rowRect, NMRLayoutManager::EMRTextLayoutSingleRowEditorText );