From 4ebde50b684d0c68c918ad2fc49b8a59ef8a4238 Mon Sep 17 00:00:00 2001 From: Hamed Masafi Date: Tue, 9 Jan 2018 13:27:31 +0330 Subject: [PATCH] change log made metatype --- src/changelogtable.cpp | 2 +- src/changelogtable.h | 4 +++- src/database.cpp | 11 ++++++++--- src/database_p.h | 2 +- 4 files changed, 13 insertions(+), 6 deletions(-) diff --git a/src/changelogtable.cpp b/src/changelogtable.cpp index b66c4df..93e096c 100644 --- a/src/changelogtable.cpp +++ b/src/changelogtable.cpp @@ -22,7 +22,7 @@ NUT_BEGIN_NAMESPACE -ChangeLogTable::ChangeLogTable() +ChangeLogTable::ChangeLogTable(QObject *tableSet) : Table(tableSet) { diff --git a/src/changelogtable.h b/src/changelogtable.h index aa1f34d..23861f9 100644 --- a/src/changelogtable.h +++ b/src/changelogtable.h @@ -38,9 +38,11 @@ class ChangeLogTable : public Table NUT_DECLARE_FIELD(QString, version, version, setVersion) public: - ChangeLogTable(); + ChangeLogTable(QObject *tableSet = Q_NULLPTR); }; NUT_END_NAMESPACE +Q_DECLARE_METATYPE(Nut::ChangeLogTable*) + #endif // CHANGELOGTABLE_H diff --git a/src/database.cpp b/src/database.cpp index 40b7be7..6551903 100644 --- a/src/database.cpp +++ b/src/database.cpp @@ -39,6 +39,7 @@ #include "generators/sqlitegenerator.h" #include "generators/sqlservergenerator.h" #include "query.h" +#include "changelogtable.h" #include #include @@ -188,9 +189,10 @@ bool DatabasePrivate::getCurrectScheema() for (int i = 0; i < q->metaObject()->classInfoCount(); i++) { QMetaClassInfo ci = q->metaObject()->classInfo(i); - QString ciName - = QString(ci.name()).replace(__nut_NAME_PERFIX, "").replace("\"", - ""); + QString ciName = QString(ci.name()) + .replace(__nut_NAME_PERFIX, "") + .replace("\"", ""); + if (ciName.startsWith(__nut_TABLE)) tables.insert(ciName.split(" ").at(1), ci.value()); @@ -317,6 +319,7 @@ Database::Database(QObject *parent) : QObject(parent), d_ptr(new DatabasePrivate(this)) { DatabasePrivate::lastId++; + qRegisterMetaType(); } Database::Database(const Database &other) @@ -331,6 +334,7 @@ Database::Database(const Database &other) setDatabaseName(other.databaseName()); setUserName(other.userName()); setPassword(other.password()); + qRegisterMetaType(); } Database::Database(const QSqlDatabase &other) @@ -344,6 +348,7 @@ Database::Database(const QSqlDatabase &other) setDatabaseName(other.databaseName()); setUserName(other.userName()); setPassword(other.password()); + qRegisterMetaType(); } Database::~Database() diff --git a/src/database_p.h b/src/database_p.h index 17669bc..4a64be7 100644 --- a/src/database_p.h +++ b/src/database_p.h @@ -23,12 +23,12 @@ #include "database.h" #include "databasemodel.h" -#include "changelogtable.h" #include NUT_BEGIN_NAMESPACE +class ChangeLogTable; class DatabasePrivate { Database *q_ptr;