VirtualBox

Changeset 47209 in vbox for trunk/src


Ignore:
Timestamp:
Jul 17, 2013 11:58:03 AM (12 years ago)
Author:
vboxsync
Message:

FE/Qt: Popup-center: Popup *recall* (withdraw) functionality.

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

Legend:

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

    r47121 r47209  
    162162}
    163163
     164void UIPopupCenter::recall(QWidget *pParent, const QString &strPopupPaneID)
     165{
     166    hidePopupPane(pParent, strPopupPaneID);
     167}
     168
    164169void UIPopupCenter::showPopupPane(QWidget *pParent, const QString &strPopupPaneID,
    165170                                  const QString &strMessage, const QString &strDetails,
     
    191196    }
    192197
    193     /* Make sure parent is always set! */
     198    /* Make sure parent is set! */
    194199    AssertMsg(pParent, ("Parent is NULL!"));
    195200    if (!pParent)
     
    235240                                     buttonDescriptions, fProposeAutoConfirmation);
    236241    }
     242}
     243
     244void UIPopupCenter::hidePopupPane(QWidget *pParent, const QString &strPopupPaneID)
     245{
     246    /* Make sure parent is set! */
     247    AssertMsg(pParent, ("Parent is NULL!"));
     248    if (!pParent)
     249        return;
     250
     251    /* Make sure corresponding popup-stack *exists*: */
     252    const QString strPopupStackID(popupStackID(pParent));
     253    if (!m_stacks.contains(strPopupStackID))
     254        return;
     255
     256    /* Make sure corresponding popup-pane *exists*: */
     257    UIPopupStack *pPopupStack = m_stacks[strPopupStackID];
     258    if (!pPopupStack->exists(strPopupPaneID))
     259        return;
     260
     261    /* Recall corresponding popup-pane: */
     262    pPopupStack->recallPopupPane(strPopupPaneID);
    237263}
    238264
  • trunk/src/VBox/Frontends/VirtualBox/src/globals/UIPopupCenter.h

    r47121 r47209  
    9595                        bool fProposeAutoConfirmation = false);
    9696
     97    /* API: Recall function,
     98     * Close corresponding popup of passed parent: */
     99    void recall(QWidget *pParent, const QString &strPopupPaneID);
     100
    97101    /* API: Runtime UI stuff: */
    98102    void cannotSendACPIToMachine(QWidget *pParent);
     
    124128    void cleanup();
    125129
    126     /* Helper: Popup-pane stuff: */
     130    /* Helpers: Popup-pane stuff: */
    127131    void showPopupPane(QWidget *pParent, const QString &strPopupPaneID,
    128132                       const QString &strMessage, const QString &strDetails,
     
    130134                       QString strButtonText1, QString strButtonText2,
    131135                       bool fProposeAutoConfirmation);
     136    void hidePopupPane(QWidget *pParent, const QString &strPopupPaneID);
    132137
    133138    /* Helpers: Popup-stack stuff: */
  • trunk/src/VBox/Frontends/VirtualBox/src/widgets/UIPopupPane.cpp

    r47108 r47209  
    5151}
    5252
     53void UIPopupPane::recall()
     54{
     55    /* Close popup-pane with *escape* button: */
     56    done(m_pButtonPane->escapeButton());
     57}
     58
    5359void UIPopupPane::setMessage(const QString &strMessage)
    5460{
  • trunk/src/VBox/Frontends/VirtualBox/src/widgets/UIPopupPane.h

    r47108 r47209  
    7272                const QMap<int, QString> &buttonDescriptions,
    7373                bool fProposeAutoConfirmation);
     74
     75    /* API: Recall stuff: */
     76    void recall();
    7477
    7578    /* API: Text stuff: */
  • trunk/src/VBox/Frontends/VirtualBox/src/widgets/UIPopupPaneButtonPane.h

    r47012 r47209  
    4646    /* API: Button stuff: */
    4747    void setButtons(const QMap<int, QString> &buttonDescriptions);
     48    int defaultButton() const { return m_iDefaultButton; }
     49    int escapeButton() const { return m_iEscapeButton; }
    4850
    4951private slots:
  • trunk/src/VBox/Frontends/VirtualBox/src/widgets/UIPopupStack.cpp

    r47041 r47209  
    9999    /* Get existing popup-pane: */
    100100    UIPopupPane *pPopupPane = m_panes[strPopupPaneID];
     101
    101102    /* Update message and details: */
    102103    pPopupPane->setMessage(strMessage);
     
    111112        sltAdjustGeometry();
    112113    }
     114}
     115
     116void UIPopupStack::recallPopupPane(const QString &strPopupPaneID)
     117{
     118    /* Make sure there is such popup-pane already: */
     119    if (!m_panes.contains(strPopupPaneID))
     120    {
     121        AssertMsgFailed(("Popup-pane doesn't exists!"));
     122        return;
     123    }
     124
     125    /* Get existing popup-pane: */
     126    UIPopupPane *pPopupPane = m_panes[strPopupPaneID];
     127
     128    /* Recall popup-pane: */
     129    pPopupPane->recall();
    113130}
    114131
  • trunk/src/VBox/Frontends/VirtualBox/src/widgets/UIPopupStack.h

    r47041 r47209  
    5353    void updatePopupPane(const QString &strPopupPaneID,
    5454                         const QString &strMessage, const QString &strDetails);
     55    void recallPopupPane(const QString &strPopupPaneID);
    5556
    5657    /* API: Parent stuff: */
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