253 lines
5.1 KiB
QML
253 lines
5.1 KiB
QML
import QtQuick
|
|
import QtQuick.Controls
|
|
import QtQuick.Layouts
|
|
|
|
GridLayout
|
|
{
|
|
id: newObject
|
|
|
|
columns: 4
|
|
Layout.fillWidth: true
|
|
Layout.fillHeight: true
|
|
rowSpacing: 9
|
|
|
|
Label
|
|
{
|
|
text: qsTr("Firma")
|
|
Layout.alignment: Qt.AlignRight | Qt.AlignVCenter
|
|
}
|
|
ComboBox
|
|
{
|
|
property string name: "business"
|
|
id: business
|
|
editable: true
|
|
Layout.fillWidth: true
|
|
Layout.columnSpan: 3
|
|
onEditTextChanged: checkFields()
|
|
onCurrentTextChanged: checkFields()
|
|
}
|
|
|
|
//// New grid row
|
|
|
|
Label
|
|
{
|
|
text: qsTr("Straße")
|
|
Layout.alignment: Qt.AlignRight | Qt.AlignVCenter
|
|
}
|
|
|
|
TextField
|
|
{
|
|
property string name: "street"
|
|
id: street
|
|
Layout.fillWidth: true
|
|
Layout.alignment: Qt.AlignVCenter
|
|
onTextChanged: checkFields()
|
|
placeholderText: "Pflichtfeld"
|
|
placeholderTextColor: "red"
|
|
}
|
|
|
|
Label
|
|
{
|
|
text: qsTr("Nr.")
|
|
Layout.alignment: Qt.AlignRight | Qt.AlignVCenter
|
|
}
|
|
|
|
TextField
|
|
{
|
|
property string name: "houseno"
|
|
id: houseno
|
|
Layout.fillWidth: true
|
|
Layout.alignment: Qt.AlignVCenter
|
|
onTextChanged: checkFields()
|
|
placeholderText: "Pflichtfeld"
|
|
placeholderTextColor: "red"
|
|
}
|
|
|
|
// New grid row
|
|
Label
|
|
{
|
|
text: qsTr("PLZ")
|
|
Layout.alignment: Qt.AlignRight | Qt.AlignVCenter
|
|
}
|
|
|
|
ComboBox
|
|
{
|
|
property string name: "postcode"
|
|
id: postcode
|
|
Layout.fillWidth: true
|
|
editable: true
|
|
onCurrentTextChanged: checkFields()
|
|
onEditTextChanged: checkFields()
|
|
onActivated: currentValue
|
|
model: address_model
|
|
textRole: "display"
|
|
popup.height: 300
|
|
popup.y: postcode.y + 5 - (postcode.height * 2)
|
|
currentIndex: -1
|
|
onCurrentIndexChanged: city.currentIndex = postcode.currentIndex
|
|
|
|
validator: RegularExpressionValidator
|
|
{
|
|
regularExpression: /([0-9]{1,5})/
|
|
}
|
|
}
|
|
|
|
Label
|
|
{
|
|
text: qsTr("Ort")
|
|
Layout.alignment: Qt.AlignRight
|
|
|
|
}
|
|
|
|
ComboBox
|
|
{
|
|
property string name: "city"
|
|
id: city
|
|
Layout.fillWidth: true
|
|
editable: true
|
|
onEditTextChanged: checkFields()
|
|
onCurrentTextChanged: checkFields()
|
|
model: address_model
|
|
textRole: "city"
|
|
popup.height: 300
|
|
popup.y: postcode.y + 5 - (postcode.height * 2)
|
|
currentIndex: -1
|
|
}
|
|
|
|
// New grid row
|
|
Label
|
|
{
|
|
text: qsTr("Parteien")
|
|
Layout.alignment: Qt.AlignRight | Qt.AlignVCenter
|
|
}
|
|
|
|
SpinBox
|
|
{
|
|
property string name: "partitions"
|
|
id: partitions
|
|
Layout.fillWidth: true
|
|
from: 1
|
|
to: 100
|
|
value: 1
|
|
}
|
|
|
|
Label
|
|
{
|
|
text: qsTr("Stockwerke")
|
|
Layout.alignment: Qt.AlignRight | Qt.AlignVCenter
|
|
}
|
|
|
|
SpinBox
|
|
{
|
|
property string name: "floors"
|
|
id: floors
|
|
Layout.fillWidth: true
|
|
from: 1
|
|
to: 100
|
|
value: 1
|
|
}
|
|
|
|
// New grid row
|
|
Label
|
|
{
|
|
text: qsTr("Zwischenetage")
|
|
Layout.alignment: Qt.AlignRight | Qt.AlignVCenter
|
|
}
|
|
|
|
ComboBox
|
|
{
|
|
property string name: "mezzanin"
|
|
id: mezzanin
|
|
Layout.fillWidth: true
|
|
editable: false
|
|
model: [qsTr("Jööö"), qsTr("Nöööööööööööööööööööööööööö")]
|
|
}
|
|
|
|
Label
|
|
{
|
|
text: qsTr("Aufzug")
|
|
Layout.alignment: Qt.AlignRight | Qt.AlignVCenter
|
|
}
|
|
|
|
ComboBox
|
|
{
|
|
property string name: "lift"
|
|
id: lift
|
|
Layout.fillWidth: true
|
|
editable: false
|
|
model: [qsTr("Jööö"), qsTr("Nöööööööööööööööööööööööööö")]
|
|
}
|
|
|
|
//New grid row
|
|
|
|
|
|
|
|
Label
|
|
{
|
|
text: qsTr("Besonderheiten")
|
|
Layout.alignment: Qt.AlignRight
|
|
}
|
|
ComboBox
|
|
{
|
|
property string name: "remarks"
|
|
id: remarks
|
|
Layout.fillWidth: true
|
|
editable: false
|
|
textRole: "display"
|
|
}
|
|
|
|
//// New grid row
|
|
Label
|
|
{
|
|
text: qsTr("Kontaktdaten")
|
|
Layout.alignment: Qt.AlignRight | Qt.AlignTop
|
|
}
|
|
|
|
ComboBox
|
|
{
|
|
property string name: "contact"
|
|
id: contact
|
|
Layout.fillWidth: true
|
|
editable: false
|
|
model: [qsTr("Beirat"), qsTr("Hausmeister")]
|
|
}
|
|
|
|
Label
|
|
{
|
|
text: qsTr("Reinigungsmittel wo?")
|
|
Layout.alignment: Qt.AlignRight | Qt.AlignVCenter
|
|
}
|
|
|
|
TextField
|
|
{
|
|
property string name: "cleansing"
|
|
id: cleansing
|
|
Layout.fillWidth: true
|
|
placeholderText: "Pflichtfeld"
|
|
placeholderTextColor: "red"
|
|
onTextChanged: checkFields()
|
|
}
|
|
Item
|
|
{
|
|
Layout.fillHeight: true
|
|
}
|
|
|
|
function checkObjectField()
|
|
{
|
|
return ((business.editText.trim() || business.currentText.trim()) &&
|
|
street.text.trim() && houseno.text.trim() &&
|
|
(postcode.editText.trim() || postcode.currentText.trim()) &&
|
|
(city.editText.trim() || city.currentText.trim()) &&
|
|
cleansing.text.trim())
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|