@@ -66,10 +66,25 @@ Item {
66 delegate: ListView {
66 delegate: ListView {
67 id: column
67 id: column
68 objectName: "previewListRow" + index
68 objectName: "previewListRow" + index
69− anchors { top: parent.top; bottom: parent.bottom }
71+ bottom: parent.bottom
70 width: row.columnWidth
73 width: row.columnWidth
71 spacing: row.spacing
74 spacing: row.spacing
72 bottomMargin: Qt.inputMethod.visible ? Qt.inputMethod.keyboardRectangle.height : 0
75 bottomMargin: Qt.inputMethod.visible ? Qt.inputMethod.keyboardRectangle.height : 0
76+ property var makeSureVisibleItem
77+ property real previousVisibleHeight: 0
78+ property real visibleHeight: height - bottomMargin
79+ onVisibleHeightChanged: {
80+ if (makeSureVisibleItem && makeSureVisibleItem.activeFocus && previousVisibleHeight > visibleHeight) {
81+ var textAreaPos = makeSureVisibleItem.mapToItem(column, 0, 0);
82+ if (textAreaPos.y + makeSureVisibleItem.height > column.visibleHeight) {
83+ column.contentY += textAreaPos.y + makeSureVisibleItem.height - column.visibleHeight
86+ previousVisibleHeight = visibleHeight;
74 model: columnModel
89 model: columnModel
75 cacheBuffer: height
90 cacheBuffer: height
@@ -92,6 +107,10 @@ Item {
92 onTriggered: {
107 onTriggered: {
93 previewModel.triggered(widgetId, actionId, data);
108 previewModel.triggered(widgetId, actionId, data);
110+ onMakeSureVisible: {
111+ column.previousVisibleHeight=column.visibleHeight
112+ column.makeSureVisibleItem=item
96 onFocusChanged: if (focus) column.positionViewAtIndex(index, ListView.Contain)
115 onFocusChanged: if (focus) column.positionViewAtIndex(index, ListView.Contain)