1616#include < QString>
1717#include < QComboBox>
1818#include < QDate>
19+ #include < QFileDialog>
20+ #include < QFile>
1921using namespace std ;
2022
2123WinSetting::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
942973void WinSetting::onBtnApplyWinSetting ()
943974{
944975 saveConfig ();
945- // readConfig();
946976}
947977
948978void WinSetting::onBtnQuitWinSetting ()
0 commit comments