VirtualBox

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


Ignore:
Timestamp:
Jun 27, 2018 2:03:43 PM (7 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
123230
Message:

FE/Qt: In logviewer check if the widget is being going away before managing close button

Location:
trunk/src/VBox/Frontends/VirtualBox/src/logviewer
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Frontends/VirtualBox/src/logviewer/UIVMLogViewerDialog.cpp

    r71638 r72701  
    5858    : QIWithRetranslateUI<QIManagerDialog>(pCenterWidget)
    5959    , m_comMachine(machine)
     60    , pWidget(0)
    6061{
     62}
     63
     64UIVMLogViewerDialog::~UIVMLogViewerDialog()
     65{
     66    if (pWidget)
     67        pWidget->setBeingClosed(true);
    6168}
    6269
     
    7481{
    7582    /* Create widget: */
    76     UIVMLogViewerWidget *pWidget = new UIVMLogViewerWidget(EmbedTo_Dialog, this, m_comMachine);
     83    pWidget = new UIVMLogViewerWidget(EmbedTo_Dialog, this, m_comMachine);
    7784    if (pWidget)
    7885    {
  • trunk/src/VBox/Frontends/VirtualBox/src/logviewer/UIVMLogViewerDialog.h

    r72039 r72701  
    3636class QVBoxLayout;
    3737class UIVMLogViewerDialog;
     38class UIVMLogViewerWidget;
    3839class CMachine;
    3940
     
    4445public:
    4546    UIVMLogViewerDialogFactory(const CMachine &machine);
    46 
     47   
    4748protected:
    4849    /** Creates derived @a pDialog instance.
     
    6263
    6364    UIVMLogViewerDialog(QWidget *pCenterWidget, const CMachine &machine);
     65    ~UIVMLogViewerDialog();
    6466
    6567protected:
     
    8486    void retranslateUi();
    8587    CMachine m_comMachine;
     88    UIVMLogViewerWidget *pWidget;
    8689};
    8790
  • trunk/src/VBox/Frontends/VirtualBox/src/logviewer/UIVMLogViewerWidget.cpp

    r72699 r72701  
    7979    , m_bWrapLines(false)
    8080    , m_font(QFontDatabase::systemFont(QFontDatabase::FixedFont))
     81    , m_fBeingClosed(false)
    8182{
    8283    /* Prepare VM Log-Viewer: */
     
    853854void UIVMLogViewerWidget::manageEscapeShortCut()
    854855{
     856    if (m_fBeingClosed)
     857        return;
    855858    /* if there is no visible panels give the escape shortcut to parent dialog: */
    856859    if (m_visiblePanelsList.isEmpty())
     
    9991002    return logPage->currentFont();
    10001003}
     1004
     1005void UIVMLogViewerWidget::setBeingClosed(bool flag)
     1006{
     1007    m_fBeingClosed = flag;
     1008}
  • trunk/src/VBox/Frontends/VirtualBox/src/logviewer/UIVMLogViewerWidget.h

    r72039 r72701  
    7575    /** Sets the machine whose logs to show. */
    7676    void setMachine(const CMachine &machine);
    77 
    7877    QFont currentFont() const;
     78    void setBeingClosed(bool flag);
    7979
    8080protected:
     
    229229        QFont m_font;
    230230    /** @} */
    231 
     231    bool m_fBeingClosed;
    232232    friend class UIVMLogViewerBookmarksPanel;
    233233    friend class UIVMLogViewerFilterPanel;
Note: See TracChangeset for help on using the changeset viewer.

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