FullscreenUI: Split settings into its own file

pull/3589/head
Stenzek 5 days ago
parent ba28a3fb3c
commit dc7a7ed6bb
No known key found for this signature in database

@ -6,7 +6,9 @@ import re
START_IDENT = "// TRANSLATION-STRING-AREA-BEGIN"
END_IDENT = "// TRANSLATION-STRING-AREA-END"
SRC_FILES = ["src/core/fullscreenui.cpp", "src/core/fullscreenui_widgets.cpp", "src/core/fullscreenui_widgets.h"]
SRC_FILES = ["src/core/fullscreenui.cpp",
"src/core/fullscreenui_settings.cpp",
"src/core/fullscreenui_widgets.cpp", "src/core/fullscreenui_widgets.h"]
DST_FILE = "src/core/fullscreenui.cpp"
full_source = ""

@ -40,6 +40,8 @@ add_library(core
dma.h
fullscreenui.cpp
fullscreenui.h
fullscreenui_private.h
fullscreenui_settings.cpp
fullscreenui_widgets.cpp
fullscreenui_widgets.h
game_database.cpp

@ -30,6 +30,7 @@
<ClCompile Include="cpu_types.cpp" />
<ClCompile Include="ddgo_controller.cpp" />
<ClCompile Include="digital_controller.cpp" />
<ClCompile Include="fullscreenui_settings.cpp" />
<ClCompile Include="fullscreenui_widgets.cpp" />
<ClCompile Include="fullscreenui.cpp" />
<ClCompile Include="game_database.cpp" />
@ -112,6 +113,7 @@
</ClInclude>
<ClInclude Include="ddgo_controller.h" />
<ClInclude Include="digital_controller.h" />
<ClInclude Include="fullscreenui_private.h" />
<ClInclude Include="fullscreenui_widgets.h" />
<ClInclude Include="fullscreenui.h" />
<ClInclude Include="game_database.h" />

@ -69,6 +69,7 @@
<ClCompile Include="gpu_presenter.cpp" />
<ClCompile Include="ddgo_controller.cpp" />
<ClCompile Include="fullscreenui_widgets.cpp" />
<ClCompile Include="fullscreenui_settings.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="types.h" />
@ -148,6 +149,7 @@
<ClInclude Include="gpu_presenter.h" />
<ClInclude Include="ddgo_controller.h" />
<ClInclude Include="fullscreenui_widgets.h" />
<ClInclude Include="fullscreenui_private.h" />
</ItemGroup>
<ItemGroup>
<None Include="gpu_sw_rasterizer.inl" />

File diff suppressed because it is too large Load Diff

@ -0,0 +1,81 @@
// SPDX-FileCopyrightText: 2019-2025 Connor McLaughlin <stenzek@gmail.com>
// SPDX-License-Identifier: CC-BY-NC-ND-4.0
#pragma once
#include "fullscreenui.h"
#include "fullscreenui_widgets.h"
#include "types.h"
namespace GameList {
struct Entry;
}
namespace FullscreenUI {
enum class MainWindowType : u8
{
None,
Landing,
StartGame,
Exit,
GameList,
Settings,
PauseMenu,
SaveStateSelector,
Achievements,
Leaderboards,
};
enum class SettingsPage : u8
{
Summary,
Interface,
GameList,
Console,
Emulation,
BIOS,
Controller,
Hotkey,
MemoryCards,
Graphics,
PostProcessing,
Audio,
Achievements,
Advanced,
Patches,
Cheats,
Count
};
void SwitchToMainWindow(MainWindowType type);
void ReturnToMainWindow();
void ReturnToMainWindow(float transition_time);
void ExitFullscreenAndOpenURL(std::string_view url);
void CopyTextToClipboard(std::string title, std::string_view text);
FileSelectorFilters GetDiscImageFilters();
FileSelectorFilters GetImageFilters();
void SetCoverCacheEntry(std::string path, std::string cover_path);
void ClearCoverCache();
void InitializeHotkeyList();
void ClearSettingsState();
void SwitchToSettings();
bool SwitchToGameSettings(SettingsPage page = SettingsPage::Summary);
void SwitchToGameSettings(const GameList::Entry* entry, SettingsPage page = SettingsPage::Summary);
bool SwitchToGameSettingsForPath(const std::string& path, SettingsPage page = SettingsPage::Summary);
void SwitchToGameSettingsForSerial(std::string_view serial, GameHash hash, SettingsPage page = SettingsPage::Summary);
void DrawSettingsWindow();
SettingsPage GetCurrentSettingsPage();
bool IsInputBindingDialogOpen();
// TODO: Move to widgets or something
inline constexpr const char* DEFAULT_BACKGROUND_NAME = "StaticGray";
inline constexpr const char* NONE_BACKGROUND_NAME = "None";
ChoiceDialogOptions GetBackgroundOptions(const TinyString& current_value);
void LoadBackground();
} // namespace FullscreenUI

File diff suppressed because it is too large Load Diff
Loading…
Cancel
Save