handle tint color for on, off & thumb
This commit is contained in:
parent
2328afdb01
commit
aa030a4fb9
@ -1,6 +1,35 @@
|
||||
import QtQuick 2.12
|
||||
import QtQuick.Controls 2.5
|
||||
|
||||
Switch {
|
||||
import "util.mjs" as Util
|
||||
|
||||
Switch {
|
||||
property var wrapper
|
||||
|
||||
property var uuid: Util.uuidv4()
|
||||
|
||||
property var tag: "Switch"
|
||||
|
||||
property var offTintColor: "#42000000"
|
||||
property var onTintColor: "#00ff00"
|
||||
property var thumbTintColor: "white"
|
||||
|
||||
Component.onCompleted: {
|
||||
this.indicator.children[1].color = thumbTintColor
|
||||
}
|
||||
|
||||
onThumbTintColorChanged: {
|
||||
this.indicator.children[1].color = thumbTintColor
|
||||
}
|
||||
|
||||
onCheckedChanged: {
|
||||
console.log(onTintColor)
|
||||
console.log(offTintColor)
|
||||
console.log(thumbTintColor)
|
||||
if (checked) {
|
||||
this.indicator.children[0].color = onTintColor
|
||||
} else {
|
||||
this.indicator.children[0].color = offTintColor
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -21,15 +21,22 @@ QQuickItem *DoricSwitchNode::build() {
|
||||
|
||||
void DoricSwitchNode::blend(QQuickItem *view, QString name, QJsonValue prop) {
|
||||
if (name == "state") {
|
||||
|
||||
checkByCodeToggle = true;
|
||||
view->setProperty("checked", prop.toBool());
|
||||
checkByCodeToggle = false;
|
||||
} else if (name == "onSwitch") {
|
||||
|
||||
} else if (name == "offTintColor") {
|
||||
|
||||
view->setProperty(
|
||||
"offTintColor",
|
||||
QVariant::fromValue(DoricUtils::doricColor(prop.toInt())));
|
||||
} else if (name == "onTintColor") {
|
||||
|
||||
view->setProperty("onTintColor", QVariant::fromValue(
|
||||
DoricUtils::doricColor(prop.toInt())));
|
||||
} else if (name == "thumbTintColor") {
|
||||
|
||||
view->setProperty(
|
||||
"thumbTintColor",
|
||||
QVariant::fromValue(DoricUtils::doricColor(prop.toInt())));
|
||||
} else {
|
||||
DoricViewNode::blend(view, name, prop);
|
||||
}
|
||||
|
@ -6,6 +6,10 @@
|
||||
#include "DoricViewNode.h"
|
||||
|
||||
class DORIC_EXPORT DoricSwitchNode : public DoricViewNode {
|
||||
|
||||
private:
|
||||
bool checkByCodeToggle = false;
|
||||
|
||||
public:
|
||||
using DoricViewNode::DoricViewNode;
|
||||
|
||||
|
Reference in New Issue
Block a user