Changeset 81284 in vbox for trunk/src/VBox/Frontends
- Timestamp:
- Oct 15, 2019 11:06:09 AM (5 years ago)
- svn:sync-xref-src-repo-rev:
- 133979
- Location:
- trunk/src/VBox/Frontends/VirtualBox/src
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Frontends/VirtualBox/src/extensions/QIManagerDialog.cpp
r81227 r81284 231 231 } 232 232 } 233 234 void QIManagerDialog::setDialogGeometry(const QRect &geometry)235 {236 #if defined(VBOX_WS_MAC) || defined(VBOX_WS_WIN)237 /* Use the old approach for OSX/Win: */238 move(geometry.topLeft());239 resize(geometry.size());240 #else /* !VBOX_WS_MAC && !VBOX_WS_WIN */241 /* Use the new approach otherwise: */242 UICommon::setTopLevelGeometry(this, geometry);243 #endif /* !VBOX_WS_MAC && !VBOX_WS_WIN */244 245 /* Maximize (if necessary): */246 if (shouldBeMaximized())247 showMaximized();248 } -
trunk/src/VBox/Frontends/VirtualBox/src/extensions/QIManagerDialog.h
r76581 r81284 27 27 28 28 /* GUI includes: */ 29 #include "QIWithRestorableGeometry.h" 29 30 #include "UILibraryDefs.h" 30 31 … … 85 86 86 87 /** QMainWindow sub-class used as various manager dialogs. */ 87 class SHARED_LIBRARY_STUFF QIManagerDialog : public Q MainWindow88 class SHARED_LIBRARY_STUFF QIManagerDialog : public QIWithRestorableGeometry<QMainWindow> 88 89 { 89 90 Q_OBJECT; … … 174 175 /** @} */ 175 176 176 /** @name Functions related to geometry restoration.177 * @{ */178 /** Sets the position and size of the dialog. */179 void setDialogGeometry(const QRect &geometry);180 /** Returns whether the window should be maximized when geometry being restored. */181 virtual bool shouldBeMaximized() const { return false; }182 /** @} */183 184 177 private: 185 178 -
trunk/src/VBox/Frontends/VirtualBox/src/guestctrl/UIFileManagerDialog.cpp
r79365 r81284 111 111 void UIFileManagerDialog::loadSettings() 112 112 { 113 const QRect desktopRect = gpDesktop->availableGeometry(this);114 int iDefaultWidth = desktopRect.width() / 2;115 int iDefaultHeight = desktopRect.height() * 3 / 4;116 117 QRect defaultGeo metry(0, 0, iDefaultWidth, iDefaultHeight);113 /* Invent default window geometry: */ 114 const QRect availableGeo = gpDesktop->availableGeometry(this); 115 const int iDefaultWidth = availableGeo.width() / 2; 116 const int iDefaultHeight = availableGeo.height() * 3 / 4; 117 QRect defaultGeo(0, 0, iDefaultWidth, iDefaultHeight); 118 118 if (centerWidget()) 119 defaultGeometry.moveCenter(centerWidget()->geometry().center()); 119 defaultGeo.moveCenter(centerWidget()->geometry().center()); 120 else 121 defaultGeo.moveCenter(availableGeo.center()); 120 122 121 123 /* Load geometry from extradata: */ 122 QRect geometry = gEDataManager->fileManagerDialogGeometry(this, defaultGeometry); 123 124 /* Restore geometry: */ 124 const QRect geo = gEDataManager->fileManagerDialogGeometry(this, defaultGeo); 125 125 LogRel2(("GUI: UIFileManagerDialog: Restoring geometry to: Origin=%dx%d, Size=%dx%d\n", 126 geo metry.x(), geometry.y(), geometry.width(), geometry.height()));127 setDialogGeometry(geometry);126 geo.x(), geo.y(), geo.width(), geo.height())); 127 restoreGeometry(geo); 128 128 } 129 129 130 130 void UIFileManagerDialog::saveSettings() const 131 131 { 132 /* Save window geometry to extradata: */ 133 const QRect saveGeometry = geometry(); 134 #ifdef VBOX_WS_MAC 135 /* darwinIsWindowMaximized expects a non-const QWidget*. thus const_cast: */ 136 QWidget *pw = const_cast<QWidget*>(qobject_cast<const QWidget*>(this)); 137 gEDataManager->setFileManagerDialogGeometry(saveGeometry, ::darwinIsWindowMaximized(pw)); 138 #else /* !VBOX_WS_MAC */ 139 gEDataManager->setFileManagerDialogGeometry(saveGeometry, isMaximized()); 140 #endif /* !VBOX_WS_MAC */ 141 LogRel2(("GUI: File Manager Dialog: Geometry saved as: Origin=%dx%d, Size=%dx%d\n", 142 saveGeometry.x(), saveGeometry.y(), saveGeometry.width(), saveGeometry.height())); 132 /* Save geometry to extradata: */ 133 const QRect geo = currentGeometry(); 134 LogRel2(("GUI: UIFileManagerDialog: Saving geometry as: Origin=%dx%d, Size=%dx%d\n", 135 geo.x(), geo.y(), geo.width(), geo.height())); 136 gEDataManager->setFileManagerDialogGeometry(geo, isCurrentlyMaximized()); 143 137 } 144 138 -
trunk/src/VBox/Frontends/VirtualBox/src/guestctrl/UIGuestProcessControlDialog.cpp
r79365 r81284 106 106 void UIGuestProcessControlDialog::loadSettings() 107 107 { 108 const QRect desktopRect = gpDesktop->availableGeometry(this);109 int iDefaultWidth = desktopRect.width() / 2;110 int iDefaultHeight = desktopRect.height() * 3 / 4;111 112 QRect defaultGeo metry(0, 0, iDefaultWidth, iDefaultHeight);108 /* Invent default window geometry: */ 109 const QRect availableGeo = gpDesktop->availableGeometry(this); 110 const int iDefaultWidth = availableGeo.width() / 2; 111 const int iDefaultHeight = availableGeo.height() * 3 / 4; 112 QRect defaultGeo(0, 0, iDefaultWidth, iDefaultHeight); 113 113 if (centerWidget()) 114 defaultGeometry.moveCenter(centerWidget()->geometry().center()); 114 defaultGeo.moveCenter(centerWidget()->geometry().center()); 115 else 116 defaultGeo.moveCenter(availableGeo.center()); 115 117 116 118 /* Load geometry from extradata: */ 117 QRect geometry = gEDataManager->guestProcessControlDialogGeometry(this, defaultGeometry); 118 119 /* Restore geometry: */ 119 QRect geo = gEDataManager->guestProcessControlDialogGeometry(this, defaultGeo); 120 120 LogRel2(("GUI: UIGuestProcessControlDialog: Restoring geometry to: Origin=%dx%d, Size=%dx%d\n", 121 geo metry.x(), geometry.y(), geometry.width(), geometry.height()));122 setDialogGeometry(geometry);121 geo.x(), geo.y(), geo.width(), geo.height())); 122 restoreGeometry(geo); 123 123 } 124 124 125 125 void UIGuestProcessControlDialog::saveSettings() const 126 126 { 127 /* Save window geometry to extradata: */ 128 const QRect saveGeometry = geometry(); 129 #ifdef VBOX_WS_MAC 130 /* darwinIsWindowMaximized expects a non-const QWidget*. thus const_cast: */ 131 QWidget *pw = const_cast<QWidget*>(qobject_cast<const QWidget*>(this)); 132 gEDataManager->setGuestProcessControlDialogGeometry(saveGeometry, ::darwinIsWindowMaximized(pw)); 133 #else /* !VBOX_WS_MAC */ 134 gEDataManager->setGuestProcessControlDialogGeometry(saveGeometry, isMaximized()); 135 #endif /* !VBOX_WS_MAC */ 136 LogRel2(("GUI: Guest Process Control Dialog: Geometry saved as: Origin=%dx%d, Size=%dx%d\n", 137 saveGeometry.x(), saveGeometry.y(), saveGeometry.width(), saveGeometry.height())); 127 /* Save geometry to extradata: */ 128 const QRect geo = currentGeometry(); 129 LogRel2(("GUI: UIGuestProcessControlDialog: Saving geometry as: Origin=%dx%d, Size=%dx%d\n", 130 geo.x(), geo.y(), geo.width(), geo.height())); 131 gEDataManager->setGuestProcessControlDialogGeometry(geo, isCurrentlyMaximized()); 138 132 } 139 133 -
trunk/src/VBox/Frontends/VirtualBox/src/logviewer/UIVMLogViewerDialog.cpp
r79365 r81284 115 115 void UIVMLogViewerDialog::loadSettings() 116 116 { 117 /* Acquire widget: */ 117 /* Invent default window geometry: */ 118 const QRect availableGeo = gpDesktop->availableGeometry(this); 119 int iDefaultWidth = availableGeo.width() / 2; 120 int iDefaultHeight = availableGeo.height() * 3 / 4; 121 /* Try obtain the default width of the current logviewer: */ 118 122 const UIVMLogViewerWidget *pWidget = qobject_cast<const UIVMLogViewerWidget*>(widget()); 119 120 /* Restore window geometry: */121 const QRect desktopRect = gpDesktop->availableGeometry(this);122 int iDefaultWidth = desktopRect.width() / 2;123 int iDefaultHeight = desktopRect.height() * 3 / 4;124 125 /* Try obtain the default width of the current logviewer: */126 123 if (pWidget) 127 124 { 128 int iWidth =pWidget->defaultLogPageWidth();125 const int iWidth = pWidget->defaultLogPageWidth(); 129 126 if (iWidth != 0) 130 127 iDefaultWidth = iWidth; 131 128 } 132 133 QRect defaultGeometry(0, 0, iDefaultWidth, iDefaultHeight); 129 QRect defaultGeo(0, 0, iDefaultWidth, iDefaultHeight); 134 130 if (centerWidget()) 135 defaultGeometry.moveCenter(centerWidget()->geometry().center()); 131 defaultGeo.moveCenter(centerWidget()->geometry().center()); 132 else 133 defaultGeo.moveCenter(availableGeo.center()); 136 134 137 135 /* Load geometry from extradata: */ 138 QRect geometry = gEDataManager->logWindowGeometry(this, defaultGeometry); 139 140 /* Restore geometry: */ 141 LogRel2(("GUI: UIVMLogViewer: Restoring geometry to: Origin=%dx%d, Size=%dx%d\n", 142 geometry.x(), geometry.y(), geometry.width(), geometry.height())); 143 setDialogGeometry(geometry); 136 const QRect geo = gEDataManager->logWindowGeometry(this, defaultGeo); 137 LogRel2(("GUI: UIVMLogViewerDialog: Restoring geometry to: Origin=%dx%d, Size=%dx%d\n", 138 geo.x(), geo.y(), geo.width(), geo.height())); 139 restoreGeometry(geo); 144 140 } 145 141 146 142 void UIVMLogViewerDialog::saveSettings() const 147 143 { 148 /* Save window geometry to extradata: */ 149 const QRect saveGeometry = geometry(); 150 #ifdef VBOX_WS_MAC 151 /* darwinIsWindowMaximized expects a non-const QWidget*. thus const_cast: */ 152 QWidget *pw = const_cast<QWidget*>(qobject_cast<const QWidget*>(this)); 153 gEDataManager->setLogWindowGeometry(saveGeometry, ::darwinIsWindowMaximized(pw)); 154 #else /* !VBOX_WS_MAC */ 155 gEDataManager->setLogWindowGeometry(saveGeometry, isMaximized()); 156 #endif /* !VBOX_WS_MAC */ 157 LogRel2(("GUI: UIVMLogViewer: Geometry saved as: Origin=%dx%d, Size=%dx%d\n", 158 saveGeometry.x(), saveGeometry.y(), saveGeometry.width(), saveGeometry.height())); 144 /* Save geometry to extradata: */ 145 const QRect geo = currentGeometry(); 146 LogRel2(("GUI: UIVMLogViewerDialog: Saving geometry as: Origin=%dx%d, Size=%dx%d\n", 147 geo.x(), geo.y(), geo.width(), geo.height())); 148 gEDataManager->setLogWindowGeometry(geo, isCurrentlyMaximized()); 159 149 } 160 150
Note:
See TracChangeset
for help on using the changeset viewer.