mirror of
https://github.com/python-LimeReport/LimeReport.git
synced 2025-03-15 06:46:23 +03:00
DataBrowser shows application connection
This commit is contained in:
parent
ce3a905c55
commit
bf81d3f98c
@ -426,18 +426,58 @@ void DataBrowser::initConnections()
|
|||||||
{
|
{
|
||||||
ui->dataTree->clear();
|
ui->dataTree->clear();
|
||||||
QList<QTreeWidgetItem *>items;
|
QList<QTreeWidgetItem *>items;
|
||||||
|
|
||||||
|
QStringList connections = QSqlDatabase::connectionNames();
|
||||||
foreach(QString connectionName, m_report->dataManager()->connectionNames()){
|
foreach(QString connectionName, m_report->dataManager()->connectionNames()){
|
||||||
|
if (!connections.contains(connectionName,Qt::CaseInsensitive)){
|
||||||
|
connections.append(connectionName);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
qSort(connections);
|
||||||
|
foreach (QString connectionName, connections) {
|
||||||
QTreeWidgetItem *item=new QTreeWidgetItem(
|
QTreeWidgetItem *item=new QTreeWidgetItem(
|
||||||
ui->dataTree,
|
ui->dataTree,
|
||||||
QStringList(ConnectionDesc::connectionNameForUser(connectionName)),
|
QStringList(ConnectionDesc::connectionNameForUser(connectionName)),
|
||||||
DataBrowserTree::Connection
|
DataBrowserTree::Connection
|
||||||
);
|
);
|
||||||
|
if (!m_report->dataManager()->connectionNames().contains(ConnectionDesc::connectionNameForReport(connectionName), Qt::CaseInsensitive))
|
||||||
|
{
|
||||||
|
item->setIcon(0,QIcon(":/databrowser/images/database_connected"));
|
||||||
|
} else {
|
||||||
if (m_report->dataManager()->isConnectionConnected(connectionName))
|
if (m_report->dataManager()->isConnectionConnected(connectionName))
|
||||||
item->setIcon(0,QIcon(":/databrowser/images/database_connected"));
|
item->setIcon(0,QIcon(":/databrowser/images/database_connected"));
|
||||||
else
|
else
|
||||||
item->setIcon(0,QIcon(":/databrowser/images/database_disconnected"));
|
item->setIcon(0,QIcon(":/databrowser/images/database_disconnected"));
|
||||||
|
}
|
||||||
items.append(item);
|
items.append(item);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// foreach (QString connectionName, connections) {
|
||||||
|
// QTreeWidgetItem *item=new QTreeWidgetItem(
|
||||||
|
// ui->dataTree,
|
||||||
|
// QStringList(ConnectionDesc::connectionNameForUser(connectionName)),
|
||||||
|
// DataBrowserTree::Connection
|
||||||
|
// );
|
||||||
|
// item->setIcon(0,QIcon(":/databrowser/images/database_connected"));
|
||||||
|
// }
|
||||||
|
|
||||||
|
// connections = m_report->dataManager()->connectionNames();
|
||||||
|
// qSort(connections);
|
||||||
|
// foreach(QString connectionName,connectionName){
|
||||||
|
// if (!QSqlDatabase::contains(connectionName)){
|
||||||
|
// QTreeWidgetItem *item=new QTreeWidgetItem(
|
||||||
|
// ui->dataTree,
|
||||||
|
// QStringList(ConnectionDesc::connectionNameForUser(connectionName)),
|
||||||
|
// DataBrowserTree::Connection
|
||||||
|
// );
|
||||||
|
// if (m_report->dataManager()->isConnectionConnected(connectionName))
|
||||||
|
// item->setIcon(0,QIcon(":/databrowser/images/database_connected"));
|
||||||
|
// else
|
||||||
|
// item->setIcon(0,QIcon(":/databrowser/images/database_disconnected"));
|
||||||
|
// items.append(item);
|
||||||
|
// }
|
||||||
|
// }
|
||||||
ui->dataTree->insertTopLevelItems(0,items);
|
ui->dataTree->insertTopLevelItems(0,items);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -642,7 +682,8 @@ bool DataBrowser::checkConnectionDesc(ConnectionDesc *connection)
|
|||||||
|
|
||||||
bool DataBrowser::containsDefaultConnection()
|
bool DataBrowser::containsDefaultConnection()
|
||||||
{
|
{
|
||||||
bool result = m_report->dataManager()->connectionByName(QSqlDatabase::defaultConnection);
|
bool result = m_report->dataManager()->connectionByName(QSqlDatabase::defaultConnection) ||
|
||||||
|
QSqlDatabase::contains(QSqlDatabase::defaultConnection);
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -660,7 +701,7 @@ void DataBrowser::on_dataTree_currentItemChanged(QTreeWidgetItem *current, QTree
|
|||||||
{
|
{
|
||||||
Q_UNUSED(previous)
|
Q_UNUSED(previous)
|
||||||
if (current&&(current->type() == DataBrowserTree::Connection)) {
|
if (current&&(current->type() == DataBrowserTree::Connection)) {
|
||||||
ui->pbConnect->setEnabled(true);
|
bool internalConnection = m_report->dataManager()->connectionByName(ConnectionDesc::connectionNameForReport(current->text(0)));
|
||||||
if (m_report->dataManager()->isConnectionConnected(current->text(0))){
|
if (m_report->dataManager()->isConnectionConnected(current->text(0))){
|
||||||
ui->pbConnect->setIcon(QIcon(":/databrowser/images/plug-connect.png"));
|
ui->pbConnect->setIcon(QIcon(":/databrowser/images/plug-connect.png"));
|
||||||
} else {
|
} else {
|
||||||
@ -669,8 +710,9 @@ void DataBrowser::on_dataTree_currentItemChanged(QTreeWidgetItem *current, QTree
|
|||||||
ui->editDataSource->setEnabled(false);
|
ui->editDataSource->setEnabled(false);
|
||||||
ui->deleteDataSource->setEnabled(false);
|
ui->deleteDataSource->setEnabled(false);
|
||||||
ui->viewDataSource->setEnabled(false);
|
ui->viewDataSource->setEnabled(false);
|
||||||
ui->changeConnection->setEnabled(true);
|
ui->pbConnect->setEnabled(internalConnection);
|
||||||
ui->deleteConection->setEnabled(true);
|
ui->changeConnection->setEnabled(internalConnection);
|
||||||
|
ui->deleteConection->setEnabled(internalConnection);
|
||||||
ui->errorMessage->setDisabled(true);
|
ui->errorMessage->setDisabled(true);
|
||||||
} else {
|
} else {
|
||||||
ui->changeConnection->setEnabled(false);
|
ui->changeConnection->setEnabled(false);
|
||||||
|
Loading…
Reference in New Issue
Block a user