diff --git a/.gitignore b/.gitignore index 8627497..a089ed3 100644 --- a/.gitignore +++ b/.gitignore @@ -12,3 +12,4 @@ /build/ build-* *.DS_Store +userdata.ini diff --git a/QtScrcpy/main.cpp b/QtScrcpy/main.cpp index 643eaaf..340735f 100644 --- a/QtScrcpy/main.cpp +++ b/QtScrcpy/main.cpp @@ -45,13 +45,13 @@ int main(int argc, char *argv[]) qputenv("QTSCRCPY_ADB_PATH", "../../../../third_party/adb/win/adb.exe"); qputenv("QTSCRCPY_SERVER_PATH", "../../../../third_party/scrcpy-server"); qputenv("QTSCRCPY_KEYMAP_PATH", "../../../../keymap"); - qputenv("QTSCRCPY_CONFIG_PATH", "../../../../config/config.ini"); + qputenv("QTSCRCPY_CONFIG_PATH", "../../../../config"); #endif #ifdef Q_OS_LINUX qputenv("QTSCRCPY_ADB_PATH", "../../../third_party/adb/linux/adb"); qputenv("QTSCRCPY_SERVER_PATH", "../../../third_party/scrcpy-server"); - qputenv("QTSCRCPY_CONFIG_PATH", "../../../config/config.ini"); + qputenv("QTSCRCPY_CONFIG_PATH", "../../../config"); #endif //加载样式表 diff --git a/QtScrcpy/util/config.cpp b/QtScrcpy/util/config.cpp index e5fb9de..c960f0a 100644 --- a/QtScrcpy/util/config.cpp +++ b/QtScrcpy/util/config.cpp @@ -6,12 +6,10 @@ #define GROUP_COMMON "common" +// config #define COMMON_TITLE_KEY "WindowTitle" #define COMMON_TITLE_DEF QCoreApplication::applicationName() -#define COMMON_RECORD_KEY "RecordPath" -#define COMMON_RECORD_DEF "" - #define COMMON_PUSHFILE_KEY "PushFilePath" #define COMMON_PUSHFILE_DEF "/sdcard/" @@ -33,12 +31,19 @@ #define COMMON_RENDER_EXPIRED_FRAMES_KEY "RenderExpiredFrames" #define COMMON_RENDER_EXPIRED_FRAMES_DEF 0 +// user data +#define COMMON_RECORD_KEY "RecordPath" +#define COMMON_RECORD_DEF "" + QString Config::s_configPath = ""; Config::Config(QObject *parent) : QObject(parent) { - m_settings = new QSettings(getConfigPath(), QSettings::IniFormat); + m_settings = new QSettings(getConfigPath() + "/config.ini", QSettings::IniFormat); m_settings->setIniCodec("UTF-8"); + + m_userData = new QSettings(getConfigPath() + "/userdata.ini", QSettings::IniFormat); + m_userData->setIniCodec("UTF-8"); } Config &Config::getInstance() @@ -52,8 +57,8 @@ const QString& Config::getConfigPath() if (s_configPath.isEmpty()) { s_configPath = QString::fromLocal8Bit(qgetenv("QTSCRCPY_CONFIG_PATH")); QFileInfo fileInfo(s_configPath); - if (s_configPath.isEmpty() || !fileInfo.isFile()) { - s_configPath = QCoreApplication::applicationDirPath() + "/config/config.ini"; + if (s_configPath.isEmpty() || !fileInfo.isDir()) { + s_configPath = QCoreApplication::applicationDirPath() + "/config"; } } return s_configPath; @@ -62,17 +67,17 @@ const QString& Config::getConfigPath() QString Config::getRecordPath() { QString record; - m_settings->beginGroup(GROUP_COMMON); - record = m_settings->value(COMMON_RECORD_KEY, COMMON_RECORD_DEF).toString(); - m_settings->endGroup(); + m_userData->beginGroup(GROUP_COMMON); + record = m_userData->value(COMMON_RECORD_KEY, COMMON_RECORD_DEF).toString(); + m_userData->endGroup(); return record; } void Config::setRecordPath(const QString &path) { - m_settings->beginGroup(GROUP_COMMON); - m_settings->setValue(COMMON_RECORD_KEY, path); - m_settings->endGroup(); + m_userData->beginGroup(GROUP_COMMON); + m_userData->setValue(COMMON_RECORD_KEY, path); + m_userData->endGroup(); } QString Config::getServerVersion() diff --git a/QtScrcpy/util/config.h b/QtScrcpy/util/config.h index 9d8514c..580e7e5 100644 --- a/QtScrcpy/util/config.h +++ b/QtScrcpy/util/config.h @@ -28,6 +28,7 @@ private: private: static QString s_configPath; QPointer m_settings; + QPointer m_userData; }; #endif // CONFIG_H