2025-07-23 01:35:14 +08:00
|
|
|
|
#ifndef PATHMANAGER_H
|
|
|
|
|
|
#define PATHMANAGER_H
|
|
|
|
|
|
|
|
|
|
|
|
#include <QString>
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* @brief 路径管理器类,统一管理应用程序的配置文件路径
|
|
|
|
|
|
*
|
|
|
|
|
|
* 该类负责根据不同操作系统提供合适的配置文件存储路径:
|
|
|
|
|
|
* - Windows: 程序目录
|
2025-09-14 14:51:38 +08:00
|
|
|
|
* Linux: 用户配置目录 (~/.config/LapWeld/)
|
2025-07-23 01:35:14 +08:00
|
|
|
|
*/
|
|
|
|
|
|
class PathManager
|
|
|
|
|
|
{
|
|
|
|
|
|
public:
|
|
|
|
|
|
/**
|
|
|
|
|
|
* @brief 获取配置文件(config.xml)的完整路径
|
|
|
|
|
|
* @return 配置文件的完整路径
|
|
|
|
|
|
*/
|
|
|
|
|
|
static QString GetConfigFilePath();
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* @brief 获取手眼标定文件(clib.ini)的完整路径
|
|
|
|
|
|
* @return 手眼标定文件的完整路径
|
|
|
|
|
|
*/
|
|
|
|
|
|
static QString GetCalibrationFilePath();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private:
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* @brief 确保配置目录存在,如果不存在则创建
|
|
|
|
|
|
* @return 成功创建或目录已存在返回true,失败返回false
|
|
|
|
|
|
*/
|
|
|
|
|
|
static bool EnsureConfigDirectoryExists();
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* @brief 获取应用程序配置目录路径
|
|
|
|
|
|
* @return 配置目录的完整路径
|
|
|
|
|
|
*/
|
|
|
|
|
|
static QString GetAppConfigDirectory();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* @brief 获取程序目录路径
|
|
|
|
|
|
* @return 程序目录的完整路径
|
|
|
|
|
|
*/
|
|
|
|
|
|
static QString GetProgramDirectory();
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* @brief 获取用户配置目录路径(仅Linux系统)
|
|
|
|
|
|
* @return 用户配置目录的完整路径
|
|
|
|
|
|
*/
|
|
|
|
|
|
static QString GetUserConfigDirectory();
|
|
|
|
|
|
};
|
|
|
|
|
|
|
2025-09-14 14:51:38 +08:00
|
|
|
|
#endif // PATHMANAGER_H
|