diff options
author | Jan Holesovsky <kendy@suse.cz> | 2012-10-19 01:21:22 +0200 |
---|---|---|
committer | Jan Holesovsky <kendy@suse.cz> | 2012-10-19 14:51:23 +0200 |
commit | bfa21ce5fa08f2c634ccb6162914be55aef9f3c2 (patch) | |
tree | 1bece26f68eb93980cfec7addee123f297b90ce2 /vcl | |
parent | 91e81cd4bd8917ee06cd4fc0f7a56979c72100d6 (diff) |
fdo#44657 Remove hack that "simulates" a mirrored horizontal scrollbar.
We are able to paint mirrored scrolbars with the 'gen' plugin, so just fix the
rendering of the scroolbar with the Gtk+ plugin.
Change-Id: I5dbd13420c6290e165ed2f5827769979298abf37
Diffstat (limited to 'vcl')
-rw-r--r-- | vcl/source/control/scrbar.cxx | 12 | ||||
-rw-r--r-- | vcl/unx/gtk/gdi/salnativewidgets-gtk.cxx | 5 |
2 files changed, 9 insertions, 8 deletions
diff --git a/vcl/source/control/scrbar.cxx b/vcl/source/control/scrbar.cxx index b5ff6c829a47..07140c75df8d 100644 --- a/vcl/source/control/scrbar.cxx +++ b/vcl/source/control/scrbar.cxx @@ -859,7 +859,7 @@ void ScrollBar::ImplDoMouseAction( const Point& rMousePos, sal_Bool bCallAction switch ( meScrollType ) { case SCROLL_LINEUP: - if ( HitTestNativeControl( CTRL_SCROLLBAR, bHorizontal? PART_BUTTON_LEFT: PART_BUTTON_UP, + if ( HitTestNativeControl( CTRL_SCROLLBAR, bHorizontal? (IsRTLEnabled()? PART_BUTTON_RIGHT: PART_BUTTON_LEFT): PART_BUTTON_UP, aControlRegion, rMousePos, bIsInside )? bIsInside: maBtn1Rect.IsInside( rMousePos ) ) @@ -872,7 +872,7 @@ void ScrollBar::ImplDoMouseAction( const Point& rMousePos, sal_Bool bCallAction break; case SCROLL_LINEDOWN: - if ( HitTestNativeControl( CTRL_SCROLLBAR, bHorizontal? PART_BUTTON_RIGHT: PART_BUTTON_DOWN, + if ( HitTestNativeControl( CTRL_SCROLLBAR, bHorizontal? (IsRTLEnabled()? PART_BUTTON_LEFT: PART_BUTTON_RIGHT): PART_BUTTON_DOWN, aControlRegion, rMousePos, bIsInside )? bIsInside: maBtn2Rect.IsInside( rMousePos ) ) @@ -966,7 +966,7 @@ void ScrollBar::MouseButtonDown( const MouseEvent& rMEvt ) Point aPoint( 0, 0 ); Rectangle aControlRegion( aPoint, GetOutputSizePixel() ); - if ( HitTestNativeControl( CTRL_SCROLLBAR, bHorizontal? PART_BUTTON_LEFT: PART_BUTTON_UP, + if ( HitTestNativeControl( CTRL_SCROLLBAR, bHorizontal? (IsRTLEnabled()? PART_BUTTON_RIGHT: PART_BUTTON_LEFT): PART_BUTTON_UP, aControlRegion, rMousePos, bIsInside )? bIsInside: maBtn1Rect.IsInside( rMousePos ) ) @@ -978,7 +978,7 @@ void ScrollBar::MouseButtonDown( const MouseEvent& rMEvt ) mnDragDraw = SCRBAR_DRAW_BTN1; } } - else if ( HitTestNativeControl( CTRL_SCROLLBAR, bHorizontal? PART_BUTTON_RIGHT: PART_BUTTON_DOWN, + else if ( HitTestNativeControl( CTRL_SCROLLBAR, bHorizontal? (IsRTLEnabled()? PART_BUTTON_LEFT: PART_BUTTON_RIGHT): PART_BUTTON_DOWN, aControlRegion, rMousePos, bIsInside )? bIsInside: maBtn2Rect.IsInside( rMousePos ) ) @@ -1317,12 +1317,12 @@ Rectangle* ScrollBar::ImplFindPartRect( const Point& rPt ) Point aPoint( 0, 0 ); Rectangle aControlRegion( aPoint, GetOutputSizePixel() ); - if( HitTestNativeControl( CTRL_SCROLLBAR, bHorizontal? PART_BUTTON_LEFT: PART_BUTTON_UP, + if( HitTestNativeControl( CTRL_SCROLLBAR, bHorizontal? (IsRTLEnabled()? PART_BUTTON_RIGHT: PART_BUTTON_LEFT): PART_BUTTON_UP, aControlRegion, rPt, bIsInside )? bIsInside: maBtn1Rect.IsInside( rPt ) ) return &maBtn1Rect; - else if( HitTestNativeControl( CTRL_SCROLLBAR, bHorizontal? PART_BUTTON_RIGHT: PART_BUTTON_DOWN, + else if( HitTestNativeControl( CTRL_SCROLLBAR, bHorizontal? (IsRTLEnabled()? PART_BUTTON_LEFT: PART_BUTTON_RIGHT): PART_BUTTON_DOWN, aControlRegion, rPt, bIsInside )? bIsInside: maBtn2Rect.IsInside( rPt ) ) diff --git a/vcl/unx/gtk/gdi/salnativewidgets-gtk.cxx b/vcl/unx/gtk/gdi/salnativewidgets-gtk.cxx index 945ae0b4d355..8c603ed187cf 100644 --- a/vcl/unx/gtk/gdi/salnativewidgets-gtk.cxx +++ b/vcl/unx/gtk/gdi/salnativewidgets-gtk.cxx @@ -1794,6 +1794,7 @@ sal_Bool GtkSalGraphics::NWPaintGTKScrollbar( ControlType, ControlPart nPart, { unsigned int sliderHeight = slider_width + (trough_border * 2); vShim = (pixmapRect.GetHeight() - sliderHeight) / 2; + bool bRTLSwap = button11BoundRect.Left() > button22BoundRect.Left(); scrollbarRect.Move( 0, vShim ); scrollbarRect.SetSize( Size( scrollbarRect.GetWidth(), sliderHeight ) ); @@ -1801,8 +1802,8 @@ sal_Bool GtkSalGraphics::NWPaintGTKScrollbar( ControlType, ControlPart nPart, scrollbarWidget = GTK_SCROLLBAR( gWidgetData[m_nXScreen].gScrollHorizWidget ); scrollbarOrientation = GTK_ORIENTATION_HORIZONTAL; scrollbarTag = scrollbarTagH; - button1Type = GTK_ARROW_LEFT; - button2Type = GTK_ARROW_RIGHT; + button1Type = bRTLSwap? GTK_ARROW_RIGHT: GTK_ARROW_LEFT; + button2Type = bRTLSwap? GTK_ARROW_LEFT: GTK_ARROW_RIGHT; if ( has_backward ) { |