vcl/unx/gtk/gdi/salnativewidgets-gtk.cxx | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+)
New commits: commit 3094f6627f5925852a772754c067bfbb9491c94a Author: Caolán McNamara <[email protected]> Date: Mon Feb 25 15:09:23 2013 +0000 Resolves: fdo#61373 tabs too narrow under oxygen gtk theme Change-Id: I794b34c1864f619d91f0b105ba08a4f607abd291 diff --git a/vcl/unx/gtk/gdi/salnativewidgets-gtk.cxx b/vcl/unx/gtk/gdi/salnativewidgets-gtk.cxx index e15fbfa..405fcc3 100644 --- a/vcl/unx/gtk/gdi/salnativewidgets-gtk.cxx +++ b/vcl/unx/gtk/gdi/salnativewidgets-gtk.cxx @@ -209,6 +209,8 @@ static void NWCalcArrowRect( const Rectangle& rButton, Rectangle& rArrow ); static Rectangle NWGetButtonArea( SalX11Screen nScreen, ControlType nType, ControlPart nPart, Rectangle aAreaRect, ControlState nState, const ImplControlValue& aValue, const OUString& rCaption ); +static Rectangle NWGetTabItemRect( SalX11Screen nScreen, Rectangle aAreaRect ); + //--- static Rectangle NWGetEditBoxPixmapRect( SalX11Screen nScreen, ControlType nType, ControlPart nPart, Rectangle aAreaRect, ControlState nState, const ImplControlValue& aValue, const OUString& rCaption ); @@ -993,6 +995,12 @@ sal_Bool GtkSalGraphics::getNativeControlRegion( ControlType nType, returnVal = sal_True; } + if (nType == CTRL_TAB_ITEM && nPart == PART_ENTIRE_CONTROL) + { + rNativeBoundingRegion = NWGetTabItemRect(m_nXScreen, rControlRegion); + rNativeContentRegion = rNativeBoundingRegion; + returnVal = sal_True; + } if ( (nType==CTRL_COMBOBOX) && ((nPart==PART_BUTTON_DOWN) || (nPart==PART_SUB_EDIT)) ) { rNativeBoundingRegion = NWGetComboBoxButtonRect( m_nXScreen, nType, nPart, rControlRegion, nState, @@ -1594,6 +1602,28 @@ static Rectangle NWGetButtonArea( SalX11Screen nScreen, return( aRect ); } +static Rectangle NWGetTabItemRect( SalX11Screen nScreen, Rectangle aAreaRect ) +{ + NWEnsureGTKNotebook( nScreen ); + + gint x, y, w, h; + + x = aAreaRect.Left(); + y = aAreaRect.Top(); + w = aAreaRect.GetWidth(); + h = aAreaRect.GetHeight(); + + gint xthickness = gWidgetData[0].gNotebookWidget->style->xthickness; + gint ythickness = gWidgetData[0].gNotebookWidget->style->ythickness; + + x -= xthickness; + y -= ythickness; + w += xthickness*2; + h += ythickness*2; + + return Rectangle( Point( x, y ), Size( w, h ) ); +} + //------------------------------------- sal_Bool GtkSalGraphics::NWPaintGTKRadio( GdkDrawable* gdkDrawable,
_______________________________________________ Libreoffice-commits mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
