@@ -336,6 +336,12 @@ PackageManagerGui::PackageManagerGui(PackageManagerCore *core, QWidget *parent)
336336 setOption (QWizard::NoBackButtonOnStartPage);
337337 setOption (QWizard::NoBackButtonOnLastPage);
338338
339+ if (m_core->noCancelButton ())
340+ {
341+ // Remove the cancel button from the installer/uninstaller
342+ setOption (QWizard::NoCancelButton);
343+ }
344+
339345 connect (this , &QDialog::rejected, m_core, &PackageManagerCore::setCanceled);
340346 connect (this , &PackageManagerGui::interrupted, m_core, &PackageManagerCore::interrupt);
341347
@@ -1849,6 +1855,9 @@ CustomIntroductionPage::CustomIntroductionPage(PackageManagerCore *core)
18491855 m_taskButton = nullptr ;
18501856 }
18511857#endif
1858+
1859+ // By setting this as a commit page, we make sure that the back button on the following page will be disabled
1860+ setCommitPage (true );
18521861}
18531862
18541863/* !
@@ -2285,17 +2294,21 @@ void CustomIntroductionPage::entering()
22852294 showWidgets (false );
22862295 setMessage (QString ());
22872296 setErrorMessage (QString ());
2288- setButtonText (QWizard::CancelButton, tr (" &Quit" ));
22892297
22902298 m_progressBar->setValue (0 );
22912299 m_progressBar->setRange (0 , 0 );
22922300 PackageManagerCore *core = packageManagerCore ();
22932301 setSettingsButtonRequested ((!core->isOfflineOnly ()) && (!core->isUninstaller ()));
22942302
2303+ if (!core->noCancelButton ())
2304+ {
2305+ setButtonText (QWizard::CancelButton, tr (" &Quit" ));
2306+ }
2307+
22952308 // Ready for installation text
22962309 if (core->isUninstaller ()) {
22972310 // m_taskDetailsBrowser->setVisible(false);
2298- setButtonText (QWizard::NextButton , tr (" U&ninstall" ));
2311+ setButtonText (QWizard::CommitButton , tr (" U&ninstall" ));
22992312 setColoredTitle (tr (" Ready to Uninstall %1" ).arg (productName ()));
23002313 m_spaceLabel->setText (tr (" Setup is now ready to begin removing %1 from your computer.<br>"
23012314 " <font color=\" red\" >The program directory %2 will be deleted completely</font>, "
@@ -2306,25 +2319,19 @@ void CustomIntroductionPage::entering()
23062319 // setComplete(true);
23072320 // return;
23082321 } else if (core->isMaintainer ()) {
2309- setButtonText (QWizard::NextButton , tr (" U&pdate" ));
2322+ setButtonText (QWizard::CommitButton , tr (" U&pdate" ));
23102323 // setColoredTitle(tr("Ready to Update Packages"));
23112324 m_spaceLabel->setText (tr (" Setup is now ready to begin updating your installation." ));
23122325 } else {
23132326 Q_ASSERT (core->isInstaller ());
23142327 core->calculateComponentsToInstall ();
23152328 showInstallerInformation ();
2316- setButtonText (QWizard::NextButton , tr (" &Install" ));
2329+ setButtonText (QWizard::CommitButton , tr (" &Install" ));
23172330 // setColoredTitle(tr("Ready to Install"));
23182331 m_spaceLabel->setText (tr (" Setup is now ready to begin installing %1 on your computer." )
23192332 .arg (productName ()));
23202333 }
23212334
2322- // QString htmlOutput;
2323- // bool componentsOk = core->calculateComponents(&htmlOutput);
2324- // m_taskDetailsBrowser->setHtml(htmlOutput);
2325- // m_taskDetailsBrowser->setVisible(!componentsOk || isVerbose());
2326- // setComplete(componentsOk);
2327-
23282335 if (!core->isUninstaller ()) {
23292336 QString spaceInfo;
23302337 if (core->checkAvailableSpace (spaceInfo)) {
@@ -2354,11 +2361,14 @@ void CustomIntroductionPage::leaving()
23542361 m_progressBar->setValue (0 );
23552362 m_progressBar->setRange (0 , 0 );
23562363
2357- // Resetting the cancel button text from Quit to Cancel
2358- setButtonText (QWizard::CancelButton, gui ()->defaultButtonText (QWizard::CancelButton));
2364+ if (!packageManagerCore ()->noCancelButton ())
2365+ {
2366+ // Resetting the cancel button text from Quit to Cancel
2367+ setButtonText (QWizard::CancelButton, gui ()->defaultButtonText (QWizard::CancelButton));
2368+ }
23592369
23602370 // Resetting button text (after changing it to Install/Uninstall/Update)
2361- setButtonText (QWizard::NextButton , gui ()->defaultButtonText (QWizard::NextButton ));
2371+ setButtonText (QWizard::CommitButton , gui ()->defaultButtonText (QWizard::CommitButton ));
23622372
23632373 // Store the install location
23642374 packageManagerCore ()->setValue (scTargetDir, targetDir ());
@@ -3424,6 +3434,11 @@ PerformInstallationPage::PerformInstallationPage(PackageManagerCore *core)
34243434
34253435 m_performInstallationForm->setupUi (this );
34263436
3437+ if (core->noDetails ())
3438+ {
3439+ m_performInstallationForm->noDetails ();
3440+ }
3441+
34273442 connect (ProgressCoordinator::instance (), &ProgressCoordinator::detailTextChanged,
34283443 m_performInstallationForm, &PerformInstallationForm::appendProgressDetails);
34293444 connect (ProgressCoordinator::instance (), &ProgressCoordinator::detailTextResetNeeded,
@@ -3446,8 +3461,11 @@ PerformInstallationPage::PerformInstallationPage(PackageManagerCore *core)
34463461 connect (this , &PerformInstallationPage::setAutomatedPageSwitchEnabled,
34473462 core, &PackageManagerCore::setAutomatedPageSwitchEnabled);
34483463
3449- m_performInstallationForm->setDetailsWidgetVisible (true );
3450-
3464+ if (!core->noDetails ())
3465+ {
3466+ m_performInstallationForm->setDetailsWidgetVisible (true );
3467+ }
3468+
34513469 setCommitPage (true );
34523470}
34533471
@@ -3495,10 +3513,13 @@ void PerformInstallationPage::entering()
34953513 QTimer::singleShot (30 , packageManagerCore (), SLOT (runInstaller ()));
34963514 }
34973515
3498- m_performInstallationForm->enableDetails ();
3516+ if (!packageManagerCore ()->noDetails ())
3517+ {
3518+ m_performInstallationForm->enableDetails ();
3519+ }
34993520 emit setAutomatedPageSwitchEnabled (true );
35003521
3501- if (isVerbose ())
3522+ if (isVerbose () && ! packageManagerCore ()-> noDetails () )
35023523 m_performInstallationForm->toggleDetails ();
35033524}
35043525
0 commit comments