diff options
author | Oliver Bolte <obo@openoffice.org> | 2009-02-17 10:33:03 +0000 |
---|---|---|
committer | Oliver Bolte <obo@openoffice.org> | 2009-02-17 10:33:03 +0000 |
commit | 01a1794209011c95e40adaae60e28cf0316c8b16 (patch) | |
tree | 2025647ea2dffa06b1cabae8f38ba23c78c72711 | |
parent | b5e6c4f7d7fa088588da360204ac308acdb72b29 (diff) |
CWS-TOOLING: integrate CWS vcl99
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.cxx | 5 | ||||
-rw-r--r-- | svx/source/dialog/langbox.cxx | 1 | ||||
-rw-r--r-- | svx/source/dialog/optgdlg.cxx | 3 | ||||
-rw-r--r-- | svx/source/editeng/impedit3.cxx | 34 | ||||
-rw-r--r-- | svx/source/inc/SpellDialog.hxx | 1 |
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(); |