equal
deleted
inserted
replaced
301 // because Shells can never get Coe focus. Shell focus is defined to be |
301 // because Shells can never get Coe focus. Shell focus is defined to be |
302 // the state when the Shell is active and has no focused children. |
302 // the state when the Shell is active and has no focused children. |
303 if (iControl.IsFocusControl()) |
303 if (iControl.IsFocusControl()) |
304 { |
304 { |
305 // Find the Control's Shell |
305 // Find the Control's Shell |
306 MSwtShell* shell; |
|
307 MSwtControl* ctrl = &iControl; |
306 MSwtControl* ctrl = &iControl; |
308 while ((shell = ctrl->ShellInterface()) == NULL) |
307 MSwtShell& shell = ctrl->GetShell(); |
309 { |
|
310 ctrl = ctrl->GetParent()->Control(); |
|
311 } |
|
312 |
308 |
313 // Find next focusable control |
309 // Find next focusable control |
314 MSwtControl* newFocus = shell->FindTraversalTargetL(iDetail, iControl); |
310 MSwtControl* newFocus = shell.FindTraversalTargetL(iDetail, iControl); |
315 if (newFocus) |
311 if (newFocus) |
316 { |
312 { |
|
313 shell.Display().UiUtils().SetNaviKeyInput(ETrue); |
|
314 newFocus->PrepareForTraverse(); |
317 newFocus->CoeControl().SetFocus(ETrue, ENoDrawNow); |
315 newFocus->CoeControl().SetFocus(ETrue, ENoDrawNow); |
318 } |
316 } |
319 } |
317 } |
320 } |
318 } |
321 |
319 |