mirror of
https://github.com/fralx/LimeReport.git
synced 2024-12-24 08:34:38 +03:00
Fix re-enabling subdetail checkbox #109
This commit is contained in:
parent
16a5da084a
commit
c32281fb79
@ -122,6 +122,7 @@ signals:
|
||||
void onLoad(bool& loaded);
|
||||
void onSave();
|
||||
void saveFinished();
|
||||
void loaded();
|
||||
void getAviableLanguages(QList<QLocale::Language>* languages);
|
||||
void currentDefaulLanguageChanged(QLocale::Language);
|
||||
QLocale::Language getCurrentDefaultLanguage();
|
||||
|
@ -96,31 +96,10 @@ void DataBrowser::slotAddConnection()
|
||||
void DataBrowser::slotSQLEditingFinished(SQLEditResult result)
|
||||
{
|
||||
if (result.dialogMode==SQLEditDialog::AddMode) {
|
||||
switch (result.resultMode) {
|
||||
case SQLEditResult::Query:
|
||||
addQuery(result);
|
||||
break;
|
||||
case SQLEditResult::SubQuery:
|
||||
addSubQuery(result);
|
||||
break;
|
||||
case SQLEditResult::SubProxy:
|
||||
addProxy(result);
|
||||
default:
|
||||
break;
|
||||
}
|
||||
addDatasource(result);
|
||||
} else {
|
||||
switch(result.resultMode){
|
||||
case SQLEditResult::Query:
|
||||
changeQuery(result);
|
||||
break;
|
||||
case SQLEditResult::SubQuery:
|
||||
changeSubQuery(result);
|
||||
break;
|
||||
case SQLEditResult::SubProxy:
|
||||
changeProxy(result);
|
||||
}
|
||||
applyChanges(result);
|
||||
}
|
||||
|
||||
updateDataTree();
|
||||
}
|
||||
|
||||
@ -661,6 +640,50 @@ void DataBrowser::changeProxy(SQLEditResult result)
|
||||
}
|
||||
}
|
||||
|
||||
SQLEditResult::ResultMode DataBrowser::currentDatasourceType(const QString& datasourceName)
|
||||
{
|
||||
if (m_report->dataManager()->isQuery(datasourceName)) return SQLEditResult::Query;
|
||||
if (m_report->dataManager()->isSubQuery(datasourceName)) return SQLEditResult::SubQuery;
|
||||
if (m_report->dataManager()->isProxy(datasourceName)) return SQLEditResult::SubProxy;
|
||||
return SQLEditResult::Undefined;
|
||||
}
|
||||
|
||||
|
||||
void DataBrowser::applyChanges(SQLEditResult result)
|
||||
{
|
||||
if (result.resultMode == currentDatasourceType(result.datasourceName)){
|
||||
switch(result.resultMode){
|
||||
case SQLEditResult::Query:
|
||||
changeQuery(result);
|
||||
break;
|
||||
case SQLEditResult::SubQuery:
|
||||
changeSubQuery(result);
|
||||
break;
|
||||
case SQLEditResult::SubProxy:
|
||||
changeProxy(result);
|
||||
}
|
||||
} else {
|
||||
removeDatasource(result.datasourceName);
|
||||
addDatasource(result);
|
||||
}
|
||||
}
|
||||
|
||||
void DataBrowser::addDatasource(SQLEditResult result)
|
||||
{
|
||||
switch (result.resultMode) {
|
||||
case SQLEditResult::Query:
|
||||
addQuery(result);
|
||||
break;
|
||||
case SQLEditResult::SubQuery:
|
||||
addSubQuery(result);
|
||||
break;
|
||||
case SQLEditResult::SubProxy:
|
||||
addProxy(result);
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void DataBrowser::addConnectionDesc(ConnectionDesc *connection)
|
||||
{
|
||||
m_report->dataManager()->addConnectionDesc(connection);
|
||||
|
@ -106,6 +106,11 @@ private:
|
||||
void addProxy(SQLEditResult result);
|
||||
void changeProxy(SQLEditResult result);
|
||||
|
||||
|
||||
SQLEditResult::ResultMode currentDatasourceType(const QString& datasourceName);
|
||||
void applyChanges(SQLEditResult result);
|
||||
void addDatasource(SQLEditResult result);
|
||||
|
||||
void addConnectionDesc(ConnectionDesc *connection);
|
||||
void changeConnectionDesc(ConnectionDesc *connection);
|
||||
bool checkConnectionDesc(ConnectionDesc *connection);
|
||||
|
@ -179,7 +179,7 @@ void SQLEditDialog::setDataSources(LimeReport::DataSourceManager *dataSources, Q
|
||||
{
|
||||
m_datasources=dataSources;
|
||||
if (!datasourceName.isEmpty()){
|
||||
ui->cbSubdetail->setEnabled(false);
|
||||
ui->cbSubdetail->setEnabled(true);
|
||||
initQueryMode();
|
||||
m_oldDatasourceName=datasourceName;
|
||||
ui->leDatasourceName->setText(datasourceName);
|
||||
@ -278,7 +278,6 @@ void SQLEditDialog::initSubQueryMode()
|
||||
ui->leMaster->setVisible(true);
|
||||
ui->leMaster->setEnabled(true);
|
||||
ui->lbMaster->setVisible(true);
|
||||
|
||||
}
|
||||
|
||||
void SQLEditDialog::initProxyMode()
|
||||
|
@ -95,7 +95,7 @@ private:
|
||||
};
|
||||
|
||||
struct SQLEditResult{
|
||||
enum ResultMode{Query,SubQuery,SubProxy};
|
||||
enum ResultMode{Query, SubQuery, SubProxy, Undefined};
|
||||
QString connectionName;
|
||||
QString datasourceName;
|
||||
QString oldDatasourceName;
|
||||
|
Loading…
Reference in New Issue
Block a user