From bb45a1a1ac78e76f9594cd61079a4086b21b4e38 Mon Sep 17 00:00:00 2001 From: duanshengchao <519970194@qq.com> Date: Mon, 26 May 2025 16:58:56 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=A0=E9=99=A4connInfoEditDialog=E7=9B=B8?= =?UTF-8?q?=E5=85=B3=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- include/connInfoEditDialog.h | 48 ---- source/connInfoEditDialog.cpp | 128 ---------- ui/connInfoEditDialog.ui | 468 ---------------------------------- 3 files changed, 644 deletions(-) delete mode 100644 include/connInfoEditDialog.h delete mode 100644 source/connInfoEditDialog.cpp delete mode 100644 ui/connInfoEditDialog.ui diff --git a/include/connInfoEditDialog.h b/include/connInfoEditDialog.h deleted file mode 100644 index 30b3f8a..0000000 --- a/include/connInfoEditDialog.h +++ /dev/null @@ -1,48 +0,0 @@ -#ifndef CONNINFOEDITIALOG_H -#define CONNINFOEDITIALOG_H - -#include "global.h" -#include - -QT_BEGIN_NAMESPACE -namespace Ui { -class ConnInfoEditDialog; -} -QT_END_NAMESPACE - -class MainWindow; -class MaskLayer; -class CustomBorderContainer; - -class ConnInfoEditDialog : public QDialog -{ - Q_OBJECT - -public: - ConnInfoEditDialog(QWidget *parent = nullptr); - ~ConnInfoEditDialog(); - - void setMainWindow(MainWindow* w){m_pMainWindow = w;} - void setErrorInfo(const QString&); - void clearErrorInfo(); - void loadConnInfo(const QString&); - - Q_INVOKABLE void showMask(); - Q_INVOKABLE void hideMask(); - -private: - void initialize(); - - Ui::ConnInfoEditDialog *ui; - MaskLayer* m_pMaskLayer; - MainWindow* m_pMainWindow; - CustomBorderContainer* m_customBorderContainer; - QString m_connID; - -public slots: - void onBtnClicked_save(); - void onBtnClicked_cancle(); - void onComboxChanged_dbType(const QString&); -}; - -#endif //CONNINFOEDITIALOG_H diff --git a/source/connInfoEditDialog.cpp b/source/connInfoEditDialog.cpp deleted file mode 100644 index 183fb94..0000000 --- a/source/connInfoEditDialog.cpp +++ /dev/null @@ -1,128 +0,0 @@ -#include "connInfoEditDialog.h" -#include "./ui_connInfoEditDialog.h" -#include "maskLayer.h" -#include "mainwindow.h" -#include "settings.h" -#include "customBorderContainer.h" - -ConnInfoEditDialog::ConnInfoEditDialog(QWidget *parent) - : QDialog(parent) - , ui(new Ui::ConnInfoEditDialog) - , m_pMainWindow(nullptr) -{ - ui->setupUi(this); - if(QSysInfo::kernelType() == "linux") - { - //Linux下默认的Qt::Dialog即使有父窗口也无法按照子窗口的行为进行展示,并且最大、最小按钮不好关闭,因此需要去掉Dialog属性,随之而来的问题是,模态无法起作用 - setWindowFlags(windowFlags() & ~Qt::Dialog); - setStyleSheet("QDialog{border: 1px solid rgb(205,205,205);border-radius:5px;background-color:rgb(245,245,245);}"); - - m_customBorderContainer = new CustomBorderContainer(this); - m_customBorderContainer->setOperationOptions(CustomBorderContainer::Movable | CustomBorderContainer::Resizable); - } - - initialize(); -} - -ConnInfoEditDialog::~ConnInfoEditDialog() -{ - delete ui; -} - -void ConnInfoEditDialog::initialize() -{ - m_connID = ""; - m_pMaskLayer = new MaskLayer(this); - - QIntValidator* validator = new QIntValidator(0, 9999, this); - ui->lineEdit_port->setValidator(validator); - ui->lineEdit_password->setEchoMode(QLineEdit::Password); - - connect(ui->btnSave, &QPushButton::clicked, this, &ConnInfoEditDialog::onBtnClicked_save); - connect(ui->btnCancle, &QPushButton::clicked, this, &ConnInfoEditDialog::onBtnClicked_cancle); - connect(ui->comboBox_dbType, &QComboBox::currentTextChanged, this, &ConnInfoEditDialog::onComboxChanged_dbType); -} - -void ConnInfoEditDialog::setErrorInfo(const QString& info) -{ - if(m_pMainWindow) - m_pMainWindow->showMessageDialog(type_warning, QString::fromWCharArray(L"错误"),info); - else - ui->label_error->setText(info); -} -void ConnInfoEditDialog::clearErrorInfo() -{ - if(m_pMainWindow) - m_pMainWindow->hideMessageDialog(); - else - ui->label_error->setText(""); -} - -void ConnInfoEditDialog::showMask() -{ - m_pMaskLayer->setGeometry(0, 0, this->width(), this->height()); - m_pMaskLayer->show(); -} -void ConnInfoEditDialog::hideMask() -{ - m_pMaskLayer->close(); -} - -void ConnInfoEditDialog::loadConnInfo(const QString& connID) -{ - DatabaseConfig config = Settings::instance().loadDatabaseConfig(connID); - ui->lineEdit_connection->setText(config.strConnectionName); - ui->lineEdit_hostName->setText(config.strHost); - ui->lineEdit_port->setText(QString::number(config.nPort)); - ui->lineEdit_userName->setText(config.strUserName); - ui->lineEdit_password->setText(config.strPassword); - ui->lineEdit_dbName->setText(config.strDBName); - if(config.strDBType == "QPSQL") - ui->comboBox_dbType->setCurrentText("PostgreSQL"); - else if(config.strDBType == "QMYSQL") - ui->comboBox_dbType->setCurrentText("MySQL"); - ui->plainTextEdit->setPlainText(config.strComment); - - m_connID = connID; -} - -void ConnInfoEditDialog::onBtnClicked_save() -{ - if(ui->lineEdit_connection->text() == "" || ui->lineEdit_hostName->text() == "" || ui->lineEdit_userName->text() == "" || - ui->lineEdit_password->text() == "" || ui->lineEdit_port->text() == "") - { - setErrorInfo(QString::fromWCharArray(L"除‘备注’外不能有其它信息为空")); - return; - } - - DatabaseConfig config; - config.strConnectionName = ui->lineEdit_connection->text(); - config.strHost = ui->lineEdit_hostName->text(); - config.nPort = ui->lineEdit_port->text().toInt(); - config.strUserName = ui->lineEdit_userName->text(); - config.strPassword = ui->lineEdit_password->text(); - config.strDBName = ui->lineEdit_dbName->text(); - if(ui->comboBox_dbType->currentText() == "PostgreSQL") - config.strDBType = "QPSQL"; - else if(ui->comboBox_dbType->currentText() == "MySQL") - config.strDBType = "QMYSQL"; - if(ui->plainTextEdit->toPlainText().isEmpty()) - config.strComment = QString::fromWCharArray(L"无"); - else - config.strComment = ui->plainTextEdit->toPlainText(); - - Settings::instance().saveDatabaseConfig(config); -} - -void ConnInfoEditDialog::onBtnClicked_cancle() -{ - close(); -} - -void ConnInfoEditDialog::onComboxChanged_dbType(const QString& text) -{ - if(text == "PostgreSQL") - ui->lineEdit_port->setText("5432"); - else if(text == "MySQL") - ui->lineEdit_port->setText("3306"); -} diff --git a/ui/connInfoEditDialog.ui b/ui/connInfoEditDialog.ui deleted file mode 100644 index eaabfa8..0000000 --- a/ui/connInfoEditDialog.ui +++ /dev/null @@ -1,468 +0,0 @@ - - - ConnInfoEditDialog - - - - 0 - 0 - 431 - 422 - - - - 会话编辑 - - - - :/img/images/icon_disconnect.png:/img/images/icon_disconnect.png - - - - - - - - - 0 - - - false - - - true - - - - - :/img/images/icon_setting.png:/img/images/icon_setting.png - - - 配置 - - - - 18 - - - 10 - - - 18 - - - 0 - - - 0 - - - 10 - - - - - - 0 - 21 - - - - - 16777215 - 21 - - - - 30 - - - - - - - - 91 - 21 - - - - - 91 - 21 - - - - 用户名: - - - - - - - - 91 - 21 - - - - - 91 - 21 - - - - 端口号: - - - - - - - - 0 - 21 - - - - - 16777215 - 21 - - - - 30 - - - - - - - - 0 - 21 - - - - - 16777215 - 21 - - - - 30 - - - QLineEdit::EchoMode::Password - - - - - - - - 0 - - - 0 - - - 0 - - - 0 - - - - - - 51 - 21 - - - - - 51 - 21 - - - - 5432 - - - - - - - color: rgb(255, 0, 0); - - - - - - Qt::AlignmentFlag::AlignCenter - - - - - - - - - - - 91 - 21 - - - - - 91 - 21 - - - - 备注: - - - - - - - - 106 - 21 - - - - - 106 - 21 - - - - 主机名/IP地址: - - - - - - - - 91 - 21 - - - - - 91 - 21 - - - - 链接名称: - - - - - - - - 91 - 21 - - - - - 91 - 21 - - - - 密码: - - - - - - - - - - - - - - - 0 - 21 - - - - - 16777215 - 21 - - - - 30 - - - - - - - - 91 - 21 - - - - - 91 - 21 - - - - 数据库类型: - - - - - - - - 0 - 26 - - - - - 16777215 - 26 - - - - - PostgreSQL - - - - :/img/images/icon_postgresql.png:/img/images/icon_postgresql.png - - - - - MySQL - - - - :/img/images/icon_mysql.png:/img/images/icon_mysql.png - - - - - - - - - 91 - 21 - - - - - 91 - 21 - - - - 数据库名称: - - - - - - - - 0 - 21 - - - - - 16777215 - 21 - - - - 30 - - - - - - - - - - - - - Qt::Orientation::Horizontal - - - - 40 - 20 - - - - - - - - - 86 - 31 - - - - - 86 - 31 - - - - 保存 - - - - - - - - 86 - 31 - - - - - 86 - 31 - - - - 取消 - - - - - - - - - - - -