view include/core/config.h @ 101:c537996cf67b

*: multitude of config changes 1. theme is now configurable from the settings menu (but you have to restart for it to apply) 2. config is now stored in an INI file, with no method of conversion from json (this repo is private-ish anyway)
author Paper <mrpapersonic@gmail.com>
date Fri, 03 Nov 2023 14:06:02 -0400
parents c69230dc2b5d
children b315f3759c56
line wrap: on
line source

#ifndef __core__config_h
#define __core__config_h

#include "core/anime.h"

enum class Themes {
	LIGHT,
	DARK,
	OS // AKA "Default"
};

class Config {
	public:
		int Load();
		int Save();

		Anime::Services service;
		Themes theme;

		struct {
			public:
				Anime::TitleLanguage language;
				bool display_aired_episodes;
				bool display_available_episodes;
				bool highlight_anime_if_available;
				bool highlighted_anime_above_others;
		} anime_list;

		struct {
			public:
				std::string auth_token;
				std::string username;
				int user_id;
		} anilist;
};

#define CONFIG_DIR    "minori"
#define CONFIG_NAME   "config.ini"

#define MAX_LINE_LENGTH 256

#endif // __core__config_h