diff options
author | Dominik Kapusta <dominik.kapusta@teleca.com> | 2010-09-13 13:44:21 +0200 |
---|---|---|
committer | Dominik Kapusta <dominik.kapusta@teleca.com> | 2010-09-13 13:46:02 +0200 |
commit | 4eb3f44d145d7dc02dfe03d54dad420e40a85f78 (patch) | |
tree | 456b4432ede4a200f9fcec2a22428c77bc0af4fb /src | |
parent | 46e317aa2b639235426b29429d6673c52f6f3b55 (diff) |
Changes: Fix MApplicationPage exposed content calculation.
RevBy: Daniel d'Andrada
Details: Properly deal with cases when navigation bar is placed
on the bottom and/or dock widget is placed on top.
Diffstat (limited to 'src')
-rw-r--r-- | src/corelib/widgets/mapplicationwindow.cpp | 11 | ||||
-rw-r--r-- | src/corelib/widgets/mscenewindow.h | 1 |
2 files changed, 10 insertions, 2 deletions
diff --git a/src/corelib/widgets/mapplicationwindow.cpp b/src/corelib/widgets/mapplicationwindow.cpp index e4ec9490..fe692249 100644 --- a/src/corelib/widgets/mapplicationwindow.cpp +++ b/src/corelib/widgets/mapplicationwindow.cpp @@ -470,11 +470,18 @@ void MApplicationWindowPrivate::_q_updatePageExposedContentRect() const bool navBarIsCovering = pageAreaMaximized ? showingNavigationBar : (page->componentDisplayMode(MApplicationPage::NavigationBar) == MApplicationPageModel::Show); if (navBarIsCovering) { - topCoverage += navigationBar->size().height(); + if (navigationBar->alignment().testFlag(Qt::AlignTop)) + topCoverage += navigationBar->size().height(); + else if (navigationBar->alignment().testFlag(Qt::AlignBottom)) + bottomCoverage += navigationBar->size().height(); } + if (showingDockWidget) { - bottomCoverage += dockWidget->size().height(); + if (dockWidget->alignment().testFlag(Qt::AlignTop)) + topCoverage += dockWidget->size().height(); + else if (dockWidget->alignment().testFlag(Qt::AlignBottom)) + bottomCoverage += dockWidget->size().height(); } pageExposedContentRect.setY(topCoverage); diff --git a/src/corelib/widgets/mscenewindow.h b/src/corelib/widgets/mscenewindow.h index bf1481b5..80bbe95d 100644 --- a/src/corelib/widgets/mscenewindow.h +++ b/src/corelib/widgets/mscenewindow.h @@ -412,6 +412,7 @@ private: friend class MSceneWindowView; friend class MSceneManagerPrivate; + friend class MApplicationWindowPrivate; /* TODO: temporarily required for calling MSceneWindow::done() from MSceneManager::{hide,show}Window{,Now}()*/ |