mirror of
				https://github.com/fralx/LimeReport.git
				synced 2025-11-03 22:51:26 +03:00 
			
		
		
		
	Variables access has been fixed
This commit is contained in:
		@@ -45,6 +45,9 @@ QMimeData *DataBrowserTree::mimeData(const QList<QTreeWidgetItem *> items) const
 | 
			
		||||
    if (items.at(0)->type()==Variable){
 | 
			
		||||
        result->setText("variable:$V{"+items.at(0)->text(0)+"}");
 | 
			
		||||
    }
 | 
			
		||||
    if (items.at(0)->type()==ExternalVariable){
 | 
			
		||||
        result->setText("variable:$V{"+items.at(0)->text(0)+"}");
 | 
			
		||||
    }
 | 
			
		||||
    return result;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -208,6 +208,11 @@ void DataSourceModel::updateModel()
 | 
			
		||||
    foreach (QString name, m_dataManager->variableNames()){
 | 
			
		||||
        vars->addChild(name,DataNode::Variable,QIcon(":/report/images/value"));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    vars = m_rootNode->addChild(tr("External variables"),DataNode::Variables,QIcon(":/report/images/folder"));
 | 
			
		||||
    foreach (QString name, m_dataManager->namesOfUserVariables()){
 | 
			
		||||
        vars->addChild(name,DataNode::Variable,QIcon(":/report/images/value"));
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
DataSourceManager::DataSourceManager(QObject *parent) :
 | 
			
		||||
@@ -1217,8 +1222,9 @@ QVariant DataSourceManager::variable(const QString &variableName)
 | 
			
		||||
 | 
			
		||||
RenderPass DataSourceManager::variablePass(const QString &name)
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
    return (m_reportVariables.variablePass(name)==FirstPass)?FirstPass:SecondPass;
 | 
			
		||||
    if (m_userVariables.containsVariable(name))
 | 
			
		||||
        return m_userVariables.variablePass(name);
 | 
			
		||||
    return m_reportVariables.variablePass(name);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
bool DataSourceManager::variableIsSystem(const QString &name)
 | 
			
		||||
 
 | 
			
		||||
@@ -172,6 +172,7 @@ QString ContentItemDesignIntf::expandUserVariables(QString context, RenderPass p
 | 
			
		||||
            QString variable=rx.cap(1);
 | 
			
		||||
            pos += rx.matchedLength();
 | 
			
		||||
            if (dataManager->containsVariable(variable) ){
 | 
			
		||||
                try {
 | 
			
		||||
                    if (pass==dataManager->variablePass(variable)){
 | 
			
		||||
                        m_varValue = dataManager->variable(variable);
 | 
			
		||||
                        switch (expandType){
 | 
			
		||||
@@ -187,6 +188,13 @@ QString ContentItemDesignIntf::expandUserVariables(QString context, RenderPass p
 | 
			
		||||
                        }
 | 
			
		||||
                        pos=0;
 | 
			
		||||
                    }
 | 
			
		||||
                } catch (ReportError e){
 | 
			
		||||
                    dataManager->putError(e.what());
 | 
			
		||||
                    if (!reportSettings() || reportSettings()->suppressAbsentFieldsAndVarsWarnings())
 | 
			
		||||
                        context.replace(rx.cap(0),e.what());
 | 
			
		||||
                    else
 | 
			
		||||
                        context.replace(rx.cap(0),"");
 | 
			
		||||
                }
 | 
			
		||||
            } else {
 | 
			
		||||
                QString error;
 | 
			
		||||
                error = tr("Variable %1 not found").arg(variable);
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user