view include/core/config.h @ 75:d3e9310598b1

*: refactor some stuff text: "TextParagraph"s are now called sections, because that's the actual word for it :P text: new classes: Line and OneLineSection, solves many problems with paragraphs that are only one line long (ex. going out of bounds) http: reworked http stuff to allow threaded get requests, also moved it to its own file to (hopefully) remove clutter eventually I'll make a threaded post request method and use that in the "basic" function
author Paper <mrpapersonic@gmail.com>
date Wed, 04 Oct 2023 01:42:30 -0400
parents 3d2decf093bb
children c69230dc2b5d
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 WIDEIFY_EX(x) L##x
#define WIDEIFY(x)    WIDEIFY_EX(x)
#define CONFIG_DIR    "minori"
#define CONFIG_WDIR   WIDEIFY(CONFIG_DIR)
#define CONFIG_NAME   "config.json"
#define CONFIG_WNAME  WIDEIFY(CONFIG_NAME)

#define MAX_LINE_LENGTH 256
#endif // __core__config_h