VirtualBox

Changeset 45285 in vbox for trunk/src/VBox/Frontends


Ignore:
Timestamp:
Apr 2, 2013 11:57:35 AM (12 years ago)
Author:
vboxsync
Message:

FE/Qt: Message-center cleanup (part 17): Snapshot related stuff.

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

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Frontends/VirtualBox/src/globals/UIMessageCenter.cpp

    r45282 r45285  
    624624                              "the machine without doing a proper shutdown of the guest OS.</p>")
    625625                              .arg(strNames),
    626                            0 /* pcszAutoConfirmId */,
     626                           0 /* auto-confirm id */,
    627627                           tr("Discard", "saved state"));
    628628}
     
    635635                              "in applications running inside it to be lost.</p>")
    636636                              .arg(strNames),
    637                            "confirmVMReset" /* pcszAutoConfirmId */,
     637                           "confirmVMReset" /* auto-confirm id */,
    638638                           tr("Reset", "machine"));
    639639}
     
    645645                              "to the following virtual machines?</p><p><b>%1</b></p>")
    646646                              .arg(strNames),
    647                            "confirmVMACPIShutdown" /* pcszAutoConfirmId */,
     647                           "confirmVMACPIShutdown" /* auto-confirm id */,
    648648                           tr("ACPI Shutdown", "machine"));
    649649}
     
    656656                              "running inside it to be lost.</p>")
    657657                              .arg(strNames),
    658                            "confirmVMPowerOff" /* pcszAutoConfirmId */,
     658                           "confirmVMPowerOff" /* auto-confirm id */,
    659659                           tr("Power Off", "machine"));
    660660}
     
    682682}
    683683
    684 int UIMessageCenter::askAboutSnapshotRestoring(const QString &strSnapshotName, bool fAlsoCreateNewSnapshot)
     684int UIMessageCenter::confirmSnapshotRestoring(const QString &strSnapshotName, bool fAlsoCreateNewSnapshot)
    685685{
    686686    return fAlsoCreateNewSnapshot ?
     
    691691                                .arg(strSnapshotName),
    692692                             tr("Create a snapshot of the current machine state"),
    693                              !vboxGlobal().virtualBox().GetExtraDataStringList(GUI_InvertMessageOption).contains("askAboutSnapshotRestoring"),
     693                             !vboxGlobal().virtualBox().GetExtraDataStringList(GUI_InvertMessageOption).contains("confirmSnapshotRestoring"),
    694694                             QString() /* details */,
    695695                             QIMessageBox::Ok | QIMessageBox::Default,
     
    699699           message(mainWindowShown(), MessageType_Question,
    700700                   tr("<p>Are you sure you want to restore snapshot <nobr><b>%1</b></nobr>?</p>").arg(strSnapshotName),
    701                    0 /* auto-confirmation token */,
     701                   0 /* auto-confirm id */,
    702702                   QIMessageBox::Ok | QIMessageBox::Default,
    703703                   QIMessageBox::Cancel | QIMessageBox::Escape,
     
    706706}
    707707
    708 bool UIMessageCenter::askAboutSnapshotDeleting(const QString &strSnapshotName)
     708bool UIMessageCenter::confirmSnapshotRemoval(const QString &strSnapshotName)
    709709{
    710710    return messageOkCancel(mainWindowShown(), MessageType_Question,
    711         tr("<p>Deleting the snapshot will cause the state information saved in it to be lost, and disk data spread over "
    712             "several image files that VirtualBox has created together with the snapshot will be merged into one file. This can be a lengthy process, and the information "
    713             "in the snapshot cannot be recovered.</p></p>Are you sure you want to delete the selected snapshot <b>%1</b>?</p>")
    714             .arg(strSnapshotName),
    715         /* Do NOT allow this message to be disabled! */
    716         NULL /* pcszAutoConfirmId */,
    717         tr("Delete"), tr("Cancel"));
    718 }
    719 
    720 bool UIMessageCenter::askAboutSnapshotDeletingFreeSpace(const QString &strSnapshotName,
     711                           tr("<p>Deleting the snapshot will cause the state information saved in it to be lost, and disk data spread over "
     712                              "several image files that VirtualBox has created together with the snapshot will be merged into one file. This can be a lengthy process, and the information "
     713                              "in the snapshot cannot be recovered.</p></p>Are you sure you want to delete the selected snapshot <b>%1</b>?</p>")
     714                              .arg(strSnapshotName),
     715                           0 /* auto-confirm id */,
     716                           tr("Delete"), tr("Cancel"));
     717}
     718
     719bool UIMessageCenter::warnAboutSnapshotRemovalFreeSpace(const QString &strSnapshotName,
    721720                                                        const QString &strTargetImageName,
    722721                                                        const QString &strTargetImageMaxSize,
     
    724723{
    725724    return messageOkCancel(mainWindowShown(), MessageType_Question,
    726         tr("<p>Deleting the snapshot %1 will temporarily need more disk space. In the worst case the size of image %2 will grow by %3, "
    727             "however on this filesystem there is only %4 free.</p><p>Running out of disk space during the merge operation can result in "
    728             "corruption of the image and the VM configuration, i.e. loss of the VM and its data.</p><p>You may continue with deleting "
    729             "the snapshot at your own risk.</p>")
    730             .arg(strSnapshotName)
    731             .arg(strTargetImageName)
    732             .arg(strTargetImageMaxSize)
    733             .arg(strTargetFileSystemFree),
    734         /* Do NOT allow this message to be disabled! */
    735         NULL /* pcszAutoConfirmId */,
    736         tr("Delete"), tr("Cancel"));
    737 }
    738 
    739 void UIMessageCenter::cannotRestoreSnapshot(const CConsole &console,
    740                                             const QString &strSnapshotName)
     725                           tr("<p>Deleting the snapshot %1 will temporarily need more disk space. In the worst case the size of image %2 will grow by %3, "
     726                               "however on this filesystem there is only %4 free.</p><p>Running out of disk space during the merge operation can result in "
     727                               "corruption of the image and the VM configuration, i.e. loss of the VM and its data.</p><p>You may continue with deleting "
     728                               "the snapshot at your own risk.</p>")
     729                               .arg(strSnapshotName)
     730                               .arg(strTargetImageName)
     731                               .arg(strTargetImageMaxSize)
     732                               .arg(strTargetFileSystemFree),
     733                           0 /* auto-confirm id */,
     734                           tr("Delete"));
     735}
     736
     737void UIMessageCenter::cannotRestoreSnapshot(const CConsole &console, const QString &strSnapshotName)
    741738{
    742739    message(mainWindowShown(), MessageType_Error,
    743         tr("Failed to restore the snapshot <b>%1</b> of the virtual machine <b>%2</b>.")
    744             .arg(strSnapshotName)
    745             .arg(CConsole(console).GetMachine().GetName()),
    746         formatErrorInfo(console));
    747 }
    748 
    749 void UIMessageCenter::cannotRestoreSnapshot(const CProgress &progress,
    750                                             const QString &strSnapshotName)
    751 {
     740            tr("Failed to restore the snapshot <b>%1</b> of the virtual machine <b>%2</b>.")
     741               .arg(strSnapshotName).arg(CConsole(console).GetMachine().GetName()),
     742            formatErrorInfo(console));
     743}
     744
     745void UIMessageCenter::cannotRestoreSnapshot(const CProgress &progress, const QString &strSnapshotName)
     746{
     747    /* Get console: */
     748    AssertWrapperOk(progress);
    752749    CConsole console(CProgress(progress).GetInitiator());
    753 
     750    AssertWrapperOk(console);
     751    /* Show the message: */
    754752    message(mainWindowShown(), MessageType_Error,
    755         tr("Failed to restore the snapshot <b>%1</b> of the virtual machine <b>%2</b>.")
    756             .arg(strSnapshotName)
    757             .arg(console.GetMachine().GetName()),
    758         formatErrorInfo(progress.GetErrorInfo()));
    759 }
    760 
    761 void UIMessageCenter::cannotDeleteSnapshot(const CConsole &console,
     753            tr("Failed to restore the snapshot <b>%1</b> of the virtual machine <b>%2</b>.")
     754               .arg(strSnapshotName).arg(console.GetMachine().GetName()),
     755            formatErrorInfo(progress.GetErrorInfo()));
     756}
     757
     758void UIMessageCenter::cannotRemoveSnapshot(const CConsole &console, const QString &strSnapshotName)
     759{
     760    message(mainWindowShown(), MessageType_Error,
     761            tr("Failed to delete the snapshot <b>%1</b> of the virtual machine <b>%2</b>.")
     762               .arg(strSnapshotName)
     763               .arg(CConsole(console).GetMachine().GetName()),
     764            formatErrorInfo(console));
     765}
     766
     767void UIMessageCenter::cannotRemoveSnapshot(const CProgress &progress,
    762768                                           const QString &strSnapshotName)
    763769{
    764     message(mainWindowShown(), MessageType_Error,
    765         tr("Failed to delete the snapshot <b>%1</b> of the virtual machine <b>%2</b>.")
    766             .arg(strSnapshotName)
    767             .arg(CConsole(console).GetMachine().GetName()),
    768         formatErrorInfo(console));
    769 }
    770 
    771 void UIMessageCenter::cannotDeleteSnapshot(const CProgress &progress,
    772                                            const QString &strSnapshotName)
    773 {
     770    /* Get console: */
     771    AssertWrapperOk(progress);
    774772    CConsole console(CProgress(progress).GetInitiator());
    775 
     773    AssertWrapperOk(console);
     774    /* Show the message: */
    776775    message(mainWindowShown(), MessageType_Error,
    777776        tr("Failed to delete the snapshot <b>%1</b> of the virtual machine <b>%2</b>.")
     
    779778            .arg(console.GetMachine().GetName()),
    780779        formatErrorInfo(progress.GetErrorInfo()));
    781 }
    782 
    783 void UIMessageCenter::cannotFindSnapshotByName(QWidget *pParent,
    784                                                const CMachine &machine,
    785                                                const QString &strName) const
    786 {
    787     message(pParent ? pParent : mainWindowShown(), MessageType_Error,
    788              tr("Can't find snapshot named <b>%1</b>.")
    789              .arg(strName),
    790              formatErrorInfo(machine)
    791     );
    792780}
    793781
     
    879867                      "<p>Would you like to create a new, empty file to hold the disk contents or select an existing one?</p>")
    880868                   .arg(strControllerName),
    881                    0, /* pcszAutoConfirmId */
     869                   0, /* auto-confirm id */
    882870                   QIMessageBox::Yes,
    883871                   QIMessageBox::No,
     
    895883                      "or to leave it empty for now?</p>")
    896884                   .arg(strControllerName),
    897                    0, /* pcszAutoConfirmId */
     885                   0, /* auto-confirm id */
    898886                   QIMessageBox::Yes,
    899887                   QIMessageBox::No,
     
    911899                      "or to leave it empty for now?</p>")
    912900                   .arg(strControllerName),
    913                    0, /* pcszAutoConfirmId */
     901                   0, /* auto-confirm id */
    914902                   QIMessageBox::Yes,
    915903                   QIMessageBox::No,
     
    925913                               "<p>You will not be able to mount any CDs or ISO images "
    926914                               "or install the Guest Additions without it!</p>"),
    927                             0, /* pcszAutoConfirmId */
     915                            0, /* auto-confirm id */
    928916                            tr("&Remove", "medium"));
    929917}
     
    941929           "you correct their settings by either choosing a different interface "
    942930           "name or a different adapter attachment type.</p>").arg(strName),
    943         0, /* pcszAutoConfirmId */
     931        0, /* auto-confirm id */
    944932        QIMessageBox::Ok | QIMessageBox::Default,
    945933        QIMessageBox::Cancel | QIMessageBox::Escape);
     
    985973            .arg(aMedium.location())
    986974            .arg(strUsage),
    987         0 /* pcszAutoConfirmId */,
     975        0 /* auto-confirm id */,
    988976        tr("Release", "detach medium"));
    989977}
     
    10251013
    10261014    return messageOkCancel(pParent, MessageType_Question, msg,
    1027         "confirmRemoveMedium", /* pcszAutoConfirmId */
     1015        "confirmRemoveMedium", /* auto-confirm id */
    10281016        tr("Remove", "medium"));
    10291017}
     
    10421030           "disk to the list later again.</p>")
    10431031        .arg(strLocation),
    1044         0, /* pcszAutoConfirmId */
     1032        0, /* auto-confirm id */
    10451033        QIMessageBox::Yes,
    10461034        QIMessageBox::No | QIMessageBox::Default,
     
    12851273           "until you add one. In the mean time you will only be able to start the "
    12861274           "machine using a virtual optical disk or from the network."),
    1287         0, /* pcszAutoConfirmId */
     1275        0, /* auto-confirm id */
    12881276        QIMessageBox::Ok,
    12891277        QIMessageBox::Cancel | QIMessageBox::Default | QIMessageBox::Escape,
     
    13651353           "will be discarded. The other machine(s) will not be changed.</p>", "This text is never used with n == 0.  Feel free to drop the %n where possible, we only included it because of problems with Qt Linguist (but the user can see how many machines are in the list and doesn't need to be told).",
    13661354           strMachineNames.size()).arg(VBoxGlobal::toHumanReadableList(strMachineNames)),
    1367         0 /* pcszAutoConfirmId */,
     1355        0 /* auto-confirm id */,
    13681356        tr("Continue"), tr("Cancel"));
    13691357}
     
    14201408            tr("Failed to export appliance <b>%1</b>.").arg(pAppliance->GetPath()),
    14211409            formatErrorInfo(progress.GetErrorInfo()));
     1410}
     1411
     1412void UIMessageCenter::cannotFindSnapshotByName(QWidget *pParent,
     1413                                               const CMachine &machine,
     1414                                               const QString &strName) const
     1415{
     1416    message(pParent ? pParent : mainWindowShown(), MessageType_Error,
     1417            tr("Can't find snapshot named <b>%1</b>.")
     1418               .arg(strName),
     1419            formatErrorInfo(machine));
    14221420}
    14231421
     
    15231521                "that you have enabled VT-x/AMD-V properly in the BIOS of your "
    15241522                "host computer.</p>"),
    1525             0 /* pcszAutoConfirmId */,
     1523            0 /* auto-confirm id */,
    15261524            tr("Close VM"), tr("Continue"));
    15271525    else
     
    15301528                "Your 64-bit guest will fail to detect a 64-bit CPU and will "
    15311529                "not be able to boot."),
    1532             0 /* pcszAutoConfirmId */,
     1530            0 /* auto-confirm id */,
    15331531            tr("Close VM"), tr("Continue"));
    15341532}
     
    15431541                "that you have enabled VT-x/AMD-V properly in the BIOS of your "
    15441542                "host computer.</p>"),
    1545             0 /* pcszAutoConfirmId */,
     1543            0 /* auto-confirm id */,
    15461544            tr("Close VM"), tr("Continue"));
    15471545    else
     
    15501548                "Certain guests (e.g. OS/2 and QNX) require this feature and will "
    15511549                "fail to boot without it.</p>"),
    1552             0 /* pcszAutoConfirmId */,
     1550            0 /* auto-confirm id */,
    15531551            tr("Close VM"), tr("Continue"));
    15541552}
     
    15651563             .arg(strMachineName)
    15661564             .arg(strIfNames),
    1567              0, /* pcszAutoConfirmId */
     1565             0, /* auto-confirm id */
    15681566             tr("Change Network Settings"),
    15691567             tr("Close Virtual Machine"));
     
    15831581void UIMessageCenter::cannotStartMachine(const CProgress &progress)
    15841582{
     1583    /* Get console: */
    15851584    AssertWrapperOk(progress);
    15861585    CConsole console(CProgress(progress).GetInitiator());
    15871586    AssertWrapperOk(console);
    1588 
     1587    /* Show the message: */
    15891588    message(
    15901589        mainWindowShown(),
     
    16431642void UIMessageCenter::cannotSaveMachineState(const CProgress &progress)
    16441643{
     1644    /* Get console: */
    16451645    AssertWrapperOk(progress);
    16461646    CConsole console(CProgress(progress).GetInitiator());
    16471647    AssertWrapperOk(console);
    1648 
     1648    /* Show the message: */
    16491649    message(
    16501650        mainWindowShown(),
     
    16691669void UIMessageCenter::cannotTakeSnapshot(const CProgress &progress)
    16701670{
     1671    /* Get console: */
    16711672    AssertWrapperOk(progress);
    16721673    CConsole console(CProgress(progress).GetInitiator());
    16731674    AssertWrapperOk(console);
    1674 
     1675    /* Show the message: */
    16751676    message(
    16761677        mainWindowShown(),
     
    16841685void UIMessageCenter::cannotStopMachine(const CProgress &progress)
    16851686{
     1687    /* Get console: */
    16861688    AssertWrapperOk(progress);
    16871689    CConsole console(CProgress(progress).GetInitiator());
    16881690    AssertWrapperOk(console);
    1689 
     1691    /* Show the message: */
    16901692    message(mainWindowShown(), MessageType_Error,
    16911693        tr("Failed to stop the virtual machine <b>%1</b>.")
     
    18031805               "corresponding action from the menu bar."
    18041806               "</p>"),
    1805             kNames [1] /* pcszAutoConfirmId */);
     1807            kNames [1] /* auto-confirm id */);
    18061808    }
    18071809    else
     
    18131815               "display or pressing the host key) in order to use the "
    18141816               "mouse inside the guest OS.</p>"),
    1815             kNames [0] /* pcszAutoConfirmId */);
     1817            kNames [0] /* auto-confirm id */);
    18161818    }
    18171819
     
    18591861                 "or press <b>Cancel</b> to cancel the operation.</p>")
    18601862             .arg(VBoxGlobal::formatSize(uMinVRAM)),
    1861              0, /* pcszAutoConfirmId */
     1863             0, /* auto-confirm id */
    18621864             QIMessageBox::Ignore | QIMessageBox::Default,
    18631865             QIMessageBox::Cancel | QIMessageBox::Escape);
     
    18841886                      "or press <b>Cancel</b> to cancel the operation.</p>")
    18851887                   .arg(VBoxGlobal::formatSize(uMinVRAM)),
    1886                    0, /* pcszAutoConfirmId */
     1888                   0, /* auto-confirm id */
    18871889                   QIMessageBox::Ignore | QIMessageBox::Default,
    18881890                   QIMessageBox::Cancel | QIMessageBox::Escape);
     
    20332035           "it is recommended to press <b>OK</b> now.</p>")
    20342036            .arg(strLogFolder),
    2035         0, /* pcszAutoConfirmId */
     2037        0, /* auto-confirm id */
    20362038        QIMessageBox::Ok | QIMessageBox::Default,
    20372039        QIMessageBox::Ignore | QIMessageBox::Escape);
     
    20762078                              "<nobr><a href=\"%1\">%2</a></nobr> "
    20772079                              "(size %3 bytes)?</p>").arg(strUrl).arg(strUrl).arg(loc.toString(uSize)),
    2078                            0, /* pcszAutoConfirmId */
     2080                           0, /* auto-confirm id */
    20792081                           tr("Download", "additions"));
    20802082}
     
    20902092                              "on the virtual CD/DVD drive?</p>")
    20912093                               .arg(strUrl).arg(strUrl).arg(strSrc),
    2092                            0, /* pcszAutoConfirmId */
     2094                           0, /* auto-confirm id */
    20932095                           tr("Mount", "additions"));
    20942096}
  • trunk/src/VBox/Frontends/VirtualBox/src/globals/UIMessageCenter.h

    r45282 r45285  
    228228
    229229    /* API: Snapshot warnings: */
    230     int askAboutSnapshotRestoring(const QString &strSnapshotName, bool fAlsoCreateNewSnapshot);
    231     bool askAboutSnapshotDeleting(const QString &strSnapshotName);
    232     bool askAboutSnapshotDeletingFreeSpace(const QString &strSnapshotName,
    233                                            const QString &strTargetImageName,
    234                                            const QString &strTargetImageMaxSize,
    235                                            const QString &strTargetFileSystemFree);
     230    int confirmSnapshotRestoring(const QString &strSnapshotName, bool fAlsoCreateNewSnapshot);
     231    bool confirmSnapshotRemoval(const QString &strSnapshotName);
     232    bool warnAboutSnapshotRemovalFreeSpace(const QString &strSnapshotName, const QString &strTargetImageName,
     233                                           const QString &strTargetImageMaxSize, const QString &strTargetFileSystemFree);
    236234    void cannotRestoreSnapshot(const CConsole &console, const QString &strSnapshotName);
    237235    void cannotRestoreSnapshot(const CProgress &progress, const QString &strSnapshotName);
    238     void cannotDeleteSnapshot(const CConsole &console, const QString &strSnapshotName);
    239     void cannotDeleteSnapshot(const CProgress &progress, const QString &strSnapshotName);
    240     void cannotFindSnapshotByName(QWidget *pParent, const CMachine &machine, const QString &strMachine) const;
     236    void cannotRemoveSnapshot(const CConsole &console, const QString &strSnapshotName);
     237    void cannotRemoveSnapshot(const CProgress &progress, const QString &strSnapshotName);
    241238
    242239    /* API: Settings warnings: */
     
    293290    void cannotExportAppliance(const CMachine &machine, CAppliance *pAppliance, QWidget *pParent = NULL) const;
    294291    void cannotExportAppliance(const CProgress &progress, CAppliance *pAppliance, QWidget *pParent = NULL) const;
     292    void cannotFindSnapshotByName(QWidget *pParent, const CMachine &machine, const QString &strMachine) const;
    295293
    296294    /* API: Runtime UI warnings: */
  • trunk/src/VBox/Frontends/VirtualBox/src/selector/VBoxSnapshotsWgt.cpp

    r45192 r45285  
    584584
    585585    /* Ask the user if he really wants to restore the snapshot: */
    586     int iResultCode = msgCenter().askAboutSnapshotRestoring(snapshot.GetName(), mMachine.GetCurrentStateModified());
     586    int iResultCode = msgCenter().confirmSnapshotRestoring(snapshot.GetName(), mMachine.GetCurrentStateModified());
    587587    if (iResultCode & QIMessageBox::Cancel)
    588588        return;
     
    613613    }
    614614    else
    615         msgCenter().cannotRestoreSnapshot(progress, snapshot.GetName());
     615        msgCenter().cannotRestoreSnapshot(console, snapshot.GetName());
    616616
    617617    /* Unlock machine finally: */
     
    629629    CSnapshot snapshot = mMachine.FindSnapshot(snapId);
    630630
    631     if (!msgCenter().askAboutSnapshotDeleting (snapshot.GetName()))
     631    if (!msgCenter().confirmSnapshotRemoval(snapshot.GetName()))
    632632        return;
    633633
    634634    /** @todo check available space on the target filesystem etc etc. */
    635635#if 0
    636     if (!msgCenter().askAboutSnapshotDeletingFreeSpace (snapshot.GetName(),
    637                                                           "/home/juser/.VirtualBox/Machines/SampleVM/Snapshots/{01020304-0102-0102-0102-010203040506}.vdi",
    638                                                           "59 GiB",
    639                                                           "15 GiB"))
     636    if (!msgCenter().warnAboutSnapshotRemovalFreeSpace(snapshot.GetName(),
     637                                                       "/home/juser/.VirtualBox/Machines/SampleVM/Snapshots/{01020304-0102-0102-0102-010203040506}.vdi",
     638                                                       "59 GiB",
     639                                                       "15 GiB"))
    640640        return;
    641641#endif
    642 
    643642
    644643    /* Open a direct session (this call will handle all errors) */
     
    661660
    662661        if (progress.GetResultCode() != 0)
    663             msgCenter().cannotDeleteSnapshot (progress,  snapshot.GetName());
     662            msgCenter().cannotRemoveSnapshot (progress,  snapshot.GetName());
    664663    }
    665664    else
    666         msgCenter().cannotDeleteSnapshot (console,  snapshot.GetName());
     665        msgCenter().cannotRemoveSnapshot (console,  snapshot.GetName());
    667666
    668667    session.UnlockMachine();
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