/ desktop / config / config.hpp
config.hpp
 1  #pragma once
 2  
 3  #include <QList>
 4  #include <QString>
 5  
 6  #include "library.hpp"
 7  #include "ui_prefs.hpp"
 8  
 9  class KotoConfig {
10    public:
11      KotoConfig();
12      static KotoConfig& instance();
13      static KotoConfig* create() { return &instance(); }
14      void               save();
15  
16      QString                   getConfigDirPath();
17      QList<KotoLibraryConfig*> getLibraries();
18      KotoUiPreferences*        getUiPreferences();
19  
20    private:
21      void bootstrap();
22      void parseConfigFile(std::string filePath);
23  
24      QString                   i_configDirPath;
25      QString                   i_configPath;
26      QList<KotoLibraryConfig*> i_libraries;
27      KotoUiPreferences*        i_uiPreferences;
28  };