From 1907485152a9cf2d7b47ae63436da162afd60769ff3fd467c29958f6a6acbdce Mon Sep 17 00:00:00 2001 From: Marco Gatzen Date: Wed, 6 Nov 2024 17:04:50 +0100 Subject: [PATCH] customertable --- gui/CustomerTables.qml | 181 +++++++++++++++++++++++++++++++++++++++++ gui/SearchBar.qml | 9 +- gui/Tables.qml | 11 --- gui/TopBar.qml | 2 +- gui/main.qml | 2 +- gui/test.qml | 119 +++++++++++++++++++++++++++ pyqcrm.pyproject | 5 +- 7 files changed, 310 insertions(+), 19 deletions(-) create mode 100644 gui/CustomerTables.qml delete mode 100644 gui/Tables.qml create mode 100644 gui/test.qml diff --git a/gui/CustomerTables.qml b/gui/CustomerTables.qml new file mode 100644 index 0000000..d1653bb --- /dev/null +++ b/gui/CustomerTables.qml @@ -0,0 +1,181 @@ +import QtQuick +import QtQuick.Layouts +import QtQuick.Controls +import Qt.labs.qmlmodels + + +Item { + + + + SearchBar + { + id:searchBar + anchors.margins: 9 + } + + ColumnLayout + { + // SearchBar + // { + // id:searchBar + // anchors.margins: 9 + // } + anchors + { + + top: searchBar.bottom + bottom: parent.bottom + left: parent.left + right: parent.right + + } + RowLayout + { + // Layout.fillHeight: true + // Layout.fillWidth: true + + + RadioButton + { + + checked: true + text: qsTr("Alle") + } + RadioButton + { + + text: qsTr("Interessent") + } + RadioButton + { + + text: qsTr("Kunden") + } + RadioButton + { + + text: qsTr("Erledigt") + } + } + TableView { + id: testTable + Layout.fillHeight: true + Layout.fillWidth: true + columnSpacing: 10 + rowSpacing: 2 + + + model: TableModel { + TableModelColumn { display: "checked" } + TableModelColumn { display: "amount" } + TableModelColumn { display: "fruitType" } + TableModelColumn { display: "fruitName" } + TableModelColumn { display: "fruitPrice" } + + + rows: [ + { + checked: "checked", + amount: "amount", + fruitType: "Fruittype", + fruitName: "fruitName", + fruitPrice: "Price" + }, + { + checked: true, + amount: 2, + fruitType: "Fruittype", + fruitName: "blabla", + fruitPrice: 1.50 + }, + + { + + checked: true, + amount: 1, + fruitType: "Apple", + fruitName: "Granny Smith", + fruitPrice: 1.50 + }, + { + checked: "true", + amount: 4, + fruitType: "Orange", + fruitName: "Navel", + fruitPrice: 2.50 + }, + { + checked: "false", + amount: 1, + fruitType: "Banana", + fruitName: "Cavendish", + fruitPrice: 3.50 + } + ] + + } + + delegate: DelegateChooser { + + DelegateChoice { + column: 0 + delegate: Text { + + text: model.display + //selectByMouse: true + //implicitWidth: 140 + //onVisibleChanged: model.display = "checked" + } + } + DelegateChoice { + column: 1 + delegate: Text { + + text: model.display + //selectByMouse: true + //implicitWidth: 140 + //onVisibleChanged: model.display = "amount" + //onLinkHovered: model.display = checked + } + } + DelegateChoice { + column: 2 + delegate: Text { + + text: model.display + //selectByMouse: true + //implicitWidth: 140 + //model.display : "fruitType" + } + } + DelegateChoice { + column: 3 + delegate: Text { + + text: model.display + //selectByMouse: true + //implicitWidth: 140 + //onVisibleChanged: model.display = "fruitName" + } + } + DelegateChoice { + column: 4 + delegate: Text { + + text: model.display + //selectByMouse: true + //implicitWidth: 140 + //onVisibleChanged: model.display = "fruitPrice" + } + } + } } + + Item { + Layout.fillHeight: true + Layout.fillWidth: true + } +} +} + + diff --git a/gui/SearchBar.qml b/gui/SearchBar.qml index 63ae171..2eddb5e 100644 --- a/gui/SearchBar.qml +++ b/gui/SearchBar.qml @@ -4,10 +4,11 @@ import QtQuick.Controls Item { - + id: searchBar + height: 30 TextField { - id: searchBar + id: searchField placeholderText: qsTr("Suche") leftPadding: 3 rightPadding: 3 @@ -32,8 +33,8 @@ Item { icon.source: "../images/filter.svg" icon.color: "olive" - anchors.left: searchBar.right - height: searchBar.height + anchors.left: searchField.right + height: searchField.height flat: true } diff --git a/gui/Tables.qml b/gui/Tables.qml deleted file mode 100644 index 134223b..0000000 --- a/gui/Tables.qml +++ /dev/null @@ -1,11 +0,0 @@ -import QtQuick - -Item -{ - - SearchBar - { - id:searchBar - anchors.margins: 9 - } -} diff --git a/gui/TopBar.qml b/gui/TopBar.qml index 8fa12c4..02861d8 100644 --- a/gui/TopBar.qml +++ b/gui/TopBar.qml @@ -43,7 +43,7 @@ import QtQuick.Layouts implicitWidth: kunden.implicitContentWidth + 10 onClicked: { - appLoader.source = "Tables.qml" + appLoader.source = "CustomerTables.qml" } } diff --git a/gui/main.qml b/gui/main.qml index 5a7ea92..2abab12 100644 --- a/gui/main.qml +++ b/gui/main.qml @@ -44,7 +44,7 @@ ApplicationWindow } - source: bad_config? "firststart.qml": "Dashboard.qml" + source: bad_config? "firststart.qml": "test.qml" property alias window: appWindow } diff --git a/gui/test.qml b/gui/test.qml new file mode 100644 index 0000000..3d97b7c --- /dev/null +++ b/gui/test.qml @@ -0,0 +1,119 @@ +import QtQuick +import QtQuick.Controls +import Qt.labs.qmlmodels + + + + TableView { + id: testTable + anchors.fill: parent + columnSpacing: 10 + rowSpacing: 2 + //boundsBehavior: Flickable.StopAtBounds + + model: TableModel { + TableModelColumn { display: "checked" } + TableModelColumn { display: "amount" } + TableModelColumn { display: "fruitType" } + TableModelColumn { display: "fruitName" } + TableModelColumn { display: "fruitPrice" } + + + rows: [ + { + checked: "checked", + amount: "amount", + fruitType: "Fruittype", + fruitName: "fruitName", + fruitPrice: "Price" + }, + { + checked: true, + amount: 2, + fruitType: "Fruittype", + fruitName: "blabla", + fruitPrice: 1.50 + }, + + { + + checked: true, + amount: 1, + fruitType: "Apple", + fruitName: "Granny Smith", + fruitPrice: 1.50 + }, + { + checked: "true", + amount: 4, + fruitType: "Orange", + fruitName: "Navel", + fruitPrice: 2.50 + }, + { + checked: "false", + amount: 1, + fruitType: "Banana", + fruitName: "Cavendish", + fruitPrice: 3.50 + } + ] + + } + + delegate: DelegateChooser { + + DelegateChoice { + column: 0 + delegate: Text { + + text: model.display + //selectByMouse: true + //implicitWidth: 140 + //onVisibleChanged: model.display = "checked" + } + } + DelegateChoice { + column: 1 + delegate: Text { + + text: model.display + //selectByMouse: true + //implicitWidth: 140 + //onVisibleChanged: model.display = "amount" + //onLinkHovered: model.display = checked + } + } + DelegateChoice { + column: 2 + delegate: Text { + + text: model.display + //selectByMouse: true + //implicitWidth: 140 + //model.display : "fruitType" + } + } + DelegateChoice { + column: 3 + delegate: Text { + + text: model.display + //selectByMouse: true + //implicitWidth: 140 + //onVisibleChanged: model.display = "fruitName" + } + } + DelegateChoice { + column: 4 + delegate: Text { + + text: model.display + //selectByMouse: true + //implicitWidth: 140 + //onVisibleChanged: model.display = "fruitPrice" + } + } + } + } + diff --git a/pyqcrm.pyproject b/pyqcrm.pyproject index 8cc2db0..dda5c63 100644 --- a/pyqcrm.pyproject +++ b/pyqcrm.pyproject @@ -9,7 +9,8 @@ "js/qmldict.js", "lib/Vermasseln.py", "gui/TopBar.qml", - "gui/Tables.qml", - "gui/SearchBar.qml" + "gui/CustomerTables.qml", + "gui/SearchBar.qml", + "gui/test.qml" ] }