From 49abdc0590208e2c525a4383f7462c9f00791270 Mon Sep 17 00:00:00 2001 From: ITotalJustice <47043333+ITotalJustice@users.noreply.github.com> Date: Sun, 25 May 2025 21:06:14 +0100 Subject: [PATCH] hotkey R2 in filebrowser for when pressed along with L2, select all files. --- sphaira/source/ui/menus/filebrowser.cpp | 38 ++++++++++++------------- 1 file changed, 18 insertions(+), 20 deletions(-) diff --git a/sphaira/source/ui/menus/filebrowser.cpp b/sphaira/source/ui/menus/filebrowser.cpp index 8961a2c..5b3cbed 100644 --- a/sphaira/source/ui/menus/filebrowser.cpp +++ b/sphaira/source/ui/menus/filebrowser.cpp @@ -295,30 +295,28 @@ FsView::FsView(Menu* menu, const fs::FsPath& path, const FsEntry& entry, ViewSid m_menu->ResetSelection(); } - const auto set = m_selected_count != m_entries_current.size(); + // if both set, select all. + if (App::GetApp()->m_controller.GotHeld(Button::R2)) { + const auto set = m_selected_count != m_entries_current.size(); - for (u32 i = 0; i < m_entries_current.size(); i++) { - auto& e = GetEntry(i); - if (e.selected != set) { - e.selected = set; - if (set) { - m_selected_count++; - } else { - m_selected_count--; + for (u32 i = 0; i < m_entries_current.size(); i++) { + auto& e = GetEntry(i); + if (e.selected != set) { + e.selected = set; + if (set) { + m_selected_count++; + } else { + m_selected_count--; + } } } - } - }}), - std::make_pair(Button::R2, Action{[this](){ - if (!m_menu->m_selected.Empty()) { - m_menu->ResetSelection(); - } - - GetEntry().selected ^= 1; - if (GetEntry().selected) { - m_selected_count++; } else { - m_selected_count--; + GetEntry().selected ^= 1; + if (GetEntry().selected) { + m_selected_count++; + } else { + m_selected_count--; + } } }}), std::make_pair(Button::A, Action{"Open"_i18n, [this](){