view src/services/services.cc @ 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 9b2b41f83a5e
children 80f49f623d30
line wrap: on
line source

#include "services/services.h"
#include "core/session.h"
#include "gui/dialog/settings.h"
#include "services/anilist.h"
#include <QMessageBox>

namespace Services {

void Synchronize() {
	switch (session.config.service) {
		case Anime::Services::ANILIST: AniList::GetAnimeList(); break;
		default: {
			QMessageBox msg;
			msg.setInformativeText("It seems you haven't yet selected a service to use.");
			msg.setText("Would you like to select one now?");
			msg.setStandardButtons(QMessageBox::Yes | QMessageBox::No);
			msg.setDefaultButton(QMessageBox::Yes);
			int ret = msg.exec();
			if (ret == QMessageBox::Yes) {
				SettingsDialog dialog;
				dialog.exec();
			}
			break;
		}
	}
}

void UpdateAnimeEntry(int id) {
	switch (session.config.service) {
		case Anime::Services::ANILIST: AniList::UpdateAnimeEntry(id); break;
		default: break;
	}
}

bool Authorize() {
	switch (session.config.service) {
		case Anime::Services::ANILIST: return AniList::AuthorizeUser();
		default: return true;
	}
}

}; // namespace Services