2016-06-02 09:02:34 |
Andrea Bernabei |
bug |
|
|
added bug |
2016-06-02 09:03:28 |
Andrea Bernabei |
description |
UPSTREAM BUG: https://bugreports.qt.io/browse/QTBUG-53726
Description (copied from the upstream bug I created)
According to Flickable's documentation, widthRatio and heightRatio define
"the percentage of the full view currently visible, scaled to 0.0 - 1.0".
At the moment, defining leftMargin so that
leftMargin+contentWidth < flickable.width
causes widthRatio to be wrongly evaluated to something != 1, whereas it should be 1, because Flickable's defaults at -leftMargin
(see https://github.com/qtproject/qtdeclarative/blob/5.6/src/quick/items/qquickflickable.cpp#L1592 ).
and when contentX is -leftMargin, the whole content fits inside the view.
As a consequence of that, in the current implementation you can also scroll the item from the testcase left and right, which shouldn't be possible (because item+margin are still smaller than the view).
========TESTCASE============
import QtQuick 2.0
Flickable {
id: flickable
width: 200
height: 200
contentWidth: item.width
contentHeight: item.height
topMargin: 20
leftMargin: 40
Component.onCompleted: console.log("xPos", flickable.visibleArea.xPosition, "widthRatio", flickable.visibleArea.widthRatio)
Connections {
target: flickable.visibleArea
onXPositionChanged: console.log("xPosChanged", flickable.visibleArea.xPosition)
onWidthRatioChanged: console.log("widthRatioChanged", flickable.visibleArea.widthRatio)
}
Rectangle {
id: item
width: 100
height: 100
color: "black"
}
}
===========================
How to reproduce:
1) qmlscene testcase.qml
2) watch the console output
Actual result: widthRatio is != 1
Expected result: widthRatio == 1 |
UPSTREAM BUG: https://bugreports.qt.io/browse/QTBUG-53726
Description (copied from the upstream bug I created)
According to Flickable's documentation, widthRatio and heightRatio define
"the percentage of the full view currently visible, scaled to 0.0 - 1.0".
At the moment, defining leftMargin so that
leftMargin+contentWidth < flickable.width
causes widthRatio to be wrongly evaluated to something != 1, whereas it should be 1, because Flickable's defaults at -leftMargin
(see https://github.com/qtproject/qtdeclarative/blob/5.6/src/quick/items/qquickflickable.cpp#L1592 ).
and when contentX is -leftMargin, the whole content fits inside the view.
As a consequence of that, in the current implementation you can also scroll the item from the testcase left and right, which shouldn't be possible (because item+margin are still smaller than the view).
========TESTCASE============
import QtQuick 2.0
Flickable {
id: flickable
width: 200
height: 200
contentWidth: item.width
contentHeight: item.height
topMargin: 20
leftMargin: 40
Component.onCompleted: console.log("xPos", flickable.visibleArea.xPosition, "widthRatio", flickable.visibleArea.widthRatio)
Connections {
target: flickable.visibleArea
onXPositionChanged: console.log("xPosChanged", flickable.visibleArea.xPosition)
onWidthRatioChanged: console.log("widthRatioChanged", flickable.visibleArea.widthRatio)
}
Rectangle {
id: item
width: 100
height: 100
color: "black"
}
}
===========================
How to reproduce:
1) qmlscene testcase.qml
2) watch the console output
Actual result: widthRatio is != 1
Expected result: widthRatio == 1
===========================
Fix: I worked on a fix which is being reviewed by upstream ---> https://codereview.qt-project.org/#/c/161043/ |
|
2016-06-02 09:04:56 |
Andrea Bernabei |
description |
UPSTREAM BUG: https://bugreports.qt.io/browse/QTBUG-53726
Description (copied from the upstream bug I created)
According to Flickable's documentation, widthRatio and heightRatio define
"the percentage of the full view currently visible, scaled to 0.0 - 1.0".
At the moment, defining leftMargin so that
leftMargin+contentWidth < flickable.width
causes widthRatio to be wrongly evaluated to something != 1, whereas it should be 1, because Flickable's defaults at -leftMargin
(see https://github.com/qtproject/qtdeclarative/blob/5.6/src/quick/items/qquickflickable.cpp#L1592 ).
and when contentX is -leftMargin, the whole content fits inside the view.
As a consequence of that, in the current implementation you can also scroll the item from the testcase left and right, which shouldn't be possible (because item+margin are still smaller than the view).
========TESTCASE============
import QtQuick 2.0
Flickable {
id: flickable
width: 200
height: 200
contentWidth: item.width
contentHeight: item.height
topMargin: 20
leftMargin: 40
Component.onCompleted: console.log("xPos", flickable.visibleArea.xPosition, "widthRatio", flickable.visibleArea.widthRatio)
Connections {
target: flickable.visibleArea
onXPositionChanged: console.log("xPosChanged", flickable.visibleArea.xPosition)
onWidthRatioChanged: console.log("widthRatioChanged", flickable.visibleArea.widthRatio)
}
Rectangle {
id: item
width: 100
height: 100
color: "black"
}
}
===========================
How to reproduce:
1) qmlscene testcase.qml
2) watch the console output
Actual result: widthRatio is != 1
Expected result: widthRatio == 1
===========================
Fix: I worked on a fix which is being reviewed by upstream ---> https://codereview.qt-project.org/#/c/161043/ |
UPSTREAM BUG: https://bugreports.qt.io/browse/QTBUG-53726
Description (copied from the upstream bug I created)
According to Flickable's documentation, widthRatio and heightRatio define
"the percentage of the full view currently visible, scaled to 0.0 - 1.0".
At the moment, defining leftMargin so that
leftMargin+contentWidth < flickable.width
causes widthRatio to be wrongly evaluated to something != 1, whereas it should be 1, because Flickable's defaults at -leftMargin
(see https://github.com/qtproject/qtdeclarative/blob/5.6/src/quick/items/qquickflickable.cpp#L1592 ).
and when contentX is -leftMargin, the whole content fits inside the view.
As a consequence of that, in the current implementation you can also scroll the item from the testcase left and right, which shouldn't be possible (because item+margin are still smaller than the view).
============================
Additional Ubuntu-specific info:
This is currently blocking the correct implementation of the new scrollbars inside TextFields (ping kalikiana or faenil on IRC for more info)
========TESTCASE============
import QtQuick 2.0
Flickable {
id: flickable
width: 200
height: 200
contentWidth: item.width
contentHeight: item.height
topMargin: 20
leftMargin: 40
Component.onCompleted: console.log("xPos", flickable.visibleArea.xPosition, "widthRatio", flickable.visibleArea.widthRatio)
Connections {
target: flickable.visibleArea
onXPositionChanged: console.log("xPosChanged", flickable.visibleArea.xPosition)
onWidthRatioChanged: console.log("widthRatioChanged", flickable.visibleArea.widthRatio)
}
Rectangle {
id: item
width: 100
height: 100
color: "black"
}
}
===========================
How to reproduce:
1) qmlscene testcase.qml
2) watch the console output
Actual result: widthRatio is != 1
Expected result: widthRatio == 1
===========================
Fix: I worked on a fix which is being reviewed by upstream ---> https://codereview.qt-project.org/#/c/161043/ |
|
2016-06-02 09:05:05 |
Andrea Bernabei |
description |
UPSTREAM BUG: https://bugreports.qt.io/browse/QTBUG-53726
Description (copied from the upstream bug I created)
According to Flickable's documentation, widthRatio and heightRatio define
"the percentage of the full view currently visible, scaled to 0.0 - 1.0".
At the moment, defining leftMargin so that
leftMargin+contentWidth < flickable.width
causes widthRatio to be wrongly evaluated to something != 1, whereas it should be 1, because Flickable's defaults at -leftMargin
(see https://github.com/qtproject/qtdeclarative/blob/5.6/src/quick/items/qquickflickable.cpp#L1592 ).
and when contentX is -leftMargin, the whole content fits inside the view.
As a consequence of that, in the current implementation you can also scroll the item from the testcase left and right, which shouldn't be possible (because item+margin are still smaller than the view).
============================
Additional Ubuntu-specific info:
This is currently blocking the correct implementation of the new scrollbars inside TextFields (ping kalikiana or faenil on IRC for more info)
========TESTCASE============
import QtQuick 2.0
Flickable {
id: flickable
width: 200
height: 200
contentWidth: item.width
contentHeight: item.height
topMargin: 20
leftMargin: 40
Component.onCompleted: console.log("xPos", flickable.visibleArea.xPosition, "widthRatio", flickable.visibleArea.widthRatio)
Connections {
target: flickable.visibleArea
onXPositionChanged: console.log("xPosChanged", flickable.visibleArea.xPosition)
onWidthRatioChanged: console.log("widthRatioChanged", flickable.visibleArea.widthRatio)
}
Rectangle {
id: item
width: 100
height: 100
color: "black"
}
}
===========================
How to reproduce:
1) qmlscene testcase.qml
2) watch the console output
Actual result: widthRatio is != 1
Expected result: widthRatio == 1
===========================
Fix: I worked on a fix which is being reviewed by upstream ---> https://codereview.qt-project.org/#/c/161043/ |
UPSTREAM BUG: https://bugreports.qt.io/browse/QTBUG-53726
Description (copied from the upstream bug I created)
According to Flickable's documentation, widthRatio and heightRatio define
"the percentage of the full view currently visible, scaled to 0.0 - 1.0".
At the moment, defining leftMargin so that
leftMargin+contentWidth < flickable.width
causes widthRatio to be wrongly evaluated to something != 1, whereas it should be 1, because Flickable's defaults at -leftMargin
(see https://github.com/qtproject/qtdeclarative/blob/5.6/src/quick/items/qquickflickable.cpp#L1592 ).
and when contentX is -leftMargin, the whole content fits inside the view.
As a consequence of that, in the current implementation you can also scroll the item from the testcase left and right, which shouldn't be possible (because item+margin are still smaller than the view).
============================
Additional Ubuntu-specific info:
This is currently blocking the correct implementation of the new scrollbars inside TextFields (ping kalikiana or me (faenil) on IRC for more info)
========TESTCASE============
import QtQuick 2.0
Flickable {
id: flickable
width: 200
height: 200
contentWidth: item.width
contentHeight: item.height
topMargin: 20
leftMargin: 40
Component.onCompleted: console.log("xPos", flickable.visibleArea.xPosition, "widthRatio", flickable.visibleArea.widthRatio)
Connections {
target: flickable.visibleArea
onXPositionChanged: console.log("xPosChanged", flickable.visibleArea.xPosition)
onWidthRatioChanged: console.log("widthRatioChanged", flickable.visibleArea.widthRatio)
}
Rectangle {
id: item
width: 100
height: 100
color: "black"
}
}
===========================
How to reproduce:
1) qmlscene testcase.qml
2) watch the console output
Actual result: widthRatio is != 1
Expected result: widthRatio == 1
===========================
Fix: I worked on a fix which is being reviewed by upstream ---> https://codereview.qt-project.org/#/c/161043/ |
|
2016-06-02 09:13:58 |
Timo Jyrinki |
bug task added |
|
qtdeclarative-opensource-src (Ubuntu RTM) |
|
2016-07-26 12:53:18 |
Timo Jyrinki |
qtdeclarative-opensource-src (Ubuntu RTM): status |
New |
In Progress |
|
2016-08-01 11:52:55 |
Timo Jyrinki |
bug task added |
|
canonical-devices-system-image |
|
2016-08-01 11:53:15 |
Timo Jyrinki |
qtdeclarative-opensource-src (Ubuntu): importance |
Undecided |
Medium |
|
2016-08-01 11:53:16 |
Timo Jyrinki |
qtdeclarative-opensource-src (Ubuntu RTM): importance |
Undecided |
Medium |
|
2016-08-01 11:53:18 |
Timo Jyrinki |
canonical-devices-system-image: importance |
Undecided |
Medium |
|
2016-08-01 11:53:22 |
Timo Jyrinki |
canonical-devices-system-image: assignee |
|
Zoltan Balogh (bzoltan) |
|
2016-08-01 11:53:26 |
Timo Jyrinki |
canonical-devices-system-image: milestone |
|
13 |
|
2016-08-01 11:53:28 |
Timo Jyrinki |
canonical-devices-system-image: status |
New |
In Progress |
|
2016-08-02 13:29:17 |
Launchpad Janitor |
qtdeclarative-opensource-src (Ubuntu): status |
New |
Confirmed |
|
2016-08-05 13:30:13 |
Łukasz Zemczak |
qtdeclarative-opensource-src (Ubuntu RTM): status |
In Progress |
Fix Released |
|
2016-08-05 14:03:12 |
Jean-Baptiste Lallement |
canonical-devices-system-image: status |
In Progress |
Fix Committed |
|
2016-09-01 10:33:19 |
Launchpad Janitor |
qtdeclarative-opensource-src (Ubuntu): status |
Confirmed |
Fix Released |
|
2016-09-20 21:13:21 |
Pat McGowan |
canonical-devices-system-image: status |
Fix Committed |
Fix Released |
|