[studio] Cleanup navigation code
Build / build (push) Successful in 1m14s

This commit is contained in:
2026-05-31 02:37:49 -05:00
parent 7128b7c83a
commit 5b6ea9468b
2 changed files with 7 additions and 9 deletions
+4 -2
View File
@@ -400,9 +400,11 @@ void StudioUI::drawTabs() noexcept {
*m_sctx.navIdx == m_sctx.navStack.size() ||
(*m_sctx.navIdx < m_sctx.navStack.size() &&
m_sctx.navStack[*m_sctx.navIdx].filePath != m_activeEditor->itemPath())) {
auto &navIdx = m_sctx.navIdx.emplace(m_sctx.navIdx.or_value(0u));
m_sctx.navStack.resize(navIdx);
auto constexpr defaultVal =
ox::MaxValue<ox::remove_reference_t<decltype(*m_sctx.navIdx)>>;
auto &navIdx = m_sctx.navIdx.emplace(m_sctx.navIdx.or_value(defaultVal));
++navIdx;
m_sctx.navStack.resize(navIdx);
m_sctx.navStack.emplace_back(
ox::String{m_activeEditor->itemPath()},
ox::String{});
+3 -7
View File
@@ -15,12 +15,9 @@ void navigateTo(Context &ctx, ox::StringParam filePath, ox::StringParam navArgs)
}
path = p;
}
//if (
// auto const [np, err] = ctx.navStack.back();
// !err && np->filePath == path && np->navArgs == navArgs.view()) {
// return;
//}
ctx.navStack.resize(ctx.navIdx.or_value(0) + 1);
auto constexpr defaultVal =
ox::MaxValue<ox::remove_reference_t<decltype(*ctx.navIdx)>>;
ctx.navStack.resize(ctx.navIdx.or_value(defaultVal) + 1);
ctx.navStack.emplace_back(ox::String{path}, ox::String{navArgs.view()});
try {
ctx.navCallback(std::move(path), std::move(navArgs));
@@ -35,7 +32,6 @@ void navigateBack(Context &ctx) noexcept {
return;
}
auto &navIdx = *ctx.navIdx;
navIdx = ox::min(navIdx, ctx.navStack.size() - 1);
while (navIdx && navIdx < ctx.navStack.size()) {
--navIdx;
auto const &n = ctx.navStack[navIdx];