109 lines
2.2 KiB
C++
Executable File
109 lines
2.2 KiB
C++
Executable File
#pragma once
|
|
|
|
#include "LoginWnd.h"
|
|
#include "DataModel.h"
|
|
#include "AddModel.h"
|
|
|
|
#include <QSqlDatabase>
|
|
#include <QList>
|
|
#include <QModelIndex>
|
|
|
|
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<QModelIndex> &selectedRows, DataModel* dataModel);
|
|
|
|
signals:
|
|
void signalDeleteLinesResult(Query*,int, const QString &, const QList<QModelIndex> &);
|
|
|
|
|
|
// 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);
|
|
|
|
};
|