pqapppath.h 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. #ifndef PQ_APPPATH_H
  2. #define PQ_APPPATH_H
  3. #include <QObject>
  4. #include <QDir>
  5. namespace PQ {
  6. // 程序数据的保存目录,默认基本目录为: {用户目录}/.{程序名}
  7. class AppPath : public QObject
  8. {
  9. Q_OBJECT
  10. private:
  11. explicit AppPath();
  12. signals:
  13. void pathChanged(); // 目录变更通知
  14. public:
  15. static AppPath * this_();
  16. // 更改默认目录,日志,配置,缓存,数据也会跟着变,但是数据不会迁移,当前日志不会变更,需要去PQLogManger里设置
  17. bool setBaseDir(const QDir &dir);
  18. //基本目录,默认为: {用户目录}/.{程序名}
  19. inline const QDir & baseDir() const{return _baseDir;}
  20. //配置目录,为: {基本目录}/config
  21. inline const QDir & configDir() const{return _configDir;}
  22. //缓存目录,为: {基本目录}/cache
  23. inline const QDir & cacheDir() const{return _cacheDir;}
  24. //数据目录,为: {基本目录}/data
  25. inline const QDir & dataDir() const{return _dataDir;}
  26. //临时目录,为: {系统TMP目录}/{程序名}.{程序PID}
  27. inline const QDir & tmpDir() const {return _tmpDir;}
  28. //日志目录,为: {基本目录}/log
  29. inline const QDir & logDir() const {return _logDir;}
  30. private:
  31. QDir _baseDir;
  32. QDir _configDir;
  33. QDir _cacheDir;
  34. QDir _dataDir;
  35. QDir _logDir;
  36. QDir _tmpDir;
  37. };
  38. }
  39. #endif // APPPATH_H