Changeset 81248 in vbox
- Timestamp:
- Oct 14, 2019 10:31:23 AM (5 years ago)
- Location:
- trunk/src/VBox/Frontends/VirtualBox/src
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Frontends/VirtualBox/src/extensions/QIMainWindow.cpp
r81224 r81248 16 16 */ 17 17 18 /* Qt includes: */ 19 #include <QResizeEvent> 20 18 21 /* GUI includes: */ 19 22 #include "QIMainWindow.h" 20 23 #ifdef VBOX_WS_X11 21 24 # include "UICommon.h" 25 # include "UIDesktopWidgetWatchdog.h" 22 26 #endif 23 27 … … 28 32 } 29 33 34 void QIMainWindow::moveEvent(QMoveEvent *pEvent) 35 { 36 /* Call to base-class: */ 37 QMainWindow::moveEvent(pEvent); 38 39 #ifdef VBOX_WS_X11 40 /* Prevent further handling if fake screen detected: */ 41 if (gpDesktop->isFakeScreenDetected()) 42 return; 43 #endif 44 45 /* Prevent handling for yet/already invisible window or if window is in minimized state: */ 46 if (isVisible() && (windowState() & Qt::WindowMinimized) == 0) 47 { 48 #if defined(VBOX_WS_MAC) || defined(VBOX_WS_WIN) 49 /* Use the old approach for OSX/Win: */ 50 m_geometry.moveTo(frameGeometry().x(), frameGeometry().y()); 51 #else 52 /* Use the new approach otherwise: */ 53 m_geometry.moveTo(geometry().x(), geometry().y()); 54 #endif 55 } 56 } 57 58 void QIMainWindow::resizeEvent(QResizeEvent *pEvent) 59 { 60 /* Call to base-class: */ 61 QMainWindow::resizeEvent(pEvent); 62 63 #ifdef VBOX_WS_X11 64 /* Prevent handling if fake screen detected: */ 65 if (gpDesktop->isFakeScreenDetected()) 66 return; 67 #endif 68 69 /* Prevent handling for yet/already invisible window or if window is in minimized state: */ 70 if (isVisible() && (windowState() & Qt::WindowMinimized) == 0) 71 { 72 QResizeEvent *pResizeEvent = static_cast<QResizeEvent*>(pEvent); 73 m_geometry.setSize(pResizeEvent->size()); 74 } 75 } 76 30 77 void QIMainWindow::restoreGeometry() 31 78 { … … 34 81 move(m_geometry.topLeft()); 35 82 resize(m_geometry.size()); 36 #else /* !VBOX_WS_MAC && !VBOX_WS_WIN */83 #else 37 84 /* Use the new approach otherwise: */ 38 85 UICommon::setTopLevelGeometry(this, m_geometry); 39 #endif /* !VBOX_WS_MAC && !VBOX_WS_WIN */86 #endif 40 87 41 88 /* Maximize (if necessary): */ -
trunk/src/VBox/Frontends/VirtualBox/src/extensions/QIMainWindow.h
r76581 r81248 45 45 protected: 46 46 47 /** Handles move @a pEvent. */ 48 virtual void moveEvent(QMoveEvent *pEvent) /* override */; 49 /** Handles resize @a pEvent. */ 50 virtual void resizeEvent(QResizeEvent *pEvent) /* override */; 51 47 52 /** Returns whether the window should be maximized when geometry being restored. */ 48 53 virtual bool shouldBeMaximized() const { return false; } -
trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataManager.cpp
r81230 r81248 573 573 /** Cleanup instance. */ 574 574 void cleanup(); 575 /** @} */576 577 /** @name Event Processing578 * @{ */579 /** Common event-handler. */580 bool event(QEvent *pEvent);581 575 /** @} */ 582 576 … … 1729 1723 } 1730 1724 1731 bool UIExtraDataManagerWindow::event(QEvent *pEvent)1732 {1733 /* Pre-process through base-class: */1734 bool fResult = QIMainWindow::event(pEvent);1735 1736 /* Process required events: */1737 switch (pEvent->type())1738 {1739 /* Handle every Resize and Move we keep track of the geometry. */1740 case QEvent::Resize:1741 {1742 if (isVisible() && (windowState() & (Qt::WindowMaximized | Qt::WindowMinimized | Qt::WindowFullScreen)) == 0)1743 {1744 QResizeEvent *pResizeEvent = static_cast<QResizeEvent*>(pEvent);1745 m_geometry.setSize(pResizeEvent->size());1746 }1747 break;1748 }1749 case QEvent::Move:1750 {1751 if (isVisible() && (windowState() & (Qt::WindowMaximized | Qt::WindowMinimized | Qt::WindowFullScreen)) == 0)1752 {1753 #ifdef VBOX_WS_MAC1754 QMoveEvent *pMoveEvent = static_cast<QMoveEvent*>(pEvent);1755 m_geometry.moveTo(pMoveEvent->pos());1756 #else /* !VBOX_WS_MAC */1757 m_geometry.moveTo(geometry().x(), geometry().y());1758 #endif /* !VBOX_WS_MAC */1759 }1760 break;1761 }1762 default:1763 break;1764 }1765 1766 /* Return result: */1767 return fResult;1768 }1769 1770 1725 void UIExtraDataManagerWindow::updateActionsAvailability() 1771 1726 { -
trunk/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManager.cpp
r81224 r81248 18 18 /* Qt includes: */ 19 19 #include <QMenuBar> 20 #include <QResizeEvent>21 20 #include <QStandardPaths> 22 21 #include <QStatusBar> … … 188 187 } 189 188 190 void UIVirtualBoxManager::moveEvent(QMoveEvent *pEvent)191 {192 /* Call to base-class: */193 QIWithRetranslateUI<QIMainWindow>::moveEvent(pEvent);194 195 #ifdef VBOX_WS_X11196 /* Prevent further handling if fake screen detected: */197 if (gpDesktop->isFakeScreenDetected())198 return;199 #endif200 201 /* Prevent handling for yet/already invisible window or if window is in minimized state: */202 if (isVisible() && (windowState() & Qt::WindowMinimized) == 0)203 {204 #if defined(VBOX_WS_MAC) || defined(VBOX_WS_WIN)205 m_geometry.moveTo(frameGeometry().x(), frameGeometry().y());206 #else207 m_geometry.moveTo(geometry().x(), geometry().y());208 #endif209 }210 }211 212 void UIVirtualBoxManager::resizeEvent(QResizeEvent *pEvent)213 {214 /* Call to base-class: */215 QIWithRetranslateUI<QIMainWindow>::resizeEvent(pEvent);216 217 #ifdef VBOX_WS_X11218 /* Prevent handling if fake screen detected: */219 if (gpDesktop->isFakeScreenDetected())220 return;221 #endif222 223 /* Prevent handling for yet/already invisible window or if window is in minimized state: */224 if (isVisible() && (windowState() & Qt::WindowMinimized) == 0)225 {226 QResizeEvent *pResizeEvent = static_cast<QResizeEvent*>(pEvent);227 m_geometry.setSize(pResizeEvent->size());228 }229 }230 231 189 void UIVirtualBoxManager::showEvent(QShowEvent *pEvent) 232 190 { -
trunk/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManager.h
r79365 r81248 91 91 /** Handles any Qt @a pEvent. */ 92 92 virtual bool event(QEvent *pEvent) /* override */; 93 /** Handles move @a pEvent. */94 virtual void moveEvent(QMoveEvent *pEvent) /* override */;95 /** Handles resize @a pEvent. */96 virtual void resizeEvent(QResizeEvent *pEvent) /* override */;97 93 /** Handles show @a pEvent. */ 98 94 virtual void showEvent(QShowEvent *pEvent) /* override */; -
trunk/src/VBox/Frontends/VirtualBox/src/runtime/information/UIVMInformationDialog.cpp
r81224 r81248 116 116 } 117 117 118 bool UIVMInformationDialog::event(QEvent *pEvent)119 {120 /* Pre-process through base-class: */121 const bool fResult = QIMainWindow::event(pEvent);122 123 /* Process required events: */124 switch (pEvent->type())125 {126 /* Handle Resize event to keep track of the geometry: */127 case QEvent::Resize:128 {129 if (isVisible() && (windowState() & (Qt::WindowMaximized | Qt::WindowMinimized | Qt::WindowFullScreen)) == 0)130 {131 QResizeEvent *pResizeEvent = static_cast<QResizeEvent*>(pEvent);132 m_geometry.setSize(pResizeEvent->size());133 }134 break;135 }136 /* Handle Move event to keep track of the geometry: */137 case QEvent::Move:138 {139 if (isVisible() && (windowState() & (Qt::WindowMaximized | Qt::WindowMinimized | Qt::WindowFullScreen)) == 0)140 {141 #ifdef VBOX_WS_MAC142 QMoveEvent *pMoveEvent = static_cast<QMoveEvent*>(pEvent);143 m_geometry.moveTo(pMoveEvent->pos());144 #else /* VBOX_WS_MAC */145 m_geometry.moveTo(geometry().x(), geometry().y());146 #endif /* !VBOX_WS_MAC */147 }148 break;149 }150 default:151 break;152 }153 154 /* Return result: */155 return fResult;156 }157 158 118 void UIVMInformationDialog::sltHandlePageChanged(int iIndex) 159 119 { -
trunk/src/VBox/Frontends/VirtualBox/src/runtime/information/UIVMInformationDialog.h
r76581 r81248 61 61 void retranslateUi(); 62 62 63 /** Handles any Qt @a pEvent. */64 bool event(QEvent *pEvent);65 66 63 private slots: 67 64
Note:
See TracChangeset
for help on using the changeset viewer.