summaryrefslogtreecommitdiff
path: root/vcl/unx/generic/window/salframe.cxx
diff options
context:
space:
mode:
authorNoel Grandin <noel.grandin@collabora.co.uk>2020-08-03 23:52:11 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2020-08-04 01:40:45 +0200
commit6fc2a300ad8b1c6936b513eff94fd527ea74b469 (patch)
tree3634f9cb007fbd8ff0b97690b11c311b1e6156ce /vcl/unx/generic/window/salframe.cxx
parent714d907d304fae5cc8613eced127060199639af6 (diff)
loplugin:flatten in vcl/unx
Change-Id: Ib9df009a51db1ed96c6eea7bda68e288755e7a56 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/100032 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'vcl/unx/generic/window/salframe.cxx')
-rw-r--r--vcl/unx/generic/window/salframe.cxx320
1 files changed, 161 insertions, 159 deletions
diff --git a/vcl/unx/generic/window/salframe.cxx b/vcl/unx/generic/window/salframe.cxx
index f2423ed0310b..f87796f99ecd 100644
--- a/vcl/unx/generic/window/salframe.cxx
+++ b/vcl/unx/generic/window/salframe.cxx
@@ -144,20 +144,20 @@ bool X11SalFrame::IsFloatGrabWindow() const
void X11SalFrame::setXEmbedInfo()
{
- if( m_bXEmbed )
- {
- long aInfo[2];
- aInfo[0] = 1; // XEMBED protocol version
- aInfo[1] = (bMapped_ ? 1 : 0); // XEMBED_MAPPED
- XChangeProperty( pDisplay_->GetDisplay(),
- mhWindow,
- pDisplay_->getWMAdaptor()->getAtom( WMAdaptor::XEMBED_INFO ),
- pDisplay_->getWMAdaptor()->getAtom( WMAdaptor::XEMBED_INFO ),
- 32,
- PropModeReplace,
- reinterpret_cast<unsigned char*>(aInfo),
- SAL_N_ELEMENTS(aInfo) );
- }
+ if( !m_bXEmbed )
+ return;
+
+ long aInfo[2];
+ aInfo[0] = 1; // XEMBED protocol version
+ aInfo[1] = (bMapped_ ? 1 : 0); // XEMBED_MAPPED
+ XChangeProperty( pDisplay_->GetDisplay(),
+ mhWindow,
+ pDisplay_->getWMAdaptor()->getAtom( WMAdaptor::XEMBED_INFO ),
+ pDisplay_->getWMAdaptor()->getAtom( WMAdaptor::XEMBED_INFO ),
+ 32,
+ PropModeReplace,
+ reinterpret_cast<unsigned char*>(aInfo),
+ SAL_N_ELEMENTS(aInfo) );
}
void X11SalFrame::askForXEmbedFocus( sal_Int32 i_nTimeCode )
@@ -1115,50 +1115,52 @@ void X11SalFrame::SetIcon( sal_uInt16 nIcon )
void X11SalFrame::SetMaxClientSize( long nWidth, long nHeight )
{
- if( ! IsChildWindow() )
- {
- if( GetShellWindow() && (nStyle_ & (SalFrameStyleFlags::FLOAT|SalFrameStyleFlags::OWNERDRAWDECORATION) ) != SalFrameStyleFlags::FLOAT )
- {
- XSizeHints* pHints = XAllocSizeHints();
- long nSupplied = 0;
- XGetWMNormalHints( GetXDisplay(),
- GetShellWindow(),
- pHints,
- &nSupplied
- );
- pHints->max_width = nWidth;
- pHints->max_height = nHeight;
- pHints->flags |= PMaxSize;
- XSetWMNormalHints( GetXDisplay(),
- GetShellWindow(),
- pHints );
- XFree( pHints );
- }
- }
+ if( IsChildWindow() )
+ return;
+
+ if( !GetShellWindow() ||
+ (nStyle_ & (SalFrameStyleFlags::FLOAT|SalFrameStyleFlags::OWNERDRAWDECORATION) ) == SalFrameStyleFlags::FLOAT )
+ return;
+
+ XSizeHints* pHints = XAllocSizeHints();
+ long nSupplied = 0;
+ XGetWMNormalHints( GetXDisplay(),
+ GetShellWindow(),
+ pHints,
+ &nSupplied
+ );
+ pHints->max_width = nWidth;
+ pHints->max_height = nHeight;
+ pHints->flags |= PMaxSize;
+ XSetWMNormalHints( GetXDisplay(),
+ GetShellWindow(),
+ pHints );
+ XFree( pHints );
}
void X11SalFrame::SetMinClientSize( long nWidth, long nHeight )
{
- if( ! IsChildWindow() )
- {
- if( GetShellWindow() && (nStyle_ & (SalFrameStyleFlags::FLOAT|SalFrameStyleFlags::OWNERDRAWDECORATION) ) != SalFrameStyleFlags::FLOAT )
- {
- XSizeHints* pHints = XAllocSizeHints();
- long nSupplied = 0;
- XGetWMNormalHints( GetXDisplay(),
- GetShellWindow(),
- pHints,
- &nSupplied
- );
- pHints->min_width = nWidth;
- pHints->min_height = nHeight;
- pHints->flags |= PMinSize;
- XSetWMNormalHints( GetXDisplay(),
- GetShellWindow(),
- pHints );
- XFree( pHints );
- }
- }
+ if( IsChildWindow() )
+ return;
+
+ if( !GetShellWindow() ||
+ (nStyle_ & (SalFrameStyleFlags::FLOAT|SalFrameStyleFlags::OWNERDRAWDECORATION) ) == SalFrameStyleFlags::FLOAT )
+ return;
+
+ XSizeHints* pHints = XAllocSizeHints();
+ long nSupplied = 0;
+ XGetWMNormalHints( GetXDisplay(),
+ GetShellWindow(),
+ pHints,
+ &nSupplied
+ );
+ pHints->min_width = nWidth;
+ pHints->min_height = nHeight;
+ pHints->flags |= PMinSize;
+ XSetWMNormalHints( GetXDisplay(),
+ GetShellWindow(),
+ pHints );
+ XFree( pHints );
}
// Show + Pos (x,y,z) + Size (width,height)
@@ -1756,41 +1758,41 @@ void X11SalFrame::SetWindowState( const SalFrameState *pState )
}
// request for status change
- if (pState->mnMask & WindowStateMask::State)
+ if (!(pState->mnMask & WindowStateMask::State))
+ return;
+
+ if (pState->mnState & WindowStateState::Maximized)
{
- if (pState->mnState & WindowStateState::Maximized)
+ nShowState_ = SHOWSTATE_NORMAL;
+ if( ! (pState->mnState & (WindowStateState::MaximizedHorz|WindowStateState::MaximizedVert) ) )
+ Maximize();
+ else
{
- nShowState_ = SHOWSTATE_NORMAL;
- if( ! (pState->mnState & (WindowStateState::MaximizedHorz|WindowStateState::MaximizedVert) ) )
- Maximize();
- else
- {
- bool bHorz(pState->mnState & WindowStateState::MaximizedHorz);
- bool bVert(pState->mnState & WindowStateState::MaximizedVert);
- GetDisplay()->getWMAdaptor()->maximizeFrame( this, bHorz, bVert );
- }
- maRestorePosSize.SetLeft( pState->mnX );
- maRestorePosSize.SetTop( pState->mnY );
- maRestorePosSize.SetRight( maRestorePosSize.Left() + pState->mnWidth );
- maRestorePosSize.SetRight( maRestorePosSize.Left() + pState->mnHeight );
+ bool bHorz(pState->mnState & WindowStateState::MaximizedHorz);
+ bool bVert(pState->mnState & WindowStateState::MaximizedVert);
+ GetDisplay()->getWMAdaptor()->maximizeFrame( this, bHorz, bVert );
}
- else if( mbMaximizedHorz || mbMaximizedVert )
- GetDisplay()->getWMAdaptor()->maximizeFrame( this, false, false );
+ maRestorePosSize.SetLeft( pState->mnX );
+ maRestorePosSize.SetTop( pState->mnY );
+ maRestorePosSize.SetRight( maRestorePosSize.Left() + pState->mnWidth );
+ maRestorePosSize.SetRight( maRestorePosSize.Left() + pState->mnHeight );
+ }
+ else if( mbMaximizedHorz || mbMaximizedVert )
+ GetDisplay()->getWMAdaptor()->maximizeFrame( this, false, false );
- if (pState->mnState & WindowStateState::Minimized)
- {
- if (nShowState_ == SHOWSTATE_UNKNOWN)
- nShowState_ = SHOWSTATE_NORMAL;
- Minimize();
- }
- if (pState->mnState & WindowStateState::Normal)
- {
- if (nShowState_ != SHOWSTATE_NORMAL)
- Restore();
- }
- if (pState->mnState & WindowStateState::Rollup)
- GetDisplay()->getWMAdaptor()->shade( this, true );
+ if (pState->mnState & WindowStateState::Minimized)
+ {
+ if (nShowState_ == SHOWSTATE_UNKNOWN)
+ nShowState_ = SHOWSTATE_NORMAL;
+ Minimize();
}
+ if (pState->mnState & WindowStateState::Normal)
+ {
+ if (nShowState_ != SHOWSTATE_NORMAL)
+ Restore();
+ }
+ if (pState->mnState & WindowStateState::Rollup)
+ GetDisplay()->getWMAdaptor()->shade( this, true );
}
bool X11SalFrame::GetWindowState( SalFrameState* pState )
@@ -1860,45 +1862,45 @@ void X11SalFrame::GetPosSize( tools::Rectangle &rPosSize )
void X11SalFrame::SetSize( const Size &rSize )
{
- if( !rSize.IsEmpty() )
+ if( rSize.IsEmpty() )
+ return;
+
+ if( ! ( nStyle_ & SalFrameStyleFlags::SIZEABLE )
+ && ! IsChildWindow()
+ && ( nStyle_ & (SalFrameStyleFlags::FLOAT|SalFrameStyleFlags::OWNERDRAWDECORATION) ) != SalFrameStyleFlags::FLOAT )
{
- if( ! ( nStyle_ & SalFrameStyleFlags::SIZEABLE )
- && ! IsChildWindow()
- && ( nStyle_ & (SalFrameStyleFlags::FLOAT|SalFrameStyleFlags::OWNERDRAWDECORATION) ) != SalFrameStyleFlags::FLOAT )
- {
- XSizeHints* pHints = XAllocSizeHints();
- long nSupplied = 0;
- XGetWMNormalHints( GetXDisplay(),
- GetShellWindow(),
- pHints,
- &nSupplied
- );
- pHints->min_width = rSize.Width();
- pHints->min_height = rSize.Height();
- pHints->max_width = rSize.Width();
- pHints->max_height = rSize.Height();
- pHints->flags |= PMinSize | PMaxSize;
- XSetWMNormalHints( GetXDisplay(),
- GetShellWindow(),
- pHints );
- XFree( pHints );
- }
- XResizeWindow( GetXDisplay(), IsSysChildWindow() ? GetWindow() : GetShellWindow(), rSize.Width(), rSize.Height() );
- if( GetWindow() != GetShellWindow() )
- {
- if( nStyle_ & SalFrameStyleFlags::PLUG )
- XMoveResizeWindow( GetXDisplay(), GetWindow(), 0, 0, rSize.Width(), rSize.Height() );
- else
- XResizeWindow( GetXDisplay(), GetWindow(), rSize.Width(), rSize.Height() );
- }
+ XSizeHints* pHints = XAllocSizeHints();
+ long nSupplied = 0;
+ XGetWMNormalHints( GetXDisplay(),
+ GetShellWindow(),
+ pHints,
+ &nSupplied
+ );
+ pHints->min_width = rSize.Width();
+ pHints->min_height = rSize.Height();
+ pHints->max_width = rSize.Width();
+ pHints->max_height = rSize.Height();
+ pHints->flags |= PMinSize | PMaxSize;
+ XSetWMNormalHints( GetXDisplay(),
+ GetShellWindow(),
+ pHints );
+ XFree( pHints );
+ }
+ XResizeWindow( GetXDisplay(), IsSysChildWindow() ? GetWindow() : GetShellWindow(), rSize.Width(), rSize.Height() );
+ if( GetWindow() != GetShellWindow() )
+ {
+ if( nStyle_ & SalFrameStyleFlags::PLUG )
+ XMoveResizeWindow( GetXDisplay(), GetWindow(), 0, 0, rSize.Width(), rSize.Height() );
+ else
+ XResizeWindow( GetXDisplay(), GetWindow(), rSize.Width(), rSize.Height() );
+ }
- maGeometry.nWidth = rSize.Width();
- maGeometry.nHeight = rSize.Height();
+ maGeometry.nWidth = rSize.Width();
+ maGeometry.nHeight = rSize.Height();
- // allow the external status window to reposition
- if (mbInputFocus && mpInputContext != nullptr)
- mpInputContext->SetICFocus ( this );
- }
+ // allow the external status window to reposition
+ if (mbInputFocus && mpInputContext != nullptr)
+ mpInputContext->SetICFocus ( this );
}
void X11SalFrame::SetPosSize( const tools::Rectangle &rPosSize )
@@ -3389,58 +3391,58 @@ bool X11SalFrame::HandleExposeEvent( XEvent const *pEvent )
void X11SalFrame::RestackChildren( ::Window* pTopLevelWindows, int nTopLevelWindows )
{
- if( !maChildren.empty() )
- {
- int nWindow = nTopLevelWindows;
- while( nWindow-- )
- if( pTopLevelWindows[nWindow] == GetStackingWindow() )
- break;
- if( nWindow < 0 )
- return;
+ if( maChildren.empty() )
+ return;
- for (auto const& child : maChildren)
+ int nWindow = nTopLevelWindows;
+ while( nWindow-- )
+ if( pTopLevelWindows[nWindow] == GetStackingWindow() )
+ break;
+ if( nWindow < 0 )
+ return;
+
+ for (auto const& child : maChildren)
+ {
+ if( child->bMapped_ )
{
- if( child->bMapped_ )
+ int nChild = nWindow;
+ while( nChild-- )
{
- int nChild = nWindow;
- while( nChild-- )
+ if( pTopLevelWindows[nChild] == child->GetStackingWindow() )
{
- if( pTopLevelWindows[nChild] == child->GetStackingWindow() )
- {
- // if a child is behind its parent, place it above the
- // parent (for insane WMs like Dtwm and olwm)
- XWindowChanges aCfg;
- aCfg.sibling = GetStackingWindow();
- aCfg.stack_mode = Above;
- XConfigureWindow( GetXDisplay(), child->GetStackingWindow(), CWSibling|CWStackMode, &aCfg );
- break;
- }
+ // if a child is behind its parent, place it above the
+ // parent (for insane WMs like Dtwm and olwm)
+ XWindowChanges aCfg;
+ aCfg.sibling = GetStackingWindow();
+ aCfg.stack_mode = Above;
+ XConfigureWindow( GetXDisplay(), child->GetStackingWindow(), CWSibling|CWStackMode, &aCfg );
+ break;
}
}
}
- for (auto const& child : maChildren)
- {
- child->RestackChildren( pTopLevelWindows, nTopLevelWindows );
- }
+ }
+ for (auto const& child : maChildren)
+ {
+ child->RestackChildren( pTopLevelWindows, nTopLevelWindows );
}
}
void X11SalFrame::RestackChildren()
{
- if( !maChildren.empty() )
+ if( maChildren.empty() )
+ return;
+
+ ::Window aRoot, aParent, *pChildren = nullptr;
+ unsigned int nChildren;
+ if( XQueryTree( GetXDisplay(),
+ GetDisplay()->GetRootWindow( m_nXScreen ),
+ &aRoot,
+ &aParent,
+ &pChildren,
+ &nChildren ) )
{
- ::Window aRoot, aParent, *pChildren = nullptr;
- unsigned int nChildren;
- if( XQueryTree( GetXDisplay(),
- GetDisplay()->GetRootWindow( m_nXScreen ),
- &aRoot,
- &aParent,
- &pChildren,
- &nChildren ) )
- {
- RestackChildren( pChildren, nChildren );
- XFree( pChildren );
- }
+ RestackChildren( pChildren, nChildren );
+ XFree( pChildren );
}
}