Skip to content

Commit f58c756

Browse files
committed
feat: Add export configuration function
1 parent 2415732 commit f58c756

2 files changed

Lines changed: 35 additions & 5 deletions

File tree

WinSetting.cpp

Lines changed: 34 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,14 @@
1616
#include <QString>
1717
#include <QComboBox>
1818
#include <QDate>
19+
#include <QFileDialog>
20+
#include <QFile>
1921
using namespace std;
2022

2123
WinSetting::WinSetting(QWidget *parent)
2224
: QWidget(parent)
2325
, ui(new Ui::WinSetting)
2426
, m_isHorizontal(true)
25-
, m_path("")
2627
, m_trans(new QTranslator(this))
2728
{
2829
ui->setupUi(this);
@@ -33,7 +34,6 @@ WinSetting::WinSetting(QWidget *parent)
3334
connect(ui->btnApplyPerson, &QPushButton::clicked, this, &WinSetting::onBtnApplyWinSetting);
3435
connect(ui->btnApplyGeneralSet, &QPushButton::clicked, this, &WinSetting::onBtnApplyWinSetting);
3536

36-
3737
auto path = writeDataToConfigPath().toLatin1().data();
3838
qDebug()<<"---------1a-读取配置路径"<<path;
3939
ifstream jfile(path);
@@ -840,6 +840,8 @@ void WinSetting::initSigConnectGeneralSetting()
840840
connect(ui->spinBoxRefreshInterval, pFunSpinxBox, this, &WinSetting::sigRefreshInterval);
841841

842842
connect(ui->radioHorizontal, &QRadioButton::toggled, this, &WinSetting::sigShowModel);
843+
connect(ui->btnExportData, &QRadioButton::clicked, this, &WinSetting::onExportData);
844+
843845
connect(ui->btnApplyGeneralSet, &QPushButton::clicked, this, &WinSetting::onBtnApplyWinSetting);
844846
connect(ui->btnQuitGeneralSet, &QPushButton::clicked, this, &WinSetting::onBtnQuitWinSetting);
845847
}
@@ -936,13 +938,41 @@ void WinSetting::onBtnApplyToJson()
936938
{
937939
saveConfig();
938940
// bool isHomePath = true;
939-
// saveConfig(isHomePath);
941+
// saveConfig(isHomePath);
942+
}
943+
944+
/*!
945+
* \brief WinSetting::onExportData 导出数据配置
946+
*/
947+
void WinSetting::onExportData(bool checked)
948+
{
949+
Q_UNUSED(checked)
950+
951+
QString name("/lfxNet/lfxNet.json");
952+
QString path("");
953+
if (ui->radioCustomPath->isChecked()) {
954+
path = QString(QStandardPaths::standardLocations(QStandardPaths::ConfigLocation).first()) + name;
955+
} else {
956+
path = QString("/usr/share") + name;
957+
}
958+
959+
if (!QFile::exists(path)) {
960+
QMessageBox::warning(nullptr, tr("This path does not exist"), path);
961+
return;
962+
}
963+
964+
QString filePathName = QFileDialog::getSaveFileName(this
965+
,tr("Select the export save path")
966+
, path
967+
, tr("Exporting files(*.json);;All documents(*.*)"));
968+
969+
if (!QFile::copy(path, filePathName))
970+
QMessageBox::critical(nullptr, tr("Error"), tr("File export failed"));
940971
}
941972

942973
void WinSetting::onBtnApplyWinSetting()
943974
{
944975
saveConfig();
945-
// readConfig();
946976
}
947977

948978
void WinSetting::onBtnQuitWinSetting()

WinSetting.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,7 @@ public slots:
8989
void onComboBoxLanguage(int index);
9090
void onTheme(bool checked);
9191
void onBtnApplyToJson();
92+
void onExportData(bool checked);
9293
void onBtnApplyWinSetting();
9394
void onBtnQuitWinSetting();
9495

@@ -99,7 +100,6 @@ public slots:
99100
Ui::WinSetting *ui;
100101
json m_js;
101102
bool m_isHorizontal; // 插件的水平、垂直状态
102-
QString m_path; // 数据保存路径
103103
QTranslator *m_trans;
104104
};
105105

0 commit comments

Comments
 (0)