equal
deleted
inserted
replaced
97 RArray<CAknViewAppUi::TAknSplitViewContainer> iSplitViews; |
97 RArray<CAknViewAppUi::TAknSplitViewContainer> iSplitViews; |
98 CAknViewNavigator* iNavigator; |
98 CAknViewNavigator* iNavigator; |
99 TInt iFlags; |
99 TInt iFlags; |
100 #endif // RD_SPLIT_VIEW |
100 #endif // RD_SPLIT_VIEW |
101 TBool iUseDefaultScreenClearer; |
101 TBool iUseDefaultScreenClearer; |
102 |
|
103 /** |
|
104 * Used to control whether or not the default screen clearer |
|
105 * is used when launching the application as embedded. By default the |
|
106 * clearer isn't used for embedded applications. |
|
107 */ |
|
108 TBool iUseDefaultScreenClearerInEmbeddedLaunch; |
|
109 }; |
102 }; |
110 |
103 |
111 // ============================ MEMBER FUNCTIONS =============================== |
104 // ============================ MEMBER FUNCTIONS =============================== |
112 |
105 |
113 // ----------------------------------------------------------------------------- |
106 // ----------------------------------------------------------------------------- |
244 |
237 |
245 // Only clear the window for foreground apps. |
238 // Only clear the window for foreground apps. |
246 if ( iEikonEnv->RootWin().OrdinalPosition() == 0 && |
239 if ( iEikonEnv->RootWin().OrdinalPosition() == 0 && |
247 iExtension->iUseDefaultScreenClearer ) |
240 iExtension->iUseDefaultScreenClearer ) |
248 { |
241 { |
249 if ( !iEikonEnv->StartedAsServerApp() || |
242 if ( !iEikonEnv->StartedAsServerApp() ) |
250 iExtension->iUseDefaultScreenClearerInEmbeddedLaunch ) |
243 { |
251 { |
|
252 // Use transparent screen clearer for embedded applications, |
|
253 // except for when application wants to use the normal |
|
254 // screen clearer. |
|
255 iClearer = CAknLocalScreenClearer::NewL( ETrue ); |
244 iClearer = CAknLocalScreenClearer::NewL( ETrue ); |
256 } |
245 } |
257 else |
246 else |
258 { |
247 { |
259 iClearer = CAknLocalScreenClearer::NewL( ETrue, ETrue ); |
248 iClearer = CAknLocalScreenClearer::NewL( ETrue, ETrue ); |
278 if ( CAknAppUi::CurrentFixedToolbar() ) |
267 if ( CAknAppUi::CurrentFixedToolbar() ) |
279 { |
268 { |
280 CAknAppUi::CurrentFixedToolbar()->SetToolbarVisibility( EFalse ); |
269 CAknAppUi::CurrentFixedToolbar()->SetToolbarVisibility( EFalse ); |
281 } |
270 } |
282 |
271 |
283 delete iClearer; |
272 delete iClearer; |
284 delete iShutter; |
273 delete iShutter; |
285 delete iActivationTick; |
274 delete iActivationTick; |
286 |
275 |
287 if ( iActivationQueue ) |
276 if ( iActivationQueue ) |
288 { |
277 { |
289 iActivationQueue->ResetAndDestroy(); |
278 iActivationQueue->ResetAndDestroy(); |
290 delete iActivationQueue; |
279 delete iActivationQueue; |
291 } |
280 } |
1023 if ( !iExtension ) |
1012 if ( !iExtension ) |
1024 { |
1013 { |
1025 TRAP_IGNORE( iExtension = CAknViewAppUiExtension::NewL() ); |
1014 TRAP_IGNORE( iExtension = CAknViewAppUiExtension::NewL() ); |
1026 } |
1015 } |
1027 |
1016 |
1028 // Update the flags |
1017 // Update flag |
1029 if ( iExtension ) |
1018 if ( iExtension ) |
1030 { |
1019 { |
1031 iExtension->iUseDefaultScreenClearer = aEnable; |
1020 iExtension->iUseDefaultScreenClearer = aEnable; |
1032 iExtension->iUseDefaultScreenClearerInEmbeddedLaunch = aEnable; |
1021 } |
1033 } |
1022 |
1034 |
1023 // Create/delete iClearer if required |
1035 // Delete the clearer if it already exists but isn't required anymore. |
1024 if ( aEnable && !iClearer ) |
1036 // The clearer is created when needed on BaseConstructL. |
1025 { |
1037 if ( !aEnable && iClearer ) |
1026 TRAP_IGNORE( iClearer = CAknLocalScreenClearer::NewL( EFalse ) ); |
|
1027 } |
|
1028 else if ( !aEnable && iClearer ) |
1038 { |
1029 { |
1039 delete iClearer; |
1030 delete iClearer; |
1040 iClearer = NULL; |
1031 iClearer = NULL; |
1041 } |
1032 } |
1042 } |
1033 } |