Hide Log if Log overlay element collapsed

TODO: Create a setting to change default value
main
Peter Repukat 3 years ago
parent 375c64752c
commit 6c4d08d9fd

@ -195,9 +195,12 @@ void Overlay::RemoveOverlayElem(int id)
OVERLAY_ELEMS_.erase(id); OVERLAY_ELEMS_.erase(id);
} }
void Overlay::showLogs() const void Overlay::showLogs()
{ {
std::vector<Log> logs; std::vector<Log> logs;
if (!enabled_ && !log_expanded_) {
return;
}
if (enabled_) { if (enabled_) {
logs = LOG_MSGS_; logs = LOG_MSGS_;
} }
@ -217,24 +220,26 @@ void Overlay::showLogs() const
ImGuiWindowFlags_AlwaysAutoResize | ImGuiWindowFlags_NoInputs | ImGuiWindowFlags_NoMove | ImGuiWindowFlags_NoSavedSettings | ImGuiWindowFlags_NoTitleBar); ImGuiWindowFlags_AlwaysAutoResize | ImGuiWindowFlags_NoInputs | ImGuiWindowFlags_NoMove | ImGuiWindowFlags_NoSavedSettings | ImGuiWindowFlags_NoTitleBar);
} }
else { else {
ImGui::Begin("Log", nullptr); log_expanded_ = ImGui::Begin("Log");
}
if (log_expanded_) {
std::ranges::for_each(LOG_MSGS_, [](const auto& msg) {
switch (msg.level) {
case spdlog::level::warn:
ImGui::TextColored({1.f, 0.8f, 0.f, 1.f}, msg.payload.data());
break;
case spdlog::level::err:
ImGui::TextColored({.8f, 0.0f, 0.f, 1.f}, msg.payload.data());
break;
case spdlog::level::debug:
ImGui::TextColored({.8f, 0.8f, 0.8f, .9f}, msg.payload.data());
break;
default:
ImGui::Text(msg.payload.data());
}
});
ImGui::SetScrollY(ImGui::GetScrollMaxY());
} }
std::ranges::for_each(LOG_MSGS_, [](const auto& msg) {
switch (msg.level) {
case spdlog::level::warn:
ImGui::TextColored({1.f, 0.8f, 0.f, 1.f}, msg.payload.data());
break;
case spdlog::level::err:
ImGui::TextColored({.8f, 0.0f, 0.f, 1.f}, msg.payload.data());
break;
case spdlog::level::debug:
ImGui::TextColored({.8f, 0.8f, 0.8f, .9f}, msg.payload.data());
break;
default:
ImGui::Text(msg.payload.data());
}
});
ImGui::SetScrollY(ImGui::GetScrollMaxY());
ImGui::End(); ImGui::End();
if (!enabled_) { if (!enabled_) {
ImGui::PopStyleVar(); ImGui::PopStyleVar();

@ -46,9 +46,10 @@ class Overlay {
sf::Clock update_clock_; sf::Clock update_clock_;
bool enabled_ = true; bool enabled_ = true;
std::function<void()> on_close_; std::function<void()> on_close_;
void showLogs() const; void showLogs();
[[nodiscard]] bool closeButton() const; [[nodiscard]] bool closeButton() const;
bool force_enable_ = false; bool force_enable_ = false;
bool log_expanded_ = true;
struct Log { struct Log {
std::chrono::system_clock::time_point time; std::chrono::system_clock::time_point time;

@ -51,8 +51,8 @@ END
// //
VS_VERSION_INFO VERSIONINFO VS_VERSION_INFO VERSIONINFO
FILEVERSION 0,0,1,003000346323 FILEVERSION 0,0,2,003003750647
PRODUCTVERSION 0,0,1,003000346323 PRODUCTVERSION 0,0,2,003003750647
FILEFLAGSMASK 0x3fL FILEFLAGSMASK 0x3fL
#ifdef _DEBUG #ifdef _DEBUG
FILEFLAGS 0x1L FILEFLAGS 0x1L
@ -69,12 +69,12 @@ BEGIN
BEGIN BEGIN
VALUE "CompanyName", "Peter Repukat - FlatspotSoftware" VALUE "CompanyName", "Peter Repukat - FlatspotSoftware"
VALUE "FileDescription", "GlosSI - SteamTarget" VALUE "FileDescription", "GlosSI - SteamTarget"
VALUE "FileVersion", "0.0.1.0-3-ga346323" VALUE "FileVersion", "0.0.2.0-3-g375c647"
VALUE "InternalName", "GlosSITarget" VALUE "InternalName", "GlosSITarget"
VALUE "LegalCopyright", "Copyright (C) 2021 Peter Repukat - FlatspotSoftware" VALUE "LegalCopyright", "Copyright (C) 2021 Peter Repukat - FlatspotSoftware"
VALUE "OriginalFilename", "GlosSITarget.exe" VALUE "OriginalFilename", "GlosSITarget.exe"
VALUE "ProductName", "GlosSI" VALUE "ProductName", "GlosSI"
VALUE "ProductVersion", "0.0.1.0-3-ga346323" VALUE "ProductVersion", "0.0.2.0-3-g375c647"
END END
END END
BLOCK "VarFileInfo" BLOCK "VarFileInfo"
@ -627,6 +627,10 @@ END

Loading…
Cancel
Save