sync with mobilecomponents 9d179eb74a227

- Workaround for black squares is merged upstream
- brings back the FAB button, additional
- swipe interaction improvements in the same

Signed-off-by: Sebastian Kügler <sebas@kde.org>
This commit is contained in:
Sebastian Kügler 2016-01-07 00:39:33 +01:00
parent a9b53efce6
commit 95bca4b50c
5 changed files with 24 additions and 20 deletions

View file

@ -29,9 +29,9 @@ MouseArea {
property bool checked: false
//either Action or QAction should work here
property QtObject action
Layout.minimumWidth: Units.iconSizes.large
Layout.minimumWidth: Units.iconSizes.medium
Layout.maximumWidth: Layout.minimumWidth
implicitWidth: Units.iconSizes.large
implicitWidth: Units.iconSizes.medium
implicitHeight: width
drag {
target: button
@ -52,11 +52,21 @@ MouseArea {
transform: Translate {
id: translateTransform
}
property var downTimestamp;
property int startX
onPressed: {
downTimestamp = (new Date()).getTime();
startX = button.x
}
onReleased: {
if (globalDrawer && x > Math.min(parent.width/4*3, parent.width/2 + globalDrawer.contentItem.width/2)) {
//pixel/second
var speed = ((button.x - startX) / ((new Date()).getTime() - downTimestamp) * 1000);
//project where it would be a full second in the future
if (globalDrawer && x + speed > Math.min(parent.width/4*3, parent.width/2 + globalDrawer.contentItem.width/2)) {
globalDrawer.open();
contextDrawer.close();
} else if (contextDrawer && x < Math.max(parent.width/4, parent.width/2 - contextDrawer.contentItem.width/2)) {
} else if (contextDrawer && x + speed < Math.max(parent.width/4, parent.width/2 - contextDrawer.contentItem.width/2)) {
if (contextDrawer) {
contextDrawer.open();
}