Chatterino
Paths.hpp
Go to the documentation of this file.
1 #pragma once
2 
3 #include <QString>
4 #include <boost/optional.hpp>
5 
6 namespace chatterino {
7 
8 class Paths
9 {
10 public:
11  static Paths *instance;
12 
13  Paths();
14 
15  // Root directory for the configuration files. %APPDATA%/chatterino or
16  // ExecutablePath for portable mode
18 
19  // Directory for settings files. Same as <appDataDirectory>/Settings
21 
22  // Directory for message log files. Same as <appDataDirectory>/Misc
24 
25  // Directory for miscellaneous files. Same as <appDataDirectory>/Misc
26  QString miscDirectory;
27 
28  // Hash of QCoreApplication::applicationFilePath()
30 
31  // Profile avatars for Twitch <appDataDirectory>/cache/twitch
33 
34  bool createFolder(const QString &folderPath);
35  bool isPortable();
36 
37  QString cacheDirectory();
38 
39 private:
40  void initAppFilePathHash();
41  void initCheckPortable();
42  void initRootDirectory();
43  void initSubDirectories();
44 
45  boost::optional<bool> portable_;
46 
47  // Directory for cache files. Same as <appDataDirectory>/Misc
48  QString cacheDirectory_;
49 };
50 
51 Paths *getPaths();
52 
53 } // namespace chatterino
Paths * getPaths()
Definition: Paths.cpp:147
QString miscDirectory
Definition: Paths.hpp:26
QString twitchProfileAvatars
Definition: Paths.hpp:32
QString settingsDirectory
Definition: Paths.hpp:20
QString rootAppDataDirectory
Definition: Paths.hpp:17
Definition: Application.cpp:48
bool createFolder(const QString &folderPath)
Definition: Paths.cpp:31
bool isPortable()
Definition: Paths.cpp:36
QString messageLogDirectory
Definition: Paths.hpp:23
static Paths * instance
Definition: Paths.hpp:11
QString cacheDirectory()
Definition: Paths.cpp:41
Definition: Paths.hpp:8
QString applicationFilePathHash
Definition: Paths.hpp:29
Paths()
Definition: Paths.cpp:20