Qt: properly handle cancel of pkg install dialog

This commit is contained in:
Megamouse
2026-03-01 22:06:01 +01:00
parent 00a1c7278a
commit 9288565676
+13 -1
View File
@@ -938,13 +938,20 @@ bool main_window::HandlePackageInstallation(QStringList file_paths, bool from_bo
bool precompile_caches = false; bool precompile_caches = false;
bool create_desktop_shortcuts = false; bool create_desktop_shortcuts = false;
bool create_app_shortcut = false; bool create_app_shortcut = false;
bool canceled = false;
game_compatibility* compat = m_game_list_frame ? m_game_list_frame->GetGameCompatibility() : nullptr; game_compatibility* compat = m_game_list_frame ? m_game_list_frame->GetGameCompatibility() : nullptr;
// Let the user choose the packages to install and select the order in which they shall be installed. // Let the user choose the packages to install and select the order in which they shall be installed.
pkg_install_dialog dlg(file_paths, compat, this); pkg_install_dialog dlg(file_paths, compat, this);
connect(&dlg, &QDialog::accepted, this, [&]() connect(&dlg, &QDialog::finished, this, [&](int result)
{ {
if (result != QDialog::Accepted)
{
canceled = true;
return;
}
packages = dlg.get_paths_to_install(); packages = dlg.get_paths_to_install();
precompile_caches = dlg.precompile_caches(); precompile_caches = dlg.precompile_caches();
create_desktop_shortcuts = dlg.create_desktop_shortcuts(); create_desktop_shortcuts = dlg.create_desktop_shortcuts();
@@ -952,6 +959,11 @@ bool main_window::HandlePackageInstallation(QStringList file_paths, bool from_bo
}); });
dlg.exec(); dlg.exec();
if (canceled)
{
return false;
}
if (!from_boot) if (!from_boot)
{ {
if (!m_gui_settings->GetBootConfirmation(this)) if (!m_gui_settings->GetBootConfirmation(this))