Skip to content
Snippets Groups Projects

Features 2923

Merged Kirill Anisimov requested to merge features-2923 into develop
Files
3
+ 121
0
import QtQuick 2.4
DapScrollViewForm
{
// All the logic (including state names and vars) was taken from master branch
// Var for current pos while scrolling (in function updateY())
property var contentPos: 0.0
// Connect to new ListView if changed
onViewDataChanged:
{
viewData.contentYChanged.connect(updateY)
}
// Changes position of arrows when scroll
function updateY()
{
if (viewData.atYBeginning)
{
scrollButton.state = "goUp"
}
else if (viewData.atYEnd)
{
scrollButton.state = "goDown"
}
else if (contentPos > viewData.contentItem.y)
{
scrollButton.state = "goUp"
}
else
{
scrollButton.state = "goDown"
}
contentPos = viewData.contentItem.y
}
onEntered:
{
scrollButton.visible = true;
}
onExited:
{
scrollButton.visible = false;
}
scrollButton.onEntered:
{
if (scrollButton.state === "goUp")
{
scrollButtonImage.source = scrollDownButtonHoveredImageSource
}
else if (scrollButton.state === "goDown")
{
scrollButtonImage.source = scrollUpButtonHoveredImageSource
}
}
scrollButton.onExited:
{
if (scrollButton.state === "goUp")
{
scrollButtonImage.source = scrollDownButtonImageSource
}
else if (scrollButton.state === "goDown")
{
scrollButtonImage.source = scrollUpButtonImageSource
}
}
scrollButton.onClicked:
{
if(scrollButton.state === "goUp")
{
viewData.positionViewAtEnd();
scrollButton.state = "goDown";
}
else if(scrollButton.state === "goDown")
{
viewData.positionViewAtBeginning();
scrollButton.state = "goUp";
}
}
scrollButton.states:
[
State
{
name: "goDown"
PropertyChanges
{
target: scrollButton
onStateChanged:
{
scrollButton.anchors.top = undefined
scrollButton.anchors.bottom = parent.bottom
scrollButton.exited()
}
}
},
State
{
name: "goUp"
PropertyChanges
{
target: scrollButton
onStateChanged:
{
scrollButton.anchors.bottom = undefined
scrollButton.anchors.top = parent.top
scrollButton.exited()
}
}
}
]
scrollButton.state: "goUp"
}
Loading