diff --git a/sandbox/controls/Controls.qml b/sandbox/controls/Controls.qml index 475f6d5d..37dac026 100644 --- a/sandbox/controls/Controls.qml +++ b/sandbox/controls/Controls.qml @@ -119,6 +119,9 @@ GridLayout { } StatusCheckBox {} + StatusCheckBox { checkState: Qt.Checked} + StatusCheckBox { text: "Check me on left side"} + StatusCheckBox { text: "Check me on right side"; leftSide: false} StatusChatInfoButton { title: "Iuri Matias" diff --git a/src/StatusQ/Controls/StatusCheckBox.qml b/src/StatusQ/Controls/StatusCheckBox.qml index b6d03107..d349b6c0 100644 --- a/src/StatusQ/Controls/StatusCheckBox.qml +++ b/src/StatusQ/Controls/StatusCheckBox.qml @@ -8,16 +8,20 @@ import StatusQ.Components 0.1 CheckBox { - id: statusCheckBox + id: root + + property bool leftSide: true indicator: Rectangle { + anchors.left: root.leftSide? parent.left : undefined + anchors.right: !root.leftSide? parent.right : undefined implicitWidth: 18 implicitHeight: 18 - x: statusCheckBox.leftPadding + x: !root.leftSide? root.rightPadding : root.leftPadding y: parent.height / 2 - height / 2 radius: 2 - color: (statusCheckBox.down || statusCheckBox.checked) ? Theme.palette.primaryColor1 - : Theme.palette.directColor8 + color: (root.down || root.checked) ? Theme.palette.primaryColor1 + : Theme.palette.directColor8 StatusIcon { icon: "checkbox" @@ -26,19 +30,21 @@ CheckBox { anchors.centerIn: parent anchors.horizontalCenterOffset: 1 color: Theme.palette.white - visible: statusCheckBox.down || statusCheckBox.checked + visible: root.down || root.checked } } contentItem: StatusBaseText { - text: statusCheckBox.text - font.pixelSize: statusCheckBox.font.pixelSize + text: root.text + font.pixelSize: root.font.pixelSize opacity: enabled ? 1.0 : 0.3 verticalAlignment: Text.AlignVCenter wrapMode: Text.WordWrap width: parent.width color: Theme.palette.directColor1 - leftPadding: !!statusCheckBox.text ? statusCheckBox.indicator.width + statusCheckBox.spacing - : statusCheckBox.indicator.width + leftPadding: root.leftSide? (!!root.text ? root.indicator.width + root.spacing + : root.indicator.width) : 0 + rightPadding: !root.leftSide? (!!root.text ? root.indicator.width + root.spacing + : root.indicator.width) : 0 } }