You've already forked pico-launcher
mirror of
https://github.com/LNH-team/pico-launcher.git
synced 2026-01-09 16:28:48 -08:00
50 lines
1.5 KiB
C++
50 lines
1.5 KiB
C++
#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;
|
|
};
|