settings: Use indentation to categorize settings UI

This commit is contained in:
Joel16 2022-08-03 20:18:51 -04:00
parent e234de6359
commit 0018c697c2

View File

@ -51,50 +51,56 @@ namespace Tabs {
// }
// ImGui::Separator();
if (ImGui::TreeNode(strings[cfg.lang][Lang::SettingsImageViewTitle])) {
ImGui::Dummy(ImVec2(0.0f, 5.0f)); // Spacing
if (ImGui::Checkbox(strings[cfg.lang][Lang::SettingsImageViewFilenameToggle], std::addressof(cfg.image_filename)))
Config::Save(cfg);
ImGui::TreePop();
}
// Image filename checkbox
ImGui::Dummy(ImVec2(0.0f, 5.0f)); // Spacing
ImGui::Indent(10.f);
ImGui::TextColored(ImGui::GetStyle().Colors[ImGuiCol_CheckMark], strings[cfg.lang][Lang::SettingsImageViewTitle]);
ImGui::Indent(20.f);
ImGui::Dummy(ImVec2(0.0f, 5.0f)); // Spacing
if (ImGui::Checkbox(strings[cfg.lang][Lang::SettingsImageViewFilenameToggle], std::addressof(cfg.image_filename)))
Config::Save(cfg);
ImGui::Dummy(ImVec2(0.0f, 5.0f)); // Spacing
ImGui::Unindent();
ImGui::Separator();
if (ImGui::TreeNode(strings[cfg.lang][Lang::SettingsDevOptsTitle])) {
ImGui::Dummy(ImVec2(0.0f, 5.0f)); // Spacing
if (ImGui::Checkbox(strings[cfg.lang][Lang::SettingsDevOptsLogsToggle], std::addressof(cfg.dev_options)))
Config::Save(cfg);
ImGui::TreePop();
}
// Developer Options Checkbox
ImGui::Dummy(ImVec2(0.0f, 5.0f)); // Spacing
ImGui::TextColored(ImGui::GetStyle().Colors[ImGuiCol_CheckMark], strings[cfg.lang][Lang::SettingsDevOptsTitle]);
ImGui::Indent(20.f);
ImGui::Dummy(ImVec2(0.0f, 5.0f)); // Spacing
if (ImGui::Checkbox(strings[cfg.lang][Lang::SettingsDevOptsLogsToggle], std::addressof(cfg.dev_options)))
Config::Save(cfg);
ImGui::Dummy(ImVec2(0.0f, 5.0f)); // Spacing
ImGui::Unindent();
ImGui::Separator();
// About
ImGui::Dummy(ImVec2(0.0f, 5.0f)); // Spacing
ImGui::TextColored(ImGui::GetStyle().Colors[ImGuiCol_CheckMark], strings[cfg.lang][Lang::SettingsAboutTitle]);
ImGui::Indent(20.f);
if (ImGui::TreeNode(strings[cfg.lang][Lang::SettingsAboutTitle])) {
ImGui::Dummy(ImVec2(0.0f, 5.0f)); // Spacing
ImGui::Text("NX-Shell %s: v%d.%d.%d", strings[cfg.lang][Lang::SettingsAboutVersion], VERSION_MAJOR, VERSION_MINOR, VERSION_MICRO);
ImGui::Dummy(ImVec2(0.0f, 5.0f)); // Spacing
ImGui::Text("ImGui %s: %s", strings[cfg.lang][Lang::SettingsAboutVersion], ImGui::GetVersion());
ImGui::Dummy(ImVec2(0.0f, 5.0f)); // Spacing
ImGui::Text("%s: Joel16", strings[cfg.lang][Lang::SettingsAboutAuthor]);
ImGui::Dummy(ImVec2(0.0f, 5.0f)); // Spacing
ImGui::Text("%s: Preetisketch", strings[cfg.lang][Lang::SettingsAboutBanner]);
ImGui::Dummy(ImVec2(0.0f, 5.0f)); // Spacing
if (ImGui::Button(strings[cfg.lang][Lang::SettingsCheckForUpdates], ImVec2(250, 50))) {
tag_name = Net::GetLatestReleaseJSON();
network_status = Net::GetNetworkStatus();
update_available = Net::GetAvailableUpdate(tag_name);
update_popup = true;
}
ImGui::TreePop();
ImGui::Dummy(ImVec2(0.0f, 5.0f)); // Spacing
ImGui::Text("NX-Shell %s: v%d.%d.%d", strings[cfg.lang][Lang::SettingsAboutVersion], VERSION_MAJOR, VERSION_MINOR, VERSION_MICRO);
ImGui::Dummy(ImVec2(0.0f, 5.0f)); // Spacing
ImGui::Text("ImGui %s: %s", strings[cfg.lang][Lang::SettingsAboutVersion], ImGui::GetVersion());
ImGui::Dummy(ImVec2(0.0f, 5.0f)); // Spacing
ImGui::Text("%s: Joel16", strings[cfg.lang][Lang::SettingsAboutAuthor]);
ImGui::Dummy(ImVec2(0.0f, 5.0f)); // Spacing
ImGui::Text("%s: Preetisketch", strings[cfg.lang][Lang::SettingsAboutBanner]);
ImGui::Dummy(ImVec2(0.0f, 5.0f)); // Spacing
if (ImGui::Button(strings[cfg.lang][Lang::SettingsCheckForUpdates], ImVec2(250, 50))) {
tag_name = Net::GetLatestReleaseJSON();
network_status = Net::GetNetworkStatus();
update_available = Net::GetAvailableUpdate(tag_name);
update_popup = true;
}
ImGui::EndTabItem();
}