refactor: Integrate PlatformPaths for configuration directory management

- Replaced direct calls to GetConfigDirectory with PlatformPaths::GetConfigDirectory across multiple files to standardize configuration directory access.
- Updated RecentFilesManager, EditorManager, and various agent components to handle potential errors when retrieving the configuration directory.
- Enhanced file loading functions to utilize the new LoadFileFromConfigDir method for improved clarity and error handling.
- Introduced new methods in file_util.h for better file management practices, leveraging std::filesystem for cross-platform consistency.
This commit is contained in:
scawful
2025-10-08 20:50:49 -04:00
parent 9bc31bc8fc
commit 7f4a0f546c
14 changed files with 281 additions and 717 deletions

View File

@@ -10,6 +10,7 @@
#include "absl/strings/str_format.h"
#include "absl/strings/str_split.h"
#include "util/file_util.h"
#include "util/platform_paths.h"
#include "app/gui/icons.h"
#include "app/gui/style.h" // For ColorsYaze function
#include "imgui/imgui.h"
@@ -1917,8 +1918,10 @@ std::vector<std::string> ThemeManager::GetThemeSearchPaths() const {
#endif
// User config directory
std::string config_themes = util::GetConfigDirectory() + "/themes/";
search_paths.push_back(config_themes);
auto config_dir = util::PlatformPaths::GetConfigDirectory();
if (config_dir.ok()) {
search_paths.push_back((*config_dir / "themes/").string());
}
return search_paths;
}