mirror of
https://github.com/obsqrbtz/clrsync.git
synced 2026-04-09 04:29:04 +03:00
89 lines
3.0 KiB
C++
89 lines
3.0 KiB
C++
#include "about_window.hpp"
|
|
#include "core/version.hpp"
|
|
#include "imgui.h"
|
|
|
|
about_window::about_window()
|
|
{
|
|
}
|
|
|
|
void about_window::render()
|
|
{
|
|
if (!m_visible)
|
|
return;
|
|
|
|
ImGui::SetNextWindowSize(ImVec2(500, 400), ImGuiCond_FirstUseEver);
|
|
|
|
if (ImGui::Begin("About clrsync", &m_visible, ImGuiWindowFlags_NoResize))
|
|
{
|
|
const float window_width = ImGui::GetContentRegionAvail().x;
|
|
|
|
ImGui::PushFont(ImGui::GetFont());
|
|
const char* title = "clrsync";
|
|
const float title_size = ImGui::CalcTextSize(title).x;
|
|
ImGui::SetCursorPosX((window_width - title_size) * 0.5f);
|
|
ImGui::TextColored(ImVec4(0.4f, 0.8f, 1.0f, 1.0f), "%s", title);
|
|
ImGui::PopFont();
|
|
|
|
std::string version = "Version " + clrsync::core::version_string();
|
|
const float version_size = ImGui::CalcTextSize(version.c_str()).x;
|
|
ImGui::SetCursorPosX((window_width - version_size) * 0.5f);
|
|
ImGui::TextColored(ImVec4(0.7f, 0.7f, 0.7f, 1.0f), "%s", version.c_str());
|
|
|
|
ImGui::Spacing();
|
|
ImGui::Separator();
|
|
ImGui::Spacing();
|
|
|
|
ImGui::TextWrapped(
|
|
"A color scheme management tool."
|
|
);
|
|
|
|
ImGui::Spacing();
|
|
ImGui::Spacing();
|
|
|
|
ImGui::Separator();
|
|
ImGui::Spacing();
|
|
|
|
ImGui::Text("Links:");
|
|
|
|
if (ImGui::Button("GitHub Repository", ImVec2(200, 0)))
|
|
{
|
|
#ifdef _WIN32
|
|
system("start https://github.com/obsqrbtz/clrsync");
|
|
#elif __APPLE__
|
|
system("open https://github.com/obsqrbtz/clrsync");
|
|
#else
|
|
system("xdg-open https://github.com/obsqrbtz/clrsync");
|
|
#endif
|
|
}
|
|
ImGui::SameLine();
|
|
|
|
ImGui::Spacing();
|
|
ImGui::Spacing();
|
|
ImGui::Separator();
|
|
ImGui::Spacing();
|
|
|
|
ImGui::TextColored(ImVec4(0.6f, 0.6f, 0.6f, 1.0f), "MIT License");
|
|
ImGui::TextWrapped(
|
|
"Copyright (c) 2025 Daniel Dada\n\n"
|
|
"Permission is hereby granted, free of charge, to any person obtaining a copy "
|
|
"of this software and associated documentation files (the \"Software\"), to deal "
|
|
"in the Software without restriction, including without limitation the rights "
|
|
"to use, copy, modify, merge, publish, distribute, sublicense, and/or sell "
|
|
"copies of the Software, and to permit persons to whom the Software is "
|
|
"furnished to do so, subject to the following conditions:\n\n"
|
|
"The above copyright notice and this permission notice shall be included in all "
|
|
"copies or substantial portions of the Software."
|
|
);
|
|
|
|
ImGui::Spacing();
|
|
ImGui::Spacing();
|
|
|
|
const float button_width = 120.0f;
|
|
ImGui::SetCursorPosX((window_width - button_width) * 0.5f);
|
|
if (ImGui::Button("Close", ImVec2(button_width, 0)))
|
|
{
|
|
m_visible = false;
|
|
}
|
|
}
|
|
ImGui::End();
|
|
} |