view src/gui/translate/config.cc @ 297:1d59a3f72c52

CI: new and improved windows build
author Paper <paper@paper.us.eu.org>
date Mon, 13 May 2024 03:00:10 -0400
parents 657fda1b9cac
children b1f625b0227c
line wrap: on
line source

#include "core/config.h"
#include "core/strings.h"
#include "gui/translate/config.h"

#include <QCoreApplication>

#include <unordered_map>

namespace Translate {

Theme::Theme ToTheme(const std::string& theme) {
	const std::unordered_map<std::string, Theme::Theme> map = {
	    {"Default", Theme::Theme::Default   },
        {"Light",   Theme::Theme::Light},
        {"Dark",    Theme::Theme::Dark }
    };

	if (map.find(theme) == map.end())
		return Theme::Theme::Default;
	return map.at(theme);
}

std::string ToString(const Theme::Theme& theme) {
	switch (theme) {
		default:
		case Theme::Theme::Default: return "Default";
		case Theme::Theme::Light: return "Light";
		case Theme::Theme::Dark: return "Dark";
	}
}

std::string ToLocalString(const Theme::Theme& theme) {
	switch (theme) {
		default:
		case Theme::Theme::Default: return Strings::ToUtf8String(QCoreApplication::tr("Default"));
		case Theme::Theme::Light: return Strings::ToUtf8String(QCoreApplication::tr("Light"));
		case Theme::Theme::Dark: return Strings::ToUtf8String(QCoreApplication::tr("Dark"));
	}
}

} // namespace Translate