import QtQuick 2.0
import QtQuick.Controls 2.2

SmoothItemDelegate {
    id: control

    property string inputText: ""
    property string inputHint: ""

    signal inputFinished()

    property int inputMethodHints: Qt.ImhNone

    property int inputTextFieldWidth: control.width * 0.3

    onInputTextChanged: {
        textField.text = inputText
    }

    width: parent.width
    rightPadding: textField.width + width * 0.02
    height: parent.delegateHeight

    TextField {
        id: textField

        anchors.right: parent.right
        anchors.verticalCenter: parent.verticalCenter

        width: control.inputTextFieldWidth
        height: parent.height

        focus: true
        placeholderText: control.inputHint

        font.pixelSize: height * 0.4

        inputMethodHints: control.inputMethodHints

        palette.text: appTheme.theme.colors.text

        onTextChanged: {
            control.inputText = text
            control.inputTextChanged()
        }

        onActiveFocusChanged: {
            if(!activeFocus){
                control.inputFinished()
            }
        }

        background: Rectangle {
            implicitWidth: 200
            implicitHeight: 40
            color: "transparent"//control.enabled ? "transparent" : "#353637"
            border.color: (textField.activeFocus ? "#21be2b" : "#999999")
            radius: height * 0.3
        }

        Behavior on opacity {
            NumberAnimation {
                duration: 200
            }
        }
    }
}
