https://bugs.documentfoundation.org/show_bug.cgi?id=161311

--- Comment #14 from Patrick (volunteer) <[email protected]> ---
Created attachment 201339
  --> https://bugs.documentfoundation.org/attachment.cgi?id=201339&action=edit
Snapshot using debug patch in comment

I don't have much spare time anymore and I am not familiar with any of the
application UI layout code. But I was able to break on the one of the native
"draw tab item" calls in a debugger to figure out what code is drawing the top
half of the notebook bar (i.e. the native tab area). Found some code that was
setting the height of the section to 28 pixels so I increased it to 100 in the
debug patch at the end of this comment.

As shown in my snapshot, I was able to increase the height of the top half and
that, in turn, appears to push the bottom half (i.e. the notebookbar's button
area) but the two buttons on each end of the bottom half are still taller than
the middle buttons.

Unfortunately, I wasn't able to find the code that lays out the bottom half's
buttons but it sure looks like the height of the bottom half needs to be
increased to the height of the middle buttons. But AFAICT, the end buttons are
taller than expected and don't fit within the bottom half's bounds and so the
end buttons bottom edge are align to the bottom edge of the bottom half and the
top edge "spills over" into the top half's area.

I think the original developer's at Collabora of the notebookbar code probably
help. My guess is that the end buttons fit within the bottom half on Windows
and Linux but are slightly larger on macOS and the code doesn't handle that:

diff --git a/vcl/source/control/tabctrl.cxx b/vcl/source/control/tabctrl.cxx
index 1d6ffa3a1958..651e81e25896 100644
--- a/vcl/source/control/tabctrl.cxx
+++ b/vcl/source/control/tabctrl.cxx
@@ -2349,8 +2349,13 @@ bool NotebookbarTabControlBase::ImplPlaceTabs(
tools::Long nWidth )
         if( nFullWidth < nMaxWidth && !item.maText.isEmpty() &&
aSize.getWidth() < 100)
             aSize.setWidth( 100 );

+#if MACOSX
+        if( !item.maText.isEmpty() && aSize.getHeight() < 100 )
+            aSize.setHeight( 100 );
+#else
         if( !item.maText.isEmpty() && aSize.getHeight() < 28 )
             aSize.setHeight( 28 );
+#endif

         tools::Rectangle aNewRect( Point( nX, nY ), aSize );
         if ( mbSmallInvalidate && (item.maRect != aNewRect) )





I wasn't able to find the code that handles the toolbar area just below the
native tab area (I don't have much free time to work on LibreOffice these days
so I ran out of time), but what

-- 
You are receiving this mail because:
You are the assignee for the bug.

Reply via email to