meetingrequest/mrgui/src/cesmrview.cpp
branchRCL_3
changeset 16 b5fbb9b25d57
parent 12 4ce476e64c59
child 18 6b8f3b30d0ec
--- a/meetingrequest/mrgui/src/cesmrview.cpp	Tue Apr 27 16:20:14 2010 +0300
+++ b/meetingrequest/mrgui/src/cesmrview.cpp	Tue May 11 15:57:15 2010 +0300
@@ -15,10 +15,6 @@
 *
 */
 
-// <cmail> custom sw help files not avilable in Cmail
-//#include <fscale.hlp.hrh> //for custom_sw helps
-//#include <fsmr.hlp.hrh> //for custom_sw helps
-// </cmail>
 #include "cesmrview.h"
 #include "mesmrmeetingrequestentry.h"
 #include "esmrinternaluid.h"
@@ -40,17 +36,17 @@
 
 #include <eiklabel.h>
 #include <avkon.hrh>
-#include <magnentryui.h>
-#include <stringloader.h>
+#include <MAgnEntryUi.h>
+#include <StringLoader.h>
 #include <gulcolor.h>
 #include <eikimage.h>
 #include <esmrgui.rsg>
-#include <akniconutils.h>
+#include <AknIconUtils.h>
 #include <eikenv.h>
-#include <aknsconstants.h>
-#include <aknutils.h>
-#include <aknsdrawutils.h>
-#include <aknsbasicbackgroundcontrolcontext.h>
+#include <AknsConstants.h>
+#include <AknUtils.h>
+#include <AknsDrawUtils.h>
+#include <AknsBasicBackgroundControlContext.h>
 #include <hlplch.h>
 #include <csxhelp/cmail.hlp.hrh>
 #include <touchfeedback.h>
@@ -62,10 +58,6 @@
 
 #include "emailtrace.h"
 
-
-// <cmail> Removed profiling. </cmail>
-
-
 // ======== MEMBER FUNCTIONS ========
 
 // ---------------------------------------------------------------------------
@@ -214,7 +206,7 @@
                 delete iAttachmentIndicator;
                 iAttachmentIndicator = NULL;
                 
-                ReLayout();
+                SizeChanged();
                 }            
             }
             break;
@@ -317,9 +309,7 @@
                 else
                     {
                     // Only viewer from Mail supported
-                    // TODO: Change to KFS_VIEWER_HLP_MR_RECEIVED
-                    // when help id is released on wk9 platform
-                    LaunchHelpL( KFS_VIEWER_HLP_MEETING_REQ_VIEW );
+                    LaunchHelpL( KFS_VIEWER_HLP_MR_RECEIVED );
                     }
                 }
             else if ( mrEntry->RoleL() == EESMRRoleOrganizer )
@@ -664,8 +654,13 @@
         {
         return;
         }
-            
-    TRect containerRect( Rect() );
+    
+    // Remove possible intersection with toolbar from container rect
+    TRect containerRect( ContainerRect() );
+    
+    // Now toolbar does not intersect with view, so it must not be taken
+    // into account when calculating other component layouts.
+    containerRect.SetRect( TPoint( 0, 0 ), containerRect.Size() );
     
     // Get the rect of stripe.
     TAknLayoutRect stripeLayoutRect =
@@ -682,14 +677,11 @@
         TRect listareaRect( listareaLayoutRect.Rect() );
 
         // List panes default rect needs to be modified due to
-        // possible toolbar, scrollbar and calendar indication stripe
+        // scrollbar and calendar indication stripe
         
         // Remove stripe width from list pane width
         listareaRect.iTl.iX += iStripeRect.Width();
         
-        // Remove toolbar width from list pane width
-        listareaRect.iBr.iX -= iToolbar.Rect().Width();
-        
         if( iScrollBar )
            {
            TAknLayoutRect scrollareaLayoutRect =
@@ -699,9 +691,6 @@
            // Scroll bar's height is always the same as listpane's height
            scrollareaRect.SetHeight( listareaRect.Height() );
            
-           // Scrollbar needs to be moved to the left side of possible
-           // toolbar
-           scrollareaRect.Move( -iToolbar.Rect().Width(), 0 );
            iScrollBar->SetRect( scrollareaRect );
            
            // Remove scroll bar width from list area's width
@@ -744,8 +733,7 @@
                     scrollWidth = iScrollBar->Rect().Width();
                     }
                 
-                naviArrowRightRect.Move( 
-                        -( iToolbar.Rect().Width() + scrollWidth ), 0 );
+                naviArrowRightRect.Move( scrollWidth, 0 );
     
                 iNaviArrowRight->SetRect( naviArrowRightRect );
                 }
@@ -766,9 +754,7 @@
         
         // The listPane's area should be:
         // X: Should subtract the width of stripe
-        // Y: Should subtract the height of MRToolbar
         listareaRect.iTl.iX += iStripeRect.Width();
-        listareaRect.iBr.iY -= iToolbar.Rect().Height();
                 
         iListPane->SetRect( listareaRect );
         
@@ -799,10 +785,6 @@
                 // stripe width in portrait
                 naviArrowLeftRect.Move( iStripeRect.Width(), 0 );
                 
-                // Left arrow needs to be moved up the amount of
-                // possible toolbar height in portrait
-                naviArrowLeftRect.Move( 0, -iToolbar.Rect().Height() );
-                
                 iNaviArrowLeft->SetRect( naviArrowLeftRect );
                 }
             
@@ -817,11 +799,6 @@
                 // stripe width in portrait
                 naviArrowRightRect.Move( iStripeRect.Width(), 0 );
                 
-                // Right arrow needs to be moved up the amount of
-                // possible toolbar height in portrait
-                naviArrowRightRect.Move( 0, -iToolbar.Rect().Height() );
-                
-                
                 iNaviArrowRight->SetRect( naviArrowRightRect );
                 }
             }
@@ -996,7 +973,6 @@
         case KAknLocalZoomLayoutSwitch:
             {
             SizeChanged();
-            DrawNow();
             break;
             }
         default:
@@ -1108,16 +1084,6 @@
 	}
 
 // ---------------------------------------------------------------------------
-// CESMRView::ReLayout
-// ---------------------------------------------------------------------------
-//
-void CESMRView::ReLayout()
-    {
-    FUNC_LOG;
-    SizeChanged();
-    }
-
-// ---------------------------------------------------------------------------
 // CESMRView::ProcessEventL
 // ---------------------------------------------------------------------------
 //
@@ -1161,7 +1127,7 @@
             iAttachmentIndicator->SetTextL( value->StringValue() );            
             iAttachmentIndicator->MakeVisible( ETrue );
             
-            ReLayout();        
+            SizeChanged();        
             }
         }
     }
@@ -1172,7 +1138,7 @@
 //
 TRect CESMRView::CalculateAttachmentIndicatorLayout()
     {
-    TRect containerRect( Rect() );
+    TRect containerRect( ContainerRect() );
     
     TAknLayoutRect naviArrowLeftLayoutRect =
             NMRLayoutManager::GetLayoutRect( containerRect,
@@ -1194,20 +1160,17 @@
             scrollWidth = iScrollBar->Rect().Width();
             }
         
-        naviArrowRightRect.Move( 
-                -( iToolbar.Rect().Width() + scrollWidth ), 0 );    
+        naviArrowRightRect.Move( scrollWidth, 0 );    
         }
     else
         {
         // Left arrow needs to be moved right the amount of
         // stripe width in portrait
         naviArrowLeftRect.Move( iStripeRect.Width(), 0 );
-        naviArrowLeftRect.Move( 0, -iToolbar.Rect().Height() );
-
+        
         TRect naviArrowRightRect = naviArrowRightLayoutRect.Rect();
         
         naviArrowRightRect.Move( iStripeRect.Width(), 0 );
-        naviArrowRightRect.Move( 0, -iToolbar.Rect().Height() );        
         }   
 
     // Get height for one row 
@@ -1217,9 +1180,6 @@
     TRect rowRect( rowLayout.Rect() );
     
     TRect attachmentIndicatorRect;
-    /*attachmentIndicatorRect.iTl = 
-            TPoint( naviArrowLeftRect.iBr.iX, 
-                    naviArrowLeftRect.iBr.iY - rowRect.Height() ); */
     
     attachmentIndicatorRect.iTl = 
                 TPoint( naviArrowLeftRect.iBr.iX, 
@@ -1232,4 +1192,32 @@
     return attachmentIndicatorRect;
     }
 
+// ---------------------------------------------------------------------------
+// CESMRView::ContainerRect
+// ---------------------------------------------------------------------------
+//
+TRect CESMRView::ContainerRect() const
+    {
+    // Remove possible intersection with toolbar from container rect
+    TRect containerRect( PositionRelativeToScreen(), Rect().Size() );
+    TRect toolbar( iToolbar.Rect() );
+    if ( containerRect.Intersects( toolbar ) )
+        {
+        toolbar.Intersection( containerRect );
+        if ( Layout_Meta_Data::IsLandscapeOrientation() )
+            {
+            containerRect.SetWidth( containerRect.Width() - toolbar.Width() );
+            }
+        else
+            {
+            containerRect.SetHeight( containerRect.Height() - toolbar.Height() );
+            }
+        }
+    // Now toolbar does not intersect with view, so it must not be taken
+    // into account when calculating other component layouts.
+    containerRect.SetRect( TPoint( 0, 0 ), containerRect.Size() );
+    
+    return containerRect;
+    }
+
 // EOF