From df878323244c5826bf3bdb04b588384f637db012 Mon Sep 17 00:00:00 2001 From: Gary Talent Date: Sat, 10 May 2025 00:21:54 -0500 Subject: [PATCH] [studio] Add build date to About --- src/olympic/studio/applib/src/aboutpopup.cpp | 16 ++-------------- src/olympic/studio/applib/src/aboutpopup.hpp | 19 ++----------------- src/olympic/studio/applib/src/studioui.cpp | 5 +---- src/olympic/studio/applib/src/studioui.hpp | 6 +++--- 4 files changed, 8 insertions(+), 38 deletions(-) diff --git a/src/olympic/studio/applib/src/aboutpopup.cpp b/src/olympic/studio/applib/src/aboutpopup.cpp index 98f82645..d55a799b 100644 --- a/src/olympic/studio/applib/src/aboutpopup.cpp +++ b/src/olympic/studio/applib/src/aboutpopup.cpp @@ -13,22 +13,10 @@ extern ox::String appVersion; namespace studio { -AboutPopup::AboutPopup(turbine::Context &ctx) noexcept { +AboutPopup::AboutPopup(turbine::Context &ctx) noexcept: Popup("About") { m_text = ox::sfmt("{} - {}", keelCtx(ctx).appName, olympic::appVersion); } -void AboutPopup::open() noexcept { - m_stage = Stage::Opening; -} - -void AboutPopup::close() noexcept { - m_stage = Stage::Closed; -} - -bool AboutPopup::isOpen() const noexcept { - return m_stage == Stage::Open; -} - void AboutPopup::draw(Context &sctx) noexcept { if (ImGui::IsKeyPressed(ImGuiKey_Escape)) { close(); @@ -47,7 +35,7 @@ void AboutPopup::draw(Context &sctx) noexcept { ig::centerNextWindow(sctx.tctx); auto open = true; if (ImGui::BeginPopupModal("About", &open, modalFlags)) { - ImGui::Text("%s", m_text.c_str()); + ImGui::Text("%s\n\nBuild date: %s", m_text.c_str(), __DATE__); ImGui::NewLine(); ImGui::Dummy({148.0f, 0.0f}); ImGui::SameLine(); diff --git a/src/olympic/studio/applib/src/aboutpopup.hpp b/src/olympic/studio/applib/src/aboutpopup.hpp index ea735e60..64fdbd5f 100644 --- a/src/olympic/studio/applib/src/aboutpopup.hpp +++ b/src/olympic/studio/applib/src/aboutpopup.hpp @@ -13,29 +13,14 @@ namespace studio { -class AboutPopup: public studio::Popup { - public: - enum class Stage { - Closed, - Opening, - Open, - }; - +class AboutPopup final: public ig::Popup { private: - Stage m_stage = Stage::Closed; ox::String m_text; public: explicit AboutPopup(turbine::Context &ctx) noexcept; - void open() noexcept override; - - void close() noexcept override; - - [[nodiscard]] - bool isOpen() const noexcept override; - - void draw(studio::Context &sctx) noexcept override; + void draw(Context &sctx) noexcept override; }; diff --git a/src/olympic/studio/applib/src/studioui.cpp b/src/olympic/studio/applib/src/studioui.cpp index fa38b5f4..b617f0e4 100644 --- a/src/olympic/studio/applib/src/studioui.cpp +++ b/src/olympic/studio/applib/src/studioui.cpp @@ -65,10 +65,7 @@ OX_MODEL_END() StudioUI::StudioUI(turbine::Context &ctx, ox::StringParam projectDataDir) noexcept: m_sctx{*this, ctx}, m_tctx{ctx}, - m_projectDataDir{std::move(projectDataDir)}, - m_projectExplorer{keelCtx(m_tctx)}, - m_newProject{m_projectDataDir}, - m_aboutPopup{m_tctx} { + m_projectDataDir{std::move(projectDataDir)} { { ImFontConfig fontCfg; fontCfg.FontDataOwnedByAtlas = false; diff --git a/src/olympic/studio/applib/src/studioui.hpp b/src/olympic/studio/applib/src/studioui.hpp index 81b7ef4d..ee9ee1bc 100644 --- a/src/olympic/studio/applib/src/studioui.hpp +++ b/src/olympic/studio/applib/src/studioui.hpp @@ -36,7 +36,7 @@ class StudioUI: public ox::SignalHandler { TaskRunner m_taskRunner; ox::Vector> m_editors; ox::HashMap m_editorMakers; - ProjectExplorer m_projectExplorer; + ProjectExplorer m_projectExplorer{keelCtx(m_tctx)}; ox::Vector m_openFiles; BaseEditor *m_activeEditorOnLastDraw = nullptr; BaseEditor *m_activeEditor = nullptr; @@ -45,6 +45,7 @@ class StudioUI: public ox::SignalHandler { ox::Vector> m_queuedMoves; ox::Vector> m_queuedDirMoves; NewMenu m_newMenu{keelCtx(m_tctx)}; + AboutPopup m_aboutPopup{m_tctx}; DeleteConfirmation m_deleteConfirmation; NewDir m_newDirDialog; ig::QuestionPopup m_closeFileConfirm{"Close File?", "This file has unsaved changes. Close?"}; @@ -55,8 +56,7 @@ class StudioUI: public ox::SignalHandler { ig::MessagePopup m_messagePopup{"Message", ""}; MakeCopyPopup m_copyFilePopup; RenameFile m_renameFile; - NewProject m_newProject; - AboutPopup m_aboutPopup; + NewProject m_newProject{m_projectDataDir}; ox::Array const m_widgets { &m_closeFileConfirm, &m_closeAppConfirm,