diff options
Diffstat (limited to 'editeng/source/misc')
-rw-r--r-- | editeng/source/misc/SvXMLAutoCorrectExport.cxx | 2 | ||||
-rw-r--r-- | editeng/source/misc/SvXMLAutoCorrectExport.hxx | 2 | ||||
-rw-r--r-- | editeng/source/misc/SvXMLAutoCorrectImport.cxx | 2 | ||||
-rw-r--r-- | editeng/source/misc/SvXMLAutoCorrectImport.hxx | 2 | ||||
-rw-r--r-- | editeng/source/misc/acorrcfg.cxx | 2 | ||||
-rw-r--r-- | editeng/source/misc/hangulhanja.cxx | 9 | ||||
-rw-r--r-- | editeng/source/misc/lingu.src | 12 | ||||
-rw-r--r-- | editeng/source/misc/makefile.mk | 2 | ||||
-rw-r--r-- | editeng/source/misc/splwrap.cxx | 61 | ||||
-rw-r--r-- | editeng/source/misc/svxacorr.cxx | 374 | ||||
-rw-r--r-- | editeng/source/misc/txtrange.cxx | 65 | ||||
-rw-r--r-- | editeng/source/misc/unolingu.cxx | 6 |
12 files changed, 210 insertions, 329 deletions
diff --git a/editeng/source/misc/SvXMLAutoCorrectExport.cxx b/editeng/source/misc/SvXMLAutoCorrectExport.cxx index 1853b4ab5399..ceada8ae745b 100644 --- a/editeng/source/misc/SvXMLAutoCorrectExport.cxx +++ b/editeng/source/misc/SvXMLAutoCorrectExport.cxx @@ -39,7 +39,6 @@ using namespace ::com::sun::star; using namespace ::xmloff::token; using namespace ::rtl; -// #110680# SvXMLAutoCorrectExport::SvXMLAutoCorrectExport( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > xServiceFactory, const SvxAutocorrWordList * pNewAutocorr_List, @@ -81,7 +80,6 @@ sal_uInt32 SvXMLAutoCorrectExport::exportDoc(enum XMLTokenEnum /*eClass*/) return 0; } -// #110680# SvXMLExceptionListExport::SvXMLExceptionListExport( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > xServiceFactory, const SvStringsISortDtor &rNewList, diff --git a/editeng/source/misc/SvXMLAutoCorrectExport.hxx b/editeng/source/misc/SvXMLAutoCorrectExport.hxx index 0a89d0f920eb..937ef9543f29 100644 --- a/editeng/source/misc/SvXMLAutoCorrectExport.hxx +++ b/editeng/source/misc/SvXMLAutoCorrectExport.hxx @@ -39,7 +39,6 @@ class SvXMLAutoCorrectExport : public SvXMLExport private: const SvxAutocorrWordList *pAutocorr_List; public: - // #110680# SvXMLAutoCorrectExport( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > xServiceFactory, const SvxAutocorrWordList * pNewAutocorr_List, @@ -60,7 +59,6 @@ class SvXMLExceptionListExport : public SvXMLExport private: const SvStringsISortDtor & rList; public: - // #110680# SvXMLExceptionListExport( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > xServiceFactory, const SvStringsISortDtor &rNewList, diff --git a/editeng/source/misc/SvXMLAutoCorrectImport.cxx b/editeng/source/misc/SvXMLAutoCorrectImport.cxx index 4e4989ec5613..bd9711cabbbe 100644 --- a/editeng/source/misc/SvXMLAutoCorrectImport.cxx +++ b/editeng/source/misc/SvXMLAutoCorrectImport.cxx @@ -43,7 +43,6 @@ using namespace ::rtl; static OUString sBlockList ( RTL_CONSTASCII_USTRINGPARAM ( "_block-list" ) ); -// #110680# SvXMLAutoCorrectImport::SvXMLAutoCorrectImport( const uno::Reference< lang::XMultiServiceFactory > xServiceFactory, SvxAutocorrWordList *pNewAutocorr_List, @@ -162,7 +161,6 @@ SvXMLWordContext::~SvXMLWordContext ( void ) { } -// #110680# SvXMLExceptionListImport::SvXMLExceptionListImport( const uno::Reference< lang::XMultiServiceFactory > xServiceFactory, SvStringsISortDtor & rNewList ) diff --git a/editeng/source/misc/SvXMLAutoCorrectImport.hxx b/editeng/source/misc/SvXMLAutoCorrectImport.hxx index 7fba16e239a5..fa7a28d0d9dc 100644 --- a/editeng/source/misc/SvXMLAutoCorrectImport.hxx +++ b/editeng/source/misc/SvXMLAutoCorrectImport.hxx @@ -50,7 +50,6 @@ public: SvxAutoCorrect &rAutoCorrect; com::sun::star::uno::Reference < com::sun::star::embed::XStorage > xStorage; - // #110680# SvXMLAutoCorrectImport( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > xServiceFactory, SvxAutocorrWordList *pNewAutocorr_List, @@ -104,7 +103,6 @@ protected: public: SvStringsISortDtor &rList; - // #110680# SvXMLExceptionListImport( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > xServiceFactory, SvStringsISortDtor & rNewList ); diff --git a/editeng/source/misc/acorrcfg.cxx b/editeng/source/misc/acorrcfg.cxx index 7c9f5a56fbcd..f72b548a6ae2 100644 --- a/editeng/source/misc/acorrcfg.cxx +++ b/editeng/source/misc/acorrcfg.cxx @@ -134,7 +134,7 @@ void SvxBaseAutoCorrCfg::Load(sal_Bool bInit) DBG_ASSERT(aValues.getLength() == aNames.getLength(), "GetProperties failed"); if(aValues.getLength() == aNames.getLength()) { - long nFlags = 0; // default alles aus + long nFlags = 0; // default all off sal_Int32 nTemp = 0; for(int nProp = 0; nProp < aNames.getLength(); nProp++) { diff --git a/editeng/source/misc/hangulhanja.cxx b/editeng/source/misc/hangulhanja.cxx index cb25cba2b1e6..21b88157bfba 100644 --- a/editeng/source/misc/hangulhanja.cxx +++ b/editeng/source/misc/hangulhanja.cxx @@ -598,15 +598,6 @@ namespace editeng } } - /* - if ( bDocumentDone ) - return sal_True; // we explicitly know that the complete document is done - else if ( bNeedUserInteraction ) - return sal_False; // the doc is not done, we found a convertible, but need the user to decide - else - return sal_True; // we did not find a next convertible, so the document is implicitly done - */ - return bDocumentDone || !bNeedUserInteraction; } diff --git a/editeng/source/misc/lingu.src b/editeng/source/misc/lingu.src index 0d86b757f850..fa3ef76f99fa 100644 --- a/editeng/source/misc/lingu.src +++ b/editeng/source/misc/lingu.src @@ -33,22 +33,22 @@ QueryBox RID_SVXQB_CONTINUE { BUTTONS = WB_YES_NO ; DEFBUTTON = WB_DEF_YES ; - /* ### ACHTUNG: Neuer Text in Resource? berprfung am Anfang des Dokumentes fortsetzen? : berprfung am Anfang des Dokumentes fortsetzen? */ - /* ### ACHTUNG: Neuer Text in Resource? berprfung am Anfang des Dokumentes fortsetzen? : berprfung am Anfang des Dokumentes fortsetzen? */ + /* ### WARNING: New Text in Resource? überpüfung am Anfang des Dokumentes fortsetzen? : berprfung am Anfang des Dokumentes fortsetzen? */ + /* ### WARNING: New Text in Resource? berprfung am Anfang des Dokumentes fortsetzen? : berprfung am Anfang des Dokumentes fortsetzen? */ Message [ en-US ] = "Continue checking at beginning of document?" ; }; QueryBox RID_SVXQB_BW_CONTINUE { BUTTONS = WB_YES_NO ; DEFBUTTON = WB_DEF_YES ; - /* ### ACHTUNG: Neuer Text in Resource? berprfung am Ende des Dokumentes fortsetzen? : berprfung am Ende des Dokumentes fortsetzen? */ - /* ### ACHTUNG: Neuer Text in Resource? berprfung am Ende des Dokumentes fortsetzen? : berprfung am Ende des Dokumentes fortsetzen? */ + /* ### WARNING: New Text in Resource? berprfung am Ende des Dokumentes fortsetzen? : berprfung am Ende des Dokumentes fortsetzen? */ + /* ### WARNING: New Text in Resource? berprfung am Ende des Dokumentes fortsetzen? : berprfung am Ende des Dokumentes fortsetzen? */ Message [ en-US ] = "Continue checking at end of document?" ; }; String RID_SVXSTR_HMERR_THESAURUS { - /* ### ACHTUNG: Neuer Text in Resource? Ein Thesaurus fr die eingestellte Sprache ist nicht verfgbar. \nberprfen Sie bitte Ihre Installation und installieren Sie \ngegebenenfalls die gewnschte Sprache : Ein Thesaurus fr die eingestellte Sprache ist nicht verfgbar. \nberprfen Sie bitte Ihre Installation und installieren Sie \ngegebenenfalls die gewnschte Sprache */ - /* ### ACHTUNG: Neuer Text in Resource? Ein Thesaurus fr die eingestellte Sprache ist nicht verfgbar. \nberprfen Sie bitte Ihre Installation und installieren Sie \ngegebenenfalls die gewnschte Sprache : Ein Thesaurus fr die eingestellte Sprache ist nicht verfgbar. \nberprfen Sie bitte Ihre Installation und installieren Sie \ngegebenenfalls die gewnschte Sprache */ + /* ### WARNING: New Text in Resource? Ein Thesaurus fr die eingestellte Sprache ist nicht verfgbar. \nberprfen Sie bitte Ihre Installation und installieren Sie \ngegebenenfalls die gewnschte Sprache : Ein Thesaurus fr die eingestellte Sprache ist nicht verfgbar. \nberprfen Sie bitte Ihre Installation und installieren Sie \ngegebenenfalls die gewnschte Sprache */ + /* ### WARNING: New Text in Resource? Ein Thesaurus fr die eingestellte Sprache ist nicht verfgbar. \nberprfen Sie bitte Ihre Installation und installieren Sie \ngegebenenfalls die gewnschte Sprache : Ein Thesaurus fr die eingestellte Sprache ist nicht verfgbar. \nberprfen Sie bitte Ihre Installation und installieren Sie \ngegebenenfalls die gewnschte Sprache */ Text [ en-US ] = "No thesaurus is available for the selected language. \nPlease check your installation and install the desired language\n" ; }; String RID_SVXSTR_DIC_ERR_UNKNOWN diff --git a/editeng/source/misc/makefile.mk b/editeng/source/misc/makefile.mk index 23bdb9c1bf22..0b4dbbecf265 100644 --- a/editeng/source/misc/makefile.mk +++ b/editeng/source/misc/makefile.mk @@ -36,7 +36,7 @@ ENABLE_EXCEPTIONS=TRUE .INCLUDE : settings.mk .INCLUDE : $(PRJ)$/util$/makefile.pmk -# --- Allgemein ---------------------------------------------------------- +# --- General ---------------------------------------------------------- .IF "$(editdebug)" != "" || "$(EDITDEBUG)" != "" CDEFS+=-DEDITDEBUG diff --git a/editeng/source/misc/splwrap.cxx b/editeng/source/misc/splwrap.cxx index 5e2e11193a02..2d7599cb251a 100644 --- a/editeng/source/misc/splwrap.cxx +++ b/editeng/source/misc/splwrap.cxx @@ -151,7 +151,7 @@ SvxSpellWrapper::~SvxSpellWrapper() } /*-------------------------------------------------------------------- - * Beschreibung: Ctor, die Pruefreihenfolge wird festgelegt + * Description: Constructor, the test sequence is determined * * !bStart && !bOtherCntnt: BODY_END, BODY_START, OTHER * !bStart && bOtherCntnt: OTHER, BODY @@ -261,15 +261,15 @@ sal_Int16 SvxSpellWrapper::CheckHyphLang( void SvxSpellWrapper::SpellStart( SvxSpellArea /*eSpell*/ ) -{ // Hier muessen die notwendigen Vorbereitungen fuer SpellContinue -} // im uebergebenen Bereich getroffen werden. +{ // Here, the necessary preparations be made for SpellContinue in the +} // given area. // ----------------------------------------------------------------------- sal_Bool SvxSpellWrapper::HasOtherCnt() { - return sal_False; // Gibt es ueberhaupt einen Sonderbereich? + return sal_False; // Is there a special area? } // ----------------------------------------------------------------------- @@ -277,14 +277,14 @@ sal_Bool SvxSpellWrapper::HasOtherCnt() sal_Bool SvxSpellWrapper::SpellMore() { - return sal_False; // Sollen weitere Dokumente geprueft werden? + return sal_False; // Should additional documents be examined? } // ----------------------------------------------------------------------- void SvxSpellWrapper::SpellEnd() -{ // Bereich ist abgeschlossen, ggf. Aufraeumen +{ // Area is complete, tidy up if necessary // display error for last language not found ShowLanguageErrors(); @@ -308,14 +308,14 @@ void SvxSpellWrapper::AutoCorrect( const String&, const String& ) void SvxSpellWrapper::ScrollArea() -{ // Scrollarea einstellen +{ // Set Scroll area } // ----------------------------------------------------------------------- void SvxSpellWrapper::ChangeWord( const String&, const sal_uInt16 ) -{ // Wort ersetzen +{ // Insert Word } // ----------------------------------------------------------------------- @@ -323,7 +323,7 @@ void SvxSpellWrapper::ChangeWord( const String&, const sal_uInt16 ) String SvxSpellWrapper::GetThesWord() { - // Welches Wort soll nachgeschlagen werden? + // What word should be looked up? return String(); } @@ -332,7 +332,7 @@ String SvxSpellWrapper::GetThesWord() void SvxSpellWrapper::ChangeThesWord( const String& ) { - // Wort wg. Thesaurus ersetzen + // replace word due to Thesaurus. } // ----------------------------------------------------------------------- @@ -360,25 +360,25 @@ void SvxSpellWrapper::StartThesaurus( const String &rWord, sal_uInt16 nLanguage // ----------------------------------------------------------------------- void SvxSpellWrapper::ReplaceAll( const String &, sal_Int16 ) -{ // Wort aus der Replace-Liste ersetzen +{ // Replace Word from the the Replace list } // ----------------------------------------------------------------------- void SvxSpellWrapper::SetLanguage( const sal_uInt16 ) -{ // Sprache aendern +{ // Set Language } // ----------------------------------------------------------------------- void SvxSpellWrapper::InsertHyphen( const sal_uInt16 ) -{ // Hyphen einfuegen bzw. loeschen +{ // inserting and deleting Hyphae } // ----------------------------------------------------------------------- -// Pruefung der Dokumentbereiche in der durch die Flags angegebenen Reihenfolge +// Testing of the document areas in the order specified by the flags void SvxSpellWrapper::SpellDocument( ) @@ -418,7 +418,7 @@ void SvxSpellWrapper::SpellDocument( ) } // ----------------------------------------------------------------------- -// Naechsten Bereich auswaehlen +// Select the next area sal_Bool SvxSpellWrapper::SpellNext( ) @@ -430,26 +430,27 @@ sal_Bool SvxSpellWrapper::SpellNext( ) : sal_False; sal_Bool bActRev = bRevAllowed && bWrapReverse; - // bActRev ist die Richtung nach dem Spellen, bReverse die am Anfang. + // bActRev is the direction after Spell checking, bReverse is the one + // at the beginning. if( bActRev == bReverse ) - { // Keine Richtungsaenderung, also ist - if( bStartChk ) // der gewuenschte Bereich ( bStartChk ) - bStartDone = sal_True; // vollstaendig abgearbeitet. + { // No change of direction, thus is the + if( bStartChk ) // desired area ( bStartChk ) + bStartDone = sal_True; // completely processed. else bEndDone = sal_True; } - else if( bReverse == bStartChk ) // Bei einer Richtungsaenderung kann - { // u.U. auch ein Bereich abgearbeitet sein. - if( bStartChk ) // Sollte der vordere Teil rueckwaerts gespellt - bEndDone = sal_True; // werden und wir kehren unterwegs um, so ist - else // der hintere Teil abgearbeitet (und umgekehrt). + else if( bReverse == bStartChk ) //For a change of direction, an area can + { // be processed during certain circumstances + if( bStartChk ) // If the firdt part is spell checked in backwards + bEndDone = sal_True; // and this is reversed in the process, then + else // then the end part is processed (and vice-versa). bStartDone = sal_True; } bReverse = bActRev; - if( bOtherCntnt && bStartDone && bEndDone ) // Dokument komplett geprueft? + if( bOtherCntnt && bStartDone && bEndDone ) // Document has been fully checked? { - if ( SpellMore() ) // ein weiteres Dokument pruefen? + if ( SpellMore() ) // spell check another document? { bOtherCntnt = sal_False; bStartDone = !bReverse; @@ -474,13 +475,13 @@ sal_Bool SvxSpellWrapper::SpellNext( ) *(sal_Bool*)xProp->getPropertyValue( ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(UPN_IS_SPELL_SPECIAL)) ).getValue() : sal_False; - // Bodybereich erledigt, Frage nach Sonderbereich + // Body area done, ask for special area if( !IsHyphen() && bIsSpellSpecial && HasOtherCnt() ) { SpellStart( SVX_SPELL_OTHER ); bOtherCntnt = bGoOn = sal_True; } - else if ( SpellMore() ) // ein weiteres Dokument pruefen? + else if ( SpellMore() ) // check another document? { bOtherCntnt = sal_False; bStartDone = !bReverse; @@ -491,14 +492,14 @@ sal_Bool SvxSpellWrapper::SpellNext( ) } else { - // Ein BODY_Bereich erledigt, Frage nach dem anderen BODY_Bereich + // a BODY_area done, ask for the other BODY_area WAIT_OFF(); sal_uInt16 nResId = bReverse ? RID_SVXQB_BW_CONTINUE : RID_SVXQB_CONTINUE; QueryBox aBox( pWin, EditResId( nResId ) ); if ( aBox.Execute() != RET_YES ) { - // Verzicht auf den anderen Bereich, ggf. Frage nach Sonderbereich + // sacrifice the other area if necessary ask for special area WAIT_ON(); bStartDone = bEndDone = sal_True; return SpellNext(); diff --git a/editeng/source/misc/svxacorr.cxx b/editeng/source/misc/svxacorr.cxx index 55f9ee60a591..353601a0dfaf 100644 --- a/editeng/source/misc/svxacorr.cxx +++ b/editeng/source/misc/svxacorr.cxx @@ -37,7 +37,7 @@ #include <i18npool/mslangid.hxx> #include <vcl/svapp.hxx> #include <sot/storinfo.hxx> -// fuer die Sort-String-Arrays aus dem SVMEM.HXX +// for the Sort-String-Arrays from SVMEM.HXX #define _SVSTDARR_STRINGSISORTDTOR #define _SVSTDARR_STRINGSDTOR #include <svl/svstdarr.hxx> @@ -98,19 +98,19 @@ static const sal_Char pXMLImplCplStt_ExcptLstStr[] = "SentenceExceptList.xml"; static const sal_Char pXMLImplAutocorr_ListStr[] = "DocumentList.xml"; static const sal_Char - /* auch bei diesen Anfaengen - Klammern auf und alle Arten von Anf.Zei. */ + /* also at these beginnings - Brackets and all kinds of begin characters */ sImplSttSkipChars[] = "\"\'([{\x83\x84\x89\x91\x92\x93\x94", - /* auch bei diesen Ende - Klammern auf und alle Arten von Anf.Zei. */ + /* also at these ends - Brackets and all kinds of begin characters */ sImplEndSkipChars[] = "\"\')]}\x83\x84\x89\x91\x92\x93\x94"; -// diese Zeichen sind in Worten erlaubt: (fuer FnCptlSttSntnc) +// These characters are allowed in words: (for FnCptlSttSntnc) static const sal_Char sImplWordChars[] = "-'"; void EncryptBlockName_Imp( String& rName ); void DecryptBlockName_Imp( String& rName ); -// FileVersions Nummern fuer die Ersetzungs-/Ausnahmelisten getrennt +// FileVersions Number for the Substitution-/Exception list separately #define WORDLIST_VERSION_358 1 #define EXEPTLIST_VERSION_358 0 @@ -175,13 +175,11 @@ static BOOL lcl_IsInAsciiArr( const sal_Char* pArr, const sal_Unicode c ) SvxAutoCorrDoc::~SvxAutoCorrDoc() { } - - - // wird nach dem austauschen der Zeichen von den Funktionen + // Is called by the functions: // - FnCptlSttWrd // - FnCptlSttSntnc - // gerufen. Dann koennen die Worte ggfs. in die Ausnahmelisten - // aufgenommen werden. + // after the exchange of characters. then the words can maybe be inserted + // into the exception list. void SvxAutoCorrDoc::SaveCpltSttWord( ULONG, xub_StrLen, const String&, sal_Unicode ) { @@ -415,7 +413,7 @@ void SvxAutoCorrect::SetAutoCorrFlag( long nFlag, BOOL bOn ) } - // Zwei Grossbuchstaben am Wort-Anfang ?? + // Two capital letters at the beginning of word? BOOL SvxAutoCorrect::FnCptlSttWrd( SvxAutoCorrDoc& rDoc, const String& rTxt, xub_StrLen nSttPos, xub_StrLen nEndPos, LanguageType eLang ) @@ -423,8 +421,8 @@ BOOL SvxAutoCorrect::FnCptlSttWrd( SvxAutoCorrDoc& rDoc, const String& rTxt, BOOL bRet = FALSE; CharClass& rCC = GetCharClass( eLang ); - // loesche alle nicht alpanum. Zeichen am Wortanfang/-ende und - // teste dann ( erkennt: "(min.", "/min.", usw.) + // Delete all non alphanumeric. Test the characters at the beginning/end of + // the word ( recognizes: "(min.", "/min.", and so on.) for( ; nSttPos < nEndPos; ++nSttPos ) if( rCC.isLetterNumeric( rTxt, nSttPos )) break; @@ -432,16 +430,16 @@ BOOL SvxAutoCorrect::FnCptlSttWrd( SvxAutoCorrDoc& rDoc, const String& rTxt, if( rCC.isLetterNumeric( rTxt, nEndPos - 1 )) break; - // Zwei Grossbuchstaben am Wort-Anfang ?? + // Two capital letters at the beginning of word? if( nSttPos+2 < nEndPos && IsUpperLetter( rCC.getCharacterType( rTxt, nSttPos )) && IsUpperLetter( rCC.getCharacterType( rTxt, ++nSttPos )) && - // ist das 3. Zeichen ein klein geschiebenes Alpha-Zeichen + // Is the third character a lower case IsLowerLetter( rCC.getCharacterType( rTxt, nSttPos +1 )) && - // keine Sonder-Attribute ersetzen + // Do not replace special attributes 0x1 != rTxt.GetChar( nSttPos ) && 0x2 != rTxt.GetChar( nSttPos )) { - // teste ob das Wort in einer Ausnahmeliste steht + // test if the word is in an exception list String sWord( rTxt.Copy( nSttPos - 1, nEndPos - nSttPos + 1 )); if( !FindInWrdSttExceptList(eLang, sWord) ) { @@ -466,8 +464,8 @@ BOOL SvxAutoCorrect::FnChgOrdinalNumber( LanguageType eLang ) { // 1st, 2nd, 3rd, 4 - 0th -// 201th oder 201st -// 12th oder 12nd +// 201th or 201st +// 12th or 12nd CharClass& rCC = GetCharClass( eLang ); BOOL bChg = FALSE; @@ -505,7 +503,7 @@ BOOL SvxAutoCorrect::FnChgOrdinalNumber( if( bChg ) { - // dann pruefe mal, ob alle bis zum Start alle Zahlen sind + // then check to the start, if all are numbers for( xub_StrLen n = nEndPos - 3; nSttPos < n; ) if( !rCC.isDigit( rTxt, --n ) ) { @@ -513,7 +511,7 @@ BOOL SvxAutoCorrect::FnChgOrdinalNumber( break; } - if( bChg ) // dann setze mal das Escapement Attribut + if( bChg ) // then set the escapement attribute { SvxEscapementItem aSvxEscapementItem( DFLT_ESC_AUTO_SUPER, DFLT_ESC_PROP, SID_ATTR_CHAR_ESCAPEMENT ); @@ -539,7 +537,7 @@ BOOL SvxAutoCorrect::FnChgToEnEmDash( eLang = GetAppLang(); bool bAlwaysUseEmDash = (cEmDash && (eLang == LANGUAGE_RUSSIAN || eLang == LANGUAGE_UKRAINIAN)); - // ersetze " - " oder " --" durch "enDash" + // replace " - " or " --" with "enDash" if( cEnDash && 1 < nSttPos && 1 <= nEndPos - nSttPos ) { sal_Unicode cCh = rTxt.GetChar( nSttPos ); @@ -723,11 +721,11 @@ BOOL SvxAutoCorrect::FnChgWeightUnderl( SvxAutoCorrDoc& rDoc, const String& rTxt xub_StrLen, xub_StrLen nEndPos, LanguageType eLang ) { - // Bedingung: - // Am Anfang: _ oder * hinter Space mit nachfolgenden !Space - // Am Ende: _ oder * vor Space (Worttrenner?) + // Condition: + // at the beginning: _ or * after Space with the folloeing !Space + // at the end: _ or * before Space (word delimiter?) - sal_Unicode c, cInsChar = rTxt.GetChar( nEndPos ); // unterstreichen oder fett + sal_Unicode c, cInsChar = rTxt.GetChar( nEndPos ); // underline or bold if( ++nEndPos != rTxt.Len() && !IsWordDelim( rTxt.GetChar( nEndPos ) ) ) return FALSE; @@ -751,7 +749,7 @@ BOOL SvxAutoCorrect::FnChgWeightUnderl( SvxAutoCorrDoc& rDoc, const String& rTxt !IsWordDelim( rTxt.GetChar( nPos+1 ))) nFndPos = nPos; else - // Bedingung ist nicht erfuellt, also abbrechen + // Condition is not satisfied, so cancel nFndPos = STRING_NOTFOUND; nPos = 0; } @@ -764,16 +762,16 @@ BOOL SvxAutoCorrect::FnChgWeightUnderl( SvxAutoCorrDoc& rDoc, const String& rTxt if( STRING_NOTFOUND != nFndPos ) { - // ueber den gefundenen Bereich das Attribut aufspannen und - // das gefunde und am Ende stehende Zeichen loeschen - if( '*' == cInsChar ) // Fett + // Span the Attribute over the area and delete the Character found at + // the end. + if( '*' == cInsChar ) // Bold { SvxWeightItem aSvxWeightItem( WEIGHT_BOLD, SID_ATTR_CHAR_WEIGHT ); rDoc.SetAttr( nFndPos + 1, nEndPos, SID_ATTR_CHAR_WEIGHT, aSvxWeightItem); } - else // unterstrichen + else // underline { SvxUnderlineItem aSvxUnderlineItem( UNDERLINE_SINGLE, SID_ATTR_CHAR_UNDERLINE ); rDoc.SetAttr( nFndPos + 1, nEndPos, @@ -793,7 +791,7 @@ BOOL SvxAutoCorrect::FnCptlSttSntnc( SvxAutoCorrDoc& rDoc, xub_StrLen nSttPos, xub_StrLen nEndPos, LanguageType eLang ) { - // Grossbuchstabe am Satz-Anfang ?? + // Two capital letters at the beginning of a paragraph? if( !rTxt.Len() || nEndPos <= nSttPos ) return FALSE; @@ -821,7 +819,7 @@ BOOL SvxAutoCorrect::FnCptlSttSntnc( SvxAutoCorrDoc& rDoc, { if( lcl_IsInAsciiArr( sImplWordChars, *pStr ) && pWordStt - 1 == pStr && - // l'intallazione at beginning of paragraph. Replaced < by <= (#i38971#) + // Installation at beginning of paragraph. Replaced < by <= (#i38971#) (long)(pStart + 1) <= (long)pStr && rCC.isLetter( aText, @@ -841,16 +839,13 @@ BOOL SvxAutoCorrect::FnCptlSttSntnc( SvxAutoCorrDoc& rDoc, aText, sal::static_int_cast< xub_StrLen >( pWordStt - pStart ) ) ) || 0x1 == *pWordStt || 0x2 == *pWordStt ) - return FALSE; // kein zu ersetzendes Zeichen, oder schon ok + return FALSE; // no character to be replaced, or already ok - // JP 27.10.97: wenn das Wort weniger als 3 Zeichen hat und der Trenner - // ein "Num"-Trenner ist, dann nicht ersetzen! - // Damit wird ein "a.", "a)", "a-a" nicht ersetzt! if( *pDelim && 2 >= pDelim - pWordStt && lcl_IsInAsciiArr( ".-)>", *pDelim ) ) return FALSE; - if( !bAtStart ) // noch kein Absatz Anfang ? + if( !bAtStart ) // Still no beginning of a paragraph? { if ( IsWordDelim( *pStr ) ) { @@ -861,17 +856,17 @@ BOOL SvxAutoCorrect::FnCptlSttSntnc( SvxAutoCorrDoc& rDoc, // and full width question marks are treated as word delimiters else if ( 0x3002 != *pStr && 0xFF0E != *pStr && 0xFF01 != *pStr && 0xFF1F != *pStr ) - return FALSE; // kein gueltiger Trenner -> keine Ersetzung + return FALSE; // no valid separator -> no replacement } - if( bAtStart ) // am Absatz Anfang ? + if( bAtStart ) // at the beginning of a paragraph? { - // Ueberpruefe den vorherigen Absatz, wenn es diesen gibt. - // Wenn ja, dann pruefe auf SatzTrenner am Ende. + // Check out the previous paragraph, if it exists. + // If so, then check to paragraph separator at the end. const String* pPrevPara = rDoc.GetPrevPara( bNormalPos ); if( !pPrevPara ) { - // gueltiger Trenner -> Ersetze + // valid separator -> replace String sChar( *pWordStt ); rCC.toUpper( sChar ); return sChar != *pWordStt && @@ -883,18 +878,18 @@ BOOL SvxAutoCorrect::FnCptlSttSntnc( SvxAutoCorrDoc& rDoc, pStart = aText.GetBuffer(); pStr = pStart + aText.Len(); - do { // alle Blanks ueberlesen + do { // overwrite all blanks --pStr; if( !IsWordDelim( *pStr )) break; } while( 0 == ( bAtStart = (pStart == pStr)) ); if( bAtStart ) - return FALSE; // kein gueltiger Trenner -> keine Ersetzung + return FALSE; // no valid separator -> no replacement } - // bis hierhier wurde [ \t]+[A-Z0-9]+ gefunden. Test jetzt auf den - // Satztrenner. Es koennen alle 3 vorkommen, aber nicht mehrfach !! + // Found [ \t]+[A-Z0-9]+ until here. Test now on the paragraph separator. + // all three can happen, but not more than once! const sal_Unicode* pExceptStt = 0; if( !bAtStart ) { @@ -909,7 +904,7 @@ BOOL SvxAutoCorrect::FnCptlSttSntnc( SvxAutoCorrDoc& rDoc, case 0xFF0E : { if( nFlag & C_FULL_STOP ) - return FALSE; // kein gueltiger Trenner -> keine Ersetzung + return FALSE; // no valid separator -> no replacement nFlag |= C_FULL_STOP; pExceptStt = pStr; } @@ -918,7 +913,7 @@ BOOL SvxAutoCorrect::FnCptlSttSntnc( SvxAutoCorrDoc& rDoc, case 0xFF01 : { if( nFlag & C_EXCLAMATION_MARK ) - return FALSE; // kein gueltiger Trenner -> keine Ersetzung + return FALSE; // no valid separator -> no replacement nFlag |= C_EXCLAMATION_MARK; } break; @@ -926,13 +921,13 @@ BOOL SvxAutoCorrect::FnCptlSttSntnc( SvxAutoCorrDoc& rDoc, case 0xFF1F : { if( nFlag & C_QUESTION_MARK) - return FALSE; // kein gueltiger Trenner -> keine Ersetzung + return FALSE; // no valid separator -> no replacement nFlag |= C_QUESTION_MARK; } break; default: if( !nFlag ) - return FALSE; // kein gueltiger Trenner -> keine Ersetzung + return FALSE; // no valid separator -> no replacement else bWeiter = FALSE; break; @@ -940,11 +935,7 @@ BOOL SvxAutoCorrect::FnCptlSttSntnc( SvxAutoCorrDoc& rDoc, if( bWeiter && pStr-- == pStart ) { -// !!! wenn am Anfang, dann nie ersetzen. -// if( !nFlag ) - return FALSE; // kein gueltiger Trenner -> keine Ersetzung -// ++pStr; -// break; // Schleife beenden + return FALSE; // no valid separator -> no replacement } } while( bWeiter ); if( C_FULL_STOP != nFlag ) @@ -991,12 +982,12 @@ BOOL SvxAutoCorrect::FnCptlSttSntnc( SvxAutoCorrDoc& rDoc, } if( !bValid ) - return FALSE; // kein gueltiger Trenner -> keine Ersetzung + return FALSE; // no valid separator -> no replacement } BOOL bNumericOnly = '0' <= *(pStr+1) && *(pStr+1) <= '9'; - // suche den Anfang vom Wort + // Search for the beginning of the word while( !IsWordDelim( *pStr )) { if( bNumericOnly && @@ -1010,7 +1001,7 @@ BOOL SvxAutoCorrect::FnCptlSttSntnc( SvxAutoCorrDoc& rDoc, --pStr; } - if( bNumericOnly ) // besteht nur aus Zahlen, dann nicht + if( bNumericOnly ) // consists of only numbers, then not return FALSE; if( IsWordDelim( *pStr )) @@ -1018,7 +1009,7 @@ BOOL SvxAutoCorrect::FnCptlSttSntnc( SvxAutoCorrDoc& rDoc, String sWord; - // ueberpruefe anhand der Exceptionliste + // check on the basis of the exception list if( pExceptStt ) { sWord = String( @@ -1026,15 +1017,15 @@ BOOL SvxAutoCorrect::FnCptlSttSntnc( SvxAutoCorrDoc& rDoc, if( FindInCplSttExceptList(eLang, sWord) ) return FALSE; - // loesche alle nicht alpanum. Zeichen am Wortanfang/-ende und - // teste dann noch mal ( erkennt: "(min.", "/min.", usw.) + // Delete all non alphanumeric. Test the characters at the + // beginning/end of the word ( recognizes: "(min.", "/min.", and so on.) String sTmp( sWord ); while( sTmp.Len() && !rCC.isLetterNumeric( sTmp, 0 ) ) sTmp.Erase( 0, 1 ); - // alle hinteren nicht alphanumerische Zeichen bis auf das - // Letzte entfernen + // Remove all non alphanumeric characters towards the end up until + // the last one. xub_StrLen nLen = sTmp.Len(); while( nLen && !rCC.isLetterNumeric( sTmp, nLen-1 ) ) --nLen; @@ -1049,14 +1040,14 @@ BOOL SvxAutoCorrect::FnCptlSttSntnc( SvxAutoCorrDoc& rDoc, return FALSE; } - // Ok, dann ersetze mal + // Ok, then replace sal_Unicode cSave = *pWordStt; nSttPos = sal::static_int_cast< xub_StrLen >( pWordStt - rTxt.GetBuffer() ); String sChar( cSave ); rCC.toUpper( sChar ); BOOL bRet = sChar.GetChar(0) != cSave && rDoc.Replace( nSttPos, sChar ); - // das Wort will vielleicht jemand haben + // Parahaps someone wants to have the word if( bRet && SaveWordCplSttLst & nFlags ) rDoc.SaveCpltSttWord( CptlSttSntnc, nSttPos, sWord, cSave ); @@ -1117,7 +1108,7 @@ sal_Unicode SvxAutoCorrect::GetQuote( sal_Unicode cInsChar, BOOL bSttQuote, : GetEndSingleQuote() ); if( !cRet ) { - // dann ueber die Language das richtige Zeichen heraussuchen + // then through the Language find the right character if( LANGUAGE_NONE == eLang ) cRet = cInsChar; else @@ -1143,17 +1134,12 @@ void SvxAutoCorrect::InsertQuote( SvxAutoCorrDoc& rDoc, xub_StrLen nInsPos, LanguageType eLang = rDoc.GetLanguage( nInsPos, FALSE ); sal_Unicode cRet = GetQuote( cInsChar, bSttQuote, eLang ); - //JP 13.02.99: damit beim Undo das "einfuegte" Zeichen wieder erscheint, - // wird es erstmal eingefuegt und dann ueberschrieben String sChg( cInsChar ); if( bIns ) rDoc.Insert( nInsPos, sChg ); else rDoc.Replace( nInsPos, sChg ); - //JP 13.08.97: Bug 42477 - bei doppelten Anfuehrungszeichen muss bei - // franzoesischer Sprache an Anfang ein Leerzeichen dahinter - // und am Ende ein Leerzeichen dahinter eingefuegt werden. sChg = cRet; if( '\"' == cInsChar ) @@ -1167,8 +1153,6 @@ void SvxAutoCorrect::InsertQuote( SvxAutoCorrDoc& rDoc, xub_StrLen nInsPos, case LANGUAGE_FRENCH_CANADIAN: case LANGUAGE_FRENCH_SWISS: case LANGUAGE_FRENCH_LUXEMBOURG: - // JP 09.02.99: das zusaetzliche Zeichen immer per Insert einfuegen. - // Es ueberschreibt nichts! { String s( static_cast< sal_Unicode >(0xA0) ); // UNICODE code for no break space @@ -1192,9 +1176,7 @@ String SvxAutoCorrect::GetQuote( SvxAutoCorrDoc& rDoc, xub_StrLen nInsPos, sal_Unicode cRet = GetQuote( cInsChar, bSttQuote, eLang ); String sRet( cRet ); - //JP 13.08.97: Bug 42477 - bei doppelten Anfuehrungszeichen muss bei - // franzoesischer Sprache an Anfang ein Leerzeichen dahinter - // und am Ende ein Leerzeichen dahinter eingefuegt werden. + if( '\"' == cInsChar ) { if( LANGUAGE_SYSTEM == eLang ) @@ -1227,7 +1209,7 @@ ULONG SvxAutoCorrect::AutoCorrect( SvxAutoCorrDoc& rDoc, const String& rTxt, do{ // only for middle check loop !! if( cChar ) { - //JP 10.02.97: doppelte Spaces verhindern + // Prevent double space if( nInsPos && ' ' == cChar && IsAutoCorrFlag( IgnoreDoubleSpace ) && ' ' == rTxt.GetChar( nInsPos - 1 ) ) @@ -1245,8 +1227,6 @@ ULONG SvxAutoCorrect::AutoCorrect( SvxAutoCorrDoc& rDoc, const String& rTxt, sal_Unicode cPrev; BOOL bSttQuote = !nInsPos || IsWordDelim( ( cPrev = rTxt.GetChar( nInsPos-1 ))) || -// os: #56034# - Warum kein schliessendes Anfuehrungszeichen nach dem Bindestrich? -// strchr( "-([{", cPrev ) || lcl_IsInAsciiArr( "([{", cPrev ) || ( cEmDash && cEmDash == cPrev ) || ( cEnDash && cEnDash == cPrev ); @@ -1301,11 +1281,10 @@ ULONG SvxAutoCorrect::AutoCorrect( SvxAutoCorrDoc& rDoc, const String& rTxt, xub_StrLen nPos = nInsPos - 1; - // Bug 19286: nur direkt hinter dem "Wort" aufsetzen if( IsWordDelim( rTxt.GetChar( nPos ))) break; - // automatisches Fett oder Unterstreichen setzen? + // Set bold or underline automatically? if( '*' == cChar || '_' == cChar ) { if( IsAutoCorrFlag( ChgWeightUnderl ) && @@ -1317,9 +1296,9 @@ ULONG SvxAutoCorrect::AutoCorrect( SvxAutoCorrDoc& rDoc, const String& rTxt, while( nPos && !IsWordDelim( rTxt.GetChar( --nPos ))) ; - // Absatz-Anfang oder ein Blank gefunden, suche nach dem Wort - // Kuerzel im Auto - xub_StrLen nCapLttrPos = nPos+1; // auf das 1. Zeichen + // Found a Paragraph-start or a Blank, search for the word shortcut in + // auto. + xub_StrLen nCapLttrPos = nPos+1; // on the 1st Character if( !nPos && !IsWordDelim( rTxt.GetChar( 0 ))) --nCapLttrPos; // Absatz Anfang und kein Blank ! @@ -1328,7 +1307,6 @@ ULONG SvxAutoCorrect::AutoCorrect( SvxAutoCorrDoc& rDoc, const String& rTxt, eLang = MsLangId::getSystemLanguage(); CharClass& rCC = GetCharClass( eLang ); - // Bug 19285: Symbolzeichen nicht anfassen if( lcl_IsSymbolChar( rCC, rTxt, nCapLttrPos, nInsPos )) break; @@ -1341,10 +1319,6 @@ ULONG SvxAutoCorrect::AutoCorrect( SvxAutoCorrDoc& rDoc, const String& rTxt, *this, ppPara ); if( !bChgWord ) { - // JP 16.06.98: dann versuche mal alle !AlphaNum. Zeichen los zu - // werden und teste dann nochmals - //JP 22.04.99: Bug 63883 - entferne nur die "Klammern Start/-Anfaenge", - // alle anderen Zeichen muessen drin bleiben. xub_StrLen nCapLttrPos1 = nCapLttrPos, nInsPos1 = nInsPos; while( nCapLttrPos1 < nInsPos && lcl_IsInAsciiArr( sImplSttSkipChars, rTxt.GetChar( nCapLttrPos1 ) ) @@ -1374,7 +1348,7 @@ ULONG SvxAutoCorrect::AutoCorrect( SvxAutoCorrDoc& rDoc, const String& rTxt, !IsWordDelim( pPara->GetChar( nEnd ))) ++nEnd; - // Grossbuchstabe am Satz-Anfang ?? + // Capital letter at beginning of paragraph? if( IsAutoCorrFlag( CptlSttSntnc ) && FnCptlSttSntnc( rDoc, *pPara, FALSE, nCapLttrPos, nEnd, eLang ) ) @@ -1409,12 +1383,12 @@ ULONG SvxAutoCorrect::AutoCorrect( SvxAutoCorrDoc& rDoc, const String& rTxt, pFrameWin->SimulateKeyPress( KEY_CAPSLOCK ); } - // Grossbuchstabe am Satz-Anfang ?? + // Capital letter at beginning of paragraph ? if( IsAutoCorrFlag( CptlSttSntnc ) && FnCptlSttSntnc( rDoc, rTxt, TRUE, nCapLttrPos, nInsPos, eLang ) ) nRet |= CptlSttSntnc; - // Zwei Grossbuchstaben am Wort-Anfang ?? + // Two capital letters at beginning of word ?? if( IsAutoCorrFlag( CptlSttWrd ) && FnCptlSttWrd( rDoc, rTxt, nCapLttrPos, nInsPos, eLang ) ) nRet |= CptlSttWrd; @@ -1431,7 +1405,7 @@ ULONG SvxAutoCorrect::AutoCorrect( SvxAutoCorrDoc& rDoc, const String& rTxt, ULONG nHelpId = 0; if( nRet & ( Autocorrect|CptlSttSntnc|CptlSttWrd|ChgToEnEmDash ) ) { - // von 0 - 15 + // from 0 - 15 if( nRet & ChgToEnEmDash ) nHelpId += 8; if( nRet & Autocorrect ) @@ -1482,7 +1456,7 @@ void SvxAutoCorrect::SaveCplSttExceptList( LanguageType eLang ) #ifdef DBG_UTIL else { - DBG_ERROR("speichern einer leeren Liste?"); + DBG_ERROR("Save an empty list? "); } #endif } @@ -1498,19 +1472,17 @@ void SvxAutoCorrect::SaveWrdSttExceptList(LanguageType eLang) #ifdef DBG_UTIL else { - DBG_ERROR("speichern einer leeren Liste?"); + DBG_ERROR("Save an empty list? "); } #endif } - - // fuegt ein einzelnes Wort hinzu. Die Liste wird sofort - // in die Datei geschrieben! + // Adds a single word. The list will immediately be written to the file! BOOL SvxAutoCorrect::AddCplSttException( const String& rNew, LanguageType eLang ) { SvxAutoCorrectLanguageListsPtr pLists = 0; - //entweder die richtige Sprache ist vorhanden oder es kommt in die allg. Liste + // either the right language is present or it will be this in the general list if( pLangTable->IsKeyValid(ULONG(eLang))) pLists = pLangTable->Seek(ULONG(eLang)); else if(pLangTable->IsKeyValid(ULONG(LANGUAGE_DONTKNOW))|| @@ -1518,24 +1490,23 @@ BOOL SvxAutoCorrect::AddCplSttException( const String& rNew, { pLists = pLangTable->Seek(ULONG(LANGUAGE_DONTKNOW)); } - DBG_ASSERT(pLists, "keine Autokorrekturdatei"); + DBG_ASSERT(pLists, "No auto correction data"); return pLists->AddToCplSttExceptList(rNew); } - // fuegt ein einzelnes Wort hinzu. Die Liste wird sofort - // in die Datei geschrieben! + // Adds a single word. The list will immediately be written to the file! BOOL SvxAutoCorrect::AddWrtSttException( const String& rNew, LanguageType eLang ) { SvxAutoCorrectLanguageListsPtr pLists = 0; - //entweder die richtige Sprache ist vorhanden oder es kommt in die allg. Liste + //either the right language is present or it is set in the general list if(pLangTable->IsKeyValid(ULONG(eLang))) pLists = pLangTable->Seek(ULONG(eLang)); else if(pLangTable->IsKeyValid(ULONG(LANGUAGE_DONTKNOW))|| CreateLanguageFile(LANGUAGE_DONTKNOW, TRUE)) pLists = pLangTable->Seek(ULONG(LANGUAGE_DONTKNOW)); - DBG_ASSERT(pLists, "keine Autokorrekturdatei"); + DBG_ASSERT(pLists, "No auto correction data"); return pLists->AddToWrdSttExceptList(rNew); } @@ -1548,8 +1519,7 @@ void SvxAutoCorrect::SetUserAutoCorrFileName( const String& rNew ) { sUserAutoCorrFile = rNew; - // sind die Listen gesetzt sind, so muessen sie jetzt geloescht - // werden + // if the lists are set, they must now be deleted lcl_ClearTable(*pLangTable); nFlags &= ~(CplSttLstLoad | WrdSttLstLoad | ChgWordLstLoad ); } @@ -1561,8 +1531,7 @@ void SvxAutoCorrect::SetShareAutoCorrFileName( const String& rNew ) { sShareAutoCorrFile = rNew; - // sind die Listen gesetzt sind, so muessen sie jetzt geloescht - // werden + // if the lists are set, they must now be deleted lcl_ClearTable(*pLangTable); nFlags &= ~(CplSttLstLoad | WrdSttLstLoad | ChgWordLstLoad ); } @@ -1578,7 +1547,7 @@ BOOL SvxAutoCorrect::GetPrevAutoCorrWord( SvxAutoCorrDoc& rDoc, xub_StrLen nEnde = nPos; - // dahinter muss ein Blank oder Tab folgen! + // it must be followed by a blank or tab! if( ( nPos < rTxt.Len() && !IsWordDelim( rTxt.GetChar( nPos ))) || IsWordDelim( rTxt.GetChar( --nPos ))) @@ -1587,18 +1556,16 @@ BOOL SvxAutoCorrect::GetPrevAutoCorrWord( SvxAutoCorrDoc& rDoc, while( nPos && !IsWordDelim( rTxt.GetChar( --nPos ))) ; - // Absatz-Anfang oder ein Blank gefunden, suche nach dem Wort - // Kuerzel im Auto - xub_StrLen nCapLttrPos = nPos+1; // auf das 1. Zeichen + // Found a Paragraph-start or a Blank, search for the word shortcut in + // auto. + xub_StrLen nCapLttrPos = nPos+1; // on the 1st Character if( !nPos && !IsWordDelim( rTxt.GetChar( 0 ))) - --nCapLttrPos; // Absatz Anfang und kein Blank ! + --nCapLttrPos; // Beginning of pargraph and no Blank! while( lcl_IsInAsciiArr( sImplSttSkipChars, rTxt.GetChar( nCapLttrPos )) ) if( ++nCapLttrPos >= nEnde ) return FALSE; - // Bug 19285: Symbolzeichen nicht anfassen - // Interresant erst ab 3 Zeichen if( 3 > nEnde - nCapLttrPos ) return FALSE; @@ -1618,7 +1585,7 @@ BOOL SvxAutoCorrect::GetPrevAutoCorrWord( SvxAutoCorrDoc& rDoc, BOOL SvxAutoCorrect::CreateLanguageFile( LanguageType eLang, BOOL bNewFile ) { - DBG_ASSERT(!pLangTable->IsKeyValid(ULONG(eLang)), "Sprache ist bereits vorhanden"); + DBG_ASSERT(!pLangTable->IsKeyValid(ULONG(eLang)), "Language already exists "); String sUserDirFile( GetAutoCorrFileName( eLang, TRUE, FALSE )), sShareDirFile( sUserDirFile ); @@ -1671,7 +1638,7 @@ BOOL SvxAutoCorrect::PutText( const String& rShort, const String& rLong, } - // - loesche einen Eintrag + // - Delete an entry BOOL SvxAutoCorrect::DeleteText( const String& rShort, LanguageType eLang ) { BOOL bRet = FALSE; @@ -1681,14 +1648,14 @@ BOOL SvxAutoCorrect::DeleteText( const String& rShort, LanguageType eLang ) } - // - return den Ersetzungstext (nur fuer SWG-Format, alle anderen - // koennen aus der Wortliste herausgeholt werden!) + // - return the replacement text (only for SWG-Format, all other + // can be taken from the word list!) BOOL SvxAutoCorrect::GetLongText( const com::sun::star::uno::Reference < com::sun::star::embed::XStorage >&, const String&, const String& , String& ) { return FALSE; } - // - Text mit Attributierung (kann nur der SWG - SWG-Format!) + // Text with attribution (only the SWG - SWG format!) BOOL SvxAutoCorrect::PutText( const com::sun::star::uno::Reference < com::sun::star::embed::XStorage >&, const String&, const String&, SfxObjectShell&, String& ) { @@ -1771,7 +1738,7 @@ const SvxAutocorrWord* lcl_SearchWordsInList( } -// suche das oder die Worte in der ErsetzungsTabelle +// the search or the words in the substitution table const SvxAutocorrWord* SvxAutoCorrect::SearchWordsInList( const String& rTxt, xub_StrLen& rStt, xub_StrLen nEndPos, SvxAutoCorrDoc& rDoc, LanguageType& rLang ) @@ -1781,13 +1748,12 @@ const SvxAutocorrWord* SvxAutoCorrect::SearchWordsInList( if( LANGUAGE_SYSTEM == eLang ) eLang = MsLangId::getSystemLanguage(); - // zuerst nach eLang suchen, dann nach der Obersprache - // US-Englisch -> Englisch und zuletzt in LANGUAGE_DONTKNOW - + // First search for eLang, then US-English -> English + // and last in LANGUAGE_DONTKNOW if( pLangTable->IsKeyValid( ULONG( eLang ) ) || CreateLanguageFile( eLang, FALSE )) { - //die Sprache ist vorhanden - also her damit + //the language is available - so bring it on SvxAutoCorrectLanguageListsPtr pList = pLangTable->Seek(ULONG(eLang)); pRet = lcl_SearchWordsInList( pList, rTxt, rStt, nEndPos, rDoc ); if( pRet ) @@ -1797,9 +1763,10 @@ const SvxAutocorrWord* SvxAutoCorrect::SearchWordsInList( } } - // wenn es hier noch nicht gefunden werden konnte, dann weitersuchen - ULONG nTmpKey1 = eLang & 0x7ff, // die Hauptsprache in vielen Faellen u.B. DE - nTmpKey2 = eLang & 0x3ff, // sonst z.B. EN + // If it still could not be found here, then keep on searching + + ULONG nTmpKey1 = eLang & 0x7ff, // the main language in many cases DE + nTmpKey2 = eLang & 0x3ff, // otherwise for example EN nTmp; if( ((nTmp = nTmpKey1) != (ULONG)eLang && @@ -1809,7 +1776,7 @@ const SvxAutocorrWord* SvxAutoCorrect::SearchWordsInList( ( pLangTable->IsKeyValid( nTmpKey2 ) || CreateLanguageFile( LanguageType( nTmpKey2 ), FALSE ) )) ) { - //die Sprache ist vorhanden - also her damit + //the language is available - so bring it on SvxAutoCorrectLanguageListsPtr pList = pLangTable->Seek( nTmp ); pRet = lcl_SearchWordsInList( pList, rTxt, rStt, nEndPos, rDoc); if( pRet ) @@ -1821,7 +1788,7 @@ const SvxAutocorrWord* SvxAutoCorrect::SearchWordsInList( if( pLangTable->IsKeyValid( ULONG( LANGUAGE_DONTKNOW ) ) || CreateLanguageFile( LANGUAGE_DONTKNOW, FALSE ) ) { - //die Sprache ist vorhanden - also her damit + //the language is available - so bring it on SvxAutoCorrectLanguageListsPtr pList = pLangTable->Seek(ULONG(LANGUAGE_DONTKNOW)); pRet = lcl_SearchWordsInList( pList, rTxt, rStt, nEndPos, rDoc); if( pRet ) @@ -1836,22 +1803,22 @@ const SvxAutocorrWord* SvxAutoCorrect::SearchWordsInList( BOOL SvxAutoCorrect::FindInWrdSttExceptList( LanguageType eLang, const String& sWord ) { - //zuerst nach eLang suchen, dann nach der Obersprace US-Englisch -> Englisch - //und zuletzt in LANGUAGE_DONTKNOW - ULONG nTmpKey1 = eLang & 0x7ff; // die Hauptsprache in vielen Faellen u.B. DE - ULONG nTmpKey2 = eLang & 0x3ff; // sonst z.B. EN + // First search for eLang, then US-English -> English + // and last in LANGUAGE_DONTKNOW + ULONG nTmpKey1 = eLang & 0x7ff; // the main language in many cases DE + ULONG nTmpKey2 = eLang & 0x3ff; // otherwise for example EN String sTemp(sWord); if( pLangTable->IsKeyValid( ULONG( eLang )) || CreateLanguageFile( eLang, FALSE ) ) { - //die Sprache ist vorhanden - also her damit + //the language is available - so bring it on SvxAutoCorrectLanguageListsPtr pList = pLangTable->Seek(ULONG(eLang)); String _sTemp(sWord); if(pList->GetWrdSttExceptList()->Seek_Entry(&_sTemp)) return TRUE; } - // wenn es hier noch nicht gefunden werden konnte, dann weitersuchen + // If it still could not be found here, then keep on searching ULONG nTmp; if( ((nTmp = nTmpKey1) != (ULONG)eLang && ( pLangTable->IsKeyValid( nTmpKey1 ) || @@ -1860,14 +1827,14 @@ BOOL SvxAutoCorrect::FindInWrdSttExceptList( LanguageType eLang, ( pLangTable->IsKeyValid( nTmpKey2 ) || CreateLanguageFile( LanguageType( nTmpKey2 ), FALSE ) )) ) { - //die Sprache ist vorhanden - also her damit + //the language is available - so bring it on SvxAutoCorrectLanguageListsPtr pList = pLangTable->Seek(nTmp); if(pList->GetWrdSttExceptList()->Seek_Entry(&sTemp)) return TRUE; } if(pLangTable->IsKeyValid(ULONG(LANGUAGE_DONTKNOW))|| CreateLanguageFile(LANGUAGE_DONTKNOW, FALSE)) { - //die Sprache ist vorhanden - also her damit + //the language is available - so bring it on SvxAutoCorrectLanguageListsPtr pList = pLangTable->Seek(ULONG(LANGUAGE_DONTKNOW)); if(pList->GetWrdSttExceptList()->Seek_Entry(&sTemp)) return TRUE; @@ -1889,13 +1856,13 @@ BOOL lcl_FindAbbreviation( const SvStringsISortDtor* pList, const String& sWord) '~' == ( pAbk = (*pList)[ n ])->GetChar( 0 ); ++n ) { - // ~ und ~. sind nicht erlaubt! + // ~ and ~. are not allowed! if( 2 < pAbk->Len() && pAbk->Len() - 1 <= sWord.Len() ) { String sLowerAbk( *pAbk ); sLowerAbk.ToLowerAscii(); for( xub_StrLen i = sLowerAbk.Len(), ii = sLowerWord.Len(); i; ) { - if( !--i ) // stimmt ueberein + if( !--i ) // agrees return TRUE; if( sLowerAbk.GetChar( i ) != sLowerWord.GetChar( --ii )) @@ -1905,29 +1872,29 @@ BOOL lcl_FindAbbreviation( const SvStringsISortDtor* pList, const String& sWord) } } DBG_ASSERT( !(nPos && '~' == (*pList)[ --nPos ]->GetChar( 0 ) ), - "falsch sortierte ExeptionListe?" ); + "Wrongly sorted exception list?" ); return FALSE; } BOOL SvxAutoCorrect::FindInCplSttExceptList(LanguageType eLang, const String& sWord, BOOL bAbbreviation) { - //zuerst nach eLang suchen, dann nach der Obersprace US-Englisch -> Englisch - //und zuletzt in LANGUAGE_DONTKNOW - ULONG nTmpKey1 = eLang & 0x7ff; // die Hauptsprache in vielen Faellen u.B. DE - ULONG nTmpKey2 = eLang & 0x3ff; // sonst z.B. EN + // First search for eLang, then US-English -> English + // and last in LANGUAGE_DONTKNOW + ULONG nTmpKey1 = eLang & 0x7ff; // the main language in many cases DE + ULONG nTmpKey2 = eLang & 0x3ff; // otherwise for example EN String sTemp( sWord ); if( pLangTable->IsKeyValid( ULONG( eLang )) || CreateLanguageFile( eLang, FALSE )) { - //die Sprache ist vorhanden - also her damit + //the language is available - so bring it on SvxAutoCorrectLanguageListsPtr pLists = pLangTable->Seek(ULONG(eLang)); const SvStringsISortDtor* pList = pLists->GetCplSttExceptList(); if(bAbbreviation ? lcl_FindAbbreviation( pList, sWord) : pList->Seek_Entry( &sTemp ) ) return TRUE; } - // wenn es hier noch nicht gefunden werden konnte, dann weitersuchen + // If it still could not be found here, then keep on searching ULONG nTmp; if( ((nTmp = nTmpKey1) != (ULONG)eLang && @@ -1937,7 +1904,7 @@ BOOL SvxAutoCorrect::FindInCplSttExceptList(LanguageType eLang, ( pLangTable->IsKeyValid( nTmpKey2 ) || CreateLanguageFile( LanguageType( nTmpKey2 ), FALSE ) )) ) { - //die Sprache ist vorhanden - also her damit + //the language is available - so bring it on SvxAutoCorrectLanguageListsPtr pLists = pLangTable->Seek(nTmp); const SvStringsISortDtor* pList = pLists->GetCplSttExceptList(); if(bAbbreviation ? lcl_FindAbbreviation( pList, sWord) @@ -1946,7 +1913,7 @@ BOOL SvxAutoCorrect::FindInCplSttExceptList(LanguageType eLang, } if(pLangTable->IsKeyValid(ULONG(LANGUAGE_DONTKNOW))|| CreateLanguageFile(LANGUAGE_DONTKNOW, FALSE)) { - //die Sprache ist vorhanden - also her damit + //the language is available - so bring it on SvxAutoCorrectLanguageListsPtr pLists = pLangTable->Seek(LANGUAGE_DONTKNOW); const SvStringsISortDtor* pList = pLists->GetCplSttExceptList(); if(bAbbreviation ? lcl_FindAbbreviation( pList, sWord) @@ -2002,14 +1969,13 @@ SvxAutoCorrectLanguageLists::~SvxAutoCorrectLanguageLists() BOOL SvxAutoCorrectLanguageLists::IsFileChanged_Imp() { - // nur alle 2 Minuten aufs FileSystem zugreifen um den - // Dateistempel zu ueberpruefen + // Access the file system only every 2 minutes to check the date stamp BOOL bRet = FALSE; Time nMinTime( 0, 2 ); Time nAktTime; - if( aLastCheckTime > nAktTime || // ueberlauf ? - ( nAktTime -= aLastCheckTime ) > nMinTime ) // min Zeit vergangen + if( aLastCheckTime > nAktTime || // overflow? + ( nAktTime -= aLastCheckTime ) > nMinTime ) // min time past { Date aTstDate; Time aTstTime; if( FStatHelper::GetModifiedDateTimeOfFile( sShareAutoCorrFile, @@ -2017,7 +1983,7 @@ BOOL SvxAutoCorrectLanguageLists::IsFileChanged_Imp() ( aModifiedDate != aTstDate || aModifiedTime != aTstTime )) { bRet = TRUE; - // dann mal schnell alle Listen entfernen! + // then remove all the lists fast! if( CplSttLstLoad & nFlags && pCplStt_ExcptLst ) delete pCplStt_ExcptLst, pCplStt_ExcptLst = 0; if( WrdSttLstLoad & nFlags && pWrdStt_ExcptLst ) @@ -2084,8 +2050,6 @@ void SvxAutoCorrectLanguageLists::LoadXMLExceptList_Imp( } // get filter - // #110680# - // uno::Reference< xml::sax::XDocumentHandler > xFilter = new SvXMLExceptionListImport ( *rpLst ); uno::Reference< xml::sax::XDocumentHandler > xFilter = new SvXMLExceptionListImport ( xServiceFactory, *rpLst ); // connect parser and filter @@ -2112,7 +2076,7 @@ void SvxAutoCorrectLanguageLists::LoadXMLExceptList_Imp( } } - // Zeitstempel noch setzen + // Set time stamp FStatHelper::GetModifiedDateTimeOfFile( sShareAutoCorrFile, &aModifiedDate, &aModifiedTime ); aLastCheckTime = Time(); @@ -2167,8 +2131,6 @@ void SvxAutoCorrectLanguageLists::SaveExceptList_Imp( uno::Reference<xml::sax::XDocumentHandler> xHandler(xWriter, uno::UNO_QUERY); - // #110680# - // SvXMLExceptionListExport aExp(rLst, sStrmName, xHandler); SvXMLExceptionListExport aExp( xServiceFactory, rLst, sStrmName, xHandler ); aExp.exportDoc( XML_BLOCK_LIST ); @@ -2230,7 +2192,7 @@ SvxAutocorrWordList* SvxAutoCorrectLanguageLists::LoadAutocorrWordList() { } - // Zeitstempel noch setzen + // Set time stamp FStatHelper::GetModifiedDateTimeOfFile( sShareAutoCorrFile, &aModifiedDate, &aModifiedTime ); aLastCheckTime = Time(); @@ -2245,7 +2207,7 @@ void SvxAutoCorrectLanguageLists::SetAutocorrWordList( SvxAutocorrWordList* pLis pAutocorr_List = pList; if( !pAutocorr_List ) { - DBG_ASSERT( !this, "keine gueltige Liste" ); + DBG_ASSERT( !this, "No valid list" ); pAutocorr_List = new SvxAutocorrWordList( 16, 16 ); } nFlags |= ChgWordLstLoad; @@ -2276,7 +2238,7 @@ BOOL SvxAutoCorrectLanguageLists::AddToCplSttExceptList(const String& rNew) SaveExceptList_Imp( *pCplStt_ExcptLst, pXMLImplCplStt_ExcptLstStr, xStg ); xStg = 0; - // Zeitstempel noch setzen + // Set time stamp FStatHelper::GetModifiedDateTimeOfFile( sUserAutoCorrFile, &aModifiedDate, &aModifiedTime ); aLastCheckTime = Time(); @@ -2298,7 +2260,7 @@ BOOL SvxAutoCorrectLanguageLists::AddToWrdSttExceptList(const String& rNew) SaveExceptList_Imp( *pWrdStt_ExcptLst, pXMLImplWrdStt_ExcptLstStr, xStg ); xStg = 0; - // Zeitstempel noch setzen + // Set time stamp FStatHelper::GetModifiedDateTimeOfFile( sUserAutoCorrFile, &aModifiedDate, &aModifiedTime ); aLastCheckTime = Time(); @@ -2327,7 +2289,7 @@ void SvxAutoCorrectLanguageLists::SaveCplSttExceptList() xStg = 0; - // Zeitstempel noch setzen + // Set time stamp FStatHelper::GetModifiedDateTimeOfFile( sUserAutoCorrFile, &aModifiedDate, &aModifiedTime ); aLastCheckTime = Time(); @@ -2341,7 +2303,7 @@ void SvxAutoCorrectLanguageLists::SetCplSttExceptList( SvStringsISortDtor* pList pCplStt_ExcptLst = pList; if( !pCplStt_ExcptLst ) { - DBG_ASSERT( !this, "keine gueltige Liste" ); + DBG_ASSERT( !this, "No valid list" ); pCplStt_ExcptLst = new SvStringsISortDtor( 16, 16 ); } nFlags |= CplSttLstLoad; @@ -2364,7 +2326,7 @@ void SvxAutoCorrectLanguageLists::SaveWrdSttExceptList() SaveExceptList_Imp( *pWrdStt_ExcptLst, pXMLImplWrdStt_ExcptLstStr, xStg ); xStg = 0; - // Zeitstempel noch setzen + // Set time stamp FStatHelper::GetModifiedDateTimeOfFile( sUserAutoCorrFile, &aModifiedDate, &aModifiedTime ); aLastCheckTime = Time(); @@ -2377,7 +2339,7 @@ void SvxAutoCorrectLanguageLists::SetWrdSttExceptList( SvStringsISortDtor* pList pWrdStt_ExcptLst = pList; if( !pWrdStt_ExcptLst ) { - DBG_ASSERT( !this, "keine gueltige Liste" ); + DBG_ASSERT( !this, "No valid list" ); pWrdStt_ExcptLst = new SvStringsISortDtor( 16, 16 ); } nFlags |= WrdSttLstLoad; @@ -2416,13 +2378,9 @@ void SvxAutoCorrectLanguageLists::MakeUserStorage_Impl() INetURLObject aDest; INetURLObject aSource; -// String sDestPath = sUserAutoCorrFile.Copy ( 0, sUserAutoCorrFile.Len()-3); -// sDestPath.AppendAscii ("bak"); - - if (sUserAutoCorrFile != sShareAutoCorrFile ) { - aSource = INetURLObject ( sShareAutoCorrFile ); //aSource.setFSysPath ( sShareAutoCorrFile, INetURLObject::FSYS_DETECT ); + aSource = INetURLObject ( sShareAutoCorrFile ); aDest = INetURLObject ( sUserAutoCorrFile ); if ( SotStorage::IsOLEStorage ( sShareAutoCorrFile ) ) { @@ -2496,8 +2454,6 @@ void SvxAutoCorrectLanguageLists::MakeUserStorage_Impl() GetAutocorrWordList(); MakeBlocklist_Imp( *xDstStg ); - // xDstStg is committed in MakeBlocklist_Imp - /*xSrcStg->CopyTo( &xDstStg );*/ sShareAutoCorrFile = sUserAutoCorrFile; xDstStg = 0; try @@ -2520,13 +2476,6 @@ BOOL SvxAutoCorrectLanguageLists::MakeBlocklist_Imp( SvStorage& rStg ) BOOL bRet = TRUE, bRemove = !pAutocorr_List || !pAutocorr_List->Count(); if( !bRemove ) { - /* - if ( rStg.IsContained( sStrmName) ) - { - rStg.Remove ( sStrmName ); - rStg.Commit(); - } - */ SvStorageStreamRef refList = rStg.OpenSotStream( sStrmName, ( STREAM_READ | STREAM_WRITE | STREAM_SHARE_DENYWRITE ) ); if( refList.Is() ) @@ -2557,8 +2506,6 @@ BOOL SvxAutoCorrectLanguageLists::MakeBlocklist_Imp( SvStorage& rStg ) uno::Reference<xml::sax::XDocumentHandler> xHandler(xWriter, uno::UNO_QUERY); - // #110680# - // SvXMLAutoCorrectExport aExp(pAutocorr_List, sStrmName, xHandler); SvXMLAutoCorrectExport aExp( xServiceFactory, pAutocorr_List, sStrmName, xHandler ); aExp.exportDoc( XML_BLOCK_LIST ); @@ -2576,39 +2523,6 @@ BOOL SvxAutoCorrectLanguageLists::MakeBlocklist_Imp( SvStorage& rStg ) } } - /* - refList->SetSize( 0 ); - refList->SetBufferSize( 8192 ); - rtl_TextEncoding eEncoding = gsl_getSystemTextEncoding(); - - String aDummy; // Erkennungszeichen fuer neue Streams - refList->WriteByteString( aDummy, RTL_TEXTENCODING_MS_1252 ) - << (BYTE) 4 // Laenge des Headers (ohne den Leerstring) - << (USHORT)WORDLIST_VERSION_358 // Version des Streams - << (BYTE)eEncoding; // der Zeichensatz - - for( USHORT i = 0; i < pAutocorr_List->Count() && - SVSTREAM_OK == refList->GetError(); ++i ) - { - SvxAutocorrWord* p = pAutocorr_List->GetObject( i ); - refList->WriteByteString( p->GetShort(), eEncoding ). - WriteByteString( p->IsTextOnly() - ? p->GetLong() - : p->GetShort(), eEncoding ); - } - refList->Commit(); - bRet = SVSTREAM_OK == refList->GetError(); - if( bRet ) - { - refList.Clear(); - rStg.Commit(); - if( SVSTREAM_OK != rStg.GetError() ) - { - bRemove = TRUE; - bRet = FALSE; - } - } - */ } else bRet = FALSE; @@ -2626,7 +2540,7 @@ BOOL SvxAutoCorrectLanguageLists::MakeBlocklist_Imp( SvStorage& rStg ) BOOL SvxAutoCorrectLanguageLists::PutText( const String& rShort, const String& rLong ) { - // erstmal akt. Liste besorgen! + // First get the current list! GetAutocorrWordList(); MakeUserStorage_Impl(); @@ -2634,12 +2548,7 @@ BOOL SvxAutoCorrectLanguageLists::PutText( const String& rShort, BOOL bRet = xStg.Is() && SVSTREAM_OK == xStg->GetError(); -/* if( bRet ) - { - // PutText( *xStg, rShort ); - } -*/ - // die Wortliste aktualisieren + // Update the word list if( bRet ) { USHORT nPos; @@ -2648,7 +2557,7 @@ BOOL SvxAutoCorrectLanguageLists::PutText( const String& rShort, { if( !(*pAutocorr_List)[ nPos ]->IsTextOnly() ) { - // dann ist der Storage noch zu entfernen + // Still have to remove the Storage String sStgNm( rShort ); if (xStg->IsOLEStorage()) EncryptBlockName_Imp( sStgNm ); @@ -2675,11 +2584,11 @@ BOOL SvxAutoCorrectLanguageLists::PutText( const String& rShort, return bRet; } -// Text mit Attributierung (kann nur der SWG - SWG-Format!) +// Text with attribution (only the SWG - SWG format!) BOOL SvxAutoCorrectLanguageLists::PutText( const String& rShort, SfxObjectShell& rShell ) { - // erstmal akt. Liste besorgen! + // First get the current list! GetAutocorrWordList(); MakeUserStorage_Impl(); @@ -2689,13 +2598,10 @@ BOOL SvxAutoCorrectLanguageLists::PutText( const String& rShort, try { uno::Reference < embed::XStorage > xStg = comphelper::OStorageHelper::GetStorageFromURL( sUserAutoCorrFile, embed::ElementModes::READWRITE ); -// String aName( rShort ); -// EncryptBlockName_Imp( aName ); -// bRet = PutText( *xStg, aName, rShell, sLong ); bRet = rAutoCorrect.PutText( xStg, sUserAutoCorrFile, rShort, rShell, sLong ); xStg = 0; - // die Wortliste aktualisieren + // Update the word list if( bRet ) { SvxAutocorrWord* pNew = new SvxAutocorrWord( rShort, sLong, FALSE ); @@ -2715,10 +2621,10 @@ BOOL SvxAutoCorrectLanguageLists::PutText( const String& rShort, return bRet; } -// loesche einen Eintrag +// Delete an entry BOOL SvxAutoCorrectLanguageLists::DeleteText( const String& rShort ) { - // erstmal akt. Liste besorgen! + // First get the current list! GetAutocorrWordList(); MakeUserStorage_Impl(); @@ -2746,7 +2652,7 @@ BOOL SvxAutoCorrectLanguageLists::DeleteText( const String& rShort ) } } - // die Wortliste aktualisieren + // Update the word list pAutocorr_List->DeleteAndDestroy( nPos ); MakeBlocklist_Imp( *xStg ); xStg = 0; diff --git a/editeng/source/misc/txtrange.cxx b/editeng/source/misc/txtrange.cxx index 50a198136588..b413a8a1d023 100644 --- a/editeng/source/misc/txtrange.cxx +++ b/editeng/source/misc/txtrange.cxx @@ -92,7 +92,6 @@ TextRanger::TextRanger( const basegfx::B2DPolyPolygon& rPolyPolygon, const baseg #pragma optimize ( "", on ) #endif - TextRanger::~TextRanger() { for( USHORT i = 0; i < nCacheSize; ++i ) @@ -273,18 +272,17 @@ void SvxBoundArgs::NoteRange( BOOL bToggle ) while( nIdx < nCount && (*pLongArr)[ nIdx ] < nMin ) ++nIdx; BOOL bOdd = nIdx % 2 ? TRUE : FALSE; - // Kein Ueberlappung mit vorhandenen Intervallen? + // No overlap with existing intervals? if( nIdx == nCount || ( !bOdd && nMax < (*pLongArr)[ nIdx ] ) ) - { // Dann wird ein neues eingefuegt ... + { // Then a new one is inserted ... pLongArr->Insert( nMin, nIdx ); pLongArr->Insert( nMax, nIdx + 1 ); aBoolArr.Insert( bToggle, nIdx / 2 ); } else - { // ein vorhandes Intervall erweitern ... + { // expand an existing interval ... USHORT nMaxIdx = nIdx; - // Wenn wir auf einer linken Intervallgrenze gelandet sind, muss diese - // auf nMin gesenkt werden. + // If we end up on a left interval boundary, it must be reduced to nMin. if( bOdd ) --nIdx; else @@ -296,13 +294,12 @@ void SvxBoundArgs::NoteRange( BOOL bToggle ) --nMaxIdx; if( nMaxIdx < nIdx ) nMaxIdx = nIdx; - // Wenn wir auf einer rechten Intervallgrenze landen, muss diese - // auf nMax angehoben werden. + // If we end up on a right interval boundary, it must be raised to nMax. if( nMaxIdx % 2 ) (*pLongArr)[ nMaxIdx-- ] = nMax; - // Jetzt werden eventuell noch Intervalle verschmolzen + // Possible merge of intervals. USHORT nDiff = nMaxIdx - nIdx; - nMaxIdx = nIdx / 2; // Ab hier ist nMaxIdx der Index im BoolArray. + nMaxIdx = nIdx / 2; // From here on is nMaxIdx the Index in BoolArray. if( nDiff ) { (*pLongArr).Remove( nIdx + 1, nDiff ); @@ -338,7 +335,7 @@ void SvxBoundArgs::Calc( const PolyPolygon& rPoly ) } else { - // Der erste Punkt des Polygons liegt innerhalb der Zeile. + // The first point of the polygon is within the line. if( nLast ) { if( bMultiple || !nAct ) @@ -362,8 +359,8 @@ void SvxBoundArgs::Calc( const PolyPolygon& rPoly ) else NotePoint( A(rNull) ); } - nFirst = 0; // In welcher Richtung wird die Zeile verlassen? - nAct = 3; // Wir sind z.Z. innerhalb der Zeile. + nFirst = 0; // leaving the line in which direction? + nAct = 3; // we are within the line at the moment. } if( nCount > 1 ) { @@ -497,12 +494,10 @@ void SvxBoundArgs::Add() pLongArr->Remove( 0, 1 ); pLongArr->Remove( pLongArr->Count() - 1, 1 ); - // Hier wird die Zeile beim "einfachen" Konturumfluss im Innern - // in ein grosses Rechteck zusammengefasst. - // Zur Zeit (April 1999) wertet die EditEngine nur das erste Rechteck - // aus, falls sie eines Tages in der Lage ist, eine Zeile in mehreren - // Teilen auszugeben, kann es sinnvoll sein, die folgenden Zeilen - // zu loeschen. + // Here the line is held inside a large rectangle for "simple" + // contour wrap. Currently (April 1999) the EditEngine evaluates + // only the first rectangle. If it one day is able to output a line + // in several parts, it may be advisable to delete the following lines. if( pTextRanger->IsSimple() && pLongArr->Count() > 2 ) pLongArr->Remove( 1, pLongArr->Count() - 2 ); @@ -527,7 +522,7 @@ void SvxBoundArgs::Concat( const PolyPolygon* pPoly ) { USHORT nOldCount = pOld->Count(); if( nIdx == nOldCount ) - { // Am Ende des alten Arrays angelangt... + { // Reached the end of the old Array... if( !bSubtract ) pOld->Insert( pLongArr, nIdx, i, USHRT_MAX ); break; @@ -538,7 +533,7 @@ void SvxBoundArgs::Concat( const PolyPolygon* pPoly ) while( nLeftPos < nOldCount && nLeft > (*pOld)[ nLeftPos ] ) nLeftPos += 2; if( nLeftPos >= nOldCount ) - { // Das aktuelle Intervall gehoert ans Ende des alten Arrays... + { // The current interval belongs to the end of the old array ... if( !bSubtract ) pOld->Insert( pLongArr, nOldCount, i - 2, USHRT_MAX ); break; @@ -547,16 +542,16 @@ void SvxBoundArgs::Concat( const PolyPolygon* pPoly ) while( nRightPos < nOldCount && nRight >= (*pOld)[ nRightPos ] ) nRightPos += 2; if( nRightPos < nLeftPos ) - { // Das aktuelle Intervall gehoert zwischen zwei alte Intervalle + { // The current interval belongs between two old intervals if( !bSubtract ) pOld->Insert( pLongArr, nRightPos, i - 2, i ); nIdx = nRightPos + 2; } - else if( bSubtract ) // Subtrahieren ggf. Trennen + else if( bSubtract ) // Subtract, if necessary separate { long nOld; if( nLeft > ( nOld = (*pOld)[ nLeftPos - 1 ] ) ) - { // Jetzt spalten wir den linken Teil ab... + { // Now we split the left part... if( nLeft - 1 > nOld ) { pOld->Insert( nOld, nLeftPos - 1 ); @@ -572,7 +567,7 @@ void SvxBoundArgs::Concat( const PolyPolygon* pPoly ) else (*pOld)[ nLeftPos - 1 ] = nRight; } - else // Verschmelzen + else // Merge { if( nLeft < (*pOld)[ nLeftPos - 1 ] ) (*pOld)[ nLeftPos - 1 ] = nLeft; @@ -588,12 +583,12 @@ void SvxBoundArgs::Concat( const PolyPolygon* pPoly ) } /************************************************************************* - * SvxBoundArgs::Area ermittelt den Bereich, in dem sich der Punkt befindet - * 0 = innerhalb der Zeile - * 1 = unterhalb, aber innerhalb der oberen Randes - * 2 = oberhalb, aber innerhalb der unteren Randes - * 5 = unterhalb des oberen Randes - *10 = oberhalb des unteren Randes + * SvxBoundArgs::Area returns the area in which the point is located. + * 0 = within the line + * 1 = below, but within the upper edge + * 2 = above, but within the lower edge + * 5 = below the upper edge + *10 = above the lower edge *************************************************************************/ USHORT SvxBoundArgs::Area( const Point& rPt ) @@ -615,10 +610,10 @@ USHORT SvxBoundArgs::Area( const Point& rPt ) } /************************************************************************* - * lcl_Cut berechnet die X-Koordinate der Strecke (Pt1-Pt2) auf der - * Y-Koordinate nY. - * Vorausgesetzt wird, dass einer der Punkte oberhalb und der andere - * unterhalb der Y-Koordinate liegt. + * lcl_Cut calculates the X-Coordinate of the distance (Pt1-Pt2) at the + * Y-Coordinate nY. + * It is assumed that the one of the points are located above and the other + * one below the Y-Coordinate. *************************************************************************/ long SvxBoundArgs::Cut( long nB, const Point& rPt1, const Point& rPt2 ) diff --git a/editeng/source/misc/unolingu.cxx b/editeng/source/misc/unolingu.cxx index 7a43425aed7a..1eb6f63e69e1 100644 --- a/editeng/source/misc/unolingu.cxx +++ b/editeng/source/misc/unolingu.cxx @@ -918,9 +918,6 @@ void LinguMgrExitLstnr::AtExit() LinguMgr::bExiting = sal_True; - //TL:TODO: MBA fragen wie ich ohne Absturz hier meinen Speicher - // wieder freibekomme... - //delete LinguMgr::pExitLstnr; LinguMgr::pExitLstnr = 0; } @@ -1190,7 +1187,7 @@ uno::Reference< XPropertySet > SvxGetLinguPropertySet() return LinguMgr::GetLinguPropertySet(); } -//TL:TODO: remove argument or provide SvxGetIgnoreAllList with the same one +//TODO: remove argument or provide SvxGetIgnoreAllList with the same one uno::Reference< XDictionary > SvxGetOrCreatePosDic( uno::Reference< XDictionaryList > /* xDicList */ ) { @@ -1288,7 +1285,6 @@ short SvxDicError( Window *pParent, sal_Int16 nError ) LanguageType SvxLocaleToLanguage( const Locale& rLocale ) { - // empty Locale -> LANGUAGE_NONE if ( rLocale.Language.getLength() == 0 ) return LANGUAGE_NONE; |