FullscreenUI: Various fixes
- Fix mismatched X/Y in landing page. - Fix mismatched X/Y submenus. - Fix window padding on save state submenu. - Fix pressing back/close on save state submenu closing list.
This commit is contained in:
parent
9ff4fbd21c
commit
32e96b02ca
|
@ -1418,9 +1418,9 @@ void FullscreenUI::DrawLandingWindow()
|
||||||
{
|
{
|
||||||
if (ImGui::IsKeyPressed(ImGuiKey_GamepadStart, false) || ImGui::IsKeyPressed(ImGuiKey_F1, false))
|
if (ImGui::IsKeyPressed(ImGuiKey_GamepadStart, false) || ImGui::IsKeyPressed(ImGuiKey_F1, false))
|
||||||
OpenAboutWindow();
|
OpenAboutWindow();
|
||||||
else if (ImGui::IsKeyPressed(ImGuiKey_NavGamepadMenu, false) || ImGui::IsKeyPressed(ImGuiKey_F3, false))
|
else if (ImGui::IsKeyPressed(ImGuiKey_NavGamepadInput, false) || ImGui::IsKeyPressed(ImGuiKey_F3, false))
|
||||||
DoResume();
|
DoResume();
|
||||||
else if (ImGui::IsKeyPressed(ImGuiKey_NavGamepadInput, false) || ImGui::IsKeyPressed(ImGuiKey_F11, false))
|
else if (ImGui::IsKeyPressed(ImGuiKey_NavGamepadMenu, false) || ImGui::IsKeyPressed(ImGuiKey_F11, false))
|
||||||
DoToggleFullscreen();
|
DoToggleFullscreen();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -5651,6 +5651,7 @@ void FullscreenUI::DrawSaveStateSelector(bool is_loading)
|
||||||
|
|
||||||
bool closed = false;
|
bool closed = false;
|
||||||
bool was_close_not_back = false;
|
bool was_close_not_back = false;
|
||||||
|
bool ignore_close_request = false;
|
||||||
if (ImGui::BeginChild("state_titlebar", heading_size, false, ImGuiWindowFlags_NavFlattened))
|
if (ImGui::BeginChild("state_titlebar", heading_size, false, ImGuiWindowFlags_NavFlattened))
|
||||||
{
|
{
|
||||||
BeginNavBar();
|
BeginNavBar();
|
||||||
|
@ -5717,7 +5718,8 @@ void FullscreenUI::DrawSaveStateSelector(bool is_loading)
|
||||||
g_large_font->FontSize + ImGui::GetStyle().FramePadding.y * 2.0f + ImGui::GetStyle().WindowPadding.y * 2.0f;
|
g_large_font->FontSize + ImGui::GetStyle().FramePadding.y * 2.0f + ImGui::GetStyle().WindowPadding.y * 2.0f;
|
||||||
const float height =
|
const float height =
|
||||||
title_height +
|
title_height +
|
||||||
LayoutScale(LAYOUT_MENU_BUTTON_HEIGHT_NO_SUMMARY + (LAYOUT_MENU_BUTTON_Y_PADDING * 2.0f)) * 3.0f;
|
((LayoutScale(LAYOUT_MENU_BUTTON_HEIGHT_NO_SUMMARY) + (LayoutScale(LAYOUT_MENU_BUTTON_Y_PADDING) * 2.0f)) *
|
||||||
|
3.0f);
|
||||||
ImGui::SetNextWindowSize(ImVec2(width, height));
|
ImGui::SetNextWindowSize(ImVec2(width, height));
|
||||||
ImGui::SetNextWindowPos(ImGui::GetIO().DisplaySize * 0.5f, ImGuiCond_Always, ImVec2(0.5f, 0.5f));
|
ImGui::SetNextWindowPos(ImGui::GetIO().DisplaySize * 0.5f, ImGuiCond_Always, ImVec2(0.5f, 0.5f));
|
||||||
ImGui::OpenPopup(entry.title.c_str());
|
ImGui::OpenPopup(entry.title.c_str());
|
||||||
|
@ -5775,9 +5777,10 @@ void FullscreenUI::DrawSaveStateSelector(bool is_loading)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ActiveButton(FSUI_ICONSTR(ICON_FA_WINDOW_CLOSE, "Close Menu"), false, true,
|
if (ActiveButton(FSUI_ICONSTR(ICON_FA_WINDOW_CLOSE, "Close Menu"), false, true,
|
||||||
LAYOUT_MENU_BUTTON_HEIGHT_NO_SUMMARY))
|
LAYOUT_MENU_BUTTON_HEIGHT_NO_SUMMARY) || WantsToCloseMenu())
|
||||||
{
|
{
|
||||||
is_open = false;
|
is_open = false;
|
||||||
|
ignore_close_request = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
EndMenuButtons();
|
EndMenuButtons();
|
||||||
|
@ -5866,8 +5869,8 @@ void FullscreenUI::DrawSaveStateSelector(bool is_loading)
|
||||||
was_close_not_back = true;
|
was_close_not_back = true;
|
||||||
}
|
}
|
||||||
else if (hovered &&
|
else if (hovered &&
|
||||||
(ImGui::IsItemClicked(ImGuiMouseButton_Right) || ImGui::IsKeyPressed(ImGuiKey_NavGamepadMenu, false) ||
|
(ImGui::IsItemClicked(ImGuiMouseButton_Right) ||
|
||||||
ImGui::IsKeyPressed(ImGuiKey_F1, false)))
|
ImGui::IsKeyPressed(ImGuiKey_NavGamepadInput, false) || ImGui::IsKeyPressed(ImGuiKey_F1, false)))
|
||||||
{
|
{
|
||||||
s_save_state_selector_submenu_index = static_cast<s32>(i);
|
s_save_state_selector_submenu_index = static_cast<s32>(i);
|
||||||
}
|
}
|
||||||
|
@ -5913,7 +5916,7 @@ void FullscreenUI::DrawSaveStateSelector(bool is_loading)
|
||||||
std::make_pair(ICON_PF_ESC, FSUI_VSTR("Cancel"))});
|
std::make_pair(ICON_PF_ESC, FSUI_VSTR("Cancel"))});
|
||||||
}
|
}
|
||||||
|
|
||||||
if (WantsToCloseMenu() || closed)
|
if ((!ignore_close_request && WantsToCloseMenu()) || closed)
|
||||||
{
|
{
|
||||||
CloseSaveStateSelector();
|
CloseSaveStateSelector();
|
||||||
if (was_close_not_back)
|
if (was_close_not_back)
|
||||||
|
@ -6221,7 +6224,7 @@ void FullscreenUI::DrawGameListWindow()
|
||||||
|
|
||||||
EndFullscreenWindow();
|
EndFullscreenWindow();
|
||||||
|
|
||||||
if (ImGui::IsKeyPressed(ImGuiKey_NavGamepadInput, false) || ImGui::IsKeyPressed(ImGuiKey_F1, false))
|
if (ImGui::IsKeyPressed(ImGuiKey_NavGamepadMenu, false) || ImGui::IsKeyPressed(ImGuiKey_F1, false))
|
||||||
{
|
{
|
||||||
s_game_list_view = (s_game_list_view == GameListView::Grid) ? GameListView::List : GameListView::Grid;
|
s_game_list_view = (s_game_list_view == GameListView::Grid) ? GameListView::List : GameListView::Grid;
|
||||||
}
|
}
|
||||||
|
@ -6344,7 +6347,7 @@ void FullscreenUI::DrawGameList(const ImVec2& heading_size)
|
||||||
selected_entry = entry;
|
selected_entry = entry;
|
||||||
|
|
||||||
if (selected_entry &&
|
if (selected_entry &&
|
||||||
(ImGui::IsItemClicked(ImGuiMouseButton_Right) || ImGui::IsKeyPressed(ImGuiKey_NavGamepadMenu, false) ||
|
(ImGui::IsItemClicked(ImGuiMouseButton_Right) || ImGui::IsKeyPressed(ImGuiKey_NavGamepadInput, false) ||
|
||||||
ImGui::IsKeyPressed(ImGuiKey_F3, false)))
|
ImGui::IsKeyPressed(ImGuiKey_F3, false)))
|
||||||
{
|
{
|
||||||
HandleGameListOptions(selected_entry);
|
HandleGameListOptions(selected_entry);
|
||||||
|
@ -6567,7 +6570,7 @@ void FullscreenUI::DrawGameGrid(const ImVec2& heading_size)
|
||||||
HandleGameListActivate(entry);
|
HandleGameListActivate(entry);
|
||||||
}
|
}
|
||||||
else if (hovered &&
|
else if (hovered &&
|
||||||
(ImGui::IsItemClicked(ImGuiMouseButton_Right) || ImGui::IsKeyPressed(ImGuiKey_NavGamepadMenu, false) ||
|
(ImGui::IsItemClicked(ImGuiMouseButton_Right) || ImGui::IsKeyPressed(ImGuiKey_NavGamepadInput, false) ||
|
||||||
ImGui::IsKeyPressed(ImGuiKey_F3, false)))
|
ImGui::IsKeyPressed(ImGuiKey_F3, false)))
|
||||||
{
|
{
|
||||||
HandleGameListOptions(entry);
|
HandleGameListOptions(entry);
|
||||||
|
|
Loading…
Reference in New Issue