diff options
| -rw-r--r-- | src/yuzu/main.cpp | 46 | ||||
| -rw-r--r-- | src/yuzu/main.h | 7 | 
2 files changed, 33 insertions, 20 deletions
| diff --git a/src/yuzu/main.cpp b/src/yuzu/main.cpp index 59e56633a..c27f8196d 100644 --- a/src/yuzu/main.cpp +++ b/src/yuzu/main.cpp @@ -2018,38 +2018,50 @@ static bool RomFSRawCopy(QProgressDialog& dialog, const FileSys::VirtualDir& src      return true;  } +QString GMainWindow::GetGameListErrorRemoving(InstalledEntryType type) const { +    switch (type) { +    case InstalledEntryType::Game: +        return tr("Error Removing Contents"); +    case InstalledEntryType::Update: +        return tr("Error Removing Update"); +    case InstalledEntryType::AddOnContent: +        return tr("Error Removing DLC"); +    default: +        return QStringLiteral("Error Removing <Invalid Type>"); +    } +}  void GMainWindow::OnGameListRemoveInstalledEntry(u64 program_id, InstalledEntryType type) { -    const QString entry_type = [type] { +    const QString entry_question = [type] {          switch (type) {          case InstalledEntryType::Game: -            return tr("Contents"); +            return tr("Remove Installed Game Contents?");          case InstalledEntryType::Update: -            return tr("Update"); +            return tr("Remove Installed Game Update?");          case InstalledEntryType::AddOnContent: -            return tr("DLC"); +            return tr("Remove Installed Game DLC?");          default: -            return QString{}; +            return QStringLiteral("Remove Installed Game <Invalid Type>?");          }      }(); -    if (QMessageBox::question( -            this, tr("Remove Entry"), tr("Remove Installed Game %1?").arg(entry_type), -            QMessageBox::Yes | QMessageBox::No, QMessageBox::No) != QMessageBox::Yes) { +    if (QMessageBox::question(this, tr("Remove Entry"), entry_question, +                              QMessageBox::Yes | QMessageBox::No, +                              QMessageBox::No) != QMessageBox::Yes) {          return;      }      switch (type) {      case InstalledEntryType::Game: -        RemoveBaseContent(program_id, entry_type); +        RemoveBaseContent(program_id, type);          [[fallthrough]];      case InstalledEntryType::Update: -        RemoveUpdateContent(program_id, entry_type); +        RemoveUpdateContent(program_id, type);          if (type != InstalledEntryType::Game) {              break;          }          [[fallthrough]];      case InstalledEntryType::AddOnContent: -        RemoveAddOnContent(program_id, entry_type); +        RemoveAddOnContent(program_id, type);          break;      }      Common::FS::RemoveDirRecursively(Common::FS::GetYuzuPath(Common::FS::YuzuPath::CacheDir) / @@ -2057,7 +2069,7 @@ void GMainWindow::OnGameListRemoveInstalledEntry(u64 program_id, InstalledEntryT      game_list->PopulateAsync(UISettings::values.game_dirs);  } -void GMainWindow::RemoveBaseContent(u64 program_id, const QString& entry_type) { +void GMainWindow::RemoveBaseContent(u64 program_id, InstalledEntryType type) {      const auto& fs_controller = system->GetFileSystemController();      const auto res = fs_controller.GetUserNANDContents()->RemoveExistingEntry(program_id) ||                       fs_controller.GetSDMCContents()->RemoveExistingEntry(program_id); @@ -2067,12 +2079,12 @@ void GMainWindow::RemoveBaseContent(u64 program_id, const QString& entry_type) {                                   tr("Successfully removed the installed base game."));      } else {          QMessageBox::warning( -            this, tr("Error Removing %1").arg(entry_type), +            this, GetGameListErrorRemoving(type),              tr("The base game is not installed in the NAND and cannot be removed."));      }  } -void GMainWindow::RemoveUpdateContent(u64 program_id, const QString& entry_type) { +void GMainWindow::RemoveUpdateContent(u64 program_id, InstalledEntryType type) {      const auto update_id = program_id | 0x800;      const auto& fs_controller = system->GetFileSystemController();      const auto res = fs_controller.GetUserNANDContents()->RemoveExistingEntry(update_id) || @@ -2082,12 +2094,12 @@ void GMainWindow::RemoveUpdateContent(u64 program_id, const QString& entry_type)          QMessageBox::information(this, tr("Successfully Removed"),                                   tr("Successfully removed the installed update."));      } else { -        QMessageBox::warning(this, tr("Error Removing %1").arg(entry_type), +        QMessageBox::warning(this, GetGameListErrorRemoving(type),                               tr("There is no update installed for this title."));      }  } -void GMainWindow::RemoveAddOnContent(u64 program_id, const QString& entry_type) { +void GMainWindow::RemoveAddOnContent(u64 program_id, InstalledEntryType type) {      u32 count{};      const auto& fs_controller = system->GetFileSystemController();      const auto dlc_entries = system->GetContentProvider().ListEntriesFilter( @@ -2105,7 +2117,7 @@ void GMainWindow::RemoveAddOnContent(u64 program_id, const QString& entry_type)      }      if (count == 0) { -        QMessageBox::warning(this, tr("Error Removing %1").arg(entry_type), +        QMessageBox::warning(this, GetGameListErrorRemoving(type),                               tr("There are no DLC installed for this title."));          return;      } diff --git a/src/yuzu/main.h b/src/yuzu/main.h index 150ada84c..b73f550dd 100644 --- a/src/yuzu/main.h +++ b/src/yuzu/main.h @@ -324,9 +324,10 @@ private slots:      void OnMouseActivity();  private: -    void RemoveBaseContent(u64 program_id, const QString& entry_type); -    void RemoveUpdateContent(u64 program_id, const QString& entry_type); -    void RemoveAddOnContent(u64 program_id, const QString& entry_type); +    QString GetGameListErrorRemoving(InstalledEntryType type) const; +    void RemoveBaseContent(u64 program_id, InstalledEntryType type); +    void RemoveUpdateContent(u64 program_id, InstalledEntryType type); +    void RemoveAddOnContent(u64 program_id, InstalledEntryType type);      void RemoveTransferableShaderCache(u64 program_id, GameListRemoveTarget target);      void RemoveAllTransferableShaderCaches(u64 program_id);      void RemoveCustomConfiguration(u64 program_id, const std::string& game_path); | 
