mirror of
https://github.com/shadps4-emu/shadPS4.git
synced 2025-06-24 19:36:17 +00:00
qt_gui: Some game install features and fixes (#2261)
* open update folder + delete save folder + bulk install checkbox * delete pkg on install checkbox + use game icon for finish window
This commit is contained in:
parent
0575853be1
commit
78a0a755c5
5 changed files with 101 additions and 10 deletions
|
@ -725,9 +725,20 @@ void MainWindow::InstallDragDropPkg(std::filesystem::path file, int pkgNum, int
|
|||
return;
|
||||
}
|
||||
auto category = psf.GetString("CATEGORY");
|
||||
InstallDirSelect ids;
|
||||
ids.exec();
|
||||
auto game_install_dir = ids.getSelectedDirectory();
|
||||
|
||||
if (!use_for_all_queued || pkgNum == 1) {
|
||||
InstallDirSelect ids;
|
||||
const auto selected = ids.exec();
|
||||
if (selected == QDialog::Rejected) {
|
||||
return;
|
||||
}
|
||||
|
||||
last_install_dir = ids.getSelectedDirectory();
|
||||
delete_file_on_install = ids.deleteFileOnInstall();
|
||||
use_for_all_queued = ids.useForAllQueued();
|
||||
}
|
||||
std::filesystem::path game_install_dir = last_install_dir;
|
||||
|
||||
auto game_folder_path = game_install_dir / pkg.GetTitleID();
|
||||
QString pkgType = QString::fromStdString(pkg.GetPkgFlags());
|
||||
bool use_game_update = pkgType.contains("PATCH") && Config::getSeparateUpdateEnabled();
|
||||
|
@ -879,8 +890,14 @@ void MainWindow::InstallDragDropPkg(std::filesystem::path file, int pkgNum, int
|
|||
if (pkgNum == nPkg) {
|
||||
QString path;
|
||||
Common::FS::PathToQString(path, game_install_dir);
|
||||
QIcon windowIcon(
|
||||
Common::FS::PathToUTF8String(game_folder_path / "sce_sys/icon0.png")
|
||||
.c_str());
|
||||
QMessageBox extractMsgBox(this);
|
||||
extractMsgBox.setWindowTitle(tr("Extraction Finished"));
|
||||
if (!windowIcon.isNull()) {
|
||||
extractMsgBox.setWindowIcon(windowIcon);
|
||||
}
|
||||
extractMsgBox.setText(
|
||||
QString(tr("Game successfully installed at %1")).arg(path));
|
||||
extractMsgBox.addButton(QMessageBox::Ok);
|
||||
|
@ -894,6 +911,9 @@ void MainWindow::InstallDragDropPkg(std::filesystem::path file, int pkgNum, int
|
|||
});
|
||||
extractMsgBox.exec();
|
||||
}
|
||||
if (delete_file_on_install) {
|
||||
std::filesystem::remove(file);
|
||||
}
|
||||
});
|
||||
connect(&dialog, &QProgressDialog::canceled, [&]() { futureWatcher.cancel(); });
|
||||
connect(&futureWatcher, &QFutureWatcher<void>::progressValueChanged, &dialog,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue