view src/gui/translate/config.cc @ 367:8d45d892be88 default tip

*: instead of pugixml, use Qt XML features this means we have one extra Qt dependency though...
author Paper <paper@tflc.us>
date Sun, 17 Nov 2024 22:55:47 -0500
parents c32467cd06bb
children
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::Translate("Default");
		case Theme::Theme::Light: return Strings::Translate("Light");
		case Theme::Theme::Dark: return Strings::Translate("Dark");
	}
}

} // namespace Translate