on xenial help sign in
1.Optimize flickable' movement when virtual keyboard popups/disappear

2.Remove ';' from property declarations

commit25f246658b5e0e6cdf8b39a041b7d945a84b45cc authorGary.Wzl <Gary.Wang@canonical.com> dateMon 24 Aug 2015, 11:46 (11 years ago) parent8af223d
3 files changed+25−18
qml/Dash/Previews/Preview.qml+23−16 qml/Dash/Previews/PreviewCommentInput.qml+1−1 qml/Dash/Previews/PreviewRatingInput.qml+1−1
qml/Dash/Previews/Preview.qml+23−16
@@ -61,16 +61,31 @@ Item {
6161 property real columnWidth: width / columns
6262
6363 Repeater {
64− id: repeater;
6564 model: previewModel
66−
65+
6766 delegate: ListView {
6867 id: column
6968 objectName: "previewListRow" + index
70− anchors { top: parent.top; bottom: parent.bottom }
69+ anchors {
70+ top: parent.top
71+ bottom: parent.bottom
72+ bottomMargin: Qt.inputMethod.visible ? Qt.inputMethod.keyboardRectangle.height : 0
73+ }
7174 width: row.columnWidth
7275 spacing: row.spacing
73− 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
84+ }
85+ }
86+ previousVisibleHeight = visibleHeight;
87+ }
88+
7489 model: columnModel
7590 cacheBuffer: height
7691
@@ -82,8 +97,6 @@ Item {
8297 widgetData: model.properties
8398 isCurrentPreview: root.isCurrent
8499 scopeStyle: root.scopeStyle
85− readonly property int inputMethodMargin: units.gu(2);
86−
87100 anchors {
88101 left: parent.left
89102 right: parent.right
@@ -94,16 +107,10 @@ Item {
94107 onTriggered: {
95108 previewModel.triggered(widgetId, actionId, data);
96109 }
97−
98− onMakeSureVisible: {
99− var textAreaPos = item.mapToItem(column, 0, 0);
100− var textAreaGlobalHeight = textAreaPos.y + item.implicitHeight
101− + column.height / 2.0;
102−
103− if (textAreaGlobalHeight > column.height) {
104− column.contentY += textAreaGlobalHeight - column.height + inputMethodMargin;
105− }
106− }
110+ onMakeSureVisible: {
111+ column.previousVisibleHeight=column.visibleHeight
112+ column.makeSureVisibleItem=item
113+ }
107114
108115 onFocusChanged: if (focus) column.positionViewAtIndex(index, ListView.Contain)
109116
qml/Dash/Previews/PreviewCommentInput.qml+1−1
@@ -39,7 +39,7 @@ PreviewWidget {
3939 id: commentTextArea
4040 objectName: "commentTextArea"
4141
42− property bool inputMethodVisible: Qt.inputMethod.visible;
42+ property bool inputMethodVisible: Qt.inputMethod.visible
4343 onInputMethodVisibleChanged: {
4444 if(inputMethodVisible && activeFocus)
4545 root.makeSureVisible(commentTextArea);
qml/Dash/Previews/PreviewRatingInput.qml+1−1
@@ -144,7 +144,7 @@ PreviewWidget {
144144 id: reviewTextArea
145145 objectName: "reviewTextArea"
146146
147− property bool inputMethodVisible: Qt.inputMethod.visible;
147+ property bool inputMethodVisible: Qt.inputMethod.visible
148148 onInputMethodVisibleChanged: {
149149 if(inputMethodVisible && activeFocus)
150150 root.makeSureVisible(reviewTextArea);