diff options
Diffstat (limited to 'sw/source/ui/dialog/ascfldlg.cxx')
-rw-r--r-- | sw/source/ui/dialog/ascfldlg.cxx | 682 |
1 files changed, 682 insertions, 0 deletions
diff --git a/sw/source/ui/dialog/ascfldlg.cxx b/sw/source/ui/dialog/ascfldlg.cxx new file mode 100644 index 000000000000..38b03b23b10a --- /dev/null +++ b/sw/source/ui/dialog/ascfldlg.cxx @@ -0,0 +1,682 @@ +/************************************************************************* + * + * $RCSfile: ascfldlg.cxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 17:14:34 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (the "License"); You may not use this file + * except in compliance with the License. You may obtain a copy of the + * License at http://www.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ +#ifdef PRECOMPILED +#include "ui_pch.hxx" +#endif + +#pragma hdrstop + +#ifndef _HINTIDS_HXX +#include <hintids.hxx> +#endif + + +#ifndef _RTL_TEXTENC_H //autogen wg. rtl_TextEncoding +#include <rtl/textenc.h> +#endif + + +#ifndef _UNO_LINGU_HXX +#include <svx/unolingu.hxx> +#endif + +#ifndef _SFX_PRINTER_HXX +#include <sfx2/printer.hxx> +#endif +#ifndef _SVX_FLSTITEM_HXX //autogen wg. SvxFontListItem +#include <svx/flstitem.hxx> +#endif +#ifndef _SVX_DLGUTIL_HXX //autogen wg. GetLanguageString +#include <svx/dlgutil.hxx> +#endif +#ifndef _SVX_FONTITEM_HXX //autogen wg. SvxFontItem +#include <svx/fontitem.hxx> +#endif +#ifndef _SVX_LANGITEM_HXX //autogen wg. SvxLanguageItem +#include <svx/langitem.hxx> +#endif + +#ifndef _SWTYPES_HXX +#include <swtypes.hxx> +#endif +#ifndef _ASCFLDLG_HXX +#include <ascfldlg.hxx> +#endif +#ifndef _SHELLIO_HXX +#include <shellio.hxx> +#endif +#ifndef _SWDOCSH_HXX +#include <docsh.hxx> +#endif +#ifndef _DOC_HXX +#include <doc.hxx> +#endif +#ifndef _ERRHDL_HXX +#include <errhdl.hxx> +#endif + +#ifndef _DIALOG_HRC +#include <dialog.hrc> +#endif +#ifndef _ASCFLDLG_HRC +#include <ascfldlg.hrc> +#endif + +using namespace ::com::sun::star; + +const sal_Unicode cDialogExtraDataClose = '}'; +const char __FAR_DATA sDialogImpExtraData[] = "EncImpDlg:{"; +const char __FAR_DATA sDialogExpExtraData[] = "EncExpDlg:{"; +const USHORT nDialogExtraDataLen = 11; // 12345678901 + +// in the resource exist an equal list - only with the names! +static rtl_TextEncoding aCharSetArr[] = { + RTL_TEXTENCODING_MS_1252, // Western (Window-1252/WinLatin 1) + RTL_TEXTENCODING_APPLE_ROMAN, // Western (Apple Macintosh) + RTL_TEXTENCODING_IBM_850, // Western (DOS/OS2-850/International) + RTL_TEXTENCODING_IBM_437, // Western (DOS/OS2-437/US) + RTL_TEXTENCODING_IBM_860, // Western (DOS/OS2-860/Portugese) + RTL_TEXTENCODING_IBM_861, // Western (DOS/OS2-861/Icelandic) + RTL_TEXTENCODING_IBM_863, // Western (DOS/OS2-863/Canadian-French) + RTL_TEXTENCODING_IBM_865, // Western (DOS/OS2-865/Nordic) + RTL_TEXTENCODING_ASCII_US, // Western (ASCII/US) + RTL_TEXTENCODING_ISO_8859_1, // Western (ISO-8859-1) + RTL_TEXTENCODING_ISO_8859_2, // Central European (ISO-8859-2) + RTL_TEXTENCODING_ISO_8859_3, // Latin 3 (ISO-8859-3) + RTL_TEXTENCODING_ISO_8859_4, // Baltic (ISO-8859-4) + RTL_TEXTENCODING_ISO_8859_5, // Cyrillic (ISO-8859-5) +// RTL_TEXTENCODING_ISO_8859_6, // Arabic (ISO-8859-6) + RTL_TEXTENCODING_ISO_8859_7, // Greek (ISO-8859-7) +// RTL_TEXTENCODING_ISO_8859_8, // Hebrew (ISO-8859-8) + RTL_TEXTENCODING_ISO_8859_9, // Turkish (ISO-8859-9) + RTL_TEXTENCODING_ISO_8859_14, // Western (ISO-8859-14) + RTL_TEXTENCODING_ISO_8859_15, // Western (ISO-8859-15/EURO) + RTL_TEXTENCODING_IBM_737, // Greek (DOS/OS2-737) + RTL_TEXTENCODING_IBM_775, // Baltic (DOS/OS2-775) + RTL_TEXTENCODING_IBM_852, // Central European (DOS/OS2-852) + RTL_TEXTENCODING_IBM_855, // Cyrillic (DOS/OS2-855) + RTL_TEXTENCODING_IBM_857, // Turkish (DOS/OS2-857) +// RTL_TEXTENCODING_IBM_862, // Hebrew (DOS/OS2-862) +// RTL_TEXTENCODING_IBM_864, // Arabic (DOS/OS2-864) + RTL_TEXTENCODING_IBM_866, // Cyrillic (DOS/OS2-866/Russian) + RTL_TEXTENCODING_IBM_869, // Greek (DOS/OS2-869/Modern) +// RTL_TEXTENCODING_MS_874, // Thai (Dos/Windows-874) + RTL_TEXTENCODING_MS_1250, // Central European (Windows-1250/WinLatin 2) + RTL_TEXTENCODING_MS_1251, // Cyrillic (Windows-1251) + RTL_TEXTENCODING_MS_1253, // Greek (Windows-1253) + RTL_TEXTENCODING_MS_1254, // Turkish (Windows-1254) +// RTL_TEXTENCODING_MS_1255, // Hebrew (Windows-1255) +// RTL_TEXTENCODING_MS_1256, // Arabic (Windows-1256) + RTL_TEXTENCODING_MS_1257, // Baltic (Windows-1257) +// RTL_TEXTENCODING_MS_1258, // Vietnamese (Windows-1258) +// RTL_TEXTENCODING_APPLE_ARABIC, // Arabic (Apple Macintosh) + RTL_TEXTENCODING_APPLE_CENTEURO, // Central European (Apple Macintosh) + RTL_TEXTENCODING_APPLE_CROATIAN, // Central European (Apple Macintosh/Croatian) + RTL_TEXTENCODING_APPLE_CYRILLIC, // Cyrillic (Apple Macintosh) +// RTL_TEXTENCODING_APPLE_DEVANAGARI, // APPLE DEVANAGARI +// RTL_TEXTENCODING_APPLE_FARSI, // APPLE FARSI + RTL_TEXTENCODING_APPLE_GREEK, // Greek (Apple Macintosh) +// RTL_TEXTENCODING_APPLE_GUJARATI, // APPLE GUJARATI +// RTL_TEXTENCODING_APPLE_GURMUKHI, // APPLE GURMUKHI +// RTL_TEXTENCODING_APPLE_HEBREW, // Hebrew (Apple Macintosh) + RTL_TEXTENCODING_APPLE_ICELAND, // Western (Apple Macintosh/Icelandic) + RTL_TEXTENCODING_APPLE_ROMANIAN, // Central European (Apple Macintosh/Romanian) +// RTL_TEXTENCODING_APPLE_THAI, // Thai (Apple Macintosh) + RTL_TEXTENCODING_APPLE_TURKISH, // Turkish (Apple Macintosh) + RTL_TEXTENCODING_APPLE_UKRAINIAN, // Cyrillic (Apple Macintosh/Ukrainian) + RTL_TEXTENCODING_APPLE_CHINSIMP, // Chinese Simplified (Apple Macintosh) + RTL_TEXTENCODING_APPLE_CHINTRAD, // Chinese Traditional (Apple Macintosh) + RTL_TEXTENCODING_APPLE_JAPANESE, // Japanese (Apple Macintosh) + RTL_TEXTENCODING_APPLE_KOREAN, // Korean (Apple Macintosh) + RTL_TEXTENCODING_MS_932, // Japanese (Windows-932) + RTL_TEXTENCODING_MS_936, // Chinese Simplified (Windows-936) + RTL_TEXTENCODING_MS_949, // Korean (Windows-949) + RTL_TEXTENCODING_MS_950, // Chinese Traditional (Windows-950) + RTL_TEXTENCODING_SHIFT_JIS, // Japanese (Shift-JIS) + RTL_TEXTENCODING_GB_2312, // Chinese Simplified (GB-2312) + RTL_TEXTENCODING_GBT_12345, // Chinese Traditional (GBT-12345) + RTL_TEXTENCODING_GBK, // Chinese Simplified (GBK/GB-2312-80) + RTL_TEXTENCODING_BIG5, // Chinese Traditional (BIG5) +// RTL_TEXTENCODING_EUC_JP, // Japanese (EUC-JP) + RTL_TEXTENCODING_EUC_CN, // Chinese Simplified (EUC-CN) +// RTL_TEXTENCODING_EUC_TW, // Chinese Traditional (EUC-TW) +// RTL_TEXTENCODING_ISO_2022_JP, // Japanese (ISO-2022-JP) +// RTL_TEXTENCODING_ISO_2022_CN, // Chinese Simplified (ISO-2022-CN) + RTL_TEXTENCODING_KOI8_R, // Cyrillic (KOI8-R) + RTL_TEXTENCODING_UTF7, // Unicode (UTF-7) + RTL_TEXTENCODING_UTF8, // Unicode (UTF-8) + RTL_TEXTENCODING_ISO_8859_10, // Central European (ISO-8859-10) + RTL_TEXTENCODING_ISO_8859_13, // Central European (ISO-8859-13) + RTL_TEXTENCODING_EUC_KR, // Korean (EUC-KR) +// RTL_TEXTENCODING_ISO_2022_KR, // Korean (ISO-2022-KR) + RTL_TEXTENCODING_UCS2 // Unicode (2 byte) + }; + + +SwAsciiFilterDlg::SwAsciiFilterDlg( Window* pParent, SwDocShell& rDocSh, + SvStream* pStream ) + : SfxModalDialog( pParent, SW_RES( DLG_ASCII_FILTER )), + aGB( this, ResId( GB_1 )), + aCharSetFT( this, ResId( FT_CHARSET )), + aCharSetLB( this, ResId( LB_CHARSET )), + aFontFT( this, ResId( FT_FONT )), + aFontLB( this, ResId( LB_FONT )), + aLanguageFT( this, ResId( FT_LANGUAGE )), + aLanguageLB( this, ResId( LB_LANGUAGE )), + aCRLF_FT( this, ResId( FT_CRLF )), + aCRLF_RB( this, ResId( RB_CRLF )), + aCR_RB( this, ResId( RB_CR )), + aLF_RB( this, ResId( RB_LF )), + aOkPB( this, ResId( PB_OK )), + aCancelPB( this, ResId( PB_CANCEL )), + aHelpPB( this, ResId( PB_HELP )), + sCharSet( ResId( STR_CHARSET )), + sSystemCharSet( ResId( STR_SYS_CHARSET )), + bSaveLineStatus( TRUE ) +{ + FreeResource(); + + SwAsciiOptions aOpt; + { + const String& rFindNm = String::CreateFromAscii( + pStream ? sDialogImpExtraData + : sDialogExpExtraData); + USHORT nEnd, nStt = GetExtraData().Search( rFindNm ); + if( STRING_NOTFOUND != nStt ) + { + nStt += nDialogExtraDataLen; + nEnd = GetExtraData().Search( cDialogExtraDataClose, nStt ); + if( STRING_NOTFOUND != nEnd ) + { + aOpt.ReadUserData( GetExtraData().Copy( nStt, nEnd - nStt )); + nStt -= nDialogExtraDataLen; + GetExtraData().Erase( nStt, nEnd - nStt + 1 ); + } + } + } + + // read the first chars and check the charset, (language - with L&H) + if( pStream ) + { + char aBuffer[ 4098 ]; + ULONG nOldPos = pStream->Tell(); + ULONG nBytesRead = pStream->Read( aBuffer, 4096 ); + pStream->Seek( nOldPos ); + + if( nBytesRead <= 4096 ) + { + aBuffer[ nBytesRead ] = '0'; + aBuffer[ nBytesRead+1 ] = '0'; + if( 0 != ( nBytesRead & 0x00000001 ) ) + aBuffer[ nBytesRead + 2 ] = '0'; + } + + BOOL bCR = FALSE, bLF = FALSE, bNoNormalChar = FALSE, + bNullChar = FALSE; + for( USHORT nCnt = 0; nCnt < nBytesRead; ++nCnt ) + switch( aBuffer[ nCnt ] ) + { + case 0x0: bNullChar = TRUE; break; + case 0xA: bLF = TRUE; break; + case 0xD: bCR = TRUE; break; + case 0xC: + case 0x1A: + case 0x9: break; + default: + if( 0x20 > aBuffer[ nCnt ] ) + bNoNormalChar = TRUE; + } + + if( !bNullChar ) + { + if( bCR ) + { + if( bLF ) + { + aOpt.SetParaFlags( LINEEND_CRLF ); +// have to check if of CharSet is type of ANSI +// aOpt.SetCharSet( CHARSET_ANSI ); + } + else + { + aOpt.SetParaFlags( LINEEND_CR ); +// have to check if CharSet is type of MAC +// aOpt.SetCharSet( CHARSET_MAC ); + } + } + else if( bLF ) + { + aOpt.SetParaFlags( LINEEND_LF ); +// have to check if of CharSet is type of ANSI +// aOpt.SetCharSet( CHARSET_ANSI ); + } + } + + { + BOOL bDelPrinter = FALSE; + SfxPrinter* pPrt = rDocSh.GetDoc()->GetPrt(); + if( !pPrt ) + { + SfxItemSet* pSet = new SfxItemSet( rDocSh.GetPool(), + SID_PRINTER_NOTFOUND_WARN, SID_PRINTER_NOTFOUND_WARN, + SID_PRINTER_CHANGESTODOC, SID_PRINTER_CHANGESTODOC, + 0 ); + pPrt = new SfxPrinter( pSet ); + bDelPrinter = TRUE; + } + + const USHORT nCount = pPrt->GetFontCount(); + for (USHORT i = 0; i < nCount; ++i) + { + const String &rStr = pPrt->GetFont(i)->GetName(); + aFontLB.InsertEntry( rStr ); + } + + if( !aOpt.GetFontName().Len() ) + aOpt.SetFontName( ((SvxFontItem&)rDocSh.GetDoc()->GetDefault( + RES_CHRATR_FONT )).GetFamilyName() ); + aFontLB.SelectEntry( aOpt.GetFontName() ); + + if( bDelPrinter ) + delete pPrt; + } + + // initialisiere Sprache + { + if( !aOpt.GetLanguage() ) + aOpt.SetLanguage( ((SvxLanguageItem&)rDocSh.GetDoc()-> + GetDefault( RES_CHRATR_LANGUAGE )).GetLanguage()); + + const USHORT nLanguageCount = (USHORT) SvxGetSelectableLanguages().getLength(); + const util::Language *pLang = SvxGetSelectableLanguages().getConstArray(); + for( USHORT i = 0; i < nLanguageCount; ++i ) + { + LanguageType eType = pLang[ i ]; + USHORT nPos = aLanguageLB.InsertEntry( ::GetLanguageString( eType ) ); + + aLanguageLB.SetEntryData( nPos, (void*)(ULONG)eType ); + if( eType == aOpt.GetLanguage() ) + aLanguageLB.SelectEntryPos( nPos ); + } + } + } + else + { + // hide the used Control for the Export and move the + // other behind the charset controls + aFontFT.Hide(); + aFontLB.Hide(); + aLanguageFT.Hide(); + aLanguageLB.Hide(); + + long nY = aFontFT.GetPosPixel().Y(); + Point aPos( aCRLF_FT.GetPosPixel() ); aPos.Y() = nY; + aCRLF_FT.SetPosPixel( aPos ); + + aPos = aCRLF_RB.GetPosPixel(); aPos.Y() = nY; + aCRLF_RB.SetPosPixel( aPos ); + + aPos = aCR_RB.GetPosPixel(); aPos.Y() = nY; + aCR_RB.SetPosPixel( aPos ); + + aPos = aLF_RB.GetPosPixel(); aPos.Y() = nY; + aLF_RB.SetPosPixel( aPos ); + } + + // initialisiere Zeichensatz + { + rtl_TextEncoding eSystem = gsl_getSystemTextEncoding(); + USHORT nToken = 0, nPos, nCnt = 0; + String sToken; + do { + if( 0 != (sToken = sCharSet.GetToken( 0, ';', nToken )).Len() ) + { + rtl_TextEncoding eCode = aCharSetArr[ nCnt ]; + if( eCode == eSystem ) + sToken = sSystemCharSet; + nPos = aCharSetLB.InsertEntry( sToken ); + aCharSetLB.SetEntryData( nPos, (void*)(ULONG)eCode ); + if( eCode == aOpt.GetCharSet() ) + aCharSetLB.SelectEntryPos( nPos ); + } + ++nCnt; + } while( STRING_NOTFOUND != nToken ); + } + + aCharSetLB.SetSelectHdl( LINK( this, SwAsciiFilterDlg, CharSetSelHdl )); + aCRLF_RB.SetToggleHdl( LINK( this, SwAsciiFilterDlg, LineEndHdl )); + aLF_RB.SetToggleHdl( LINK( this, SwAsciiFilterDlg, LineEndHdl )); + aCR_RB.SetToggleHdl( LINK( this, SwAsciiFilterDlg, LineEndHdl )); + + SetCRLF( aOpt.GetParaFlags() ); + + aCRLF_RB.SaveValue(); + aLF_RB.SaveValue(); + aCR_RB.SaveValue(); +} + + +SwAsciiFilterDlg::~SwAsciiFilterDlg() +{ +} + + +void SwAsciiFilterDlg::FillOptions( SwAsciiOptions& rOptions ) +{ + ULONG nCCode = (ULONG)aCharSetLB.GetEntryData( + aCharSetLB.GetSelectEntryPos() ); + + String sFont; + ULONG nLng = 0; + if( aFontLB.IsVisible() ) + { + sFont = aFontLB.GetSelectEntry(); + nLng = (ULONG)aLanguageLB.GetEntryData( + aLanguageLB.GetSelectEntryPos() ); + } + + rOptions.SetFontName( sFont ); + rOptions.SetCharSet( rtl_TextEncoding( nCCode ) ); + rOptions.SetLanguage( USHORT( nLng ) ); + rOptions.SetParaFlags( GetCRLF() ); + + // JP: Task #71802# save the user settings + String sData; + rOptions.WriteUserData( sData ); + if( sData.Len() ) + { + const String& rFindNm = String::CreateFromAscii( + aFontLB.IsVisible() ? sDialogImpExtraData + : sDialogExpExtraData); + USHORT nEnd, nStt = GetExtraData().Search( rFindNm ); + if( STRING_NOTFOUND != nStt ) + { + // called twice, so remove "old" settings + nEnd = GetExtraData().Search( cDialogExtraDataClose, + nStt + nDialogExtraDataLen ); + if( STRING_NOTFOUND != nEnd ) + GetExtraData().Erase( nStt, nEnd - nStt + 1 ); + } + String sTmp(GetExtraData()); + sTmp += rFindNm; + sTmp += sData; + sTmp += cDialogExtraDataClose; + GetExtraData() = sTmp; + } +} + +void SwAsciiFilterDlg::SetCRLF( LineEnd eEnd ) +{ + switch( eEnd ) + { + case LINEEND_CR: aCR_RB.Check(); break; + case LINEEND_CRLF: aCRLF_RB.Check(); break; + case LINEEND_LF: aLF_RB.Check(); break; + } +} + +LineEnd SwAsciiFilterDlg::GetCRLF() const +{ + LineEnd eEnd; + if( aCR_RB.IsChecked() ) + eEnd = LINEEND_CR; + else if( aLF_RB.IsChecked() ) + eEnd = LINEEND_LF; + else + eEnd = LINEEND_CRLF; + return eEnd; +} + +IMPL_LINK( SwAsciiFilterDlg, CharSetSelHdl, ListBox*, pBox ) +{ + LineEnd eOldEnd = GetCRLF(), eEnd = (LineEnd)-1; + ULONG nLng = aFontLB.IsVisible() + ? (ULONG)aLanguageLB.GetEntryData( + aLanguageLB.GetSelectEntryPos() ) + : 0, + nOldLng = nLng; + + ULONG nChrSet = (ULONG)pBox->GetEntryData( pBox->GetSelectEntryPos() ); + if( nChrSet == gsl_getSystemTextEncoding() ) + eEnd = GetSystemLineEnd(); + else + { + switch( nChrSet ) + { + case RTL_TEXTENCODING_MS_1252: +#ifdef UNX + eEnd = LINEEND_LF; +#else + eEnd = LINEEND_CRLF; // ANSI +#endif + break; + + case RTL_TEXTENCODING_APPLE_ROMAN: // MAC + eEnd = LINEEND_CR; + break; + + case RTL_TEXTENCODING_IBM_850: // DOS + eEnd = LINEEND_CRLF; + break; + + case RTL_TEXTENCODING_APPLE_ARABIC: + case RTL_TEXTENCODING_APPLE_CENTEURO: + case RTL_TEXTENCODING_APPLE_CROATIAN: + case RTL_TEXTENCODING_APPLE_CYRILLIC: + case RTL_TEXTENCODING_APPLE_DEVANAGARI: + case RTL_TEXTENCODING_APPLE_FARSI: + case RTL_TEXTENCODING_APPLE_GREEK: + case RTL_TEXTENCODING_APPLE_GUJARATI: + case RTL_TEXTENCODING_APPLE_GURMUKHI: + case RTL_TEXTENCODING_APPLE_HEBREW: + case RTL_TEXTENCODING_APPLE_ICELAND: + case RTL_TEXTENCODING_APPLE_ROMANIAN: + case RTL_TEXTENCODING_APPLE_THAI: + case RTL_TEXTENCODING_APPLE_TURKISH: + case RTL_TEXTENCODING_APPLE_UKRAINIAN: + case RTL_TEXTENCODING_APPLE_CHINSIMP: + case RTL_TEXTENCODING_APPLE_CHINTRAD: + case RTL_TEXTENCODING_APPLE_JAPANESE: + case RTL_TEXTENCODING_APPLE_KOREAN: + eEnd = LINEEND_CR; + break; + +#if 0 +which charset and language? + case RTL_TEXTENCODING_IBM_437: + case RTL_TEXTENCODING_IBM_860: + case RTL_TEXTENCODING_IBM_861: + case RTL_TEXTENCODING_IBM_863: + case RTL_TEXTENCODING_IBM_865: + case RTL_TEXTENCODING_ASCII_US: + case RTL_TEXTENCODING_ISO_8859_1: + case RTL_TEXTENCODING_ISO_8859_2: + case RTL_TEXTENCODING_ISO_8859_3: + case RTL_TEXTENCODING_ISO_8859_4: + case RTL_TEXTENCODING_ISO_8859_5: + case RTL_TEXTENCODING_ISO_8859_6: + case RTL_TEXTENCODING_ISO_8859_7: + case RTL_TEXTENCODING_ISO_8859_8: + case RTL_TEXTENCODING_ISO_8859_9: + case RTL_TEXTENCODING_ISO_8859_14: + case RTL_TEXTENCODING_ISO_8859_15: + case RTL_TEXTENCODING_IBM_737: + case RTL_TEXTENCODING_IBM_775: + case RTL_TEXTENCODING_IBM_852: + case RTL_TEXTENCODING_IBM_855: + case RTL_TEXTENCODING_IBM_857: + case RTL_TEXTENCODING_IBM_862: + case RTL_TEXTENCODING_IBM_864: + case RTL_TEXTENCODING_IBM_866: + case RTL_TEXTENCODING_IBM_869: + case RTL_TEXTENCODING_MS_874: + case RTL_TEXTENCODING_MS_1250: + case RTL_TEXTENCODING_MS_1251: + case RTL_TEXTENCODING_MS_1253: + case RTL_TEXTENCODING_MS_1254: + case RTL_TEXTENCODING_MS_1255: + case RTL_TEXTENCODING_MS_1256: + case RTL_TEXTENCODING_MS_1257: + case RTL_TEXTENCODING_MS_1258: + case RTL_TEXTENCODING_MS_932: + case RTL_TEXTENCODING_MS_936: + case RTL_TEXTENCODING_MS_949: + case RTL_TEXTENCODING_MS_950: + case RTL_TEXTENCODING_SHIFT_JIS: + case RTL_TEXTENCODING_GB_2312: + case RTL_TEXTENCODING_GBT_12345: + case RTL_TEXTENCODING_GBK: + case RTL_TEXTENCODING_BIG5: + case RTL_TEXTENCODING_EUC_JP: + case RTL_TEXTENCODING_EUC_CN: + case RTL_TEXTENCODING_EUC_TW: + case RTL_TEXTENCODING_ISO_2022_JP: + case RTL_TEXTENCODING_ISO_2022_CN: + case RTL_TEXTENCODING_KOI8_R: +#endif + } + } + + bSaveLineStatus = FALSE; + if( eEnd != (LineEnd)-1 ) // changed? + { + if( eOldEnd != eEnd ) + SetCRLF( eEnd ); + } + else + { + // restore old user choise (not the automatic!) + aCRLF_RB.Check( aCRLF_RB.GetSavedValue() ); + aCR_RB.Check( aCR_RB.GetSavedValue() ); + aLF_RB.Check( aLF_RB.GetSavedValue() ); + } + bSaveLineStatus = TRUE; + + if( nOldLng != nLng && aFontLB.IsVisible() ) + { + for( USHORT n = 0, nCnt = aLanguageLB.GetEntryCount(); n < nCnt; ++n ) + if( nLng == (ULONG)aLanguageLB.GetEntryData( n )) + { + aLanguageLB.SelectEntryPos( n ); + break; + } + } + return 0; +} + +IMPL_LINK( SwAsciiFilterDlg, LineEndHdl, RadioButton*, pBtn ) +{ + if( bSaveLineStatus ) + pBtn->SaveValue(); + return 0; +} + +/************************************************************************* + + $Log: not supported by cvs2svn $ + Revision 1.13 2000/09/18 16:05:20 willem.vandorp + OpenOffice header added. + + Revision 1.12 2000/08/04 16:24:47 jp + read/write unicode ascii files + + Revision 1.11 2000/08/01 07:40:17 jp + new CJK filters + + Revision 1.10 2000/04/13 08:01:20 os + UNICODE + + Revision 1.9 2000/03/30 10:59:20 os + UNO III + + Revision 1.8 2000/03/16 16:38:36 kz + chg. include sfx2/printer.hxx + + Revision 1.7 2000/02/07 16:01:51 jp + Task #72603#: new textencodings + + Revision 1.6 2000/01/14 16:28:47 jp + Task #71802#: one user settings for export and one for import + + Revision 1.5 2000/01/13 23:13:19 jp + Task #71802#: save/restore user settings + + Revision 1.4 1999/11/15 14:21:12 jp + remove not supportet charsets from the list + + Revision 1.3 1999/10/25 19:10:51 tl + ongoing ONE_LINGU implementation + + Revision 1.2 1999/08/26 18:35:26 JP + load and save Text with more options (charset/language/lineend/font) + + + Rev 1.1 26 Aug 1999 20:35:26 JP + load and save Text with more options (charset/language/lineend/font) + + Rev 1.0 25 Aug 1999 19:45:40 JP + Dialog for ASCII filter options + + +*************************************************************************/ + + + |