aboutsummaryrefslogtreecommitdiff
path: root/core/src/UI/UI_Workflows.cpp
diff options
context:
space:
mode:
authorrtk0c <[email protected]>2021-06-10 18:07:30 -0700
committerrtk0c <[email protected]>2021-06-10 18:07:30 -0700
commit222cfec6ad882196d8927f73e30d905daae89556 (patch)
tree9347bb0ebf99cc79e4ee629d0edf7fd744bdeb1b /core/src/UI/UI_Workflows.cpp
parentdc09ba073744292a4d4af0445e5095f424fffa22 (diff)
Polish UI and add translations
Diffstat (limited to 'core/src/UI/UI_Workflows.cpp')
-rw-r--r--core/src/UI/UI_Workflows.cpp50
1 files changed, 21 insertions, 29 deletions
diff --git a/core/src/UI/UI_Workflows.cpp b/core/src/UI/UI_Workflows.cpp
index 3c23c30..3230cf9 100644
--- a/core/src/UI/UI_Workflows.cpp
+++ b/core/src/UI/UI_Workflows.cpp
@@ -365,16 +365,9 @@ void UI::WorkflowsTab()
auto ls = LocaleStrings::Instance.get();
auto& project = *GlobalStates::GetInstance().GetCurrentProject();
- enum class PopupType
- {
- None,
- WorkflowSelect,
- Management,
- };
-
static std::unique_ptr<WorkflowUI> openWorkflow;
- static AssetList::PopupState popup;
- static PopupType popupType = PopupType::None;
+ static AssetList::ListState state;
+ bool openedDummy = true;
// Toolbar item: close
if (ImGui::Button(ls->Close.Get(), openWorkflow == nullptr)) {
@@ -383,31 +376,30 @@ void UI::WorkflowsTab()
// Toolbar item: open...
ImGui::SameLine();
- if (ImGui::Button(ls->OpenWorkflow.Get())) {
- project.Workflows.OpenDetailsPopup();
- popupType = PopupType::WorkflowSelect;
+ if (ImGui::Button(ls->OpenAsset.Get())) {
+ ImGui::OpenPopup(ls->OpenAssetDialogTitle.Get());
+ }
+ if (ImGui::BeginPopupModal(ls->OpenAssetDialogTitle.Get(), &openedDummy, ImGuiWindowFlags_AlwaysAutoResize)) {
+ if (ImGui::Button(ls->Open.Get(), state.SelectedAsset == nullptr)) {
+ auto workflow = project.Workflows.Load(*state.SelectedAsset);
+ openWorkflow = std::make_unique<WorkflowUI>(std::move(workflow));
+ }
+ ImGui::SameLine();
+ project.Workflows.DisplayControls(state);
+ project.Workflows.DisplayDetailsList(state);
+
+ ImGui::EndPopup();
}
// Toolbar item: manage...
ImGui::SameLine();
- if (ImGui::Button(ls->ManageWorkflows.Get())) {
- project.Workflows.OpenDetailsPopup();
- popupType = PopupType::Management;
+ if (ImGui::Button(ls->ManageAssets.Get())) {
+ ImGui::OpenPopup(ls->ManageAssetsDialogTitle.Get());
}
-
- project.Workflows.DisplayDetailsPopup(popup);
- switch (popupType) {
- case PopupType::WorkflowSelect:
- if (ImGui::Button("Open", popup.SelectedAsset == nullptr)) {
- auto workflow = project.Workflows.Load(*popup.SelectedAsset);
- openWorkflow = std::make_unique<WorkflowUI>(std::move(workflow));
- }
- project.Workflows.DisplayDetailsPopup(popup);
- break;
-
- default:
- project.Workflows.DisplayDetailsPopup(popup);
- break;
+ if (ImGui::BeginPopupModal(ls->ManageAssetsDialogTitle.Get(), &openedDummy, ImGuiWindowFlags_AlwaysAutoResize)) {
+ project.Workflows.DisplayControls(state);
+ project.Workflows.DisplayDetailsList(state);
+ ImGui::EndPopup();
}
if (openWorkflow) {