diff options
Diffstat (limited to 'svtools/source/brwbox/editbrowsebox.cxx')
-rw-r--r-- | svtools/source/brwbox/editbrowsebox.cxx | 29 |
1 files changed, 23 insertions, 6 deletions
diff --git a/svtools/source/brwbox/editbrowsebox.cxx b/svtools/source/brwbox/editbrowsebox.cxx index 3e16e10866f3..086e00674a8e 100644 --- a/svtools/source/brwbox/editbrowsebox.cxx +++ b/svtools/source/brwbox/editbrowsebox.cxx @@ -330,6 +330,7 @@ namespace svt } Image aImage; + bool bNeedMirror = IsRTLEnabled(); switch (eStatus) { case CURRENT: @@ -340,6 +341,7 @@ namespace svt break; case MODIFIED: aImage = m_aStatusImages.GetImage(IMG_EBB_MODIFIED); + bNeedMirror = false; // the pen is not mirrored break; case NEW: aImage = m_aStatusImages.GetImage(IMG_EBB_NEW); @@ -362,6 +364,12 @@ namespace svt case CLEAN: break; } + if ( bNeedMirror ) + { + BitmapEx aBitmap( aImage.GetBitmapEx() ); + aBitmap.Mirror( BMP_MIRROR_HORZ ); + aImage = Image( aBitmap ); + } return aImage; } @@ -788,14 +796,15 @@ namespace svt { BrowseBox::StateChanged( nType ); - if ( nType == STATE_CHANGE_ZOOM ) + bool bNeedCellReActivation = false; + if ( nType == STATE_CHANGE_MIRRORING ) + { + bNeedCellReActivation = true; + } + else if ( nType == STATE_CHANGE_ZOOM ) { ImplInitSettings( sal_True, sal_False, sal_False ); - if (IsEditing()) - { - DeactivateCell(); - ActivateCell(); - } + bNeedCellReActivation = true; } else if ( nType == STATE_CHANGE_CONTROLFONT ) { @@ -820,6 +829,14 @@ namespace svt SetStyle(nStyle); } + if ( bNeedCellReActivation ) + { + if ( IsEditing() ) + { + DeactivateCell(); + ActivateCell(); + } + } } //------------------------------------------------------------------------------ |