]> Johnzone git - UserSheets.git/commitdiff
small changes and todos... master
authorJohn Janus <j.janus@lighthouse-it.de>
Mon, 6 Mar 2017 16:10:00 +0000 (17:10 +0100)
committerJohn Janus <j.janus@lighthouse-it.de>
Mon, 6 Mar 2017 16:10:00 +0000 (17:10 +0100)
controller.cpp
humandatamodel.cpp
humandatamodel.h
main.qml

index 56767a2fcf4c614307f54cbc4e6d67600f7588e9..e29a42e18f82d3139166018b0cfdeddc8f533c88 100644 (file)
@@ -1,6 +1,7 @@
 #include "controller.h"
 #include <QDebug>
 #include <QQuickWindow>
+#include <QQmlProperty>
 #include "humandatamodel.h"
 
 Controller::Controller (DataBase* d, QObject* parent) :
@@ -22,8 +23,9 @@ Controller::Controller (DataBase* d, QObject* parent) :
   QObject::connect (qmlRoot, SIGNAL (openAddService() ),
                     this, SLOT (openAddService() ) );
   QObject* humanslist = qmlRoot->findChild<QObject*> ("humanslist");
+  QVariant model = QQmlProperty::read (humanslist, "model");
 
-  QObject::connect (db, SIGNAL (humanChanged() ), humanslist, SLOT (dataChanged() ) );
+  QObject::connect (db, SIGNAL (humanChanged() ), humanslist, SLOT (forceLayout () ) );
 
 }
 
@@ -31,7 +33,7 @@ Controller::Controller (DataBase* d, QObject* parent) :
 void Controller::openAddHuman()
 {
   QQmlComponent component (engine, QUrl (QStringLiteral ("qrc:/addhuman.qml") ), QQmlComponent::PreferSynchronous,
-                           engine->rootObjects().first() );
+                           qmlRoot );
 
   if (component.isReady() ) {
     QObject* dialog = component.create();
@@ -50,7 +52,7 @@ void Controller::openAddHuman()
 void Controller::openAddService()
 {
   QQmlComponent component (engine, QUrl (QStringLiteral ("qrc:/addservice.qml") ), QQmlComponent::PreferSynchronous,
-                           engine->rootObjects().first() );
+                           qmlRoot );
 
   if (component.isReady() ) {
     QObject* dialog = component.create();
index 1879f67d4011571ea59244c4cce1933ab1d0ea69..21c13096f48509c74eb815f2ef94f6d293dca98a 100644 (file)
@@ -40,3 +40,15 @@ QVariant HumanDataModel::data (const QModelIndex& index, int role) const
   }
   return data;
 }
+
+bool HumanDataModel::setData (const QModelIndex& index, const QVariant& value, int role)
+{
+  QSqlQueryModel::setData(index, value,role);
+  emit dataChanged(index, index);
+  return true;
+}
+
+Qt::ItemFlags HumanDataModel::flags(const QModelIndex& index) const
+{
+
+}
index c86353a7e406aca43b400ceeaf8d289bdbbd41e8..3daa8c7fcf737c6ea0814311327a69f0513b9dc4 100644 (file)
@@ -6,7 +6,7 @@
 #include <QHash>
 #include "logging.h"
 
-
+// Use QSqlTableModel for human and service tables and QSqlRelationalTableModel for user
 class HumanDataModel : public QSqlQueryModel
 {
 public:
@@ -15,6 +15,8 @@ public:
 
   QHash<int, QByteArray> roleNames() const;
   QVariant data (const QModelIndex& model, int role) const;
+  bool setData (const QModelIndex& index, const QVariant& value, int role = Qt::EditRole);
+  Qt::ItemFlags flags (const QModelIndex& index) const;
 };
 
 #endif // HUMANDATAMODEL_H
index e14dba3357cf8880a205e6ff5d359814d07891a1..3e9a5ce46b2b373c752feb47563074d2d1d1571d 100644 (file)
--- a/main.qml
+++ b/main.qml
@@ -29,20 +29,23 @@ ApplicationWindow {
     }
   }
 
+  Button {
+    id: btnaddservice
+//    anchors.left: btnaddhuman.right
+    anchors.bottom: parent.bottom
+    anchors.right: parent.right
+    text: qsTr("Add Service")
+    onClicked: openAddService()
+  }
+
   Button {
     id: btnaddhuman
-    anchors.left: parent.left
     anchors.bottom: parent.bottom
+    anchors.right: btnaddservice.left
     visible: true
     text: qsTr("Add Human")
     onClicked: openAddHuman()
   }
 
-  Button {
-    id: btnaddservice
-    anchors.left: btnaddhuman.right
-    anchors.bottom: parent.bottom
-    text: qsTr("Add Service")
-    onClicked: openAddService()
-  }
+
 }