/* Copyright (C) 2014-2016 Dan Chapman <dpniel@ubuntu.com>

   This file is part of Dekko email client for Ubuntu Devices/

   This program is free software; you can redistribute it and/or
   modify it under the terms of the GNU General Public License as
   published by the Free Software Foundation; either version 2 of
   the License or (at your option) version 3

   This program 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 General Public License for more details.

   You should have received a copy of the GNU General Public License
   along with this program.  If not, see <http://www.gnu.org/licenses/>.
*/
import QtQuick 2.4
import Ubuntu.Components 1.3
import Ubuntu.Components.Themes.Ambiance 0.1
import Dekko.Theme 0.2
import Dekko.Utils 0.2

ListItem {
    id: subjectField
    property alias placeholderText: input.placeholderText
    property alias hasFocus: input.focus
    property alias text: input.text
    property alias cursorPosition: input.cursorPosition
    property string label
    height: input.height > units.gu(4) ? input.height + units.gu(2) : units.gu(5)
    function getInputFocus() {
        getFocusTimer.start()
    }

    Item {
        id: lblContainer
        anchors {
            left: parent.left
            top: parent.top
            leftMargin: units.gu(2)
        }
        height: units.gu(5)
        width: label.width
        Label {
            id: label
            anchors {
                left: parent.left
                verticalCenter: parent.verticalCenter
            }
            text: subjectField.label + " : "
            font.weight: Style.common.fontWeight
        }

    }
    Timer {
        id: getFocusTimer
        interval: 200
        repeat: false
        onTriggered: {
            input.forceActiveFocus()
            TabEventSignaler.sendEndEvent()
        }
    }

    TextArea {
        id: input
        anchors {
            left: lblContainer.right
            leftMargin: units.gu(0.5)
            top: parent.top
            topMargin: units.gu(1.4)
            right: parent.right
            rightMargin: units.gu(2)
        }
        font.weight: Style.common.fontWeight
        maximumLineCount: 3
        wrapMode: TextEdit.WrapAnywhere
        autoSize: true
        height: units.gu(4)
        style:TextAreaStyle {
            overlaySpacing: 0
            frameSpacing: 0
            background: Item {}
        }
    }
}
