You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
32 lines
928 B
32 lines
928 B
#ifndef JUCI_CONFIG_H_ |
|
#define JUCI_CONFIG_H_ |
|
#include <boost/property_tree/json_parser.hpp> |
|
#include <boost/property_tree/xml_parser.hpp> |
|
#include <fstream> |
|
#include <string> |
|
#include "keybindings.h" |
|
#include "source.h" |
|
#include "directories.h" |
|
#include "terminal.h" |
|
|
|
class MainConfig { |
|
public: |
|
MainConfig(); |
|
Source::Config& source_cfg() { return source_cfg_; } |
|
Keybindings::Config& keybindings_cfg() { return keybindings_cfg_; } |
|
Directories::Config& dir_cfg() { return dir_cfg_; } |
|
Terminal::Config& terminal_cfg() { return terminal_cfg_; } |
|
void PrintMenu(); |
|
void GenerateSource(); |
|
void GenerateKeybindings(); |
|
void GenerateDirectoryFilter(); |
|
void GenerateTerminalCommands(); |
|
private: |
|
boost::property_tree::ptree cfg_; |
|
boost::property_tree::ptree key_tree_; |
|
Source::Config source_cfg_; |
|
Keybindings::Config keybindings_cfg_; |
|
Directories::Config dir_cfg_; |
|
Terminal::Config terminal_cfg_; |
|
}; |
|
#endif
|
|
|