Author: smartini
Date: Sun May 22 20:45:21 2011
New Revision: 1126227
URL: http://svn.apache.org/viewvc?rev=1126227&view=rev
Log:
PIVOT-744
Modified:
pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraListViewSkin.java
Modified:
pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraListViewSkin.java
URL:
http://svn.apache.org/viewvc/pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraListViewSkin.java?rev=1126227&r1=1126226&r2=1126227&view=diff
==============================================================================
---
pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraListViewSkin.java
(original)
+++
pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraListViewSkin.java
Sun May 22 20:45:21 2011
@@ -1004,6 +1004,7 @@ public class TerraListViewSkin extends C
case Keyboard.KeyCode.UP: {
if (selectMode != ListView.SelectMode.NONE) {
int index = listView.getFirstSelectedIndex();
+ int count = listView.getListData().getLength();
do {
index--;
@@ -1017,6 +1018,14 @@ public class TerraListViewSkin extends C
} else {
listView.setSelectedIndex(index);
}
+ } else if (!Keyboard.isPressed(Keyboard.Modifier.SHIFT) &&
listView.getSelectMode() == ListView.SelectMode.MULTI && count ==
listView.getSelectedItems().getLength()) {
+ index = listView.getLastSelectedIndex();
+ do {
+ index--;
+ } while (index >= 0 &&
+ listView.isItemDisabled(index));
+
+ listView.setSelectedIndex(Math.max(0, index));
}
consumed = true;
@@ -1042,6 +1051,14 @@ public class TerraListViewSkin extends C
} else {
listView.setSelectedIndex(index);
}
+ } else if (!Keyboard.isPressed(Keyboard.Modifier.SHIFT) &&
listView.getSelectMode() == ListView.SelectMode.MULTI && count ==
listView.getSelectedItems().getLength()) {
+ index = 0;
+ do {
+ index++;
+ } while (index < count &&
+ listView.isItemDisabled(index));
+
+ listView.setSelectedIndex(Math.min(count - 1, index));
}
consumed = true;