summaryrefslogtreecommitdiff
path: root/sw/source/core/layout
diff options
context:
space:
mode:
authorMiklos Vajna <vmiklos@collabora.co.uk>2015-11-18 09:33:55 +0100
committerMiklos Vajna <vmiklos@collabora.co.uk>2015-11-18 09:36:03 +0100
commita23f85f171634732359fc7e4d932a6ff11905c9a (patch)
tree2337ef7cf737adaaef4537d68e477871a002999f /sw/source/core/layout
parenta69955d91cd0f5570bf17686be3164a98ac806eb (diff)
tdf#95888 sw: make click to header area show header controls again
Regression from commit 54a2c8c006e2f216e9d8c6b0ed625180c843c48b (tdf#39080 Interactive hide-whitespace mode, 2015-08-30), the problem was that SwPageFrm::IsOverHeaderFooterArea() checked if the header is active before accepting that the user clicked in that area. Don't require an active header at least in non-hide-whitespace mode, as the member function is used in the "could there be a header here" sense in SwEditWin::MouseButtonDown() to show the controls that allows actually adding a header. Change-Id: I6f905920113aed1512e333e718a8f26d88a3245d
Diffstat (limited to 'sw/source/core/layout')
-rw-r--r--sw/source/core/layout/pagechg.cxx6
1 files changed, 4 insertions, 2 deletions
diff --git a/sw/source/core/layout/pagechg.cxx b/sw/source/core/layout/pagechg.cxx
index 4a43457cceec..80b28465ef73 100644
--- a/sw/source/core/layout/pagechg.cxx
+++ b/sw/source/core/layout/pagechg.cxx
@@ -2261,9 +2261,11 @@ bool SwPageFrm::IsOverHeaderFooterArea( const Point& rPt, FrameControlType &rCon
SwRect aHeaderArea( Frm().TopLeft(),
Size( Frm().Width(), nUpperLimit - Frm().Top() ) );
+ SwViewShell* pViewShell = getRootFrm()->GetCurrShell();
+ bool bHideWhitespaceMode = pViewShell->GetViewOptions()->IsHideWhitespaceMode();
if ( aHeaderArea.IsInside( rPt ) )
{
- if (static_cast<const SwFrameFormat*>(GetRegisteredIn())->GetHeader().IsActive())
+ if (static_cast<const SwFrameFormat*>(GetRegisteredIn())->GetHeader().IsActive() || !bHideWhitespaceMode)
{
rControl = Header;
return true;
@@ -2275,7 +2277,7 @@ bool SwPageFrm::IsOverHeaderFooterArea( const Point& rPt, FrameControlType &rCon
Size( Frm().Width(), Frm().Bottom() - nLowerLimit ) );
if ( aFooterArea.IsInside( rPt ) &&
- static_cast<const SwFrameFormat*>(GetRegisteredIn())->GetFooter().IsActive() )
+ (static_cast<const SwFrameFormat*>(GetRegisteredIn())->GetFooter().IsActive() || !bHideWhitespaceMode) )
{
rControl = Footer;
return true;