aboutsummaryrefslogtreecommitdiff
path: root/core/src/Model
diff options
context:
space:
mode:
authorrtk0c <[email protected]>2021-06-11 13:35:35 -0700
committerrtk0c <[email protected]>2021-06-11 13:35:35 -0700
commit8f7daa9bd100345d7e23639604c9a3a50ce6448b (patch)
tree4b0c4934f29dfca933e1e955a8af2e61c2719ca1 /core/src/Model
parent222cfec6ad882196d8927f73e30d905daae89556 (diff)
Convert runtime-loaded l10n to string literals chosen at compile time
Diffstat (limited to 'core/src/Model')
-rw-r--r--core/src/Model/Assets.cpp37
-rw-r--r--core/src/Model/Template/Template_Main.cpp24
-rw-r--r--core/src/Model/Workflow/Workflow_Main.cpp18
3 files changed, 35 insertions, 44 deletions
diff --git a/core/src/Model/Assets.cpp b/core/src/Model/Assets.cpp
index ac3335a..64e1f22 100644
--- a/core/src/Model/Assets.cpp
+++ b/core/src/Model/Assets.cpp
@@ -1,11 +1,12 @@
#include "Assets.hpp"
-#include "UI/Localization.hpp"
#include "UI/UI.hpp"
+#include "Utils/I18n.hpp"
#include <imgui.h>
#include <imgui_stdlib.h>
#include <tsl/array_map.h>
+#include <IconsFontAwesome.h>
#include <fstream>
#include <string>
#include <utility>
@@ -34,10 +35,10 @@ public:
switch (NewNameError) {
case NameSelectionError::None: break;
case NameSelectionError::Duplicated:
- ImGui::ErrorMessage("Duplicate template name");
+ ImGui::ErrorMessage(I18N_TEXT("Duplicate name", L10N_DUPLICATE_NAME_ERROR));
break;
case NameSelectionError::Empty:
- ImGui::ErrorMessage("Template name cannot be empty");
+ ImGui::ErrorMessage(I18N_TEXT("Name cannot be empty", L10N_EMPTY_NAME_ERROR));
break;
}
}
@@ -189,28 +190,26 @@ void AssetList::DisplayDetailsList(ListState& state)
void AssetList::DisplayControls(ListState& state)
{
auto& ps = mPrivate->PopupPrivateState;
- auto ls = LocaleStrings::Instance.get();
-
bool openedDummy = true;
- if (ImGui::Button(ls->Add.Get())) {
- ImGui::OpenPopup(ls->AddDialogTitle.Get());
+ if (ImGui::Button(ICON_FA_PLUS " " I18N_TEXT("Add", L10N_ADD))) {
+ ImGui::OpenPopup(I18N_TEXT("Add asset wizard", L10N_ADD_ASSET_DIALOG_TITLE));
}
- if (ImGui::BeginPopupModal(ls->AddDialogTitle.Get(), &openedDummy, ImGuiWindowFlags_AlwaysAutoResize)) {
+ if (ImGui::BeginPopupModal(I18N_TEXT("Add asset wizard", L10N_ADD_ASSET_DIALOG_TITLE), &openedDummy, ImGuiWindowFlags_AlwaysAutoResize)) {
DisplayAssetCreator(state);
ImGui::EndPopup();
}
ImGui::SameLine();
- if (ImGui::Button(ls->Rename.Get(), state.SelectedAsset == nullptr)) {
- ImGui::OpenPopup(ls->RenameDialogTitle.Get());
+ if (ImGui::Button(ICON_FA_I_CURSOR " " I18N_TEXT("Rename", L10N_RENAME), state.SelectedAsset == nullptr)) {
+ ImGui::OpenPopup(I18N_TEXT("Rename asset wizard", L10N_RENAME_ASSET_DIALOG_TITLE));
}
- if (ImGui::BeginPopupModal(ls->RenameDialogTitle.Get(), &openedDummy, ImGuiWindowFlags_AlwaysAutoResize)) {
- if (ImGui::InputText("New name", &ps.NewName)) {
+ if (ImGui::BeginPopupModal(I18N_TEXT("Rename asset wizard", L10N_RENAME_ASSET_DIALOG_TITLE), &openedDummy, ImGuiWindowFlags_AlwaysAutoResize)) {
+ if (ImGui::InputText(I18N_TEXT("Name", L10N_NAME), &ps.NewName)) {
ps.Validate(*this);
}
- if (ImGui::Button(ls->Confirm.Get(), ps.HasErrors())) {
+ if (ImGui::Button(I18N_TEXT("Confirm", L10N_CONFIRM), ps.HasErrors())) {
ImGui::CloseCurrentPopup();
auto movedAsset = Rename(state.SelectedAsset->Name, ps.NewName);
@@ -220,7 +219,7 @@ void AssetList::DisplayControls(ListState& state)
ps = {};
}
ImGui::SameLine();
- if (ImGui::Button(ls->Cancel.Get())) {
+ if (ImGui::Button(I18N_TEXT("Cancel", L10N_CANCEL))) {
ImGui::CloseCurrentPopup();
}
@@ -230,11 +229,11 @@ void AssetList::DisplayControls(ListState& state)
}
ImGui::SameLine();
- if (ImGui::Button(ls->Delete.Get(), state.SelectedAsset == nullptr)) {
- ImGui::OpenPopup(ls->DeleteDialogTitle.Get());
+ if (ImGui::Button(ICON_FA_TRASH " " I18N_TEXT("Delete", L10N_DELETE), state.SelectedAsset == nullptr)) {
+ ImGui::OpenPopup(I18N_TEXT("Delete asset", L10N_DELETE_ASSET_DIALOG_TITLE));
}
- if (ImGui::BeginPopupModal(ls->DeleteDialogTitle.Get(), &openedDummy, ImGuiWindowFlags_AlwaysAutoResize)) {
- if (ImGui::Button(ls->Confirm.Get())) {
+ if (ImGui::BeginPopupModal(I18N_TEXT("Delete asset", L10N_DELETE_ASSET_DIALOG_TITLE), &openedDummy, ImGuiWindowFlags_AlwaysAutoResize)) {
+ if (ImGui::Button(I18N_TEXT("Confirm", L10N_CONFIRM))) {
ImGui::CloseCurrentPopup();
auto& assetName = state.SelectedAsset->Name;
@@ -243,7 +242,7 @@ void AssetList::DisplayControls(ListState& state)
state.SelectedAsset = nullptr;
}
ImGui::SameLine();
- if (ImGui::Button(ls->Cancel.Get())) {
+ if (ImGui::Button(I18N_TEXT("Cancel", L10N_CANCEL))) {
ImGui::CloseCurrentPopup();
}
ImGui::EndPopup();
diff --git a/core/src/Model/Template/Template_Main.cpp b/core/src/Model/Template/Template_Main.cpp
index 7d1b755..7dd5f87 100644
--- a/core/src/Model/Template/Template_Main.cpp
+++ b/core/src/Model/Template/Template_Main.cpp
@@ -2,7 +2,7 @@
#include "Model/GlobalStates.hpp"
#include "Model/Project.hpp"
-#include "UI/Localization.hpp"
+#include "Utils/I18n.hpp"
#include "UI/UI.hpp"
#include "Utils/UUID.hpp"
@@ -91,8 +91,6 @@ Template* TemplateAssetList::LoadImpl(const SavedAsset& asset) const
void TemplateAssetList::DisplayAssetCreator(ListState& state)
{
- auto ls = LocaleStrings::Instance.get();
-
auto ValidateNewName = [&]() -> void {
if (mACNewName.empty()) {
mACNewNameError = NameSelectionError::Empty;
@@ -111,17 +109,17 @@ void TemplateAssetList::DisplayAssetCreator(ListState& state)
switch (mACNewNameError) {
case NameSelectionError::None: break;
case NameSelectionError::Duplicated:
- ImGui::ErrorMessage(ls->DuplicateNameError.Get());
+ ImGui::ErrorMessage(I18N_TEXT("Duplicate name", L10N_DUPLICATE_NAME_ERROR));
break;
case NameSelectionError::Empty:
- ImGui::ErrorMessage(ls->EmptyNameError.Get());
+ ImGui::ErrorMessage(I18N_TEXT("Name cannot be empty", L10N_EMPTY_NAME_ERROR));
break;
}
};
auto ShowNewKindErrors = [&]() -> void {
if (mACNewKind == Template::InvalidKind) {
- ImGui::ErrorMessage(ls->InvalidTemplateTypeError.Get());
+ ImGui::ErrorMessage(I18N_TEXT("Invalid template type", L10N_TEMPLATE_INVALID_TYPE_ERROR));
}
};
@@ -136,11 +134,11 @@ void TemplateAssetList::DisplayAssetCreator(ListState& state)
ValidateNewName();
};
- if (ImGui::InputText(ls->Name.Get(), &mACNewName)) {
+ if (ImGui::InputText(I18N_TEXT("Name", L10N_NAME), &mACNewName)) {
ValidateNewName();
}
- if (ImGui::BeginCombo(ls->Type.Get(), Template::FormatKind(mACNewKind))) {
+ if (ImGui::BeginCombo(I18N_TEXT("Type", L10N_TYPE), Template::FormatKind(mACNewKind))) {
for (int i = 0; i < Template::KindCount; ++i) {
auto kind = static_cast<Template::Kind>(i);
if (ImGui::Selectable(Template::FormatKind(kind), mACNewKind == kind)) {
@@ -153,7 +151,7 @@ void TemplateAssetList::DisplayAssetCreator(ListState& state)
ShowNewNameErrors();
ShowNewKindErrors();
- if (ImGui::Button(ls->Confirm.Get(), !IsInputValid())) {
+ if (ImGui::Button(I18N_TEXT("OK", L10N_CONFIRM), !IsInputValid())) {
ImGui::CloseCurrentPopup();
Create(SavedAsset{
@@ -163,19 +161,17 @@ void TemplateAssetList::DisplayAssetCreator(ListState& state)
ResetState();
}
ImGui::SameLine();
- if (ImGui::Button(ls->Cancel.Get())) {
+ if (ImGui::Button(I18N_TEXT("Cancel", L10N_CANCEL))) {
ImGui::CloseCurrentPopup();
}
}
void TemplateAssetList::SetupDetailsTable(const char* tableId) const
{
- auto ls = LocaleStrings::Instance.get();
-
ImGui::BeginTable(tableId, 2, ImGuiTableFlags_Borders);
- ImGui::TableSetupColumn(ls->Name.Get());
- ImGui::TableSetupColumn(ls->Type.Get());
+ ImGui::TableSetupColumn(I18N_TEXT("Name", L10N_NAME));
+ ImGui::TableSetupColumn(I18N_TEXT("Type", L10N_TYPE));
ImGui::TableHeadersRow();
}
diff --git a/core/src/Model/Workflow/Workflow_Main.cpp b/core/src/Model/Workflow/Workflow_Main.cpp
index a01ab7b..adf944e 100644
--- a/core/src/Model/Workflow/Workflow_Main.cpp
+++ b/core/src/Model/Workflow/Workflow_Main.cpp
@@ -2,9 +2,9 @@
#include "Model/GlobalStates.hpp"
#include "Model/Project.hpp"
-#include "UI/Localization.hpp"
#include "UI/UI.hpp"
#include "Utils/UUID.hpp"
+#include "Utils/I18n.hpp"
#include <imgui.h>
#include <imgui_node_editor.h>
@@ -804,8 +804,6 @@ Workflow* WorkflowAssetList::LoadImpl(const SavedAsset& asset) const
void WorkflowAssetList::DisplayAssetCreator(ListState& state)
{
- auto ls = LocaleStrings::Instance.get();
-
auto ValidateNewName = [&]() -> void {
if (mACNewName.empty()) {
mACNewNameError = NameSelectionError::Empty;
@@ -824,10 +822,10 @@ void WorkflowAssetList::DisplayAssetCreator(ListState& state)
switch (mACNewNameError) {
case NameSelectionError::None: break;
case NameSelectionError::Duplicated:
- ImGui::ErrorMessage(ls->DuplicateNameError.Get());
+ ImGui::ErrorMessage(I18N_TEXT("Duplicate name", L10N_DUPLICATE_NAME_ERROR));
break;
case NameSelectionError::Empty:
- ImGui::ErrorMessage(ls->EmptyNameError.Get());
+ ImGui::ErrorMessage(I18N_TEXT("Name cannot be empty", L10N_EMPTY_NAME_ERROR));
break;
}
};
@@ -841,13 +839,13 @@ void WorkflowAssetList::DisplayAssetCreator(ListState& state)
ValidateNewName();
};
- if (ImGui::InputText(ls->Name.Get(), &mACNewName)) {
+ if (ImGui::InputText(I18N_TEXT("Name", L10N_NAME), &mACNewName)) {
ValidateNewName();
}
ShowNewNameErrors();
- if (ImGui::Button(ls->Confirm.Get(), !IsInputValid())) {
+ if (ImGui::Button(I18N_TEXT("OK", L10N_CONFIRM), !IsInputValid())) {
ImGui::CloseCurrentPopup();
Create(SavedAsset{
@@ -856,18 +854,16 @@ void WorkflowAssetList::DisplayAssetCreator(ListState& state)
ResetState();
}
ImGui::SameLine();
- if (ImGui::Button(ls->Cancel.Get())) {
+ if (ImGui::Button(I18N_TEXT("Cancel", L10N_CANCEL))) {
ImGui::CloseCurrentPopup();
}
}
void WorkflowAssetList::SetupDetailsTable(const char* tableId) const
{
- auto ls = LocaleStrings::Instance.get();
-
ImGui::BeginTable(tableId, 1, ImGuiTableFlags_Borders);
- ImGui::TableSetupColumn(ls->Name.Get());
+ ImGui::TableSetupColumn(I18N_TEXT("Name", L10N_NAME));
ImGui::TableHeadersRow();
}