0
0
mirror of https://github.com/fralx/LimeReport.git synced 2025-10-09 05:57:14 +03:00

Finish 1.4.122

# Conflicts:
#	limereport/lrdatasourcemanager.cpp
#	limereport/lrreportdesignwindow.cpp
#	limereport/lrreportengine.cpp
This commit is contained in:
Arin Alexander
2019-01-31 21:07:39 +03:00
7 changed files with 39 additions and 17 deletions

View File

@@ -224,7 +224,8 @@ void DataSourceModel::updateModel()
}
DataSourceManager::DataSourceManager(QObject *parent) :
QObject(parent), m_lastError(""), m_designTime(false), m_needUpdate(false), m_dbCredentialsProvider(0)
QObject(parent), m_lastError(""), m_designTime(false), m_needUpdate(false),
m_dbCredentialsProvider(0), m_hasChanges(false)
{
m_groupFunctionFactory.registerFunctionCreator(QLatin1String("COUNT"),new ConstructorGroupFunctionCreator<CountGroupFunction>);
m_groupFunctionFactory.registerFunctionCreator(QLatin1String("SUM"),new ConstructorGroupFunctionCreator<SumGroupFunction>);
@@ -238,11 +239,11 @@ DataSourceManager::DataSourceManager(QObject *parent) :
m_datasourcesModel.setDataSourceManager(this);
connect(&m_reportVariables, SIGNAL(variableHasBeenAdded(QString)),
this, SLOT(slotVariableHasBeenAdded(QString)) );
this, SLOT(slotVariableHasBeenAdded(QString)));
connect(&m_reportVariables, SIGNAL(variableHasBeenChanged(QString)),
this, SLOT(slotVariableHasBeenChanged(QString)));
connect(&m_userVariables, SIGNAL(variableHasBeenAdded(QString)),
this, SLOT(slotVariableHasBeenAdded(QString)) );
this, SLOT(slotVariableHasBeenAdded(QString)));
connect(&m_userVariables, SIGNAL(variableHasBeenChanged(QString)),
this, SLOT(slotVariableHasBeenChanged(QString)));
@@ -508,6 +509,7 @@ void DataSourceManager::addQuery(const QString &name, const QString &sqlText, co
QueryDesc *queryDecs = new QueryDesc(name,sqlText,connectionName);
putQueryDesc(queryDecs);
putHolder(name,new QueryHolder(sqlText, connectionName, this));
m_hasChanges = true;
emit datasourcesChanged();
}
@@ -516,6 +518,7 @@ void DataSourceManager::addSubQuery(const QString &name, const QString &sqlText,
SubQueryDesc *subQueryDesc = new SubQueryDesc(name.toLower(),sqlText,connectionName,masterDatasource);
putSubQueryDesc(subQueryDesc);
putHolder(name,new SubQueryHolder(sqlText, connectionName, masterDatasource, this));
m_hasChanges = true;
emit datasourcesChanged();
}
@@ -530,6 +533,7 @@ void DataSourceManager::addProxy(const QString &name, QString master, QString de
}
putProxyDesc(proxyDesc);
putHolder(name,new ProxyHolder(proxyDesc, this));
m_hasChanges = true;
emit datasourcesChanged();
}
@@ -652,6 +656,7 @@ void DataSourceManager::removeDatasource(const QString &name)
delete m_proxies.at(proxyIndex);
m_proxies.removeAt(proxyIndex);
}
m_hasChanges = true;
emit datasourcesChanged();
}
@@ -672,6 +677,7 @@ void DataSourceManager::removeConnection(const QString &connectionName)
cit++;
}
}
m_hasChanges = true;
emit datasourcesChanged();
}
@@ -680,6 +686,7 @@ void DataSourceManager::addConnectionDesc(ConnectionDesc * connection)
if (!isConnection(connection->name())) {
connect(connection,SIGNAL(nameChanged(QString,QString)),this,SLOT(slotConnectionRenamed(QString,QString)));
m_connections.append(connection);
m_hasChanges = true;
if (connection->autoconnect()){
try{
connectConnection(connection);
@@ -1034,6 +1041,7 @@ QStringList DataSourceManager::fieldNames(const QString &datasourceName)
void DataSourceManager::addConnection(const QString &connectionName)
{
addConnectionDesc(new ConnectionDesc(QSqlDatabase::database(connectionName)));
m_hasChanges = true;
emit datasourcesChanged();
}
@@ -1213,8 +1221,10 @@ void DataSourceManager::deleteVariable(const QString& name)
m_userVariables.deleteVariable(name);
if (m_reportVariables.containsVariable(name)&&m_reportVariables.variableType(name)==VarDesc::Report){
m_reportVariables.deleteVariable(name);
if (designTime())
emit datasourcesChanged();
if (designTime()){
m_hasChanges = true;
emit datasourcesChanged();
}
}
}
@@ -1291,14 +1301,16 @@ void DataSourceManager::invalidateQueriesContainsVariable(const QString& variabl
void DataSourceManager::slotVariableHasBeenAdded(const QString& variableName)
{
//qDebug()<< "variable has been added"<< variableName;
invalidateQueriesContainsVariable(variableName);
if (variableType(variableName) == VarDesc::Report)
m_hasChanges = true;
}
void DataSourceManager::slotVariableHasBeenChanged(const QString& variableName)
{
//qDebug()<< "variable has been changed"<< variableName;
invalidateQueriesContainsVariable(variableName);
if (variableType(variableName) == VarDesc::Report)
m_hasChanges = true;
}
void DataSourceManager::clear(ClearMethod method)