VirtualBox

Changeset 89300 in vbox


Ignore:
Timestamp:
May 26, 2021 4:39:26 PM (4 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
144646
Message:

FE/Qt: bugref:8161. Changing the way we save help viewer dialog's geometry

Location:
trunk/src/VBox/Frontends/VirtualBox/src/helpbrowser
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Frontends/VirtualBox/src/helpbrowser/UIHelpBrowserDialog.cpp

    r87665 r89300  
    4545    , m_pWidget(0)
    4646    , m_pCenterWidget(pCenterWidget)
     47    , m_iGeometrySaveTimerId(-1)
    4748{
    4849    setAttribute(Qt::WA_DeleteOnClose);
     
    5253    loadSettings();
    5354    retranslateUi();
    54 }
    55 
    56 UIHelpBrowserDialog::~UIHelpBrowserDialog()
    57 {
    58     saveSettings();
    5955}
    6056
     
    7470    setWindowTitle(UIHelpBrowserWidget::tr("Oracle VM VirtualBox User Manual"));
    7571#endif
     72}
     73
     74bool UIHelpBrowserDialog::event(QEvent *pEvent)
     75{
     76    switch (pEvent->type())
     77    {
     78        case QEvent::Resize:
     79        case QEvent::Move:
     80        {
     81            if (m_iGeometrySaveTimerId != -1)
     82                killTimer(m_iGeometrySaveTimerId);
     83            m_iGeometrySaveTimerId = startTimer(300);
     84            break;
     85        }
     86        case QEvent::Timer:
     87        {
     88            QTimerEvent *pTimerEvent = static_cast<QTimerEvent*>(pEvent);
     89            if (pTimerEvent->timerId() == m_iGeometrySaveTimerId)
     90            {
     91                killTimer(m_iGeometrySaveTimerId);
     92                m_iGeometrySaveTimerId = -1;
     93                saveDialogGeometry();
     94            }
     95            break;
     96        }
     97        default:
     98            break;
     99    }
     100    return QIWithRetranslateUI<QIWithRestorableGeometry<QMainWindow> >::event(pEvent);
    76101}
    77102
     
    108133}
    109134
    110 void UIHelpBrowserDialog::saveSettings()
     135void UIHelpBrowserDialog::saveDialogGeometry()
    111136{
    112137    const QRect geo = currentGeometry();
  • trunk/src/VBox/Frontends/VirtualBox/src/helpbrowser/UIHelpBrowserDialog.h

    r87015 r89300  
    3636
    3737    UIHelpBrowserDialog(QWidget *pParent, QWidget *pCenterWidget, const QString &strHelpFilePath);
    38     ~UIHelpBrowserDialog();
    3938    /** A passthru function for QHelpIndexWidget::showHelpForKeyword. */
    4039    void showHelpForKeyword(const QString &strKeyword);
     
    4443    /** Handles translation event. */
    4544    virtual void retranslateUi() /* override */;
     45    virtual bool event(QEvent *pEvent) /* override */;
    4646
    4747    /** @name Prepare/cleanup cascade.
     
    5050        virtual void prepareCentralWidget() /* override */;
    5151        virtual void loadSettings() /* override */;
    52         virtual void saveSettings() /* override */;
     52        virtual void saveDialogGeometry() /* override */;
    5353    /** @} */
    5454
     
    6666    UIHelpBrowserWidget *m_pWidget;
    6767    QWidget *m_pCenterWidget;
     68    int m_iGeometrySaveTimerId;
    6869};
    6970
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