@@ -96,31 +96,57 @@ Item {
96 row.currentIndex = -1;
96 row.currentIndex = -1;
99+ function selectPreviousItem() {
100+ var indexToSelect = currentItemIndex - 1;
101+ while (indexToSelect >= 0) {
102+ if (setCurrentItemIndex(indexToSelect))
104+ indexToSelect = indexToSelect - 1;
108+ function selectNextItem() {
109+ var indexToSelect = currentItemIndex + 1;
110+ while (indexToSelect < row.contentItem.children.length) {
111+ if (setCurrentItemIndex(indexToSelect))
113+ indexToSelect = indexToSelect + 1;
99 function setCurrentItemIndex(index) {
117 function setCurrentItemIndex(index) {
100 for (var i = 0; i < row.contentItem.children.length; i++) {
118 for (var i = 0; i < row.contentItem.children.length; i++) {
101 var item = row.contentItem.children[i];
119 var item = row.contentItem.children[i];
102− if (item.hasOwnProperty("ownIndex") && item.ownIndex === index) {
120+ if (item.hasOwnProperty("ownIndex") && item.ownIndex === index && item.enabled) {
121+ if (currentItem !== item) {
103− if (currentItem !== item) row.currentIndex = index;
122+ row.currentIndex = index;
109 function selectItemAt(lateralPosition) {
130 function selectItemAt(lateralPosition) {
110 var item = indicatorAt(lateralPosition, 0);
131 var item = indicatorAt(lateralPosition, 0);
111− if (item && item.opacity > 0) {
132+ if (item && item.opacity > 0 && item.enabled) {
112 row.currentIndex = item.ownIndex;
133 row.currentIndex = item.ownIndex;
114 // Select default item.
135 // Select default item.
115 var searchIndex = lateralPosition >= width ? row.count - 1 : 0;
136 var searchIndex = lateralPosition >= width ? row.count - 1 : 0;
117 for (var i = 0; i < row.contentItem.children.length; i++) {
138 for (var i = 0; i < row.contentItem.children.length; i++) {
118− if (row.contentItem.children[i].hasOwnProperty("ownIndex") && row.contentItem.children[i].ownIndex === searchIndex) {
139+ if (row.contentItem.children[i].hasOwnProperty("ownIndex") &&
140+ row.contentItem.children[i].ownIndex === searchIndex &&
141+ row.contentItem.children[i].enabled)
119 item = row.contentItem.children[i];
143 item = row.contentItem.children[i];
147+ if (item && currentItem !== item) {
123− if (currentItem !== item) row.currentIndex = item ? item.ownIndex : -1;
148+ row.currentIndex = item.ownIndex;