93 lines
2.9 KiB
QML
93 lines
2.9 KiB
QML
|
/***************************************************************************
|
||
|
* Copyright (c) 2013 Abdurrahman AVCI <abdurrahmanavci@gmail.com>
|
||
|
*
|
||
|
* Permission is hereby granted, free of charge, to any person
|
||
|
* obtaining a copy of this software and associated documentation
|
||
|
* files (the "Software"), to deal in the Software without restriction,
|
||
|
* including without limitation the rights to use, copy, modify, merge,
|
||
|
* publish, distribute, sublicense, and/or sell copies of the Software,
|
||
|
* and to permit persons to whom the Software is furnished to do so,
|
||
|
* subject to the following conditions:
|
||
|
*
|
||
|
* The above copyright notice and this permission notice shall be included
|
||
|
* in all copies or substantial portions of the Software.
|
||
|
*
|
||
|
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||
|
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||
|
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||
|
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
|
||
|
* OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
|
||
|
* ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE
|
||
|
* OR OTHER DEALINGS IN THE SOFTWARE.
|
||
|
*
|
||
|
***************************************************************************/
|
||
|
|
||
|
import QtQuick 2.0
|
||
|
|
||
|
FocusScope {
|
||
|
id: container
|
||
|
width: 80; height: 30
|
||
|
|
||
|
property color color: "white"
|
||
|
property color borderColor: "#ababab"
|
||
|
property color focusColor: "#266294"
|
||
|
property color hoverColor: "#5692c4"
|
||
|
property alias borderWidth: main.border.width
|
||
|
property alias radius: main.radius
|
||
|
property alias font: txtMain.font
|
||
|
property alias textColor: txtMain.color
|
||
|
property alias echoMode: txtMain.echoMode
|
||
|
property alias text: txtMain.text
|
||
|
|
||
|
Rectangle {
|
||
|
id: main
|
||
|
|
||
|
anchors.fill: parent
|
||
|
|
||
|
color: container.color
|
||
|
border.color: container.borderColor
|
||
|
border.width: 1
|
||
|
|
||
|
states: [
|
||
|
State {
|
||
|
name: "hover"; when: mouseArea.containsMouse
|
||
|
PropertyChanges { target: main; border.color: container.hoverColor }
|
||
|
},
|
||
|
State {
|
||
|
name: "focus"; when: container.activeFocus && !mouseArea.containsMouse
|
||
|
PropertyChanges { target: main; border.color: container.focusColor }
|
||
|
}
|
||
|
]
|
||
|
|
||
|
transitions: Transition {
|
||
|
ColorAnimation { duration: 100 }
|
||
|
}
|
||
|
}
|
||
|
|
||
|
MouseArea {
|
||
|
id: mouseArea
|
||
|
anchors.fill: container
|
||
|
|
||
|
cursorShape: Qt.IBeamCursor
|
||
|
|
||
|
hoverEnabled: true
|
||
|
|
||
|
onEntered: if (main.state == "") main.state = "hover";
|
||
|
onExited: if (main.state == "hover") main.state = "";
|
||
|
onClicked: container.focus = true;
|
||
|
}
|
||
|
|
||
|
TextInput {
|
||
|
id: txtMain
|
||
|
width: parent.width - 16
|
||
|
anchors.centerIn: parent
|
||
|
|
||
|
color: "black"
|
||
|
|
||
|
clip: true
|
||
|
focus: true
|
||
|
|
||
|
passwordCharacter: "\u25cf"
|
||
|
}
|
||
|
}
|