diff --git a/sphaira/source/ui/menus/filebrowser.cpp b/sphaira/source/ui/menus/filebrowser.cpp index 662e92d..ae6c442 100644 --- a/sphaira/source/ui/menus/filebrowser.cpp +++ b/sphaira/source/ui/menus/filebrowser.cpp @@ -512,6 +512,25 @@ Menu::Menu(const std::vector& nro_entries) : MenuBase{"FileBrowser"_i1 } } + if (m_fs_type == FsType::Sd && m_entries_current.size()) { + if (App::GetInstallEnable() && HasTypeInSelectedEntries(FsDirEntryType_File) && !m_selected_count && (GetEntry().GetExtension() == "nro" || !FindFileAssocFor().empty())) { + options->Add(std::make_shared("Install Forwarder"_i18n, [this](){; + if (App::GetInstallPrompt()) { + App::Push(std::make_shared( + "WARNING: Installing forwarders will lead to a ban!"_i18n, + "Back"_i18n, "Install"_i18n, 0, [this](auto op_index){ + if (op_index && *op_index) { + InstallForwarder(); + } + } + )); + } else { + InstallForwarder(); + } + })); + } + } + if (m_entries_current.size()) { if (check_all_ext(ZIP_EXTENSIONS)) { options->Add(std::make_shared("Extract"_i18n, [this](){ @@ -619,25 +638,6 @@ Menu::Menu(const std::vector& nro_entries) : MenuBase{"FileBrowser"_i1 })); } - if (m_fs_type == FsType::Sd && m_entries_current.size()) { - if (App::GetInstallEnable() && HasTypeInSelectedEntries(FsDirEntryType_File) && !m_selected_count && (GetEntry().GetExtension() == "nro" || !FindFileAssocFor().empty())) { - options->Add(std::make_shared("Install Forwarder"_i18n, [this](){; - if (App::GetInstallPrompt()) { - App::Push(std::make_shared( - "WARNING: Installing forwarders will lead to a ban!"_i18n, - "Back"_i18n, "Install"_i18n, 0, [this](auto op_index){ - if (op_index && *op_index) { - InstallForwarder(); - } - } - )); - } else { - InstallForwarder(); - } - })); - } - } - options->Add(std::make_shared("Ignore read only"_i18n, m_ignore_read_only.Get(), [this](bool& v_out){ m_ignore_read_only.Set(v_out); m_fs->SetIgnoreReadOnly(v_out);