From a5aa7463f4a7cc648b6cca7fb823a33e12c88b76 Mon Sep 17 00:00:00 2001 From: dreamsourcelabTAI Date: Tue, 30 May 2023 16:23:32 +0800 Subject: [PATCH] Set a new log file path --- DSView/pv/appcontrol.cpp | 4 ++-- DSView/pv/config/appconfig.cpp | 12 +++++++++++- DSView/pv/config/appconfig.h | 3 ++- DSView/pv/log.cpp | 10 ++++++++-- DSView/pv/mainwindow.cpp | 11 +++-------- DSView/pv/sigsession.cpp | 2 +- DSView/pv/toolbars/filebar.cpp | 4 ++-- DSView/pv/toolbars/logobar.cpp | 5 ----- 8 files changed, 29 insertions(+), 22 deletions(-) diff --git a/DSView/pv/appcontrol.cpp b/DSView/pv/appcontrol.cpp index 8d48bb24..da1f27e7 100644 --- a/DSView/pv/appcontrol.cpp +++ b/DSView/pv/appcontrol.cpp @@ -74,9 +74,9 @@ bool AppControl::Init() cs = pv::path::ToUnicodePath(qs); dsv_info("GetAppDataDir:\"%s\"", cs.c_str()); - qs = GetResourceDir(); + qs = GetFirmwareDir(); cs = pv::path::ToUnicodePath(qs); - dsv_info("GetResourceDir:\"%s\"", cs.c_str()); + dsv_info("GetFirmwareDir:\"%s\"", cs.c_str()); qs = GetUserDataDir(); cs = pv::path::ToUnicodePath(qs); diff --git a/DSView/pv/config/appconfig.cpp b/DSView/pv/config/appconfig.cpp index 9988455b..169c174d 100644 --- a/DSView/pv/config/appconfig.cpp +++ b/DSView/pv/config/appconfig.cpp @@ -358,7 +358,8 @@ QString GetAppDataDir() #endif } -QString GetResourceDir(){ +QString GetFirmwareDir() +{ QDir dir1 = GetAppDataDir() + "/res"; // ./res if (dir1.exists()){ @@ -404,3 +405,12 @@ QString GetDecodeScriptDir() } return ""; } + +QString GetProfileDir() +{ + #if QT_VERSION >= 0x050400 + return QStandardPaths::writableLocation(QStandardPaths::AppDataLocation); + #else + return QStandardPaths::writableLocation(QStandardPaths::DataLocation); + #endif +} diff --git a/DSView/pv/config/appconfig.h b/DSView/pv/config/appconfig.h index 453bdd72..16d324e8 100644 --- a/DSView/pv/config/appconfig.h +++ b/DSView/pv/config/appconfig.h @@ -37,9 +37,10 @@ //--------------------api--- QString GetIconPath(); QString GetAppDataDir(); -QString GetResourceDir(); +QString GetFirmwareDir(); QString GetUserDataDir(); QString GetDecodeScriptDir(); +QString GetProfileDir(); //------------------class diff --git a/DSView/pv/log.cpp b/DSView/pv/log.cpp index 6999cf5c..043737b7 100644 --- a/DSView/pv/log.cpp +++ b/DSView/pv/log.cpp @@ -103,8 +103,14 @@ QString get_dsv_log_path() #ifdef Q_OS_LINUX lf = QDir::homePath() + "/DSView.log"; - #else - lf = GetAppDataDir() + "/DSView.log"; + #endif + + #ifdef _WIN32 + lf = GetUserDataDir() + "/DSView.log"; + #endif + + #ifdef Q_OS_DARWIN + lf = GetUserDataDir() + "/DSView.log"; #endif return lf; diff --git a/DSView/pv/mainwindow.cpp b/DSView/pv/mainwindow.cpp index 63cbbea7..dac741e7 100644 --- a/DSView/pv/mainwindow.cpp +++ b/DSView/pv/mainwindow.cpp @@ -420,15 +420,10 @@ namespace pv } QString MainWindow::genSessionFileName(bool isNewFormat) - { -#if QT_VERSION >= 0x050400 - QString path = QStandardPaths::writableLocation(QStandardPaths::AppDataLocation); -#else - QString path = QStandardPaths::writableLocation(QStandardPaths::DataLocation); -#endif - + { AppConfig &app = AppConfig::Instance(); + QString path = GetProfileDir(); QDir dir(path); if (dir.exists() == false){ dir.mkpath(path); @@ -1625,7 +1620,7 @@ namespace pv } else if (_device_agent->is_demo()) { - QDir dir(GetResourceDir()); + QDir dir(GetFirmwareDir()); if (dir.exists()) { QString ses_name = dir.absolutePath() + "/" diff --git a/DSView/pv/sigsession.cpp b/DSView/pv/sigsession.cpp index 1ba454e6..f6f7597b 100644 --- a/DSView/pv/sigsession.cpp +++ b/DSView/pv/sigsession.cpp @@ -151,7 +151,7 @@ namespace pv ds_set_datafeed_callback(data_feed_callback); // firmware resource directory - QString resdir = GetResourceDir(); + QString resdir = GetFirmwareDir(); std::string res_path = pv::path::ToUnicodePath(resdir); ds_set_firmware_resource_dir(res_path.c_str()); diff --git a/DSView/pv/toolbars/filebar.cpp b/DSView/pv/toolbars/filebar.cpp index 28744ad9..548e3fe3 100644 --- a/DSView/pv/toolbars/filebar.cpp +++ b/DSView/pv/toolbars/filebar.cpp @@ -188,7 +188,7 @@ void FileBar::on_actionLoad_triggered() void FileBar::on_actionDefault_triggered() { - QDir dir(GetResourceDir()); + QDir dir(GetFirmwareDir()); if (!dir.exists()) { MsgBox::Show(NULL, L_S(STR_PAGE_MSG, S_ID(IDS_MSG_NOT_FOND_DEFAULT_PROFILE), "Cannot find default profile for this device!"), this); @@ -202,7 +202,7 @@ void FileBar::on_actionDefault_triggered() QString FileBar::genDefaultSessionFile() { - QDir dir(GetResourceDir()); + QDir dir(GetFirmwareDir()); QString driver_name = _session->get_device()->driver_name(); QString mode_name = QString::number(_session->get_device()->get_work_mode()); diff --git a/DSView/pv/toolbars/logobar.cpp b/DSView/pv/toolbars/logobar.cpp index 192d7260..3e1a57b9 100644 --- a/DSView/pv/toolbars/logobar.cpp +++ b/DSView/pv/toolbars/logobar.cpp @@ -259,11 +259,6 @@ void LogoBar::on_action_setting_log() ckRebuild->setChecked(app._appOptions.appendLogMode); lay->addRow(L_S(STR_PAGE_DLG, S_ID(IDS_DLG_APPEND_MODE), "Append mode"), ckRebuild); - QLineEdit *etPath = new QLineEdit(); - etPath->setReadOnly(true); - etPath->setText(get_dsv_log_path()); - lay->addRow(L_S(STR_PAGE_DLG, S_ID(IDS_DLG_LOG_PATH), "File Path"), etPath); - QPushButton *btOpen = new QPushButton(); btOpen->setText(L_S(STR_PAGE_DLG, S_ID(IDS_DLG_OPEN), "Open")); connect(btOpen, SIGNAL(released()), this, SLOT(on_open_log_file()));