mirror of
https://github.com/LNH-team/pico-launcher.git
synced 2026-06-02 09:06:54 +02:00
Initial commit
This commit is contained in:
72
arm9/source/romBrowser/RomBrowserController.h
Normal file
72
arm9/source/romBrowser/RomBrowserController.h
Normal file
@@ -0,0 +1,72 @@
|
||||
#pragma once
|
||||
#include <memory>
|
||||
#include "core/SharedPtr.h"
|
||||
#include "SdFolder.h"
|
||||
#include "viewModels/RomBrowserViewModel.h"
|
||||
#include "RomBrowserStateMachine.h"
|
||||
#include "core/task/TaskQueue.h"
|
||||
#include "IRomBrowserController.h"
|
||||
#include "CoverRepository.h"
|
||||
#include "FileType/ExtensionFileTypeProvider.h"
|
||||
#include "services/settings/IAppSettingsService.h"
|
||||
|
||||
class RomBrowserController : public IRomBrowserController
|
||||
{
|
||||
public:
|
||||
RomBrowserController(IAppSettingsService* appSettingsService,
|
||||
TaskQueueBase* ioTaskQueue, TaskQueueBase* bgTaskQueue);
|
||||
|
||||
void NavigateUp() override
|
||||
{
|
||||
NavigateToPath("..");
|
||||
}
|
||||
|
||||
void NavigateToPath(const TCHAR* name) override;
|
||||
void LaunchFile(const FileInfo& fileInfo) override;
|
||||
void ShowGameInfo() override;
|
||||
void HideGameInfo() override;
|
||||
void ShowDisplaySettings() override;
|
||||
void HideDisplaySettings() override;
|
||||
|
||||
void Update() override;
|
||||
|
||||
const SdFolder& GetSdFolder() const override { return *_sdFolder; }
|
||||
|
||||
const RomBrowserStateMachine& GetStateMachine() const override { return _stateMachine; }
|
||||
|
||||
const SharedPtr<RomBrowserViewModel>& GetRomBrowserViewModel() override { return _romBrowserViewModel; }
|
||||
|
||||
TaskQueueBase* GetIoTaskQueue() const override { return _ioTaskQueue; }
|
||||
TaskQueueBase* GetBgTaskQueue() const override { return _bgTaskQueue; }
|
||||
const ICoverRepository& GetCoverRepository() const override { return *_coverRepository; }
|
||||
|
||||
void SetRomBrowserDisplaySettings(const RomBrowserDisplaySettings& romBrowserDisplaySettings) override;
|
||||
|
||||
const RomBrowserDisplaySettings& GetRomBrowserDisplaySettings() const override
|
||||
{
|
||||
return _appSettingsService->GetAppSettings().romBrowserDisplaySettings;
|
||||
}
|
||||
|
||||
private:
|
||||
IAppSettingsService* _appSettingsService;
|
||||
TaskQueueBase* _ioTaskQueue;
|
||||
TaskQueueBase* _bgTaskQueue;
|
||||
|
||||
std::unique_ptr<SdFolder> _sdFolder;
|
||||
SharedPtr<RomBrowserViewModel> _romBrowserViewModel;
|
||||
std::unique_ptr<SdFolder> _newSdFolder;
|
||||
RomBrowserStateMachine _stateMachine;
|
||||
TCHAR _navigatePath[256];
|
||||
TCHAR* _navigateFileName;
|
||||
FileInfo _launchFileInfo;
|
||||
QueueTask<void> _navigateTask;
|
||||
bool _saveSettingsPending = false;
|
||||
std::unique_ptr<CoverRepository> _coverRepository;
|
||||
ExtensionFileTypeProvider _fileTypeProvider;
|
||||
|
||||
void HandleTrigger();
|
||||
void HandleNavigateTrigger();
|
||||
void HandleFolderLoadDoneTrigger();
|
||||
void HandleLaunchTrigger();
|
||||
void HandleChangeDisplayModeTrigger();
|
||||
};
|
||||
Reference in New Issue
Block a user