Skip to content

Commit e050238

Browse files
committed
Database: add test connect
1 parent 7bd1293 commit e050238

3 files changed

Lines changed: 58 additions & 8 deletions

File tree

Src/Database/ParameterDatabaseUI.cpp

Lines changed: 25 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,15 @@
1414
#include "ParameterDatabaseUI.h"
1515
#include "ui_ParameterDatabaseUI.h"
1616
#include "ParameterGlobal.h"
17+
#include "Database.h"
1718

1819
static Q_LOGGING_CATEGORY(log, "Para.Database.UI")
1920
CParameterDatabaseUI::CParameterDatabaseUI(QWidget *parent)
2021
: CParameterUI(parent)
2122
, ui(new Ui::CParameterDatabaseUI)
2223
, m_pParaDB(nullptr)
2324
, m_pParaGlobal(nullptr)
25+
, m_Net(nullptr)
2426
{
2527
bool check = false;
2628
ui->setupUi(this);
@@ -55,8 +57,9 @@ int CParameterDatabaseUI::SetParameter(CParameter *pParameter)
5557

5658
m_pParaDB = &m_pParaGlobal->m_Database;
5759
if(!m_pParaDB) return -1;
58-
59-
ui->wNet->SetParameter(&m_pParaDB->m_Net);
60+
61+
m_Net = m_pParaDB->m_Net;
62+
ui->wNet->SetParameter(&m_Net);
6063

6164
ui->cbType->setCurrentText(m_pParaDB->GetType());
6265
ui->leDatabaseName->setText(m_pParaDB->GetDatabaseName());
@@ -106,6 +109,7 @@ bool CParameterDatabaseUI::CheckValidity(bool validity)
106109
int CParameterDatabaseUI::Accept()
107110
{
108111
ui->wNet->Accept();
112+
m_pParaDB->m_Net = m_Net;
109113
m_pParaDB->SetType(ui->cbType->currentText());
110114

111115
m_pParaDB->SetDatabaseName(ui->leDatabaseName->text());
@@ -188,3 +192,22 @@ void CParameterDatabaseUI::on_rbSaveSettingsToDatabase_toggled(bool checked)
188192
{
189193
ui->lbDatabaseWarn->setVisible(checked);
190194
}
195+
196+
void CParameterDatabaseUI::on_pbTestConnect_clicked()
197+
{
198+
CParameterDatabase dbPara;
199+
dbPara.SetType(ui->cbType->currentText());
200+
dbPara.SetDatabaseName(ui->leDatabaseName->text());
201+
dbPara.SetOptions(ui->leOptions->text());
202+
if(!CheckValidity(true))
203+
return;
204+
ui->wNet->Accept();
205+
dbPara.m_Net = m_Net;
206+
CDatabase db;
207+
if(db.OpenDatabase(&dbPara))
208+
QMessageBox::information(this, tr("Test connect"), tr("Test connect is successfully"));
209+
else
210+
QMessageBox::critical(this, tr("Test connect"), tr("Test connect is failed"));
211+
db.CloseDatabase();
212+
}
213+

Src/Database/ParameterDatabaseUI.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,11 @@ private slots:
2828

2929
void on_rbSaveSettingsToDatabase_toggled(bool checked);
3030

31+
void on_pbTestConnect_clicked();
32+
3133
private:
3234
Ui::CParameterDatabaseUI *ui;
3335
CParameterDatabase* m_pParaDB;
3436
CParameterGlobal* m_pParaGlobal;
37+
CParameterNet m_Net;
3538
};

Src/Database/ParameterDatabaseUI.ui

Lines changed: 30 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
<string>Form</string>
1515
</property>
1616
<layout class="QGridLayout" name="gridLayout">
17-
<item row="0" column="0" colspan="2">
17+
<item row="0" column="0">
1818
<widget class="QLabel" name="label_4">
1919
<property name="text">
2020
<string>The setting will take effect only after restarting the program.</string>
@@ -45,7 +45,7 @@
4545
</item>
4646
</layout>
4747
</item>
48-
<item row="2" column="0" colspan="2">
48+
<item row="2" column="0">
4949
<layout class="QHBoxLayout" name="horizontalLayout_2">
5050
<item>
5151
<widget class="QLabel" name="label_2">
@@ -66,7 +66,7 @@
6666
</item>
6767
</layout>
6868
</item>
69-
<item row="3" column="0" colspan="2">
69+
<item row="3" column="0">
7070
<widget class="CParameterNetUI" name="wNet" native="true"/>
7171
</item>
7272
<item row="4" column="0">
@@ -83,7 +83,31 @@
8383
</item>
8484
</layout>
8585
</item>
86-
<item row="5" column="0" colspan="2">
86+
<item row="5" column="0">
87+
<layout class="QHBoxLayout" name="horizontalLayout_5">
88+
<item>
89+
<spacer name="horizontalSpacer">
90+
<property name="orientation">
91+
<enum>Qt::Orientation::Horizontal</enum>
92+
</property>
93+
<property name="sizeHint" stdset="0">
94+
<size>
95+
<width>40</width>
96+
<height>20</height>
97+
</size>
98+
</property>
99+
</spacer>
100+
</item>
101+
<item>
102+
<widget class="QPushButton" name="pbTestConnect">
103+
<property name="text">
104+
<string>Test connect</string>
105+
</property>
106+
</widget>
107+
</item>
108+
</layout>
109+
</item>
110+
<item row="6" column="0">
87111
<widget class="QGroupBox" name="groupBox_3">
88112
<property name="sizePolicy">
89113
<sizepolicy hsizetype="Preferred" vsizetype="Expanding">
@@ -116,7 +140,7 @@
116140
<item row="1" column="0">
117141
<widget class="QLabel" name="lbDatabaseWarn">
118142
<property name="text">
119-
<string>Note: Please ensure that the database you want to access is secure. Otherwise, information such as recent lists and favorites may be leaked.</string>
143+
<string>Warn: Please ensure that the database you want to access is secure. Otherwise, information such as recent lists and favorites may be leaked.</string>
120144
</property>
121145
<property name="wordWrap">
122146
<bool>true</bool>
@@ -126,7 +150,7 @@
126150
</layout>
127151
</widget>
128152
</item>
129-
<item row="6" column="0">
153+
<item row="7" column="0">
130154
<spacer name="verticalSpacer">
131155
<property name="orientation">
132156
<enum>Qt::Orientation::Vertical</enum>

0 commit comments

Comments
 (0)