code_production/app/HGProductionTool/dialog_setlogpath.cpp

70 lines
1.7 KiB
C++

#include "dialog_setlogpath.h"
#include "ui_dialog_setlogpath.h"
#include <QMessageBox>
#include <QFileDialog>
#include "base/HGUtility.h"
#include "HGUIGlobal.h"
#include "app_cfg.h"
Dialog_SetLogPath::Dialog_SetLogPath(const QString &devType, QWidget *parent) :
QDialog(parent),
m_devType(devType),
ui(new Ui::Dialog_SetLogPath)
{
ui->setupUi(this);
setWindowFlags(Qt::Dialog | Qt::WindowCloseButtonHint);
QFont ft;
ft.setPointSize(15);
this->setFont(ft);
ui->lineEdit->setReadOnly(true);
ui->lineEdit->setText(getCfgValue(m_devType.toStdString().c_str(), "logPath", QString("")));
}
Dialog_SetLogPath::~Dialog_SetLogPath()
{
delete ui;
}
void Dialog_SetLogPath::on_pushButton_ok_clicked()
{
if(ui->lineEdit->text().isEmpty())
{
return;
}
QString filePath = ui->lineEdit->text();
HGResult ret = HGBase_CreateDir(getStdString(filePath).c_str());
if (ret != HGBASE_ERR_OK)
{
QMessageBox::information(this, tr("tips"), tr("Create logPath failed"));
return;
}
saveCfgValue(m_devType.toStdString().c_str(), "logPath", getStdFileName(filePath));
close();
}
void Dialog_SetLogPath::on_pushButton_cancel_clicked()
{
reject();
}
void Dialog_SetLogPath::on_pushButton_selectPath_clicked()
{
QString save_dir = QFileDialog::getExistingDirectory(this, tr("Browse directory"), "");
if (!save_dir.isEmpty())
{
if (save_dir[save_dir.size() - 1] != '/')
save_dir += "/";
if (save_dir.endsWith(m_devType + "/", Qt::CaseInsensitive))
ui->lineEdit->setText(getStdFileName(save_dir + "/"));
else
ui->lineEdit->setText(getStdFileName(save_dir + m_devType + "/"));
}
}