mirror of
https://github.com/MaSzyna-EU07/maszyna.git
synced 2026-07-18 18:09:18 +02:00
refactor: extract user_config_path() helper
Consolidates platform-specific config-directory logic (APPDATA on Windows,
~/Library/Application Support on macOS, ~/.config on Linux) into a single
user_config_path(filename) function in utilities/utilities.{cpp,h}, removing
copy-pasted #ifdef blocks from application.cpp, editor/editorSettings.cpp,
input/{keyboard,gamepad,drivermouse,uart}input.cpp.
This commit is contained in:
@@ -55,6 +55,22 @@ std::string Now()
|
||||
#endif
|
||||
}
|
||||
|
||||
std::filesystem::path user_config_path(const std::string &filename)
|
||||
{
|
||||
namespace fs = std::filesystem;
|
||||
#if defined(_WIN32)
|
||||
if (const char *appdata = std::getenv("APPDATA"))
|
||||
return fs::path(appdata) / "MaSzyna" / filename;
|
||||
#elif defined(__APPLE__)
|
||||
if (const char *home = std::getenv("HOME"))
|
||||
return fs::path(home) / "Library" / "Application Support" / "MaSzyna" / filename;
|
||||
#else
|
||||
if (const char *home = std::getenv("HOME"))
|
||||
return fs::path(home) / ".config" / "MaSzyna" / filename;
|
||||
#endif
|
||||
return {}; // env var missing → caller falls back to CWD-relative filename
|
||||
}
|
||||
|
||||
// zwraca różnicę czasu
|
||||
// jeśli pierwsza jest aktualna, a druga rozkładowa, to ujemna oznacza opóżnienie
|
||||
// na dłuższą metę trzeba uwzględnić datę, jakby opóżnienia miały przekraczać 12h (towarowych)
|
||||
|
||||
Reference in New Issue
Block a user