/* * AdvoTracker - Hotline tackingtool for Advocats * * Copyright (c) 2017 Ralf Zerres * * AdvoTracker is free software; you can redistribute it and/or modify it * under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation; either version 2.1 of the License, or * (at your option) any later version. * * AdvoTracker is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with AdvoTracker; If not, see . */ import QtQuick 2.10 // Qt 5.10 import QtQuick.Controls 2.3 // Qt 5.10 import QtQuick.Layouts 1.3 // Qt 5.10 import QtQuick.Controls.Material 2.3 // Qt 5.10 // AdvoTracker Module import de.networkx.AdvoTracker 1.0 as Nwx import SortFilterProxyModel 0.2 Pane { id: paneNumberHarmAdmin Layout.fillWidth:true //width: parent.width leftPadding: 26 rightPadding: 26 topPadding: 18 bottomPadding: 18 ListView { id: listNumberHarmData anchors.fill: parent property string numberHarm //Layout.fillWidth: true //Layout.fillHeight: true //Layout.margins: 12 //displayMarginBeginning: 40 //displayMarginEnd: 40 model: SortFilterProxyModel { id: filterNumberHarm sourceModel: modelNumberHarm filters: RegExpFilter { // useRole roleName: "numberHarm" pattern: numberHarm //caseSensitivity: Qt.CaseInsensitive //caseSensitivity: Qt.Sensitive } sorters: [ StringSorter { roleName: "numberHarm" } ] } // filterNumberHarm delegate: delegateNumberHarmData } Component { id: delegateNumberHarmData Pane { id: paneNumberHarmData //Layout.fillWidth: true width: parent.width leftPadding: 18 rightPadding: 18 topPadding: 18 bottomPadding: 18 property string numberHarm Item { id: itemWidth property int labelWidth: 140 property int textFieldWidth: 300 } GroupBox { id: groupBoxBaseData title: qsTr("Base data") width: parent.width Layout.fillWidth: true RowLayout { id: rowBoxBaseData spacing: 12 Pane { id: groupBoxKeyData //title: qsTr("Key data") anchors.fill: parent ColumnLayout { id: columnBaseData width: parent.width anchors.topMargin: 12 spacing: 16 RowLayout { id: rowNumberHarm //width: parent.width Layout.fillWidth: true //visible: true spacing: 12 Nwx.Label { id: labelNumberHarm Layout.minimumWidth: 100 Layout.preferredWidth: itemWidth.labelWidth text: qsTr("Harm number") //"Schadensnummer" horizontalAlignment: Qt.AlignHRight verticalAlignment: Qt.AlignTop } Nwx.TextField { id: numberHarm Layout.preferredWidth: itemWidth.textFieldWidth Layout.maximumWidth: itemWidth.textFieldWidth placeholderText: qsTr("Harm number") text: model.numberHarm ToolTip.timeout: 2000 ToolTip.visible: pressed ToolTip.text: qsTr("Harm number must be in line with given mask!") //"Die Schadensnummer muss der vorgegebenen Maske entsprechen!" background: Rectangle { border.color: numberHarm.activeFocus ? "#6f1a32" : "lightgrey" radius: 5 border.width: 2 } } // numberHarm } // rowNumberHarm RowLayout { id: rowPolicyOwner visible: true //Layout.fillWidth: true Layout.alignment: Qt.AlignLeft | Qt.AlignTop spacing: 12 Nwx.Label { id: labelPolicyowner Layout.minimumWidth: 100 Layout.preferredWidth: itemWidth.labelWidth text: qsTr("Name") horizontalAlignment: Qt.AlignHRight verticalAlignment: Qt.AlignTop } Nwx.TextField { id: namePolicyowner //Layout.preferredWidth: 200 //Layout.maximumWidth: 400 Layout.preferredWidth: itemWidth.textFieldWidth Layout.maximumWidth: itemWidth.textFieldWidth //width: rowPoliciesowner - 100 //Layout.fillWidth: true text: model.namePolicyowner //width: 300 placeholderText: qsTr("Name of the given policies owner") background: Rectangle { radius: 5 border.color: namePolicyowner.activeFocus ? "#6f1a32" : "lightgrey" border.width: 2 } } // namePolicyowner } // rowPolicyOwner RowLayout { id: rowPolicyholder Layout.fillWidth: true visible: true Layout.alignment: Qt.AlignLeft | Qt.AlignTop spacing: 12 Nwx.Label { id: labelPolicyholder Layout.minimumWidth: 100 //Layout.preferredWidth: 140 Layout.preferredWidth: itemWidth.labelWidth text: qsTr("Policy number") horizontalAlignment: Qt.AlignHRight verticalAlignment: Qt.AlignTop } Nwx.TextField { id: numberPolicyholder //Layout.preferredWidth: 200 //Layout.maximumWidth: 300 Layout.preferredWidth: itemWidth.textFieldWidth Layout.maximumWidth: itemWidth.textFieldWidth //width: rowPolicyholder - 100 //Layout.fillWidth: true //text: qsTr("Nummer der Police") text: model.numberPolicyholder //width: 300 placeholderText: qsTr("Number of the given policy") inputMask: "0000-00-000-0000" background: Rectangle { radius: 5 border.color: numberPolicyholder.activeFocus ? "#6f1a32" : "lightgrey" border.width: 2 } } // numberPolicyholder } // rowPolicyholder } // columnBaseData } // groupBoxKeyData Pane { id: groupBoxSelectionData //title: qsTr("Key data") implicitWidth: Math.max(switchSecurity.width, comboLawSpec.width) + comboLawSpec.rightPadding + leftPadding //anchors.right: parent.right //anchors.fill: parent //Layout.fillWidth: true ColumnLayout { id: columnSelectionData //width: parent.width anchors.topMargin: 12 spacing: 4 Switch { id: switchSecurity text: qsTr("Security") //Layout.minimumWidth: 150 //Layout.preferredWidth: 150 Layout.fillWidth: true anchors.right: parent.right checked: model.switchSecuritiy ? true : false indicator: Rectangle { implicitWidth: 32 implicitHeight: 20 //x: switchSecurity.leftPadding x: switchSecurity.width - width - switchSecurity.rightPadding y: parent.height / 2 - height / 2 radius: 13 color: switchSecurity.checked ? "#6f1a32" : "#ffffff" border.color: switchSecurity.checked ? "#6f1a32" : "#cccccc" Rectangle { x: switchSecurity.checked ? parent.width - width : 0 width: 20 height: 20 radius: 13 color: switchSecurity.down ? "#6f1a32" : "#ffffff" border.color: switchSecurity.checked ? (switchSecurity.down ? "#6f1a32" : "lightgrey") : "#999999" } } contentItem: Text { text: switchSecurity.text font: switchSecurity.font opacity: enabled ? 1.0 : 0.3 color: switchSecurity.down ? "#6f1a32" : "black" horizontalAlignment: Text.AlignRight verticalAlignment: Text.AlignVCenter //leftPadding: switchSecurity.indicator.width + switchSecurity.spacing rightPadding: switchSecurity.indicator.width + switchSecurity.spacing } } // switchSecurity Switch { id: switchSB text: qsTr("SB") //Layout.minimumWidth: 150 //Layout.preferredWidth: 150 Layout.fillWidth: true anchors.right: parent.right checked: model.switchSB ? true : false contentItem: Text { text: switchSB.text font: switchSB.font opacity: enabled ? 1.0 : 0.3 horizontalAlignment: Text.AlignRight verticalAlignment: Text.AlignVCenter //leftPadding: switchSB.indicator.width + switchSB.spacing rightPadding: switchSB.indicator.width + switchSB.spacing } indicator: Rectangle { implicitWidth: 32 implicitHeight: 20 //x: switchSB.leftPadding x: switchSB.width - width - switchSB.rightPadding y: parent.height / 2 - height / 2 radius: 13 color: switchSB.checked ? "#6f1a32" : "#ffffff" border.color: switchSB.checked ? "#6f1a32" : "#cccccc" Rectangle { x: switchSB.checked ? parent.width - width : 0 width: 20 height: 20 radius: 13 color: switchSB.down ? "#cccccc" : "#ffffff" border.color: switchSB.checked ? (switchSB.down ? "#17a81a" : "#6f1a32") : "#999999" } } } // switchSB ComboBox { id: comboLawSpec //textRole: qsTr("field of law") //Layout.fillWidth: true Layout.minimumWidth: 100 Layout.preferredWidth: 180 anchors.right: parent.right rightPadding: 8 leftPadding: 8 model: ["Arbeitsrecht", "Baurecht", "Gesellschaftsrecht", "Verkehrsrecht", "Versicherungsrecht"] delegate: ItemDelegate { width: comboLawSpec.width contentItem: Text { text: modelData color: "black" font: comboLawSpec.font elide: Text.ElideRight verticalAlignment: Text.AlignVCenter } highlighted: comboLawSpec.highlightedIndex === index } indicator: Canvas { id: canvas x: comboLawSpec.width - width - comboLawSpec.rightPadding y: comboLawSpec.topPadding + (comboLawSpec.availableHeight - height) / 2 width: 12 height: 8 contextType: "2d" Connections { target: comboLawSpec onPressedChanged: canvas.requestPaint() } onPaint: { context.reset(); context.moveTo(0, 0); context.lineTo(width, 0); context.lineTo(width / 2, height); context.closePath(); context.fillStyle = comboLawSpec.pressed ? "#6f1a32" : "grey"; context.fill(); } } contentItem: Text { leftPadding: 0 rightPadding: comboLawSpec.indicator.width + comboLawSpec.spacing text: comboLawSpec.displayText font: comboLawSpec.font color: comboLawSpec.pressed ? "#6f1a32" : "black" horizontalAlignment: Text.AlignLeft verticalAlignment: Text.AlignVCenter elide: Text.ElideRight } background: Rectangle { implicitWidth: 120 implicitHeight: 40 border.color: comboLawSpec.pressed ? "#6f1a32" : "lightgrey" radius: 5 border.width: 1 } popup: Popup { y: comboLawSpec.height - 1 width: comboLawSpec.width font.pixelSize: 8 implicitHeight: contentItem.implicitHeight padding: 5 contentItem: ListView { clip: true implicitHeight: contentHeight model: comboLawSpec.popup.visible ? comboLawSpec.delegateModel : null currentIndex: comboLawSpec.highlightedIndex ScrollIndicator.vertical: ScrollIndicator { } } background: Rectangle { border.color: "lightgrey" radius: 5 } } } // comboLawSpec } // groupBoxSelectionData } // groupBoxSelectonData } // gridBoxBaseData } // groupBoxBaseData GroupBox { id: groupBoxHarmData title: qsTr("Data facts") anchors.top: groupBoxBaseData.bottom anchors.topMargin: 18 width: parent.width Layout.fillWidth: true ColumnLayout { id: columnHarmData width: parent.width anchors.topMargin: 12 Layout.fillWidth: true spacing: 16 RowLayout { id: rowNumberHarmReport //width: pane.availableWidth - 2 * rowNumberHarmReport.spacing //width: pane.availableWidth - rowNumberHarmReport.spacing //width: 450 //height: rowNumberHarmReport.implicitHeight Layout.fillWidth: true Layout.alignment: Qt.AlignLeft | Qt.AlignTop visible: true spacing: 12 Nwx.Label { id: labelNumberHarmReport Layout.minimumWidth: 100 //Layout.preferredWidth: 140 Layout.preferredWidth: itemWidth.labelWidth text: qsTr("Harm report") Layout.alignment: Qt.AlignLeft | Qt.AlignTop horizontalAlignment: Qt.AlignHRight verticalAlignment: Qt.AlignTop anchors.top: parent.top anchors.topMargin: 16 } // Label Flickable { id: flickableNumberHarmReport //clip: true flickableDirection: Flickable.VerticalFlick Layout.fillWidth: true height: 120 //anchors.centerIn: parent //anchors.fill: parent //focus: true Keys.onUpPressed: scrollBarNumberHarmReport.decrease() Keys.onDownPressed: scrollBarNumberHarmReport.increase() // place a TextArea inside the flickable TextArea.flickable: TextArea { id: numberHarmReport textMargin: 8 //textFormat: TextEdit.RichText //width: pane.availableWidth - 2 * rowNumberHarmReport.spacing - labelNumberHarmReport.width //text: qsTr("Initial Text 1st line\n2nd line\n\n\Last line.") text: model.harmReport Layout.fillWidth: true Layout.alignment: Qt.AlignLeft | Qt.AlignTop //Layout.preferredWidth: rowNumberHarmReport.availableWidth - 2 * rowNumberHarmReport.spacing - labelNumberHarmReport.width //width: rowPolicyholder - 100 //Layout.preferredWidth: rowNumberHarmReport - 100 Layout.preferredWidth: 300 Layout.maximumHeight: 400 renderType: TextArea.NativeRendering wrapMode: TextArea.WordWrap background: Rectangle { border.color: numberHarmReport.activeFocus ? "#6f1a32" : "lightgrey" radius: 5 border.width: 2 //implicitWidth: 100 //implicitHeight: 24 } // TextArea ToolTip { id: toolTipNumberHarmReport text: qsTr("Please record all infomation and curcumstances that are relevant to the harm.") //visible: true delay: 1500 timeout: 5000 visible: numberHarmReport.hovered contentItem: Text { text: toolTipNumberHarmReport.text font: toolTipNumberHarmReport.font color: "#6f1a32" } background: Rectangle { border.color: "lightgrey" } } } // numberHarmReport ScrollIndicator.vertical: ScrollIndicator { id: scrollIndicatorNumberHarmReport padding: 5 leftPadding: 5 topPadding: 5 } ScrollBar.vertical: ScrollBar { id: scrollBarNumberHarmReport policy: ScrollBar.AsNeeded //interactive: true active: hovered || pressed //parent: numberHarmReport //anchors.right: parent.right //policy: ScrollBar.AlwaysOn //x: scrollViewNumberHarmReport.mirrored ? 0 : scrollViewNumberHarmReport.width - width //y: scrollViewNumberHarmReport.topPadding //height: scrollViewNumberHarmReport.availableHeight //active: scrollViewNumberHarmReport.ScrollBar.vertical.active background: Rectangle { radius: 5 //implicitWidth: 100 //implicitHeight: 24 border.color: "grey" color: "lightgrey" border.width: 2 } } //scrollBarNumberHarmReport // Only show the scrollbars when the flickableNumberHarmReport is moving. states: State { name: "ShowBars" when: flickableNumberHarmReport.movingVertically // PropertyChanges { target: verticalScrollBar; opacity: 1 } } transitions: Transition { NumberAnimation { properties: "opacity"; duration: 400 } } //height: pane.availableHeight * 3 / 2 //width: Math.max(pane.availableWidth - labelNumberHarmReport.width - rowNumberHarmReport.spacing, Math.min(implicitWidth)) //width: Math.max(pane.availableWidth * 8 / 10, Math.min(pane.availableWidth - rowNumberHarmReport.spacing - labelNumberHarmReport.Width)) //width: implicitwidth } // flickable } // rowNumberHarmReport RowLayout { id: rowRightsCouncil //width: pane.availableWidth - 2 * rowNumberHarmReport.spacing //width: pane.availableWidth - rowNumberHarmReport.spacing //width: 450 //height: rowNumberHarmReport.implicitHeight Layout.fillWidth: true Layout.alignment: Qt.AlignLeft | Qt.AlignTop visible: true spacing: 12 Nwx.Label { id: labelRightsCouncil Layout.minimumWidth: 100 //Layout.preferredWidth: 140 Layout.preferredWidth: itemWidth.labelWidth text: qsTr("Rights Council") Layout.alignment: Qt.AlignLeft | Qt.AlignTop horizontalAlignment: Qt.AlignHRight verticalAlignment: Qt.AlignTop anchors.top: parent.top anchors.topMargin: 16 } // labelRightsCouncil Flickable { id: flickableRightsCouncil //clip: true flickableDirection: Flickable.VerticalFlick Layout.fillWidth: true height: 120 //anchors.centerIn: parent //anchors.fill: parent //focus: true Keys.onUpPressed: scrollBarRightsCouncil.decrease() Keys.onDownPressed: scrollBarRightsCouncil.increase() // place a TextArea inside the flickable TextArea.flickable: TextArea { id: rightsCouncil textMargin: 8 //textFormat: TextEdit.RichText //text: qsTr("Initial Text 1st line\n2nd line\n\n\Last line.") text: model.rightsCouncil Layout.fillWidth: true Layout.alignment: Qt.AlignLeft | Qt.AlignTop //Layout.preferredWidth: rowRightsCouncil.availableWidth - 2 * rowRightsCouncil.spacing - labelRightsCouncil.width //width: rowPolicyholder - 100 //Layout.preferredWidth: rowRightsCouncil - 100 Layout.preferredHeight: 250 Layout.maximumHeight: 400 renderType: TextArea.NativeRendering wrapMode: TextArea.WordWrap background: Rectangle { border.color: rightsCouncil.activeFocus ? "#6f1a32" : "lightgrey" radius: 5 border.width: 2 //implicitWidth: 100 //implicitHeight: 24 } ToolTip { id: toolTipRightsCouncil text: qsTr("Please record the given rights council.") //visible: true delay: 1500 timeout: 5000 visible: rightsCouncil.hovered contentItem: Text { text: toolTipRightsCouncil.text font: toolTipRightsCouncil.font color: "#6f1a32" } background: Rectangle { border.color: "lightgrey" } } // toolTipRightsCouncil } // rightsCouncil ScrollIndicator.vertical: ScrollIndicator { id: scrollIndicatorRightsCouncil padding: 5 leftPadding: 5 topPadding: 5 } ScrollBar.vertical: ScrollBar { id: scrollBarRightsCouncil policy: ScrollBar.AsNeeded //interactive: true active: hovered || pressed //parent: numberHarmReport //anchors.right: parent.right //policy: ScrollBar.AlwaysOn //x: scrollViewRightsCouncil.mirrored ? 0 : scrollViewRightsCouncil.width - width //y: scrollViewRightsCouncil.topPadding //height: scrollViewRightsCouncil.availableHeight //active: scrollViewRightsCouncil.ScrollBar.vertical.active background: Rectangle { radius: 5 //implicitWidth: 100 //implicitHeight: 24 border.color: "grey" color: "lightgrey" border.width: 2 } } // scrollBarRightsCouncil // Only show the scrollbars when the flickableRightsCouncil is moving. states: State { name: "ShowBars" when: flickableRightsCouncil.movingVertically // PropertyChanges { target: verticalScrollBar; opacity: 1 } } transitions: Transition { NumberAnimation { properties: "opacity"; duration: 400 } } //height: pane.availableHeight * 3 / 2 //width: Math.max(pane.availableWidth - labelRightsCouncil.width - rowRightsCouncil.spacing, Math.min(implicitWidth)) //width: Math.max(pane.availableWidth * 8 / 10, Math.min(pane.availableWidth - rowRightsCouncil.spacing - labelRightsCouncil.Width)) //width: implicitwidth } // flickable } // rowRightsCouncil } // columHarmData } // groupBoxHarmData GroupBox { id: groupBoxMgmtData title: qsTr("Management data") anchors.top: groupBoxHarmData.bottom width: parent.width anchors.topMargin: 18 Layout.fillWidth: true ColumnLayout { id: columnAdminData width: parent.width anchors.topMargin: 12 spacing: 16 GroupBox { id: groupBoxDone Layout.fillWidth: true RowLayout { id: rowDone Layout.fillWidth: true //Layout.preferredWidth: 450 ButtonGroup { id: buttonGroupCME //buttons: rowRadioCME } RowLayout { id: rowRadioCME spacing: 12 Nwx.Label { id: labelDone Layout.minimumWidth: 100 Layout.preferredWidth: 120 text: qsTr("Done") //horizontalAlignment: Qt.AlignHLeft //verticalAlignment: Qt.AlignVCenter } RadioButton { id: buttonDoneYes ButtonGroup.group: buttonGroupCME text: qsTr("Yes") checked: model.switchDone ? true : false //signal qmlSignal(string msg) onClicked: advoTrackerClass.buttonDoneYes(text) //onClicked: qmSignal(text) } RadioButton { id: buttonDoneNo ButtonGroup.group: buttonGroupCME text: qsTr("No") } RadioButton { id: buttonDoneCME ButtonGroup.group: buttonGroupCME text: qsTr("CME") checked: model.switchCME ? true : false //signal qmlSignal(string msg) //onClicked: qmlSignal(text) onClicked: { advoTrackerClass.buttonDoneCME(text) doneCME: true } } // buttonCME Nwx.TextField { id: phoneCME opacity: buttonDoneCME ? 1.0 : 0 Layout.preferredWidth: 250 Layout.maximumWidth: 300 //Layout.preferredWidth: itemWidth.textFieldWidth //Layout.maximumWidth: itemWidth.textFieldWidth placeholderText: qsTr("Phone number policieowner") background: Rectangle { radius: 5 border.color: buttonDoneCME.activeFocus ? "#6f1a32" : "lightgrey" border.width: 2 } } // phoneCME } // rowRodioCME /* ButtonGroup { id: buttonGroup } ListView { model: [qsTr("Yes"), qsTr("No"), qsTr("CME")] orientation: ListView.Horizontal Layout.preferredWidth: 200 delegate: RadioDelegate { text: modelData anchors.top: groupBoxDone.top //checked: index == 0 //ButtonGroup.group: buttonGroup } }*/ } // rowDone } // GroupBoxDone GroupBox { id: groupBoxCME Layout.fillWidth: true RowLayout { id: rowCME Layout.fillWidth: true Layout.alignment: Qt.AlignLeft | Qt.AlignTop Nwx.Label { id: labelCME Layout.minimumWidth: 100 Layout.preferredWidth: 120 text: qsTr("CME submitted") horizontalAlignment: Qt.AlignHLeft verticalAlignment: Qt.AlignTop } Row { RadioButton { text: qsTr("Yes") } RadioButton { text: qsTr("No") } } } // rowCME } // groupBoxCME RowLayout { id: rowComboDone Layout.fillWidth: true Layout.alignment: Qt.AlignLeft | Qt.AlignTop spacing: 12 Nwx.Label { id: labelcomboDone Layout.minimumWidth: 100 Layout.preferredWidth: 120 text: qsTr("CME") horizontalAlignment: Qt.AlignHRight verticalAlignment: Qt.AlignTop } ComboBox { id: comboDone //textRole: qsTr("done") Layout.minimumWidth: 100 Layout.preferredWidth: 180 rightPadding: 8 leftPadding: 8 model: [qsTr("Yes"), qsTr("No"), qsTr("CME")] delegate: ItemDelegate { width: comboDone.width contentItem: Text { text: modelData color: "black" elide: Text.ElideRight verticalAlignment: Text.AlignVCenter } highlighted: comboDone.highlightedIndex === index } indicator: Canvas { id: canvasComboDone x: comboDone.width - width - comboDone.rightPadding y: comboDone.topPadding + (comboDone.availableHeight - height) / 2 width: 12 height: 8 contextType: "2d" Connections { target: comboDone onPressedChanged: canvas.requestPaint() } onPaint: { context.reset(); context.moveTo(0, 0); context.lineTo(width, 0); context.lineTo(width / 2, height); context.closePath(); context.fillStyle = comboDone.pressed ? "#6f1a32" : "grey"; context.fill(); } } contentItem: Text { leftPadding: 0 rightPadding: comboDone.indicator.width + comboDone.spacing text: comboDone.displayText //font: lawSpec.font color: comboDone.pressed ? "#6f1a32" : "black" horizontalAlignment: Text.AlignLeft verticalAlignment: Text.AlignVCenter elide: Text.ElideRight } background: Rectangle { implicitWidth: 120 implicitHeight: 40 border.color: comboDone.pressed ? "#6f1a32" : "lightgrey" radius: 5 border.width: 1 } popup: Popup { y: comboDone.height - 1 width: comboDone.width //font.pixelSize: 8 implicitHeight: contentItem.implicitHeight padding: 5 contentItem: ListView { clip: true implicitHeight: contentHeight model: comboDone.popup.visible ? comboDone.delegateModel : null currentIndex: comboDone.highlightedIndex ScrollIndicator.vertical: ScrollIndicator { } } background: Rectangle { border.color: "lightgrey" radius: 5 } } } // comboDone } // rowDone RowLayout { id: rowOpitons CheckBox { id: checkBoxCME text: qsTr("Central mandate editing") checked: model.switchCME ? true : false //mirrored: true } CheckBox { text: qsTr("Surcharge") //mirrored: true checked: model.switchSurcharge ? true : false } } /* CheckBox { id: control text: qsTr("CheckBox") checked: false indicator: Rectangle { implicitWidth: 26 implicitHeight: 26 x: control.width - width - control.rightPadding //x: control.leftPadding y: parent.height / 2 - height / 2 radius: 3 border.color: control.down ? "#6f1a32" : "black" Rectangle { width: 14 height: 14 x: 6 y: 6 radius: 2 color: control.down ? "#6f1a32" : "#6f1a32" visible: control.checked } } contentItem: Text { text: control.text font: control.font opacity: enabled ? 1.0 : 0.3 color: control.down ? "#6f1a32" : "black" horizontalAlignment: Text.AlignHCenter verticalAlignment: Text.AlignVCenter //leftPadding: control.indicator.width + control.spacing rightPadding: control.indicator.width + control.spacing ToolTip.text: qsTr("Tooltip text.") } }*/ } //columnAdminData } // groupBoxMgmtData } // paneNumberHarmData } // listNumberHarmData } // paneNumberHarmAdmin