#pragma once #include "LoginWnd.h" #include "DataModel.h" #include "AddModel.h" #include #include #include class Query; class QueryWorker: public QObject { Q_OBJECT public: explicit QueryWorker(); ~QueryWorker(); void dy() { m_dy = true; } bool isIdle() const { return m_idle; } QAtomicInt m_dy; QAtomicInt m_idle; // dunno how to solve this atm private: QSqlDatabase m_sqlDB; QString selectQuery(const QString &queryString, DataModel *dataModel); //DataModel* model, ) QString executeQuery(int* affectedRows, const QString &queryString); QString valueToSqlString(const QVariant &val, const HeaderList &headerList, const int col); // NEW ARCH // Delete Lines public slots: void slotDeleteLines(Query* caller, const QList &selectedRows, DataModel* dataModel); signals: void signalDeleteLinesResult(Query*,int, const QString &, const QList &); // Custom Query public slots: void slotCustomQuery(Query* caller, const QString &queryString, DataModel* model); signals: void signalCustomQueryResult(Query*,const QString &); // Table Query public slots: void slotTableQuery(Query* caller, DataModel* model); signals: void signalTableQueryResult(Query*,const QString &); void signalSwapModelData(); // Add Lines public slots: void slotAddLines(Query* caller, AddModel* addModel); signals: void signalAddLinesResult(Query*,int, const QString &); // Set Data public slots: void slotSetData(Query* caller, DataModel*, const QModelIndex &, const QVariant &); signals: void signalSetDataResult(Query*,const QString &); void signalSetDataInModel(const QModelIndex &idx, const QVariant &data); public slots: void slotConnectIt(const LoginData &loginData); void slotGetTableList(); signals: void signalConnectResult(const QString &); void signalNewTableList(const QStringList &); //unused?void signalSelectQueryResult(QString errorMsg, DataModel* dataModel); void signalSelectQueryStatus(int percent); // 0 - 100 //unsued?void signalExecuteQueryResult(bool success, QString errorMsg, QVariant actualValue, QModelIndex onThisPosition); // take actual value as the new value set! void signalExecuteQueryStatus(int percent); };