summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKurt Zenker <kz@openoffice.org>2009-02-13 08:54:28 +0000
committerKurt Zenker <kz@openoffice.org>2009-02-13 08:54:28 +0000
commita6b480c9d47aa524b1c77cb0ef759ebfaa001525 (patch)
treebf17e525595567db339b4bbf77b237aec98fd87d
parent97f8a47f35a6fedb9c4a1f6e5f3e7e1bbe022ae5 (diff)
CWS-TOOLING: integrate CWS vcl99_OOO310
2009-01-29 15:34:04 +0100 hdu r267149 : #i77520# fix AquaSalGraphics::GetGlyphBoundRect() result y-sign 2009-01-29 10:14:23 +0100 hdu r267099 : #i77520# implement AquaSalGraphics::GetGlyphBoundRect() 2009-01-28 17:31:17 +0100 hdu r267071 : #i79046# restore MultiSalLayout components after drawing them 2009-01-28 12:02:19 +0100 tl r267050 : #78466# default curreny listbox for Arabic builds fixed 2009-01-28 11:54:21 +0100 tl r267049 : #78466# default curreny listbox for Arabic builds fixed 2009-01-28 11:43:44 +0100 tl r267047 : #78466# default curreny listbox for Arabic builds fixed 2009-01-28 11:17:42 +0100 tl r267041 : #78466# default curreny listbox for Arabic builds fixed 2009-01-28 11:14:30 +0100 tl r267038 : #78466# default curreny listbox for Arabic builds fixed 2009-01-28 10:33:03 +0100 tl r267032 : #i72073# auto spellcheck markups in RTL context fixed 2009-01-28 09:26:00 +0100 tl r267027 : #78466# default curreny listbox for Arabic builds fixed 2009-01-28 09:25:31 +0100 tl r267026 : #78466# default curreny listbox for Arabic builds fixed 2009-01-27 16:55:14 +0100 tl r267009 : #78466# default curreny listbox for Arabic builds fixed 2009-01-27 16:54:46 +0100 tl r267008 : #78466# default curreny listbox for Arabic builds fixed 2009-01-27 16:52:23 +0100 tl r267007 : #78466# default curreny listbox for Arabic builds fixed 2009-01-27 16:46:52 +0100 tl r267006 : #i72073# auto spellcheck markups in RTL context fixed 2009-01-27 11:53:53 +0100 pl r266975 : #i98515# fix a buffer overflow 2009-01-26 19:13:28 +0100 pl r266946 : #i98119# add static vcl object helper 2009-01-26 18:11:06 +0100 pl r266940 : #i94040# catch a corner case (thanks af) 2009-01-23 10:54:42 +0100 pl r266793 : #i92102# fix some RTL UI issues 2009-01-23 10:53:35 +0100 pl r266790 : #i98169# one more case of DrawWaveLine 2009-01-23 08:38:32 +0100 hdu r266768 : #i98139# prefer Tools->Options->FontSubstitution over PreMatchHook 2009-01-21 17:30:57 +0100 pl r266694 : #i92102# adjust spin buttons 2009-01-21 13:54:16 +0100 pl r266667 : #i97130# add Click handler 2009-01-21 13:32:47 +0100 os r266662 : #158646# set SwWrtShell in C'tor of SwIndexMarkDlg 2009-01-21 12:14:03 +0100 pl r266649 : #i98196# fix autospellchecking in writer 2009-01-19 14:25:28 +0100 pl r266497 : #i97130# implement functionality of ExplainButton
-rw-r--r--svx/source/dialog/SpellDialog.cxx5
-rw-r--r--svx/source/dialog/langbox.cxx1
-rw-r--r--svx/source/dialog/optgdlg.cxx3
-rw-r--r--svx/source/editeng/impedit3.cxx34
-rw-r--r--svx/source/inc/SpellDialog.hxx1
5 files changed, 38 insertions, 6 deletions
diff --git a/svx/source/dialog/SpellDialog.cxx b/svx/source/dialog/SpellDialog.cxx
index 058db8b9f3..b8976071f3 100644
--- a/svx/source/dialog/SpellDialog.cxx
+++ b/svx/source/dialog/SpellDialog.cxx
@@ -2161,4 +2161,7 @@ void ExplainButton::RequestHelp( const HelpEvent& )
Help::ShowBalloon( this, GetPosPixel(), m_sExplanation );
}
-
+void ExplainButton::Click()
+{
+ RequestHelp( HelpEvent() );
+}
diff --git a/svx/source/dialog/langbox.cxx b/svx/source/dialog/langbox.cxx
index 416cb39da1..f31033b9b7 100644
--- a/svx/source/dialog/langbox.cxx
+++ b/svx/source/dialog/langbox.cxx
@@ -329,6 +329,7 @@ USHORT SvxLanguageBox::InsertLanguage( const LanguageType nLangType, USHORT nPos
String aStrEntry = m_pLangTable->GetString( nLang );
if (LANGUAGE_NONE == nLang && m_bHasLangNone && m_bLangNoneIsLangAll)
aStrEntry = m_aAllString;
+ aStrEntry = ApplyLreOrRleEmbedding( aStrEntry );
USHORT nAt = 0;
if ( m_bWithCheckmark )
diff --git a/svx/source/dialog/optgdlg.cxx b/svx/source/dialog/optgdlg.cxx
index 24a06d1b0c..5302bceb95 100644
--- a/svx/source/dialog/optgdlg.cxx
+++ b/svx/source/dialog/optgdlg.cxx
@@ -1282,8 +1282,9 @@ OfaLanguagesTabPage::OfaLanguagesTabPage( Window* pParent, const SfxItemSet& rSe
String aStr_( pCurr->GetBankSymbol() );
aStr_ += aTwoSpace;
aStr_ += pCurr->GetSymbol();
+ aStr = ApplyLreOrRleEmbedding( aStr_ );
aStr_ += aTwoSpace;
- aStr_ += pLanguageTable->GetString( pCurr->GetLanguage() );
+ aStr_ += ApplyLreOrRleEmbedding( pLanguageTable->GetString( pCurr->GetLanguage() ) );
USHORT nPos = aCurrencyLB.InsertEntry( aStr_ );
aCurrencyLB.SetEntryData( nPos, (void*) pCurr );
}
diff --git a/svx/source/editeng/impedit3.cxx b/svx/source/editeng/impedit3.cxx
index 1a8494ceda..361893d7c6 100644
--- a/svx/source/editeng/impedit3.cxx
+++ b/svx/source/editeng/impedit3.cxx
@@ -163,7 +163,18 @@ BYTE GetCharTypeForCompression( xub_Unicode cChar )
}
}
-void lcl_DrawRedLines( OutputDevice* pOutDev, long nFontHeight, const Point& rPnt, sal_uInt16 nIndex, sal_uInt16 nMaxEnd, const sal_Int32* pDXArray, WrongList* pWrongs, short nOrientation, const Point& rOrigin, BOOL bVertical )
+void lcl_DrawRedLines(
+ OutputDevice* pOutDev,
+ long nFontHeight,
+ const Point& rPnt,
+ sal_uInt16 nIndex,
+ sal_uInt16 nMaxEnd,
+ const sal_Int32* pDXArray,
+ WrongList* pWrongs,
+ short nOrientation,
+ const Point& rOrigin,
+ BOOL bVertical,
+ BOOL bIsRightToLeft )
{
#ifndef SVX_LIGHT
// Aber nur, wenn Font nicht zu klein...
@@ -202,14 +213,24 @@ void lcl_DrawRedLines( OutputDevice* pOutDev, long nFontHeight, const Point& rPn
if ( nStart > nIndex )
{
if ( !bVertical )
- aPnt1.X() += pDXArray[ nStart - nIndex - 1 ];
+ {
+ // since for RTL portions rPnt is on the visual right end of the portion
+ // (i.e. at the start of the first RTL char) we need to subtract the offset
+ // for RTL portions...
+ aPnt1.X() += (bIsRightToLeft ? -1 : 1) * pDXArray[ nStart - nIndex - 1 ];
+ }
else
aPnt1.Y() += pDXArray[ nStart - nIndex - 1 ];
}
Point aPnt2( rPnt );
DBG_ASSERT( nEnd > nIndex, "RedLine: aPnt2?" );
if ( !bVertical )
- aPnt2.X() += pDXArray[ nEnd - nIndex - 1 ];
+ {
+ // since for RTL portions rPnt is on the visual right end of the portion
+ // (i.e. at the start of the first RTL char) we need to subtract the offset
+ // for RTL portions...
+ aPnt2.X() += (bIsRightToLeft ? -1 : 1) * pDXArray[ nEnd - nIndex - 1 ];
+ }
else
aPnt2.Y() += pDXArray[ nEnd - nIndex - 1 ];
if ( nOrientation )
@@ -3153,6 +3174,11 @@ void ImpEditEngine::Paint( OutputDevice* pOutDev, Rectangle aClipRec, Point aSta
Point aOutPos( aTmpPos );
aRedLineTmpPos = aTmpPos;
+ // In RTL portions spell markup pos should be at the start of the
+ // first chara as well. That is on the right end of the portion
+ if (pTextPortion->IsRightToLeft())
+ aRedLineTmpPos.X() += pTextPortion->GetSize().Width();
+
//L2R if ( pTextPortion->GetRightToLeft() )
//L2R {
//L2R sal_uInt16 nNextPortion = y+1;
@@ -3419,7 +3445,7 @@ void ImpEditEngine::Paint( OutputDevice* pOutDev, Rectangle aClipRec, Point aSta
}
Color aOldColor( pOutDev->GetLineColor() );
pOutDev->SetLineColor( Color( GetColorConfig().GetColorValue( svtools::SPELL ).nColor ) );
- lcl_DrawRedLines( pOutDev, aTmpFont.GetSize().Height(), aRedLineTmpPos, nIndex, nIndex + pTextPortion->GetLen(), pDXArray, pPortion->GetNode()->GetWrongList(), nOrientation, aOrigin, IsVertical() );
+ lcl_DrawRedLines( pOutDev, aTmpFont.GetSize().Height(), aRedLineTmpPos, nIndex, nIndex + pTextPortion->GetLen(), pDXArray, pPortion->GetNode()->GetWrongList(), nOrientation, aOrigin, IsVertical(), pTextPortion->IsRightToLeft() );
pOutDev->SetLineColor( aOldColor );
}
#endif // !SVX_LIGHT
diff --git a/svx/source/inc/SpellDialog.hxx b/svx/source/inc/SpellDialog.hxx
index aa0a7de8c5..351ff3d77e 100644
--- a/svx/source/inc/SpellDialog.hxx
+++ b/svx/source/inc/SpellDialog.hxx
@@ -134,6 +134,7 @@ class ExplainButton : public PushButton
String m_sExplanation;
virtual void RequestHelp( const HelpEvent& rHEvt );
+ virtual void Click();
public:
ExplainButton( Window* pParent, const ResId& rResId ) : PushButton( pParent, rResId ){}
~ExplainButton();