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 };