Initial commit

This commit is contained in:
Gericom
2025-11-22 17:21:45 +01:00
commit 5d6f67c612
517 changed files with 63025 additions and 0 deletions

View File

@@ -0,0 +1,49 @@
#pragma once
#include "../IRomBrowserController.h"
#include "services/settings/RomBrowserDisplaySettings.h"
/// @brief View model for the display settings screen.
class DisplaySettingsViewModel
{
public:
explicit DisplaySettingsViewModel(IRomBrowserController* romBrowserController)
: _romBrowserController(romBrowserController)
, _romBrowserDisplaySettings(_romBrowserController->GetRomBrowserDisplaySettings()) { }
constexpr RomBrowserLayout GetRomBrowserDisplayMode() const
{
return _romBrowserDisplaySettings.layout;
}
void SetRomBrowserDisplayMode(RomBrowserLayout romBrowserDisplayMode)
{
if (_romBrowserDisplaySettings.layout != romBrowserDisplayMode)
{
_romBrowserDisplaySettings.layout = romBrowserDisplayMode;
_romBrowserController->SetRomBrowserDisplaySettings(_romBrowserDisplaySettings);
}
}
constexpr RomBrowserSortMode GetRomBrowserSortMode() const
{
return _romBrowserDisplaySettings.sortMode;
}
void SetRomBrowserSortMode(RomBrowserSortMode romBrowserSortMode)
{
if (_romBrowserDisplaySettings.sortMode != romBrowserSortMode)
{
_romBrowserDisplaySettings.sortMode = romBrowserSortMode;
_romBrowserController->SetRomBrowserDisplaySettings(_romBrowserDisplaySettings);
}
}
void Close()
{
_romBrowserController->HideDisplaySettings();
}
private:
IRomBrowserController* _romBrowserController;
RomBrowserDisplaySettings _romBrowserDisplaySettings;
};