view include/core/config.h @ 102:b315f3759c56

*: big patch 1. use a wrapper for mINI that enables case sensitivity (personal preference) 2. rename dark_theme.cc to theme.cc and change it to be a class 3. include the "dep" folder so we don't have stupidity in json.h or ini.h 4. I think the graph was also tweaked a lot in this, nothing is constexpr and size is found at runtime...
author Paper <mrpapersonic@gmail.com>
date Fri, 03 Nov 2023 21:32:52 -0400
parents c537996cf67b
children 2004b41d4a59
line wrap: on
line source

#ifndef __core__config_h
#define __core__config_h

#include "core/anime.h"
#include "gui/theme.h"

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

		Anime::Services service;
		Theme::Theme 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.ini"
#define CONFIG_WNAME  WIDEIFY(CONFIG_NAME)

#define MAX_LINE_LENGTH 256

#endif // __core__config_h