123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- // Copyright (c) 2022 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.5 as UM
- import Cura 1.1 as Cura
- //
- // Cura-style TextField
- //
- TextField
- {
- id: control
- property alias leftIcon: iconLeft.source
- height: UM.Theme.getSize("setting_control").height
- hoverEnabled: true
- selectByMouse: true
- font: UM.Theme.getFont("default")
- color: UM.Theme.getColor("text_field_text")
- selectedTextColor: UM.Theme.getColor("text_field_text")
- placeholderTextColor: UM.Theme.getColor("text_field_text_disabled")
- renderType: Text.NativeRendering
- selectionColor: UM.Theme.getColor("text_selection")
- leftPadding: iconLeft.visible ? iconLeft.width + UM.Theme.getSize("default_margin").width * 2 : UM.Theme.getSize("thin_margin").width
- states: [
- State
- {
- name: "disabled"
- when: !control.enabled
- PropertyChanges { target: control; color: UM.Theme.getColor("text_field_text_disabled")}
- PropertyChanges { target: backgroundRectangle; liningColor: UM.Theme.getColor("text_field_border_disabled")}
- },
- State
- {
- name: "invalid"
- when: !control.acceptableInput
- PropertyChanges { target: backgroundRectangle; color: UM.Theme.getColor("setting_validation_error_background")}
- },
- State
- {
- name: "active"
- when: control.activeFocus
- PropertyChanges
- {
- target: backgroundRectangle
- liningColor: UM.Theme.getColor("text_field_border_active")
- borderColor: UM.Theme.getColor("text_field_border_active")
- }
- },
- State
- {
- name: "hovered"
- when: control.hovered && !control.activeFocus
- PropertyChanges
- {
- target: backgroundRectangle
- liningColor: UM.Theme.getColor("text_field_border_hovered")
- }
- }
- ]
- background: UM.UnderlineBackground
- {
- id: backgroundRectangle
- //Optional icon added on the left hand side.
- UM.ColorImage
- {
- id: iconLeft
- anchors
- {
- verticalCenter: parent.verticalCenter
- left: parent.left
- leftMargin: UM.Theme.getSize("default_margin").width
- }
- visible: source != ""
- height: UM.Theme.getSize("small_button_icon").height
- width: visible ? height : 0
- color: control.color
- }
- }
- }
|