equal
deleted
inserted
replaced
67 public: |
67 public: |
68 CAknNavigationControlContainerExtension(){}; |
68 CAknNavigationControlContainerExtension(){}; |
69 ~CAknNavigationControlContainerExtension(){}; |
69 ~CAknNavigationControlContainerExtension(){}; |
70 |
70 |
71 public: |
71 public: |
72 TInt iCurrentColorScheme; |
|
73 CAknNaviForegroundObserver* iForegroundObserver; |
72 CAknNaviForegroundObserver* iForegroundObserver; |
74 TBool iDestructionOngoing; |
73 TBool iDestructionOngoing; |
75 CFbsBitmap* iNaviColorBitmap; |
74 CFbsBitmap* iNaviColorBitmap; |
76 TInt iPreferredNaviDecoratorLayoutStyle; |
75 TInt iPreferredNaviDecoratorLayoutStyle; |
77 CEikStatusPaneBase* iStatusPane; |
76 CEikStatusPaneBase* iStatusPane; |
142 { |
141 { |
143 if ( !iExtension ) |
142 if ( !iExtension ) |
144 { |
143 { |
145 iExtension = |
144 iExtension = |
146 new (ELeave) CAknNavigationControlContainerExtension(); |
145 new (ELeave) CAknNavigationControlContainerExtension(); |
147 iExtension->iCurrentColorScheme = ColorScheme(); |
|
148 iExtension->iForegroundObserver = |
146 iExtension->iForegroundObserver = |
149 CAknNaviForegroundObserver::NewL( this ); |
147 CAknNaviForegroundObserver::NewL( this ); |
150 iExtension->iStatusPane = CEikStatusPaneBase::Current(); |
148 iExtension->iStatusPane = CEikStatusPaneBase::Current(); |
151 } |
149 } |
152 |
150 |
1454 else |
1452 else |
1455 { |
1453 { |
1456 CCoeControl::HandleResourceChange( aType ) ; |
1454 CCoeControl::HandleResourceChange( aType ) ; |
1457 } |
1455 } |
1458 |
1456 |
1459 if ( aType == KEikColorResourceChange || |
1457 if ( aType == KEikDynamicLayoutVariantSwitch || |
1460 aType == KEikDynamicLayoutVariantSwitch || |
|
1461 aType == KAknsMessageSkinChange ) |
1458 aType == KAknsMessageSkinChange ) |
1462 { |
1459 { |
1463 TInt colorScheme = ColorScheme(); |
1460 if ( aType == KEikDynamicLayoutVariantSwitch || |
1464 if ( colorScheme != iExtension->iCurrentColorScheme || |
|
1465 aType == KEikDynamicLayoutVariantSwitch || |
|
1466 aType == KAknsMessageSkinChange ) |
1461 aType == KAknsMessageSkinChange ) |
1467 { |
1462 { |
1468 iExtension->iCurrentColorScheme = colorScheme; |
|
1469 |
|
1470 // updating color bitmap |
1463 // updating color bitmap |
1471 TRAP_IGNORE( LoadNaviColorBitmapL() ); |
1464 TRAP_IGNORE( LoadNaviColorBitmapL() ); |
1472 } |
1465 } |
1473 DrawDeferred(); |
1466 DrawDeferred(); |
1474 } |
1467 } |
2350 |
2343 |
2351 // screen |
2344 // screen |
2352 TRect screenRect; |
2345 TRect screenRect; |
2353 AknLayoutUtils::LayoutMetricsRect( AknLayoutUtils::EScreen, screenRect ); |
2346 AknLayoutUtils::LayoutMetricsRect( AknLayoutUtils::EScreen, screenRect ); |
2354 |
2347 |
2355 // app window |
2348 // statuspane, skip application window because it's the same as screen. |
2356 TAknLayoutRect applicationWindowLayoutRect; |
|
2357 applicationWindowLayoutRect.LayoutRect( |
|
2358 screenRect, |
|
2359 AknLayoutScalable_Avkon::application_window( 0 ) ); |
|
2360 TRect applicationWindowRect( applicationWindowLayoutRect.Rect() ); |
|
2361 |
|
2362 // statuspane |
|
2363 TAknLayoutRect statusPaneLayoutRect; |
2349 TAknLayoutRect statusPaneLayoutRect; |
2364 statusPaneLayoutRect.LayoutRect( applicationWindowRect, |
2350 statusPaneLayoutRect.LayoutRect( screenRect, |
2365 AknLayoutScalable_Avkon::status_pane( 0 ) ); |
2351 AknLayoutScalable_Avkon::status_pane( 0 ) ); |
2366 TRect statusPaneRect( statusPaneLayoutRect.Rect() ); |
2352 TRect statusPaneRect( statusPaneLayoutRect.Rect() ); |
2367 |
2353 |
2368 // navi pane |
2354 // navi pane |
2369 TAknLayoutRect naviPaneLayoutRect; |
2355 TAknLayoutRect naviPaneLayoutRect; |