You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
101 lines
1.8 KiB
101 lines
1.8 KiB
import QtQuick 2.0
|
|
import QtQuick.Controls 1.3
|
|
import QtQuick.Controls.Styles 1.3
|
|
|
|
Item
|
|
{
|
|
property alias value: textinput.text
|
|
property alias accountRef: ctrModel
|
|
property string subType
|
|
property bool readOnly
|
|
id: editRoot
|
|
height: 20
|
|
width: 320
|
|
|
|
SourceSansProBold
|
|
{
|
|
id: boldFont
|
|
}
|
|
|
|
function init()
|
|
{
|
|
trCombobox.visible = !readOnly
|
|
textinput.readOnly = readOnly
|
|
if (!readOnly)
|
|
{
|
|
for (var k = 0; k < ctrModel.count; k++)
|
|
{
|
|
if (ctrModel.get(k).value === value)
|
|
{
|
|
trCombobox.currentIndex = k;
|
|
return;
|
|
}
|
|
}
|
|
trCombobox.currentIndex = 0;
|
|
}
|
|
}
|
|
|
|
Rectangle {
|
|
anchors.fill: parent
|
|
radius: 4
|
|
anchors.verticalCenter: parent.verticalCenter
|
|
height: 20
|
|
TextInput {
|
|
id: textinput
|
|
text: value
|
|
width: parent.width
|
|
height: parent.width
|
|
wrapMode: Text.WordWrap
|
|
clip: true
|
|
font.family: boldFont.name
|
|
MouseArea {
|
|
id: mouseArea
|
|
anchors.fill: parent
|
|
hoverEnabled: true
|
|
onClicked: textinput.forceActiveFocus()
|
|
}
|
|
onTextChanged:
|
|
{
|
|
if (trCombobox.selected)
|
|
{
|
|
trCombobox.currentIndex = 0;
|
|
trCombobox.selected = false;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
ListModel
|
|
{
|
|
id: ctrModel
|
|
}
|
|
|
|
ComboBox
|
|
{
|
|
property bool selected: false
|
|
id: trCombobox
|
|
model: ctrModel
|
|
textRole: "itemid"
|
|
height: 20
|
|
anchors.verticalCenter: parent.verticalCenter
|
|
anchors.left: textinput.parent.right
|
|
anchors.leftMargin: 3
|
|
onCurrentIndexChanged: {
|
|
trCombobox.selected = false;
|
|
if (currentText === "")
|
|
return;
|
|
else if (currentText !== " - ")
|
|
{
|
|
if (model.get(currentIndex).type === "contract")
|
|
textinput.text = "<" + currentText + ">";
|
|
else
|
|
textinput.text = model.get(currentIndex).value; //address
|
|
trCombobox.selected = true;
|
|
}
|
|
else if (textinput.text.indexOf("<") === 0)
|
|
{
|
|
textinput.text = "";
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|