javauis/lcdui_akn/lcdui/src/CMIDChoiceGroupControl.cpp
branchRCL_3
changeset 17 0fd27995241b
parent 14 04becd199f91
child 18 9ac0a0a7da70
--- a/javauis/lcdui_akn/lcdui/src/CMIDChoiceGroupControl.cpp	Fri Apr 30 10:40:48 2010 +0300
+++ b/javauis/lcdui_akn/lcdui/src/CMIDChoiceGroupControl.cpp	Tue May 11 16:07:20 2010 +0300
@@ -1254,8 +1254,24 @@
         return;
     }
 
+    TInt currentItem = KErrNotFound;
+#ifdef RD_JAVA_S60_RELEASE_9_2
+    // First check if top visible item was set (only in case that
+    // ChoiceGroup was panned and now it is partially visible and
+    // got highlight by starting HW keys interaction).
+    // If item was set, do not scroll at all.
+    currentItem = iListBox->TopVisibleItemIndex();
+    if (currentItem == KErrNotFound)
+    {
+        // Top visible item was not set, i.e. ChoiceGroup already
+        // have highlight or it is fully visible or it is fully invisible.
+        currentItem = iListBox->CurrentItemIndex();
+    }
+#else
+    currentItem = iListBox->CurrentItemIndex();
+#endif // RD_JAVA_S60_RELEASE_9_2
+
     // Calculate current listbox item rect
-    TInt currentItem = iListBox->CurrentItemIndex();
     TRect lbitemRect = TRect(
                            iListBox->View()->ItemPos(currentItem),
                            iListBox->View()->ItemSize(currentItem));