VirtualBox

Ignore:
Timestamp:
Oct 17, 2008 1:01:44 PM (16 years ago)
Author:
vboxsync
Message:

Main, FE/Qt: Added IProgress::PowerDownAsync() (#3242).

Location:
trunk/src/VBox/Frontends/VirtualBox
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Frontends/VirtualBox/include/VBoxProblemReporter.h

    r11228 r13374  
    170170    void cannotTakeSnapshot (const CProgress &progress);
    171171    void cannotStopMachine (const CConsole &console);
     172    void cannotStopMachine (const CProgress &progress);
    172173    void cannotDeleteMachine (const CVirtualBox &vbox, const CMachine &machine);
    173174    void cannotDiscardSavedState (const CConsole &console);
  • trunk/src/VBox/Frontends/VirtualBox/src/VBoxConsoleWnd.cpp

    r12424 r13374  
    13021302                if (dlg.rbPowerOff->isChecked())
    13031303                {
    1304                     cconsole.PowerDown();
    1305                     if (!cconsole.isOk())
     1304                    CProgress progress = cconsole.PowerDownAsync();
     1305
     1306                    if (cconsole.isOk())
    13061307                    {
    1307                         /// @todo (dmik) add an option to close the GUI anyway
    1308                         //  and handle it
    1309                         vboxProblem().cannotStopMachine (cconsole);
     1308                        /* show the power down progress dialog */
     1309                        vboxProblem()
     1310                            .showModalProgressDialog (progress, cmachine.GetName(),
     1311                                                      this, 0);
     1312                        if (progress.GetResultCode() != 0)
     1313                            vboxProblem().cannotStopMachine (progress);
     1314                        else
     1315                            success = true;
    13101316                    }
    13111317                    else
     1318                        vboxProblem().cannotStopMachine (cconsole);
     1319
     1320                    if (success)
    13121321                    {
    1313                         /*
    1314                          *  set success to true even if we fail to discard the
    1315                          *  current state later -- the console window will be
    1316                          *  closed anyway
    1317                          */
    1318                         success = true;
     1322                        /* Note: leave success = true even if we fail to
     1323                         * discard the current state later -- the console window
     1324                         * will closed anyway */
    13191325
    13201326                        /* discard the current state if requested */
  • trunk/src/VBox/Frontends/VirtualBox/src/VBoxProblemReporter.cpp

    r11228 r13374  
    811811}
    812812
     813void VBoxProblemReporter::cannotStopMachine (const CProgress &progress)
     814{
     815    AssertWrapperOk (progress);
     816    CConsole console = CProgress (progress).GetInitiator();
     817    AssertWrapperOk (console);
     818
     819    message (mainWindowShown(), Error,
     820        tr ("Failed to stop the virtual machine <b>%1</b>.")
     821            .arg (console.GetMachine().GetName()),
     822        formatErrorInfo (progress.GetErrorInfo()));
     823}
     824
    813825void VBoxProblemReporter::cannotDeleteMachine (const CVirtualBox &vbox,
    814826                                               const CMachine &machine)
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette