diff --git a/resources/qml/WelcomePages/AddLocalPrinterScrollView.qml b/resources/qml/WelcomePages/AddLocalPrinterScrollView.qml index f8db8b297e..d55d8f84ae 100644 --- a/resources/qml/WelcomePages/AddLocalPrinterScrollView.qml +++ b/resources/qml/WelcomePages/AddLocalPrinterScrollView.qml @@ -129,7 +129,7 @@ ScrollView { id: machineButton - RadioButton + Cura.RadioButton { id: radioButton anchors.left: parent.left @@ -140,47 +140,7 @@ ScrollView checked: ListView.view.currentIndex == index text: name - font: UM.Theme.getFont("default") visible: base.currentSection == section - - background: Item - { - anchors.fill: parent - } - - indicator: Rectangle - { - implicitWidth: UM.Theme.getSize("radio_button").width - implicitHeight: UM.Theme.getSize("radio_button").height - anchors.verticalCenter: parent.verticalCenter - radius: (width / 2) | 0 - border.width: UM.Theme.getSize("default_lining").width - border.color: radioButton.hovered ? UM.Theme.getColor("small_button_text") : UM.Theme.getColor("small_button_text_hover") - - Rectangle - { - width: (parent.width / 2) | 0 - height: width - anchors.centerIn: parent - radius: (width / 2) | 0 - color: radioButton.hovered ? UM.Theme.getColor("primary_button_hover") : UM.Theme.getColor("primary_button") - visible: radioButton.checked - } - } - - contentItem: Label - { - verticalAlignment: Text.AlignVCenter - leftPadding: radioButton.indicator.width + radioButton.spacing - text: radioButton.text - font: radioButton.font - renderType: Text.NativeRendering - } - - onClicked: - { - ListView.view.currentIndex = index - } } } } diff --git a/resources/qml/Widgets/RadioButton.qml b/resources/qml/Widgets/RadioButton.qml new file mode 100644 index 0000000000..e17a38d833 --- /dev/null +++ b/resources/qml/Widgets/RadioButton.qml @@ -0,0 +1,53 @@ +// Copyright (c) 2019 Ultimaker B.V. +// Cura is released under the terms of the LGPLv3 or higher. + +import QtQuick 2.10 +import QtQuick.Controls 2.3 + +import UM 1.3 as UM +import Cura 1.0 as Cura + + +// +// Cura-style RadioButton. +// +RadioButton +{ + id: radioButton + + font: UM.Theme.getFont("default") + + background: Item + { + anchors.fill: parent + } + + indicator: Rectangle + { + implicitWidth: UM.Theme.getSize("radio_button").width + implicitHeight: UM.Theme.getSize("radio_button").height + anchors.verticalCenter: parent.verticalCenter + radius: (width / 2) | 0 + border.width: UM.Theme.getSize("default_lining").width + border.color: radioButton.hovered ? UM.Theme.getColor("small_button_text") : UM.Theme.getColor("small_button_text_hover") + + Rectangle + { + width: (parent.width / 2) | 0 + height: width + anchors.centerIn: parent + radius: (width / 2) | 0 + color: radioButton.hovered ? UM.Theme.getColor("primary_button_hover") : UM.Theme.getColor("primary_button") + visible: radioButton.checked + } + } + + contentItem: Label + { + verticalAlignment: Text.AlignVCenter + leftPadding: radioButton.indicator.width + radioButton.spacing + text: radioButton.text + font: radioButton.font + renderType: Text.NativeRendering + } +} diff --git a/resources/qml/qmldir b/resources/qml/qmldir index 7ca2b36b4b..a73d154c6a 100644 --- a/resources/qml/qmldir +++ b/resources/qml/qmldir @@ -24,6 +24,7 @@ ToolTip 1.0 ToolTip.qml CheckBox 1.0 CheckBox.qml ComboBox 1.0 ComboBox.qml ProgressBar 1.0 ProgressBar.qml +RadioButton 1.0 RadioButton.qml TabButton 1.0 TabButton.qml