Skip to content

Commit

Permalink
更新ssh连接模块
Browse files Browse the repository at this point in the history
  • Loading branch information
HuaGouFdog committed Jul 14, 2024
1 parent 3bf0428 commit 70b7a51
Show file tree
Hide file tree
Showing 8 changed files with 336 additions and 45 deletions.
21 changes: 3 additions & 18 deletions module_connect/createconnect.h
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
#include <QWidget>
#include "createconnect.h"
#include "secretkeywidget.h"
#include "module_utils/utils.h"
#define SSH_CONNECT_TYPE 1
#define WINDOWS_CONNECT_TYPE 2
#define ZK_CONNECT_TYPE 3
Expand All @@ -14,24 +15,8 @@
#define SSH_PASSWORD 1
#define SSH_PUBLICKEY 2

struct connnectInfoStruct
{
int8_t connectType;
QString name;
QString group;
QString host;
QString port;
QString userName;
QString password; //可能是密码,也可能是私钥密码
QString remark;
QString nearest_connection;
//登录方式 1密码 2公钥
int sshType;
QString publickey; //公钥地址
bool isSavePassword;
int8_t buttonSid;
int timeout;
};



namespace Ui {
class createconnect;
Expand Down
21 changes: 19 additions & 2 deletions module_connect/keywidget.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@ keywidget::keywidget(QWidget *parent) :
{
ui->setupUi(this);
setWindowFlags(Qt::WindowCloseButtonHint);
//打开数据库
db_ = new sqlhandle();
}

keywidget::~keywidget()
Expand All @@ -23,8 +25,12 @@ void keywidget::on_toolButton_browse_clicked()
QString dlgTitle="选择密钥"; //对话框标题
QString filter = "所有文件(*.*);;文本文件(*.txt);;图片文件(*.jpg *.gif)"; //文件过滤器
QString fileName = QFileDialog::getOpenFileName(this,dlgTitle,curPath,filter); //getOpenFileNames返回选择文件的带路径的完整文件名
path = fileName;
//截取文路径后面的文件名
int index = fileName.lastIndexOf("/");
fileName = fileName.mid(index + 1);
qDebug() << "上传文件 文件名" << fileName;

ui->lineEdit_key->setText(fileName);
}

void keywidget::on_toolButton_cancel_clicked()
Expand All @@ -36,5 +42,16 @@ void keywidget::on_toolButton_cancel_clicked()
void keywidget::on_toolButton_ok_clicked()
{
//确认
this->hide();
//写入数据库
//name path password
sshKeyStruct skeyStruct;
skeyStruct.name = ui->lineEdit_name->text();
skeyStruct.path = path;
skeyStruct.password = ui->lineEdit_key_pssword->text();

db_->sshKey_insertsshKeyInfo(skeyStruct);
//通知更新
emit send_addsshKey(skeyStruct);
this->close();

}
10 changes: 9 additions & 1 deletion module_connect/keywidget.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@
#define KEYWIDGET_H

#include <QWidget>

//#include "createconnect.h"
#include "module_sql/sqlhandle.h"
namespace Ui {
class keywidget;
}
Expand All @@ -15,6 +16,9 @@ class keywidget : public QWidget
explicit keywidget(QWidget *parent = 0);
~keywidget();

signals:
void send_addsshKey(sshKeyStruct &);

private slots:
void on_toolButton_browse_clicked();

Expand All @@ -24,6 +28,10 @@ private slots:

private:
Ui::keywidget *ui;
QString path;

//操作数据库
sqlhandle * db_;
};

#endif // KEYWIDGET_H
63 changes: 63 additions & 0 deletions module_connect/secretkeywidget.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -24,5 +24,68 @@ secretkeywidget::~secretkeywidget()
void secretkeywidget::on_toolButton_input_clicked()
{
kwidget = new keywidget();
connect(kwidget,SIGNAL(send_addsshKey(sshKeyStruct &)),this,SLOT(rece_addsshKey(sshKeyStruct &)));
kwidget->show();
}

void secretkeywidget::rece_addsshKey(sshKeyStruct &skeyStruct)
{
//添加
ui->tableWidget->setRowCount(ui->tableWidget->rowCount() + 1);
ui->tableWidget->setColumnCount(3); //设置列数为5
ui->tableWidget->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);
//ui->tableWidget_history->horizontalHeader()->setSectionResizeMode(QHeaderView::ResizeToContents); //列自动缩放
ui->tableWidget->setHorizontalHeaderLabels(QStringList() << "名称" << "类型" << "长度");
ui->tableWidget->horizontalHeader()->setDefaultAlignment(Qt::AlignHCenter | Qt::AlignVCenter);

QTableWidgetItem *item1 = new QTableWidgetItem(skeyStruct.name);
ui->tableWidget->setItem(0, 0, item1);
item1->setTextAlignment(Qt::AlignCenter); // 设置对齐方式为居中
int index = skeyStruct.path.lastIndexOf("/");
QString fileName = skeyStruct.path.mid(index + 1);
QTableWidgetItem *item2 = new QTableWidgetItem(fileName);
ui->tableWidget->setItem(0, 1, item2);
item2->setTextAlignment(Qt::AlignCenter); // 设置对齐方式为居中

QTableWidgetItem *item3 = new QTableWidgetItem(skeyStruct.password);
ui->tableWidget->setItem(0, 2, item3);
item3->setTextAlignment(Qt::AlignCenter); // 设置对齐方式为居中


// for (int row = 0; row < cInfoStructList.length(); ++row) {
// for (int col = 0; col < 7; ++col) {
// QString headerData;
// if (col == 0) {
// QLabel * label = new QLabel();
// label->setFixedSize(50,30);
// QPixmap icon(":/lib/diann3.png");
// QPixmap scaledIcon = icon.scaled(50, 16, Qt::KeepAspectRatio);
// label->setPixmap(scaledIcon);
// headerData = cInfoStructList.at(row).name;
// label->setStyleSheet("background-color: rgba(0, 214, 103, 0);");
// ui->tableWidget_history->setCellWidget(row, 0, label);
// } else if (col == 1) {
// headerData = cInfoStructList.at(row).host;
// } else if (col == 2) {
// headerData = cInfoStructList.at(row).userName;
// }

// QTableWidgetItem *item = new QTableWidgetItem(headerData);
// ui->tableWidget_history->setItem(row, col, item);
// item->setTextAlignment(Qt::AlignCenter); // 设置对齐方式为居中
// }
// }


}

void secretkeywidget::on_toolButton_cancel_clicked()
{
this->close();
}

void secretkeywidget::on_toolButton_ok_clicked()
{
//确定
this->close();
}
1 change: 1 addition & 0 deletions module_connect/secretkeywidget.h
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ class secretkeywidget : public QWidget

private slots:
void on_toolButton_input_clicked();
void rece_addsshKey(sshKeyStruct & skeyStruct);

private:
Ui::secretkeywidget *ui;
Expand Down
Loading

0 comments on commit 70b7a51

Please sign in to comment.