summaryrefslogtreecommitdiffstats
path: root/src/designer/src/designer/qdesigner_workbench.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/designer/src/designer/qdesigner_workbench.cpp')
-rw-r--r--src/designer/src/designer/qdesigner_workbench.cpp18
1 files changed, 8 insertions, 10 deletions
diff --git a/src/designer/src/designer/qdesigner_workbench.cpp b/src/designer/src/designer/qdesigner_workbench.cpp
index 03ce2c96c..f66e27856 100644
--- a/src/designer/src/designer/qdesigner_workbench.cpp
+++ b/src/designer/src/designer/qdesigner_workbench.cpp
@@ -73,9 +73,9 @@ static QDockWidget *dockWidgetOf(const QWidget *w)
}
// ------------ QDesignerWorkbench::Position
-QDesignerWorkbench::Position::Position(const QMdiSubWindow *mdiSubWindow, const QPoint &mdiAreaOffset) :
+QDesignerWorkbench::Position::Position(const QMdiSubWindow *mdiSubWindow) :
m_minimized(mdiSubWindow->isShaded()),
- m_position(mdiSubWindow->pos() + mdiAreaOffset)
+ m_position(mdiSubWindow->pos() + mdiSubWindow->mdiArea()->pos())
{
}
@@ -85,12 +85,12 @@ QDesignerWorkbench::Position::Position(const QDockWidget *dockWidget) :
{
}
-QDesignerWorkbench::Position::Position(const QWidget *topLevelWindow, const QPoint &desktopTopLeft)
+QDesignerWorkbench::Position::Position(const QWidget *topLevelWindow)
{
- const QWidget *window =topLevelWindow->window ();
+ const QWidget *window = topLevelWindow->window();
Q_ASSERT(window);
m_minimized = window->isMinimized();
- m_position = window->pos() - desktopTopLeft;
+ m_position = window->pos() - window->screen()->availableGeometry().topLeft();
}
void QDesignerWorkbench::Position::applyTo(QMdiSubWindow *mdiSubWindow,
@@ -247,19 +247,17 @@ void QDesignerWorkbench::saveGeometriesForModeChange()
case NeutralMode:
break;
case TopLevelMode: {
- const QPoint desktopOffset = QGuiApplication::primaryScreen()->availableGeometry().topLeft();
for (QDesignerToolWindow *tw : std::as_const(m_toolWindows))
- m_Positions.insert(tw, Position(tw, desktopOffset));
+ m_Positions.insert(tw, Position(tw));
for (QDesignerFormWindow *fw : std::as_const(m_formWindows))
- m_Positions.insert(fw, Position(fw, desktopOffset));
+ m_Positions.insert(fw, Position(fw));
}
break;
case DockedMode: {
- const QPoint mdiAreaOffset = m_dockedMainWindow->mdiArea()->pos();
for (QDesignerToolWindow *tw : std::as_const(m_toolWindows))
m_Positions.insert(tw, Position(dockWidgetOf(tw)));
for (QDesignerFormWindow *fw : std::as_const(m_formWindows))
- m_Positions.insert(fw, Position(mdiSubWindowOf(fw), mdiAreaOffset));
+ m_Positions.insert(fw, Position(mdiSubWindowOf(fw)));
}
break;
}