mirror of
https://github.com/RetroDECK/ES-DE.git
synced 2025-03-06 14:27:43 +00:00
Changed some optimizations to much better ones in SystemView and GamelistView.
This commit is contained in:
parent
e8df5baf9d
commit
340765892f
es-app/src/views
|
@ -203,7 +203,8 @@ void GamelistView::onThemeChanged(const std::shared_ptr<ThemeData>& theme)
|
||||||
mPrimary->applyTheme(theme, "gamelist", element.first, ALL);
|
mPrimary->applyTheme(theme, "gamelist", element.first, ALL);
|
||||||
addChild(mPrimary);
|
addChild(mPrimary);
|
||||||
}
|
}
|
||||||
if (element.second.type == "image") {
|
if (element.second.type == "image" &&
|
||||||
|
(!(element.second.has("visible") && !element.second.get<bool>("visible")))) {
|
||||||
// If this is the startup system, then forceload the images to avoid texture pop-in.
|
// If this is the startup system, then forceload the images to avoid texture pop-in.
|
||||||
if (isStartupSystem)
|
if (isStartupSystem)
|
||||||
mImageComponents.push_back(std::make_unique<ImageComponent>(true));
|
mImageComponents.push_back(std::make_unique<ImageComponent>(true));
|
||||||
|
@ -211,77 +212,54 @@ void GamelistView::onThemeChanged(const std::shared_ptr<ThemeData>& theme)
|
||||||
mImageComponents.push_back(std::make_unique<ImageComponent>());
|
mImageComponents.push_back(std::make_unique<ImageComponent>());
|
||||||
mImageComponents.back()->setDefaultZIndex(30.0f);
|
mImageComponents.back()->setDefaultZIndex(30.0f);
|
||||||
mImageComponents.back()->applyTheme(theme, "gamelist", element.first, ALL);
|
mImageComponents.back()->applyTheme(theme, "gamelist", element.first, ALL);
|
||||||
if (mImageComponents.back()->getThemeOpacity() != 0.0f) {
|
if (mImageComponents.back()->getThemeImageTypes().size() != 0)
|
||||||
if (mImageComponents.back()->getThemeImageTypes().size() != 0)
|
mImageComponents.back()->setScrollHide(true);
|
||||||
mImageComponents.back()->setScrollHide(true);
|
else if (mImageComponents.back()->getMetadataElement())
|
||||||
else if (mImageComponents.back()->getMetadataElement())
|
mImageComponents.back()->setScrollHide(true);
|
||||||
mImageComponents.back()->setScrollHide(true);
|
addChild(mImageComponents.back().get());
|
||||||
addChild(mImageComponents.back().get());
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
mImageComponents.pop_back();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else if (element.second.type == "video") {
|
else if (element.second.type == "video" &&
|
||||||
|
(!(element.second.has("visible") && !element.second.get<bool>("visible")))) {
|
||||||
if (element.second.has("path")) {
|
if (element.second.has("path")) {
|
||||||
mStaticVideoComponents.push_back(std::make_unique<VideoFFmpegComponent>());
|
mStaticVideoComponents.push_back(std::make_unique<VideoFFmpegComponent>());
|
||||||
mStaticVideoComponents.back()->setDefaultZIndex(30.0f);
|
mStaticVideoComponents.back()->setDefaultZIndex(30.0f);
|
||||||
mStaticVideoComponents.back()->applyTheme(theme, "gamelist", element.first,
|
mStaticVideoComponents.back()->applyTheme(theme, "gamelist", element.first,
|
||||||
ALL);
|
ALL);
|
||||||
if (mStaticVideoComponents.back()->getThemeOpacity() != 0.0f) {
|
if (mStaticVideoComponents.back()->getMetadataElement())
|
||||||
if (mStaticVideoComponents.back()->getMetadataElement())
|
mStaticVideoComponents.back()->setScrollHide(true);
|
||||||
mStaticVideoComponents.back()->setScrollHide(true);
|
mStaticVideoComponents.back()->setGeneralFade(true);
|
||||||
mStaticVideoComponents.back()->setGeneralFade(true);
|
if (element.second.has("audio"))
|
||||||
if (element.second.has("audio"))
|
mStaticVideoAudio = element.second.get<bool>("audio");
|
||||||
mStaticVideoAudio = element.second.get<bool>("audio");
|
addChild(mStaticVideoComponents.back().get());
|
||||||
addChild(mStaticVideoComponents.back().get());
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
mStaticVideoComponents.pop_back();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
mVideoComponents.push_back(std::make_unique<VideoFFmpegComponent>());
|
mVideoComponents.push_back(std::make_unique<VideoFFmpegComponent>());
|
||||||
mVideoComponents.back()->setDefaultZIndex(30.0f);
|
mVideoComponents.back()->setDefaultZIndex(30.0f);
|
||||||
mVideoComponents.back()->applyTheme(theme, "gamelist", element.first, ALL);
|
mVideoComponents.back()->applyTheme(theme, "gamelist", element.first, ALL);
|
||||||
if (mVideoComponents.back()->getThemeOpacity() != 0.0f) {
|
if (mVideoComponents.back()->getThemeImageTypes().size() != 0)
|
||||||
if (mVideoComponents.back()->getThemeImageTypes().size() != 0)
|
mVideoComponents.back()->setScrollHide(true);
|
||||||
mVideoComponents.back()->setScrollHide(true);
|
addChild(mVideoComponents.back().get());
|
||||||
addChild(mVideoComponents.back().get());
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
mVideoComponents.pop_back();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (element.second.type == "animation" && element.second.has("path")) {
|
else if (element.second.type == "animation" && element.second.has("path") &&
|
||||||
|
(!(element.second.has("visible") && !element.second.get<bool>("visible")))) {
|
||||||
const std::string extension {
|
const std::string extension {
|
||||||
Utils::FileSystem::getExtension(element.second.get<std::string>("path"))};
|
Utils::FileSystem::getExtension(element.second.get<std::string>("path"))};
|
||||||
if (extension == ".json") {
|
if (extension == ".json") {
|
||||||
mLottieAnimComponents.push_back(std::make_unique<LottieAnimComponent>());
|
mLottieAnimComponents.push_back(std::make_unique<LottieAnimComponent>());
|
||||||
mLottieAnimComponents.back()->setDefaultZIndex(35.0f);
|
mLottieAnimComponents.back()->setDefaultZIndex(35.0f);
|
||||||
mLottieAnimComponents.back()->applyTheme(theme, "gamelist", element.first, ALL);
|
mLottieAnimComponents.back()->applyTheme(theme, "gamelist", element.first, ALL);
|
||||||
if (mLottieAnimComponents.back()->getThemeOpacity() != 0.0f) {
|
if (mLottieAnimComponents.back()->getMetadataElement())
|
||||||
if (mLottieAnimComponents.back()->getMetadataElement())
|
mLottieAnimComponents.back()->setScrollHide(true);
|
||||||
mLottieAnimComponents.back()->setScrollHide(true);
|
addChild(mLottieAnimComponents.back().get());
|
||||||
addChild(mLottieAnimComponents.back().get());
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
mLottieAnimComponents.pop_back();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else if (extension == ".gif") {
|
else if (extension == ".gif") {
|
||||||
mGIFAnimComponents.push_back(std::make_unique<GIFAnimComponent>());
|
mGIFAnimComponents.push_back(std::make_unique<GIFAnimComponent>());
|
||||||
mGIFAnimComponents.back()->setDefaultZIndex(35.0f);
|
mGIFAnimComponents.back()->setDefaultZIndex(35.0f);
|
||||||
mGIFAnimComponents.back()->applyTheme(theme, "gamelist", element.first, ALL);
|
mGIFAnimComponents.back()->applyTheme(theme, "gamelist", element.first, ALL);
|
||||||
if (mGIFAnimComponents.back()->getThemeOpacity() != 0.0f) {
|
if (mGIFAnimComponents.back()->getMetadataElement())
|
||||||
if (mGIFAnimComponents.back()->getMetadataElement())
|
mGIFAnimComponents.back()->setScrollHide(true);
|
||||||
mGIFAnimComponents.back()->setScrollHide(true);
|
addChild(mGIFAnimComponents.back().get());
|
||||||
addChild(mGIFAnimComponents.back().get());
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
mGIFAnimComponents.pop_back();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else if (extension == ".") {
|
else if (extension == ".") {
|
||||||
LOG(LogWarning)
|
LOG(LogWarning)
|
||||||
|
@ -295,19 +273,16 @@ void GamelistView::onThemeChanged(const std::shared_ptr<ThemeData>& theme)
|
||||||
<< extension << "\"";
|
<< extension << "\"";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (element.second.type == "badges") {
|
else if (element.second.type == "badges" &&
|
||||||
|
(!(element.second.has("visible") && !element.second.get<bool>("visible")))) {
|
||||||
mBadgeComponents.push_back(std::make_unique<BadgeComponent>());
|
mBadgeComponents.push_back(std::make_unique<BadgeComponent>());
|
||||||
mBadgeComponents.back()->setDefaultZIndex(35.0f);
|
mBadgeComponents.back()->setDefaultZIndex(35.0f);
|
||||||
mBadgeComponents.back()->applyTheme(theme, "gamelist", element.first, ALL);
|
mBadgeComponents.back()->applyTheme(theme, "gamelist", element.first, ALL);
|
||||||
if (mBadgeComponents.back()->getThemeOpacity() != 0.0f) {
|
mBadgeComponents.back()->setScrollHide(true);
|
||||||
mBadgeComponents.back()->setScrollHide(true);
|
addChild(mBadgeComponents.back().get());
|
||||||
addChild(mBadgeComponents.back().get());
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
mBadgeComponents.pop_back();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else if (element.second.type == "text") {
|
else if (element.second.type == "text" &&
|
||||||
|
(!(element.second.has("visible") && !element.second.get<bool>("visible")))) {
|
||||||
// Set as container by default if metadata type is "description".
|
// Set as container by default if metadata type is "description".
|
||||||
bool container {false};
|
bool container {false};
|
||||||
if (element.second.has("container")) {
|
if (element.second.has("container")) {
|
||||||
|
@ -326,77 +301,56 @@ void GamelistView::onThemeChanged(const std::shared_ptr<ThemeData>& theme)
|
||||||
mContainerComponents.back()->applyTheme(theme, "gamelist", element.first,
|
mContainerComponents.back()->applyTheme(theme, "gamelist", element.first,
|
||||||
POSITION | ThemeFlags::SIZE | Z_INDEX |
|
POSITION | ThemeFlags::SIZE | Z_INDEX |
|
||||||
VISIBLE);
|
VISIBLE);
|
||||||
if (mContainerComponents.back()->getThemeOpacity() != 0.0f) {
|
mContainerComponents.back()->setAutoScroll(true);
|
||||||
mContainerComponents.back()->setAutoScroll(true);
|
mContainerTextComponents.back()->setSize(
|
||||||
mContainerTextComponents.back()->setSize(
|
mContainerComponents.back()->getSize().x, 0.0f);
|
||||||
mContainerComponents.back()->getSize().x, 0.0f);
|
mContainerTextComponents.back()->applyTheme(
|
||||||
mContainerTextComponents.back()->applyTheme(
|
theme, "gamelist", element.first,
|
||||||
theme, "gamelist", element.first,
|
ALL ^ POSITION ^ ORIGIN ^ Z_INDEX ^ ThemeFlags::SIZE ^ VISIBLE ^ ROTATION);
|
||||||
ALL ^ POSITION ^ ORIGIN ^ Z_INDEX ^ ThemeFlags::SIZE ^ VISIBLE ^
|
if (mContainerTextComponents.back()->getThemeMetadata() != "")
|
||||||
ROTATION);
|
mContainerComponents.back()->setScrollHide(true);
|
||||||
if (mContainerTextComponents.back()->getThemeMetadata() != "")
|
else if (mContainerTextComponents.back()->getMetadataElement())
|
||||||
mContainerComponents.back()->setScrollHide(true);
|
mContainerComponents.back()->setScrollHide(true);
|
||||||
else if (mContainerTextComponents.back()->getMetadataElement())
|
addChild(mContainerComponents.back().get());
|
||||||
mContainerComponents.back()->setScrollHide(true);
|
|
||||||
addChild(mContainerComponents.back().get());
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
mContainerComponents.pop_back();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
mTextComponents.push_back(std::make_unique<TextComponent>());
|
mTextComponents.push_back(std::make_unique<TextComponent>());
|
||||||
mTextComponents.back()->setDefaultZIndex(40.0f);
|
mTextComponents.back()->setDefaultZIndex(40.0f);
|
||||||
mTextComponents.back()->applyTheme(theme, "gamelist", element.first, ALL);
|
mTextComponents.back()->applyTheme(theme, "gamelist", element.first, ALL);
|
||||||
if (mTextComponents.back()->getThemeOpacity() != 0.0f) {
|
const std::string& metadata {mTextComponents.back()->getThemeMetadata()};
|
||||||
const std::string& metadata {mTextComponents.back()->getThemeMetadata()};
|
if (metadata != "" && metadata != "systemName" &&
|
||||||
if (metadata != "" && metadata != "systemName" &&
|
metadata != "systemFullname" && metadata != "sourceSystemName" &&
|
||||||
metadata != "systemFullname" && metadata != "sourceSystemName" &&
|
metadata != "sourceSystemFullname")
|
||||||
metadata != "sourceSystemFullname")
|
mTextComponents.back()->setScrollHide(true);
|
||||||
mTextComponents.back()->setScrollHide(true);
|
else if (mTextComponents.back()->getMetadataElement())
|
||||||
else if (mTextComponents.back()->getMetadataElement())
|
mTextComponents.back()->setScrollHide(true);
|
||||||
mTextComponents.back()->setScrollHide(true);
|
addChild(mTextComponents.back().get());
|
||||||
addChild(mTextComponents.back().get());
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
mTextComponents.pop_back();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (element.second.type == "datetime") {
|
else if (element.second.type == "datetime" &&
|
||||||
|
(!(element.second.has("visible") && !element.second.get<bool>("visible")))) {
|
||||||
mDateTimeComponents.push_back(std::make_unique<DateTimeComponent>());
|
mDateTimeComponents.push_back(std::make_unique<DateTimeComponent>());
|
||||||
mDateTimeComponents.back()->setDefaultZIndex(40.0f);
|
mDateTimeComponents.back()->setDefaultZIndex(40.0f);
|
||||||
mDateTimeComponents.back()->applyTheme(theme, "gamelist", element.first, ALL);
|
mDateTimeComponents.back()->applyTheme(theme, "gamelist", element.first, ALL);
|
||||||
if (mDateTimeComponents.back()->getThemeOpacity() != 0.0f) {
|
if (mDateTimeComponents.back()->getThemeMetadata() != "")
|
||||||
if (mDateTimeComponents.back()->getThemeMetadata() != "")
|
mDateTimeComponents.back()->setScrollHide(true);
|
||||||
mDateTimeComponents.back()->setScrollHide(true);
|
addChild(mDateTimeComponents.back().get());
|
||||||
addChild(mDateTimeComponents.back().get());
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
mDateTimeComponents.pop_back();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else if (element.second.type == "gamelistinfo") {
|
else if (element.second.type == "gamelistinfo" &&
|
||||||
|
(!(element.second.has("visible") && !element.second.get<bool>("visible")))) {
|
||||||
mGamelistInfoComponents.push_back(std::make_unique<TextComponent>());
|
mGamelistInfoComponents.push_back(std::make_unique<TextComponent>());
|
||||||
mGamelistInfoComponents.back()->setDefaultZIndex(45.0f);
|
mGamelistInfoComponents.back()->setDefaultZIndex(45.0f);
|
||||||
mGamelistInfoComponents.back()->applyTheme(theme, "gamelist", element.first, ALL);
|
mGamelistInfoComponents.back()->applyTheme(theme, "gamelist", element.first, ALL);
|
||||||
if (mGamelistInfoComponents.back()->getThemeOpacity() != 0.0f)
|
addChild(mGamelistInfoComponents.back().get());
|
||||||
addChild(mGamelistInfoComponents.back().get());
|
|
||||||
else
|
|
||||||
mGamelistInfoComponents.pop_back();
|
|
||||||
}
|
}
|
||||||
else if (element.second.type == "rating") {
|
else if (element.second.type == "rating" &&
|
||||||
|
(!(element.second.has("visible") && !element.second.get<bool>("visible")))) {
|
||||||
mRatingComponents.push_back(std::make_unique<RatingComponent>());
|
mRatingComponents.push_back(std::make_unique<RatingComponent>());
|
||||||
mRatingComponents.back()->setDefaultZIndex(45.0f);
|
mRatingComponents.back()->setDefaultZIndex(45.0f);
|
||||||
mRatingComponents.back()->applyTheme(theme, "gamelist", element.first, ALL);
|
mRatingComponents.back()->applyTheme(theme, "gamelist", element.first, ALL);
|
||||||
if (mRatingComponents.back()->getThemeOpacity() != 0.0f) {
|
mRatingComponents.back()->setScrollHide(true);
|
||||||
mRatingComponents.back()->setScrollHide(true);
|
mRatingComponents.back()->setOpacity(mRatingComponents.back()->getOpacity());
|
||||||
mRatingComponents.back()->setOpacity(mRatingComponents.back()->getOpacity());
|
addChild(mRatingComponents.back().get());
|
||||||
addChild(mRatingComponents.back().get());
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
mRatingComponents.pop_back();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -583,9 +583,10 @@ void SystemView::populate()
|
||||||
itemText = element.second.get<std::string>("text");
|
itemText = element.second.get<std::string>("text");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (element.second.type == "image") {
|
else if (element.second.type == "image" &&
|
||||||
// If this is the first system, then forceload the images to avoid texture
|
(!(element.second.has("visible") &&
|
||||||
// pop-in.
|
!element.second.get<bool>("visible")))) {
|
||||||
|
// If this is the first system then forceload to avoid texture pop-in.
|
||||||
if (it == SystemData::sSystemVector.front())
|
if (it == SystemData::sSystemVector.front())
|
||||||
elements.imageComponents.emplace_back(
|
elements.imageComponents.emplace_back(
|
||||||
std::make_unique<ImageComponent>(true));
|
std::make_unique<ImageComponent>(true));
|
||||||
|
@ -596,24 +597,22 @@ void SystemView::populate()
|
||||||
elements.imageComponents.back()->setDefaultZIndex(30.0f);
|
elements.imageComponents.back()->setDefaultZIndex(30.0f);
|
||||||
elements.imageComponents.back()->applyTheme(theme, "system", element.first,
|
elements.imageComponents.back()->applyTheme(theme, "system", element.first,
|
||||||
ThemeFlags::ALL);
|
ThemeFlags::ALL);
|
||||||
if (elements.imageComponents.back()->getThemeOpacity() != 0.0f)
|
elements.children.emplace_back(elements.imageComponents.back().get());
|
||||||
elements.children.emplace_back(elements.imageComponents.back().get());
|
|
||||||
else
|
|
||||||
elements.imageComponents.pop_back();
|
|
||||||
}
|
}
|
||||||
else if (element.second.type == "video") {
|
else if (element.second.type == "video" &&
|
||||||
|
(!(element.second.has("visible") &&
|
||||||
|
!element.second.get<bool>("visible")))) {
|
||||||
elements.videoComponents.emplace_back(
|
elements.videoComponents.emplace_back(
|
||||||
std::make_unique<VideoFFmpegComponent>());
|
std::make_unique<VideoFFmpegComponent>());
|
||||||
elements.videoComponents.back()->setDefaultZIndex(30.0f);
|
elements.videoComponents.back()->setDefaultZIndex(30.0f);
|
||||||
elements.videoComponents.back()->setStaticVideo();
|
elements.videoComponents.back()->setStaticVideo();
|
||||||
elements.videoComponents.back()->applyTheme(theme, "system", element.first,
|
elements.videoComponents.back()->applyTheme(theme, "system", element.first,
|
||||||
ThemeFlags::ALL);
|
ThemeFlags::ALL);
|
||||||
if (elements.videoComponents.back()->getThemeOpacity() != 0.0f)
|
elements.children.emplace_back(elements.videoComponents.back().get());
|
||||||
elements.children.emplace_back(elements.videoComponents.back().get());
|
|
||||||
else
|
|
||||||
elements.videoComponents.pop_back();
|
|
||||||
}
|
}
|
||||||
else if (element.second.type == "animation" && element.second.has("path")) {
|
else if (element.second.type == "animation" && element.second.has("path") &&
|
||||||
|
(!(element.second.has("visible") &&
|
||||||
|
!element.second.get<bool>("visible")))) {
|
||||||
const std::string extension {Utils::FileSystem::getExtension(
|
const std::string extension {Utils::FileSystem::getExtension(
|
||||||
element.second.get<std::string>("path"))};
|
element.second.get<std::string>("path"))};
|
||||||
if (extension == ".json") {
|
if (extension == ".json") {
|
||||||
|
@ -622,11 +621,8 @@ void SystemView::populate()
|
||||||
elements.lottieAnimComponents.back()->setDefaultZIndex(35.0f);
|
elements.lottieAnimComponents.back()->setDefaultZIndex(35.0f);
|
||||||
elements.lottieAnimComponents.back()->applyTheme(
|
elements.lottieAnimComponents.back()->applyTheme(
|
||||||
theme, "system", element.first, ThemeFlags::ALL);
|
theme, "system", element.first, ThemeFlags::ALL);
|
||||||
if (elements.lottieAnimComponents.back()->getThemeOpacity() != 0.0f)
|
elements.children.emplace_back(
|
||||||
elements.children.emplace_back(
|
elements.lottieAnimComponents.back().get());
|
||||||
elements.lottieAnimComponents.back().get());
|
|
||||||
else
|
|
||||||
elements.lottieAnimComponents.pop_back();
|
|
||||||
}
|
}
|
||||||
else if (extension == ".gif") {
|
else if (extension == ".gif") {
|
||||||
elements.GIFAnimComponents.emplace_back(
|
elements.GIFAnimComponents.emplace_back(
|
||||||
|
@ -634,11 +630,7 @@ void SystemView::populate()
|
||||||
elements.GIFAnimComponents.back()->setDefaultZIndex(35.0f);
|
elements.GIFAnimComponents.back()->setDefaultZIndex(35.0f);
|
||||||
elements.GIFAnimComponents.back()->applyTheme(
|
elements.GIFAnimComponents.back()->applyTheme(
|
||||||
theme, "system", element.first, ThemeFlags::ALL);
|
theme, "system", element.first, ThemeFlags::ALL);
|
||||||
if (elements.GIFAnimComponents.back()->getThemeOpacity() != 0.0f)
|
elements.children.emplace_back(elements.GIFAnimComponents.back().get());
|
||||||
elements.children.emplace_back(
|
|
||||||
elements.GIFAnimComponents.back().get());
|
|
||||||
else
|
|
||||||
elements.GIFAnimComponents.pop_back();
|
|
||||||
}
|
}
|
||||||
else if (extension == ".") {
|
else if (extension == ".") {
|
||||||
LOG(LogWarning)
|
LOG(LogWarning)
|
||||||
|
@ -652,7 +644,9 @@ void SystemView::populate()
|
||||||
<< extension << "\"";
|
<< extension << "\"";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (element.second.type == "text") {
|
else if (element.second.type == "text" &&
|
||||||
|
(!(element.second.has("visible") &&
|
||||||
|
!element.second.get<bool>("visible")))) {
|
||||||
if (element.second.has("systemdata") &&
|
if (element.second.has("systemdata") &&
|
||||||
element.second.get<std::string>("systemdata").substr(0, 9) ==
|
element.second.get<std::string>("systemdata").substr(0, 9) ==
|
||||||
"gamecount") {
|
"gamecount") {
|
||||||
|
@ -662,11 +656,8 @@ void SystemView::populate()
|
||||||
elements.gameCountComponents.back()->setDefaultZIndex(40.0f);
|
elements.gameCountComponents.back()->setDefaultZIndex(40.0f);
|
||||||
elements.gameCountComponents.back()->applyTheme(
|
elements.gameCountComponents.back()->applyTheme(
|
||||||
theme, "system", element.first, ThemeFlags::ALL);
|
theme, "system", element.first, ThemeFlags::ALL);
|
||||||
if (elements.gameCountComponents.back()->getThemeOpacity() != 0.0f)
|
elements.children.emplace_back(
|
||||||
elements.children.emplace_back(
|
elements.gameCountComponents.back().get());
|
||||||
elements.gameCountComponents.back().get());
|
|
||||||
else
|
|
||||||
elements.gameCountComponents.pop_back();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
@ -674,42 +665,31 @@ void SystemView::populate()
|
||||||
elements.textComponents.back()->setDefaultZIndex(40.0f);
|
elements.textComponents.back()->setDefaultZIndex(40.0f);
|
||||||
elements.textComponents.back()->applyTheme(
|
elements.textComponents.back()->applyTheme(
|
||||||
theme, "system", element.first, ThemeFlags::ALL);
|
theme, "system", element.first, ThemeFlags::ALL);
|
||||||
if (elements.textComponents.back()->getThemeOpacity() != 0.0f)
|
elements.children.emplace_back(elements.textComponents.back().get());
|
||||||
elements.children.emplace_back(
|
|
||||||
elements.textComponents.back().get());
|
|
||||||
else
|
|
||||||
elements.textComponents.pop_back();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (element.second.type == "datetime") {
|
else if (element.second.type == "datetime" &&
|
||||||
|
(!(element.second.has("visible") &&
|
||||||
|
!element.second.get<bool>("visible")))) {
|
||||||
elements.dateTimeComponents.emplace_back(
|
elements.dateTimeComponents.emplace_back(
|
||||||
std::make_unique<DateTimeComponent>());
|
std::make_unique<DateTimeComponent>());
|
||||||
elements.dateTimeComponents.back()->setDefaultZIndex(40.0f);
|
elements.dateTimeComponents.back()->setDefaultZIndex(40.0f);
|
||||||
elements.dateTimeComponents.back()->applyTheme(
|
elements.dateTimeComponents.back()->applyTheme(
|
||||||
theme, "system", element.first, ThemeFlags::ALL);
|
theme, "system", element.first, ThemeFlags::ALL);
|
||||||
if (elements.dateTimeComponents.back()->getThemeOpacity() != 0.0f) {
|
elements.dateTimeComponents.back()->setVisible(false);
|
||||||
elements.dateTimeComponents.back()->setVisible(false);
|
elements.children.emplace_back(elements.dateTimeComponents.back().get());
|
||||||
elements.children.emplace_back(
|
|
||||||
elements.dateTimeComponents.back().get());
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
elements.dateTimeComponents.pop_back();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else if (element.second.type == "rating") {
|
else if (element.second.type == "rating" &&
|
||||||
|
(!(element.second.has("visible") &&
|
||||||
|
!element.second.get<bool>("visible")))) {
|
||||||
elements.ratingComponents.emplace_back(std::make_unique<RatingComponent>());
|
elements.ratingComponents.emplace_back(std::make_unique<RatingComponent>());
|
||||||
elements.ratingComponents.back()->setDefaultZIndex(45.0f);
|
elements.ratingComponents.back()->setDefaultZIndex(45.0f);
|
||||||
elements.ratingComponents.back()->applyTheme(theme, "system", element.first,
|
elements.ratingComponents.back()->applyTheme(theme, "system", element.first,
|
||||||
ThemeFlags::ALL);
|
ThemeFlags::ALL);
|
||||||
if (elements.ratingComponents.back()->getThemeOpacity() != 0.0f) {
|
elements.ratingComponents.back()->setVisible(false);
|
||||||
elements.ratingComponents.back()->setVisible(false);
|
elements.ratingComponents.back()->setOpacity(
|
||||||
elements.ratingComponents.back()->setOpacity(
|
elements.ratingComponents.back()->getOpacity());
|
||||||
elements.ratingComponents.back()->getOpacity());
|
elements.children.emplace_back(elements.ratingComponents.back().get());
|
||||||
elements.children.emplace_back(elements.ratingComponents.back().get());
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
elements.ratingComponents.pop_back();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue