Hold and Drag Not Working for Slider In Mobile Browser
Unsolved
Mobile and Embedded
-
when i try to drag the slider in mobile browser it's not working below is the code i am using same i am using in the PC browser and the slider is working properly.
import QtQuick 2.9
import QtQuick.Controls 2.3
import QtGraphicalEffects 1.0Rectangle
{
id: main
color: "transparent"
border.width: 2
border.color: "transparent"
opacity: mainrect.opacityproperty int tickmarks : mainrect.sstepticks onTickmarksChanged: { var tickObj if(tickObj) tickObj.destroy() if((mainrect.sstepticks>0) && mainrect.sshowsld) { tickObj=Qt.createQmlObject('import QtQuick 2.9 Rectangle { height: sld0Item.height width: sld0Item.width color: "transparent" Grid { id: cover x: (mainrect.isvertical)?0:(hndlRectSld0.width/2)+idsld0.leftPadding y:(mainrect.isvertical)?(hndlRectSld0.height/2)+idsld0.topPadding:0 height: (mainrect.isvertical)?(parent.height-hndlRectSld0.height-idsld0.topPadding-idsld0.bottomPadding):parent.height width: (mainrect.isvertical)?parent.width:(parent.width-hndlRectSld0.width-idsld0.leftPadding-idsld0.rightPadding) rows:(mainrect.isvertical)?mainrect.sstepticks:1 columns:(mainrect.isvertical)?1:mainrect.sstepticks spacing:(mainrect.isvertical)?(height-(2*(mainrect.sstepticks)))/(mainrect.sstepticks-1):(width-(2*(mainrect.sstepticks)))/(mainrect.sstepticks-1) Repeater { model: mainrect.sstepticks Rectangle { width:(mainrect.isvertical)?parent.width:2 height: (mainrect.isvertical)?2:parent.height color: mainrect.lnclr } } } }',sld0Item) } } Image { id:minus asynchronous: true enabled: !(mainrect.isDesignMode) visible: sshowbtn height: { if(sshowbtn && sshowsld) (mainrect.isvertical)?main.height*0.15:main.height else if(sshowbtn && !sshowsld) (mainrect.isvertical)?main.height*0.5:main.height } width: { if(sshowbtn && sshowsld) (mainrect.isvertical)?main.width:main.width*0.15 else if(sshowbtn && !sshowsld) (mainrect.isvertical)?main.width:main.width*0.5 } x: { if(sshowbtn && sshowsld) { 0 } else if(sshowbtn && !sshowsld) { (mainrect.isvertical)?0:0 } else if(!sshowbtn && sshowsld) //V1.01 { (mainrect.vertical)?0:0 } } y: { if(sshowbtn && sshowsld) { (mainrect.isvertical)?minus.height+idsld0.height:0 } else if(sshowbtn && !sshowsld) { (mainrect.isvertical)?plus.height:0 } else if(!sshowbtn && sshowsld) //V1.01 { (mainrect.isvertical)?plus.height:0 } } opacity: mainrect.opacity source: (idsld0.from<idsld0.to)? mainrect.minusBtnImage:mainrect.plusBtnImage fillMode: Image.Stretch scale: (sshowbtn && !sshowsld)?0.9:0.8 MouseArea { height: parent.height width: parent.width enabled: edt onClicked: { if(!userLoginData.userlogin_accesslevel(accesslvl)) createPopUpObject() else { if(idsld0.from<idsld0.to) { if(idsld0.value>idsld0.from && idsld0.value<=idsld0.to) if(mainrect.rwEnable) { mainrect.value_inp = applicationData.OUT_FormatData(mainrect.fmt,mainrect.regsz,mainrect.objType,Number(idsld0.value-1).toFixed(0)) mainrect.readwrite = true } } else { if(idsld0.value<=idsld0.from && idsld0.value>idsld0.to) if(mainrect.rwEnable) { mainrect.value_inp = applicationData.OUT_FormatData(mainrect.fmt,mainrect.regsz,mainrect.objType,Number(idsld0.value+1).toFixed(0)) mainrect.readwrite = true } } } } onPressed: { if(mainrect.fillIndicator) minus.scale=1 } onReleased: { if(mainrect.fillIndicator) (sshowbtn && !sshowsld)?minus.scale=0.9:minus.scale=0.8 } } } Image { id:plus asynchronous: true enabled: !(mainrect.isDesignMode) visible: sshowbtn height: { if(sshowbtn && sshowsld) (mainrect.isvertical)?main.height*0.15:main.height else if(sshowbtn && !sshowsld) (mainrect.isvertical)?main.height*0.5:main.height } width: { if(sshowbtn && sshowsld) (mainrect.isvertical)?main.width:main.width*0.15 else if(sshowbtn && !sshowsld) (mainrect.isvertical)?main.width:main.width*0.5 } x: { if(sshowbtn && sshowsld) { (mainrect.isvertical)?0:minus.width+idsld0.width } else if(sshowbtn && !sshowsld) { (mainrect.isvertical)?0:minus.width } else if(!sshowbtn && sshowsld) //V1.01 { (mainrect.isvertical)?0:minus.width } } y: { if(sshowbtn && sshowsld) { 0 } else if(sshowbtn && !sshowsld) { (mainrect.isvertical)?0:0 } else if(!sshowbtn && sshowsld) //V1.01 { (mainrect.isvertical)?0:0 } } opacity: mainrect.opacity source: (idsld0.from<idsld0.to)?mainrect.plusBtnImage:mainrect.minusBtnImage fillMode: Image.Stretch scale: (sshowbtn && !sshowsld)?0.9:0.8 MouseArea { height: parent.height width: parent.width enabled: edt onClicked: { if(!userLoginData.userlogin_accesslevel(accesslvl)) createPopUpObject() else { if(idsld0.from<idsld0.to) { if(idsld0.value>=idsld0.from && idsld0.value<idsld0.to) if(mainrect.rwEnable) { mainrect.value_inp = applicationData.OUT_FormatData(mainrect.fmt,mainrect.regsz,mainrect.objType,Number(idsld0.value+1).toFixed(0)) mainrect.readwrite = true } } else { if(idsld0.value<idsld0.from && idsld0.value>=idsld0.to) if(mainrect.rwEnable) { mainrect.value_inp = applicationData.OUT_FormatData(mainrect.fmt,mainrect.regsz,mainrect.objType,Number(idsld0.value-1).toFixed(0)) mainrect.readwrite = true } } } } onPressed: { if(mainrect.fillIndicator) plus.scale = 1 } onReleased: { if(mainrect.fillIndicator) (sshowbtn && !sshowsld)?plus.scale=0.9:plus.scale=0.8 } } } Slider { id:idsld0 opacity: mainrect.opacity enabled: (isDesignMode) || (!edt)?false:true visible: sshowsld height: { if(sshowbtn && sshowsld) (mainrect.isvertical)?main.height-(2*minus.height):main.height*0.9 else if(!sshowbtn && sshowsld) main.height*0.9 } width: { if(sshowbtn && sshowsld) (mainrect.isvertical)?main.width*0.9:main.width-(2*minus.width) else if(!sshowbtn && sshowsld) main.width*0.9 } x: { if(sshowbtn && sshowsld) (mainrect.isvertical)?(parent.width-idsld0.width)/2:minus.width else if(!sshowbtn && sshowsld) main.width*0.05 } y: { if(sshowbtn && sshowsld) (mainrect.isvertical)?plus.height:(parent.height-idsld0.height)/2 else if(!sshowbtn && sshowsld) main.height*0.05 } orientation: (width>height)?Qt.Horizontal:Qt.Vertical to: smaxval from: sminval live: true stepSize: (sstepticks)?(smaxval-sminval)/(sstepticks-1):0 snapMode: (sstepticks)?"SnapAlways":"NoSnap" property bool accFlag: true onPressedChanged: { console.log("onPressedchanged===================") if(pressed) { if(!userLoginData.userlogin_accesslevel(accesslvl)) { createPopUpObject() accFlag = false } else{//console.log("realeased=============") accFlag = true} } } onValueChanged: {console.log("onValueChanged===========") if(pressed) { if(accFlag == false) { value = Qt.binding(function(){ if(mainrect.isDesignMode) { if(sminval<smaxval) return (sminval+((smaxval-sminval)/3)) else return (smaxval+((sminval-smaxval)/3)) } else return dta }) } else { if(mainrect.rwEnable) { mainrect.value_inp = applicationData.OUT_FormatData(mainrect.fmt,mainrect.regsz,mainrect.objType,Number(idsld0.value).toFixed(0)) mainrect.readwrite = true } } } } value: { if(mainrect.isDesignMode) { if(sminval<smaxval) (sminval+((smaxval-sminval)/3)) else (smaxval+((sminval-smaxval)/3)) } else dta } /*SliderStyle*/ background:Item { id:sld0Item height: idsld0.height width: idsld0.width Rectangle { id: middleLine anchors.centerIn: parent width: { if(mainrect.isvertical) 3 else parent.width } height:(mainrect.isvertical)?parent.height:3 color: mainrect.lnclr radius: (mainrect.isvertical)?width/2:height/2 } } handle:Image { id:hndlRectSld0 x:(isvertical)?idsld0.leftPadding + (idsld0.availableWidth/2) - (width/2):idsld0.visualPosition * (idsld0.availableWidth - width)+idsld0.rightPadding y:(isvertical)? idsld0.bottomPadding + idsld0.visualPosition * (idsld0.availableHeight - height):idsld0.topPadding + (idsld0.availableHeight/2) - (height/2) height: { if((sshowsld && sshowbtn)||(sshowsld && !sshowbtn)) (mainrect.isvertical)?main.height*0.15:main.height } width: { if((sshowsld && sshowbtn)||(sshowsld && !sshowbtn)) (mainrect.isvertical)?main.width:main.width*0.15 } source: mainrect.knbimage fillMode: mainrect.knbflmde scale: (idsld0.pressed && mainrect.fillIndicator)?1:0.8 } }
}