Compare commits

...

14 Commits

Author SHA256 Message Date
b162117a80 Merge remote-tracking branch 'refs/remotes/origin/main' 2025-02-04 10:50:33 +01:00
3eeb6ab910 TopBar modified to style buttons 2025-02-04 10:49:14 +01:00
aca38067d0 DOC änderung 2025-02-04 10:45:25 +01:00
1f5e9c01e8 Email regex updated for employee and customers 2025-02-04 10:16:30 +01:00
42c7a9c33a Regular expression email in kunden 2025-02-04 10:06:03 +01:00
0813c3c8c0 Merge branch 'refs/heads/linuxero' 2025-02-04 09:43:25 +01:00
f710db48de backup encryption file 2025-02-03 16:46:57 +01:00
a709aa6da1 not needed 2025-02-03 16:24:31 +01:00
83d44cf3c7 copied 2025-02-03 16:23:54 +01:00
b5c3b56fb3 copied 2025-02-03 16:23:43 +01:00
931a99c06b copied 2025-02-03 16:23:31 +01:00
337f383701 copied 2025-02-03 16:23:19 +01:00
af04b3baa1 Andre 2025-02-03 16:04:06 +01:00
0b55556fb4 Für Andre 2025-02-03 15:51:53 +01:00
13 changed files with 312 additions and 536 deletions

View File

@@ -83,7 +83,7 @@ Frame
placeholderText: qsTr("beispiel@domain.de")
validator: RegularExpressionValidator
{
regularExpression: /([\+!#$%&\*\\/\=?\^_`\.{|}\~0-9A-Za-z]{1,185})@([0-9A-Za-z\.]{1,64})\.([a-zA-z]{2,5})/
regularExpression: /([\+!#$%&\*\\/\=?\^_`\.{|}\~\-\_0-9A-Za-z]{1,185})@([0-9A-Za-z\.\-\_]{1,64})\.([a-zA-z]{2,5})/
}
}

View File

@@ -21,7 +21,7 @@ ColumnLayout
CheckBox
{
id: checkAddObject
text: qsTr("Mitarbeiter/Ansprechpartner hinzufügen")
text: qsTr("Ansprechpartner hinzufügen")
Layout.alignment: Qt.AlignRight
checked: false
onCheckStateChanged:
@@ -73,14 +73,16 @@ ColumnLayout
if (!checkAddObject.checked)
{
new_object = JsLib.parseForm(objectView)
object_model.addObject(new_object, 0)
appLoader.source = "ObjectTable.qml"
// object_model.addObject(new_object, 0)
// appLoader.source = "ObjectTable.qml"
console.log(new_object)
}
else
{
new_object = JsLib.parseForm(objectView)
var new_objecto = JsLib.parseForm(addObjectLayout)
objecto_model.addObject(new_objecto)
console.log(new_objecto)
//objecto_model.addObject(new_objecto)
}
}
}

View File

@@ -255,9 +255,10 @@ GridLayout
placeholderTextColor: "red"
Layout.columnSpan: 3
onTextChanged: checkFields()
placeholderText: qsTr("beispiel@domain.de")
validator: RegularExpressionValidator
{
regularExpression: /([\+!#$%&\*\\/\=?\^_`\.{|}\~0-9A-Za-z]{1,185})@([0-9A-Za-z\.]{1,64})\.([a-zA-z]{2,5})/
regularExpression: /([\+!#$%&\*\\/\=?\^_`\.{|}\~\-\_0-9A-Za-z]{1,185})@([0-9A-Za-z\.\-\_]{1,64})\.([a-zA-z]{2,5})/
}
}
Label

View File

@@ -178,7 +178,7 @@ GridLayout
Layout.columnSpan: 3
validator: RegularExpressionValidator
{
regularExpression: /([\+!#$%&\*\\/\=?\^_`\.{|}\~0-9A-Za-z]{1,185})@([0-9A-Za-z\.]{1,64})\.([a-zA-z]{2,5})/
regularExpression: /([\+!#$%&\*\\/\=?\^_`\.{|}\~\-\_0-9A-Za-z]{1,185})@([0-9A-Za-z\.\-\_]{1,64})\.([a-zA-z]{2,5})/
}
}

View File

@@ -22,7 +22,6 @@ Item
onClicked: appLoader.source = "AddCustomer.qml"
}
ColumnLayout
{
id: tableColumn
@@ -67,7 +66,6 @@ Item
text: qsTr("Erledigt")
onClicked: viewCriterion(showFinished)
}
}
HorizontalHeaderView
@@ -77,8 +75,8 @@ Item
implicitHeight: 40
movableColumns: true //@disable-check M16
syncView: customerTable
delegate: Rectangle {
delegate: Rectangle
{
color: addBusinessBtn.palette.alternateBase
border.color: addBusinessBtn.palette.base
implicitHeight: 40
@@ -99,7 +97,6 @@ Item
TableView
{
//property var customWidths: [0.2, 0.5, 0.3, 05, 0.2, 0.2]
property real newWidth: 0
id: customerTable
Layout.fillHeight: true
@@ -112,43 +109,13 @@ Item
rowSpacing: 2
model: business_model
alternatingRows: true
resizableColumns: true // @disable-check M16
resizableColumns: true
selectionBehavior: TableView.SelectRows
selectionModel: ItemSelectionModel
{
id: selModel
model: customerTable.model
}
// columnWidthProvider: function(column)
// {
// switch (column)
// {
// case 0: return width * 0.2;
// case 1: return width * 0.5;
// case 2: return width * 0.3;
// default: return width / model.columnCount();
// }
//return customWidths[column] * width;
//return tableColumn.content.implicitWidth // model.columnCount()
// newWidth = columnWidth(column)
// return newWidth
// }
Timer
{
id: redrawTable
running: true
interval: 1
repeat: false
onTriggered:
{
customerTable.forceLayout();
}
}
delegate:Rectangle
{
required property bool selected
@@ -160,30 +127,22 @@ Item
: (customerTable.alternatingRows && row % 2 !== 0
? addBusinessBtn.palette.base // palette.base
: addBusinessBtn.palette.alternateBase) //palette.alternateBase)
Text
{
text: model.display == null? "": model.display
text: model.display == null? "": model.display // @disable-check M126
elide: Text.ElideRight
width: parent.width
height: parent.height
verticalAlignment: Text.AlignVCenter
leftPadding: 9 //@d isable-check M16
leftPadding: 9
color: addBusinessBtn.palette.text
}
MouseArea
{
property bool hovered: false
id: mouseArea
anchors.fill: parent
hoverEnabled: true
// onClicked:
// {
// business_model.onRowClicked(row)
// }
onDoubleClicked:
{
customersStack.push("CustomerDetails.qml", {selectedClient: row});
@@ -195,17 +154,10 @@ Item
}
}
}
onContentWidthChanged:
{
//console.log("Model changed!!")
redrawTable.start()
}
}
Item
{
//Layout.fillHeight: true
Layout.fillWidth: true
}
}

View File

@@ -7,12 +7,6 @@ GridLayout
property var contacts: null
columns: 2
CheckBox
{
id: contactperson
text: qsTr("Ansprechpartner")
Layout.columnSpan: 2
}
Label
{
text: qsTr("Anrede")
@@ -23,7 +17,6 @@ GridLayout
id: title
model: [qsTr("Herr"),qsTr("Frau")]
Layout.fillWidth: true
enabled: contactperson.checked
}
Label
{
@@ -36,7 +29,6 @@ GridLayout
Layout.fillWidth: true
placeholderText: "Pflichtfeld"
placeholderTextColor: "red"
enabled: contactperson.checked
}
Label
{
@@ -49,7 +41,6 @@ GridLayout
Layout.fillWidth: true
placeholderText: "Pflichtfeld"
placeholderTextColor: "red"
enabled: contactperson.checked
}
Label
{
@@ -62,7 +53,7 @@ GridLayout
Layout.fillWidth: true
placeholderText: "Pflichtfeld"
placeholderTextColor: "red"
enabled: contactperson.checked
}
Label
{
@@ -75,7 +66,6 @@ GridLayout
Layout.fillWidth: true
placeholderText: "Pflichtfeld"
placeholderTextColor: "red"
enabled: contactperson.checked
}
RowLayout
@@ -92,14 +82,12 @@ GridLayout
{
id: removeContact
text: qsTr("Entfernen")
enabled: contactperson.checked
}
Button
{
id: addContact
text: qsTr("Hinzufügen")
enabled: contactperson.checked
onClicked:
{
var num_contacts = 0

View File

@@ -4,120 +4,120 @@ import QtQuick.Controls
GridLayout
{
property var employeeForm: null
property var employees: null
id: oaoemployee
columns: 2
rows: 4
Label
{
text: qsTr("Mitarbeiter")
Layout.alignment: Qt.AlignRight | Qt.AlignTop
}
// property var employeeForm: null
// property var employees: null
// id: oaoemployee
// columns: 2
// rows: 4
// Label
// {
// text: qsTr("Mitarbeiter")
// Layout.alignment: Qt.AlignRight | Qt.AlignTop
// }
ListModel
{
id: employeeModel
}
// ListModel
// {
// id: employeeModel
// }
Component
{
id: employeesHeader
Row
{
Text
{
id: empName
text: qsTr("Mitarbeiter")
width: 175
font.bold: true
horizontalAlignment: Text.AlignLeft
color: "black"
}
}
}
// Component
// {
// id: employeesHeader
// Row
// {
// Text
// {
// id: empName
// text: qsTr("Mitarbeiter")
// width: 175
// font.bold: true
// horizontalAlignment: Text.AlignLeft
// color: "black"
// }
// }
// }
Rectangle
{
Layout.fillWidth: true
implicitHeight: 75
Layout.rowSpan: 2
color: mitarbeiterhin.palette.base
border.color: mitarbeiterhin.activeFocus? mitarbeiterhin.palette.highlight: mitarbeiterhin.palette.base
ListView
{
id: employeesList
//anchors.fill: parent
implicitHeight: parent.height
// Rectangle
// {
// Layout.fillWidth: true
// implicitHeight: 75
// Layout.rowSpan: 2
// color: mitarbeiterhin.palette.base
// border.color: mitarbeiterhin.activeFocus? mitarbeiterhin.palette.highlight: mitarbeiterhin.palette.base
// ListView
// {
// id: employeesList
// //anchors.fill: parent
// implicitHeight: parent.height
model: employeeModel
// model: employeeModel
header: employeesHeader
// header: employeesHeader
delegate: Row
{
width: 200
height: 15
//padding: 7
Text
{
text: model.namens
}
}
// delegate: Row
// {
// width: 200
// height: 15
// //padding: 7
// Text
// {
// text: model.namens
// }
// }
}
}
RowLayout
{
Layout.columnSpan: 2
Layout.fillWidth: true
Item
{
Layout.fillWidth: true
}
// }
// }
// RowLayout
// {
// Layout.columnSpan: 2
// Layout.fillWidth: true
// Item
// {
// Layout.fillWidth: true
// }
Button
{
id: mitarbeiterraus
text: qsTr("Mitarbeiter entfernen")
}
// Button
// {
// id: mitarbeiterraus
// text: qsTr("Mitarbeiter entfernen")
// }
Button
{
id: mitarbeiterhin
text: qsTr("Mitarbeiter hinzufügen")
onClicked:
{
var nm = Qt.createComponent("AddObjectEmployee.qml")
if (nm.status === Component.Ready)
{
employeeForm = nm.createObject (appWindow, {width: 600, height: 400})
employeeForm.addNewEmployee.connect(onAddEmployee)
employeeForm.show()
}
else console.log(nm.errorString())
}
}
}
// Button
// {
// id: mitarbeiterhin
// text: qsTr("Mitarbeiter hinzufügen")
// onClicked:
// {
// var nm = Qt.createComponent("AddObjectEmployee.qml")
// if (nm.status === Component.Ready)
// {
// employeeForm = nm.createObject (appWindow, {width: 600, height: 400})
// employeeForm.addNewEmployee.connect(onAddEmployee)
// employeeForm.show()
// }
// else console.log(nm.errorString())
// }
// }
// }
function onAddEmployee(new_employee)
{
var num_employees = 0
// function onAddEmployee(new_employee)
// {
// var num_employees = 0
if (employees === null || employees === undefined) employees = {}
else num_employees = Object.keys(employees).length;
// if (employees === null || employees === undefined) employees = {}
// else num_employees = Object.keys(employees).length;
employees[num_employees] = {}
employees[num_employees]["assignee"] = new_employee["assignee"];
employees[num_employees]["duration"] = new_employee["duration"];
employees[num_employees]["wage"] = new_employee["wage"];
employees[num_employees]["cleandays"] = new_employee["cleandays"];
employees[num_employees]["tasks"] = new_employee["tasks"];
employees[num_employees]["output"] = new_employee["output"];
// employees[num_employees] = {}
// employees[num_employees]["assignee"] = new_employee["assignee"];
// employees[num_employees]["duration"] = new_employee["duration"];
// employees[num_employees]["wage"] = new_employee["wage"];
// employees[num_employees]["cleandays"] = new_employee["cleandays"];
// employees[num_employees]["tasks"] = new_employee["tasks"];
// employees[num_employees]["output"] = new_employee["output"];
employeeModel.append({namens: new_employee["assignee"]});
// employeeModel.append({namens: new_employee["assignee"]});
}
// }
}

View File

@@ -10,10 +10,6 @@ Frame
{
id: addObjectLayout
width: parent.width
ObjectAddOnEmployee
{
id: oaoemployee
}
ObjectAddOnContactPerson
{
id: oaocontactperson

View File

@@ -6,47 +6,94 @@ GridLayout
{
id: objectView
columns: 2
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
}
Label
{
text: qsTr("Objektstraße")
text: qsTr("Straße")
Layout.alignment: Qt.AlignRight | Qt.AlignVCenter
}
TextField
{
id: objectName
property string name: "street"
id: street
Layout.fillWidth: true
Layout.alignment: Qt.AlignVCenter
onTextChanged: checkFields()
placeholderText: "Pflichtfeld"
placeholderTextColor: "red"
//Layout.maximumWidth: parent.width / 2
}
Label
{
text: qsTr("Leistungsort")
text: qsTr("Nr.")
Layout.alignment: Qt.AlignRight | Qt.AlignVCenter
}
TextField
{
id: leistungsortid
property string name: "houseno"
id: houseno
Layout.fillWidth: true
//Layout.maximumWidth: parent.width / 2
Layout.alignment: Qt.AlignVCenter
onTextChanged: checkFields()
placeholderText: "Pflichtfeld"
placeholderTextColor: "red"
}
Label
{
text: qsTr("PLZ")
Layout.alignment: Qt.AlignRight | Qt.AlignVCenter
}
TextField
{
property string name: "postcode"
id: postcode
Layout.fillWidth: true
onTextChanged: checkFields()
placeholderText: "Pflichtfeld"
placeholderTextColor: "red"
}
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
}
Label
{
text: qsTr("Lohnanteil inkl. Fahrtkosten")
@@ -57,7 +104,7 @@ GridLayout
{
id: lohnanteil
Layout.fillWidth: true
//Layout.maximumWidth: parent.width / 2
Layout.columnSpan: 3
}
Label
@@ -70,7 +117,7 @@ GridLayout
{
id: materialanteil
Layout.fillWidth: true
//Layout.maximumWidth: parent.width / 2
Layout.columnSpan: 3
}
Label
@@ -83,7 +130,7 @@ GridLayout
{
id: zusatz1
Layout.fillWidth: true
//Layout.maximumWidth: parent.width / 2
Layout.columnSpan: 3
}
Label
@@ -96,7 +143,7 @@ GridLayout
{
id: zusatz2
Layout.fillWidth: true
//Layout.maximumWidth: parent.width / 2
Layout.columnSpan: 3
}
Label
@@ -109,7 +156,7 @@ GridLayout
{
id: gesamtnetto
Layout.fillWidth: true
//Layout.maximumWidth: parent.width / 2
Layout.columnSpan: 3
}
Label
@@ -122,7 +169,7 @@ GridLayout
{
id: mwst
Layout.fillWidth: true
//Layout.maximumWidth: parent.width / 2
Layout.columnSpan: 3
}
Label
@@ -135,7 +182,7 @@ GridLayout
{
id: gesamt
Layout.fillWidth: true
//Layout.maximumWidth: parent.width / 2
Layout.columnSpan: 3
}
Label
@@ -149,9 +196,8 @@ GridLayout
id: zahlungsziel
Layout.fillWidth: true
editable: false
//model: business_type
textRole: "display"
//Layout.maximumWidth: parent.width / 2
Layout.columnSpan: 3
}
@@ -165,6 +211,7 @@ GridLayout
id: infoview
Layout.fillWidth: true
Layout.preferredHeight: 110
Layout.columnSpan: 3
ScrollBar.horizontal: ScrollBar
{
policy: ScrollBar.AlwaysOn
@@ -180,6 +227,7 @@ GridLayout
{
color: objectInfo.palette.base
border.color: objectInfo.activeFocus? objectInfo.palette.highlight: objectInfo.palette.base
width: parent.width
}
}
}

View File

@@ -25,6 +25,7 @@ RowLayout
Layout.margins: 3
background: Rectangle
{
id: dashiBackie
border.width: dashBoard.activeFocus ? 2 : 1
border.color: "#888"
radius: 4
@@ -37,6 +38,11 @@ RowLayout
onClicked:
{
appLoader.source = "Dashboard.qml"
dashiBackie.border.width = 2
kundiBackie.border.width = 1
mitoBackie.border.width = 1
invoBackie.border.width = 1
objBackie.border.width = 1
}
}
@@ -49,6 +55,7 @@ RowLayout
Layout.margins: 3
background: Rectangle
{
id: kundiBackie
border.width: kunden.activeFocus ? 2 : 1
border.color: "#888"
radius: 4
@@ -62,6 +69,11 @@ RowLayout
{
// TODO: here we should call the model
appLoader.source = "CustomerTable.qml"
kundiBackie.border.width = 2
dashiBackie.border.width = 1
mitoBackie.border.width = 1
invoBackie.border.width = 1
objBackie.border.width = 1
}
}
@@ -74,6 +86,7 @@ RowLayout
Layout.margins: 3
background: Rectangle
{
id: objBackie
border.width: objekt.activeFocus ? 2 : 1
border.color: "#888"
radius: 4
@@ -86,6 +99,11 @@ RowLayout
onClicked:
{
appLoader.source = "ObjectTable.qml"
objBackie.border.width = 2
dashiBackie.border.width = 1
kundiBackie.border.width = 1
mitoBackie.border.width = 1
invoBackie.border.width = 1
}
}
@@ -99,6 +117,7 @@ RowLayout
Layout.margins: 3
background: Rectangle
{
id: mitoBackie
border.width: mitarbeiter.activeFocus ? 2 : 1
border.color: "#888"
radius: 4
@@ -111,6 +130,11 @@ RowLayout
onClicked:
{
appLoader.source = "EmployeeTable.qml"
mitoBackie.border.width = 2
dashiBackie.border.width = 1
kundiBackie.border.width = 1
invoBackie.border.width = 1
objBackie.border.width = 1
}
}
@@ -123,6 +147,7 @@ RowLayout
Layout.margins: 3
background: Rectangle
{
id: invoBackie
border.width: abrechnung.activeFocus ? 2 : 1
border.color: "#888"
radius: 4

View File

@@ -0,0 +1,88 @@
CRM für Objektbetreuung Reinigungsservice
Minimal Voraussetzung:
Mitarbeiter
- Dokumenten Management System (DMS)
- Arbeitszeitdokumentation
- Urlaubsplaner
- Arbeitnehmer anlegen
Nice To Have:
- WhatsApp
- Telefon
- Social Media Uploader
Dokumentenvorlagen
Kunden
- Kunden anlegen (Hausverwaltung Krefeld)
- Dokumenten Management System (DMS)
- Ansprechpartner anlegen
RG auch in CC Funktion
Nice To Have:
Dokumentenvorlagen
Dashboard
Abrechnung
- Rechnung schreiben (Zugferd Modus)
- Fixkostenerfassung
Rechnungsarchiv
Mahnfunktion
Objekt
- Objekt anlegen
- Ansprechpartner anlegen
- Dokumenten Management System (DMS)
Str. (Pflicht)
Hausnummer (Pflicht)
PLZ
Ort (Pflicht)
Parteien (Anzahl)
Stockwerke (Anzahl)
Zwischenetage (ja/nein)
Aufzug (ja/nein)
Fenster (ja/nein) anschließend Anzahl + ohne Leiter erreichbar (ja/nein)
Besonderheiten (Infofeld)
Kontaktdaten Hausmeister / Beirat
Reinigungsmittel zu finden? ( Wo ist es im Kellerraum, Dachgeschoss, 2 Tür von links?)
Foto Upload wäre toll ;-)
Leistungen
Treppenhausreinigung
Garten
siehe Homepage !!!
Angebot
Auftrag
- Arbeitsauftrag anlegen
Pflegehinweise zum Objekt
BG Sicherheitsdatenblätter
Reinigungsmittel erhalten am ?
Preis ab Datum
Objektkontrolle (Wann wurde das Objekt das letzte Mal kontrolliert?) Ähnlich wie Preis mit Datum
Preise
Schlüssel
Auswertung
Stundenkalender

1
backup.pyqrec Normal file
View File

@@ -0,0 +1 @@
zIgY4d8ORJ0HZpG7y8/XeS84mKHFcvNaMmCxdirT6ebjApHlo5XVXspy3ENIEvrZczSDRugR0sAVVt8StqZ2gGAr42tIwFF9Uwl7YBMi72+iGIkwyIGX/Jw3OiHYubkXEooZLYX1MYPOC91ppVnZG0PA0IYdpDofq5inFfxpPBwMdcJxvtZPLhIX2y7Fn3m1/lsWe+e2EBwDGxnZjUjPMsRFMjswBv20EOHk46OuNFwlDyn+w9ZDoJfhF6HKYqNxnBnN90KEUygTYGWk.nfaytDW7Z0Nn2/5d22/ciQ==

View File

@@ -1,325 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE QtCreatorProject>
<!-- Written by QtCreator 14.0.2, 2025-01-08T09:17:38. -->
<qtcreator>
<data>
<variable>EnvironmentId</variable>
<value type="QByteArray">{39e37ca7-c3e2-4c38-a716-3e864b0bb4d2}</value>
</data>
<data>
<variable>ProjectExplorer.Project.ActiveTarget</variable>
<value type="qlonglong">0</value>
</data>
<data>
<variable>ProjectExplorer.Project.EditorSettings</variable>
<valuemap type="QVariantMap">
<value type="bool" key="EditorConfiguration.AutoIndent">true</value>
<value type="bool" key="EditorConfiguration.AutoSpacesForTabs">false</value>
<value type="bool" key="EditorConfiguration.CamelCaseNavigation">true</value>
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0">
<value type="QString" key="language">Cpp</value>
<valuemap type="QVariantMap" key="value">
<value type="QByteArray" key="CurrentPreferences">CppGlobal</value>
</valuemap>
</valuemap>
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1">
<value type="QString" key="language">QmlJS</value>
<valuemap type="QVariantMap" key="value">
<value type="QByteArray" key="CurrentPreferences">QmlJSGlobal</value>
</valuemap>
</valuemap>
<value type="qlonglong" key="EditorConfiguration.CodeStyle.Count">2</value>
<value type="QByteArray" key="EditorConfiguration.Codec">UTF-8</value>
<value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value>
<value type="int" key="EditorConfiguration.IndentSize">4</value>
<value type="bool" key="EditorConfiguration.KeyboardTooltips">false</value>
<value type="int" key="EditorConfiguration.MarginColumn">80</value>
<value type="bool" key="EditorConfiguration.MouseHiding">true</value>
<value type="bool" key="EditorConfiguration.MouseNavigation">true</value>
<value type="int" key="EditorConfiguration.PaddingMode">1</value>
<value type="int" key="EditorConfiguration.PreferAfterWhitespaceComments">0</value>
<value type="bool" key="EditorConfiguration.PreferSingleLineComments">false</value>
<value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value>
<value type="bool" key="EditorConfiguration.ShowMargin">false</value>
<value type="int" key="EditorConfiguration.SmartBackspaceBehavior">2</value>
<value type="bool" key="EditorConfiguration.SmartSelectionChanging">true</value>
<value type="bool" key="EditorConfiguration.SpacesForTabs">true</value>
<value type="int" key="EditorConfiguration.TabKeyBehavior">0</value>
<value type="int" key="EditorConfiguration.TabSize">8</value>
<value type="bool" key="EditorConfiguration.UseGlobal">true</value>
<value type="bool" key="EditorConfiguration.UseIndenter">false</value>
<value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value>
<value type="bool" key="EditorConfiguration.addFinalNewLine">true</value>
<value type="bool" key="EditorConfiguration.cleanIndentation">true</value>
<value type="bool" key="EditorConfiguration.cleanWhitespace">true</value>
<value type="QString" key="EditorConfiguration.ignoreFileTypes">*.md, *.MD, Makefile</value>
<value type="bool" key="EditorConfiguration.inEntireDocument">false</value>
<value type="bool" key="EditorConfiguration.skipTrailingWhitespace">true</value>
<value type="bool" key="EditorConfiguration.tintMarginArea">true</value>
</valuemap>
</data>
<data>
<variable>ProjectExplorer.Project.PluginSettings</variable>
<valuemap type="QVariantMap">
<valuemap type="QVariantMap" key="AutoTest.ActiveFrameworks">
<value type="bool" key="AutoTest.Framework.Boost">true</value>
<value type="bool" key="AutoTest.Framework.CTest">false</value>
<value type="bool" key="AutoTest.Framework.Catch">true</value>
<value type="bool" key="AutoTest.Framework.GTest">true</value>
<value type="bool" key="AutoTest.Framework.QtQuickTest">true</value>
<value type="bool" key="AutoTest.Framework.QtTest">true</value>
</valuemap>
<value type="bool" key="AutoTest.ApplyFilter">false</value>
<valuemap type="QVariantMap" key="AutoTest.CheckStates"/>
<valuelist type="QVariantList" key="AutoTest.PathFilters"/>
<value type="int" key="AutoTest.RunAfterBuild">0</value>
<value type="bool" key="AutoTest.UseGlobal">true</value>
<valuemap type="QVariantMap" key="ClangTools">
<value type="bool" key="ClangTools.AnalyzeOpenFiles">true</value>
<value type="bool" key="ClangTools.BuildBeforeAnalysis">true</value>
<value type="QString" key="ClangTools.DiagnosticConfig">Builtin.DefaultTidyAndClazy</value>
<value type="int" key="ClangTools.ParallelJobs">6</value>
<value type="bool" key="ClangTools.PreferConfigFile">true</value>
<valuelist type="QVariantList" key="ClangTools.SelectedDirs"/>
<valuelist type="QVariantList" key="ClangTools.SelectedFiles"/>
<valuelist type="QVariantList" key="ClangTools.SuppressedDiagnostics"/>
<value type="bool" key="ClangTools.UseGlobalSettings">true</value>
</valuemap>
<valuemap type="QVariantMap" key="CppEditor.QuickFix">
<value type="bool" key="UseGlobalSettings">true</value>
</valuemap>
</valuemap>
</data>
<data>
<variable>ProjectExplorer.Project.Target.0</variable>
<valuemap type="QVariantMap">
<value type="QString" key="DeviceType">Desktop</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Python 3.13.0</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Python 3.13.0</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{78860287-dff8-46dd-a381-8b430dbab0da}</value>
<value type="qlonglong" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
<value type="qlonglong" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
<value type="qlonglong" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">C:\Users\gatze\Desktop\pyqcrm</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Python.PysideBuildStep</value>
<value type="QString" key="Python.PySideProjectTool">C:\Users\gatze\AppData\Roaming\Python\Python313\Scripts\pyside6-project.exe</value>
<value type="QString" key="Python.PySideUic">C:\Users\gatze\AppData\Roaming\Python\Python313\Scripts\pyside6-uic.exe</value>
</valuemap>
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Erstellen</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Erstellen</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Bereinigen</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Bereinigen</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.CustomParsers"/>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ParseStandardOutput">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Python 3.13.0</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Python.PySideBuildConfiguration</value>
<value type="QString" key="python">C:/Users/gatze/AppData/Local/Programs/Python/Python313/python.exe</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">C:\Users\gatze\Desktop\pyqcrm\.qtcreator\Python_3_13_0venv</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Python.PysideBuildStep</value>
</valuemap>
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Erstellen</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Erstellen</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Bereinigen</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Bereinigen</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.CustomParsers"/>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ParseStandardOutput">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Python 3.13.0 virtuelle Umgebung</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Python.PySideBuildConfiguration</value>
<value type="QString" key="python">C:/Users/gatze/Desktop/pyqcrm/.qtcreator/Python_3_13_0venv/Scripts/python.exe</value>
<value type="QString" key="venv">C:/Users/gatze/Desktop/pyqcrm/.qtcreator/Python_3_13_0venv</value>
</valuemap>
<value type="qlonglong" key="ProjectExplorer.Target.BuildConfigurationCount">2</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deployment</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Deployment</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
<valuemap type="QVariantMap" key="ProjectExplorer.DeployConfiguration.CustomData"/>
<value type="bool" key="ProjectExplorer.DeployConfiguration.CustomDataEnabled">false</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
</valuemap>
<value type="qlonglong" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
<value type="bool" key="Analyzer.Perf.Settings.UseGlobalSettings">true</value>
<value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
<value type="int" key="Analyzer.Valgrind.Callgrind.CostFormat">0</value>
<value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
<valuelist type="QVariantList" key="CustomOutputParsers"/>
<value type="int" key="PE.EnvironmentAspect.Base">2</value>
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
<value type="bool" key="PE.EnvironmentAspect.PrintOnRun">false</value>
<value type="QString" key="PerfRecordArgsId">-e cpu-cycles --call-graph &quot;dwarf,4096&quot; -F 250</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">main.py</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">PythonEditor.RunConfiguration.C:/Users/gatze/Desktop/pyqcrm/main.py</value>
<value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey">C:/Users/gatze/Desktop/pyqcrm/main.py</value>
<value type="bool" key="ProjectExplorer.RunConfiguration.Customized">true</value>
<value type="QString" key="PythonEditor.RunConfiguation.Script">C:\Users\gatze\Desktop\pyqcrm\main.py</value>
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
<value type="QString" key="RunConfiguration.WorkingDirectory.default">C:/Users/gatze/Desktop/pyqcrm</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.1">
<value type="bool" key="Analyzer.Perf.Settings.UseGlobalSettings">true</value>
<value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
<value type="int" key="Analyzer.Valgrind.Callgrind.CostFormat">0</value>
<value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
<valuelist type="QVariantList" key="CustomOutputParsers"/>
<value type="int" key="PE.EnvironmentAspect.Base">2</value>
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
<value type="bool" key="PE.EnvironmentAspect.PrintOnRun">false</value>
<value type="QString" key="PerfRecordArgsId">-e cpu-cycles --call-graph &quot;dwarf,4096&quot; -F 250</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">lib\DB\DbManager.py</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">PythonEditor.RunConfiguration.C:/Users/gatze/Desktop/pyqcrm/lib/DB/DbManager.py</value>
<value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey">C:/Users/gatze/Desktop/pyqcrm/lib/DB/DbManager.py</value>
<value type="bool" key="ProjectExplorer.RunConfiguration.Customized">true</value>
<value type="QString" key="PythonEditor.RunConfiguation.Script">C:\Users\gatze\Desktop\pyqcrm\lib\DB\DbManager.py</value>
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
<value type="QString" key="RunConfiguration.WorkingDirectory.default">C:/Users/gatze/Desktop/pyqcrm/lib/DB</value>
</valuemap>
<value type="qlonglong" key="ProjectExplorer.Target.RunConfigurationCount">2</value>
</valuemap>
</data>
<data>
<variable>ProjectExplorer.Project.Target.1</variable>
<valuemap type="QVariantMap">
<value type="QString" key="DeviceType">Desktop</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Python 3.12.6</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Python 3.12.6</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{2db3a2fc-21bd-4c08-acba-70fdc903d42a}</value>
<value type="qlonglong" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
<value type="qlonglong" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
<value type="qlonglong" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">C:\Users\gatze\Desktop\pyqcrm\.qtcreator\Python_3_12_6venv</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Python.PysideBuildStep</value>
<value type="QString" key="Python.PySideProjectTool">C:\Users\gatze\Desktop\pyqcrm\.qtcreator\Python_3_12_6venv\Scripts\pyside6-project.exe</value>
<value type="QString" key="Python.PySideUic">C:\Users\gatze\Desktop\pyqcrm\.qtcreator\Python_3_12_6venv\Scripts\pyside6-uic.exe</value>
</valuemap>
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Erstellen</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Erstellen</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Bereinigen</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Bereinigen</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.CustomParsers"/>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ParseStandardOutput">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Python 3.12.6 virtuelle Umgebung</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Python.PySideBuildConfiguration</value>
<value type="QString" key="python">C:/Users/gatze/Desktop/pyqcrm/.qtcreator/Python_3_12_6venv/Scripts/python.exe</value>
<value type="QString" key="venv">C:/Users/gatze/Desktop/pyqcrm/.qtcreator/Python_3_12_6venv</value>
</valuemap>
<value type="qlonglong" key="ProjectExplorer.Target.BuildConfigurationCount">1</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deployment</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Deployment</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
<valuemap type="QVariantMap" key="ProjectExplorer.DeployConfiguration.CustomData"/>
<value type="bool" key="ProjectExplorer.DeployConfiguration.CustomDataEnabled">false</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
</valuemap>
<value type="qlonglong" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
<value type="bool" key="Analyzer.Perf.Settings.UseGlobalSettings">true</value>
<value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
<value type="int" key="Analyzer.Valgrind.Callgrind.CostFormat">0</value>
<value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
<valuelist type="QVariantList" key="CustomOutputParsers"/>
<value type="int" key="PE.EnvironmentAspect.Base">2</value>
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
<value type="bool" key="PE.EnvironmentAspect.PrintOnRun">false</value>
<value type="QString" key="PerfRecordArgsId">-e cpu-cycles --call-graph &quot;dwarf,4096&quot; -F 250</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">main.py</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">PythonEditor.RunConfiguration.C:/Users/gatze/Desktop/pyqcrm/main.py</value>
<value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey">C:/Users/gatze/Desktop/pyqcrm/main.py</value>
<value type="bool" key="ProjectExplorer.RunConfiguration.Customized">true</value>
<value type="QString" key="PythonEditor.RunConfiguation.Script">C:\Users\gatze\Desktop\pyqcrm\main.py</value>
<value type="int" key="RunConfiguration.UseCppDebugger">0</value>
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">false</value>
<value type="int" key="RunConfiguration.UsePythonDebugger">0</value>
<value type="int" key="RunConfiguration.UseQmlDebugger">0</value>
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">false</value>
<value type="QString" key="RunConfiguration.WorkingDirectory.default">C:/Users/gatze/Desktop/pyqcrm</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.1">
<value type="bool" key="Analyzer.Perf.Settings.UseGlobalSettings">true</value>
<value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
<value type="int" key="Analyzer.Valgrind.Callgrind.CostFormat">0</value>
<value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
<valuelist type="QVariantList" key="CustomOutputParsers"/>
<value type="int" key="PE.EnvironmentAspect.Base">2</value>
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
<value type="bool" key="PE.EnvironmentAspect.PrintOnRun">false</value>
<value type="QString" key="PerfRecordArgsId">-e cpu-cycles --call-graph &quot;dwarf,4096&quot; -F 250</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">lib\Vermasseln.py</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">PythonEditor.RunConfiguration.C:/Users/gatze/Desktop/pyqcrm/lib/Vermasseln.py</value>
<value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey">C:/Users/gatze/Desktop/pyqcrm/lib/Vermasseln.py</value>
<value type="bool" key="ProjectExplorer.RunConfiguration.Customized">true</value>
<value type="QString" key="PythonEditor.RunConfiguation.Script">C:\Users\gatze\Desktop\pyqcrm\lib\Vermasseln.py</value>
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
<value type="QString" key="RunConfiguration.WorkingDirectory.default">C:/Users/gatze/Desktop/pyqcrm/lib</value>
</valuemap>
<value type="qlonglong" key="ProjectExplorer.Target.RunConfigurationCount">2</value>
</valuemap>
</data>
<data>
<variable>ProjectExplorer.Project.TargetCount</variable>
<value type="qlonglong">2</value>
</data>
<data>
<variable>ProjectExplorer.Project.Updater.FileVersion</variable>
<value type="int">22</value>
</data>
<data>
<variable>Version</variable>
<value type="int">22</value>
</data>
</qtcreator>