4#include "absl/strings/str_format.h"
16 return absl::OkStatus();
24 return absl::OkStatus();
32 return absl::OkStatus();
36 if (name.empty())
return;
37 std::string ini_name = absl::StrFormat(
"yaze_workspace_%s.ini", name.c_str());
38 ImGui::SaveIniSettingsToDisk(ini_name.c_str());
48 std::ostringstream ss;
53 }
catch (
const std::exception& e) {
65 if (name.empty())
return;
66 std::string ini_name = absl::StrFormat(
"yaze_workspace_%s.ini", name.c_str());
67 ImGui::LoadIniSettingsFromDisk(ini_name.c_str());
77 std::vector<std::string> new_presets;
79 if (config_dir.ok()) {
80 std::string presets_path = (*config_dir /
"workspace_presets.txt").
string();
83 std::istringstream ss(data);
85 while (std::getline(ss, name)) {
86 name.erase(0, name.find_first_not_of(
" \t\r\n"));
87 name.erase(name.find_last_not_of(
" \t\r\n") + 1);
88 if (!name.empty() && name.length() < 256) {
89 new_presets.emplace_back(std::move(name));
96 }
catch (
const std::exception& e) {
149 if (session.rom && session.rom->is_loaded()) {
160 if (session.filepath == filepath && session.rom && session.rom->is_loaded()) {
void Show(const std::string &message, ToastType type=ToastType::kInfo, float ttl_seconds=3.0f)
absl::Status ResetWorkspaceLayout()
std::string last_workspace_preset_
void SaveWorkspacePreset(const std::string &name)
bool HasDuplicateSession(const std::string &filepath) const
bool workspace_presets_loaded_
void MaximizeCurrentWindow()
std::vector< std::string > workspace_presets_
size_t GetActiveSessionCount() const
void LoadDeveloperLayout()
std::deque< SessionInfo > * sessions_
void LoadWorkspacePreset(const std::string &name)
absl::Status SaveWorkspaceLayout(const std::string &name="")
void CloseAllFloatingWindows()
void LoadDesignerLayout()
absl::Status LoadWorkspaceLayout(const std::string &name="")
ToastManager * toast_manager_
void SaveFile(const std::string &filename, const std::string &contents)
std::string LoadFile(const std::string &filename)
Loads the entire contents of a file into a string.
Main namespace for the application.