Branch data Line data Source code
1 : : /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 : : /*************************************************************************
3 : : *
4 : : * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 : : *
6 : : * Copyright 2000, 2010 Oracle and/or its affiliates.
7 : : *
8 : : * OpenOffice.org - a multi-platform office productivity suite
9 : : *
10 : : * This file is part of OpenOffice.org.
11 : : *
12 : : * OpenOffice.org is free software: you can redistribute it and/or modify
13 : : * it under the terms of the GNU Lesser General Public License version 3
14 : : * only, as published by the Free Software Foundation.
15 : : *
16 : : * OpenOffice.org is distributed in the hope that it will be useful,
17 : : * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 : : * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 : : * GNU Lesser General Public License version 3 for more details
20 : : * (a copy is included in the LICENSE file that accompanied this code).
21 : : *
22 : : * You should have received a copy of the GNU Lesser General Public License
23 : : * version 3 along with OpenOffice.org. If not, see
24 : : * <http://www.openoffice.org/license.html>
25 : : * for a copy of the LGPLv3 License.
26 : : *
27 : : ************************************************************************/
28 : :
29 : : #include <svtools/langtab.hxx>
30 : : #include <svtools/htmlcfg.hxx>
31 : : #include "opthtml.hxx"
32 : : #include "opthtml.hrc"
33 : : #include <cuires.hrc>
34 : : #include "helpid.hrc"
35 : : #include <dialmgr.hxx>
36 : : #include <sal/macros.h>
37 : :
38 : : // modus convertion to the positions in the listbox
39 : : const sal_uInt16 aPosToExportArr[] =
40 : : {
41 : : HTML_CFG_MSIE,
42 : : HTML_CFG_NS40,
43 : : HTML_CFG_WRITER
44 : : };
45 : :
46 : : const sal_uInt16 aExportToPosArr[] =
47 : : {
48 : : 1, //HTML 3.2 (removed, map to Netscape Navigator 4.0)
49 : : 0, //MS Internet Explorer 4.0
50 : : 2, //StarWriter
51 : : 1 //Netscape Navigator 4.0
52 : : };
53 : : // -----------------------------------------------------------------------
54 : :
55 : 0 : OfaHtmlTabPage::OfaHtmlTabPage(Window* pParent, const SfxItemSet& rSet) :
56 : 0 : SfxTabPage( pParent, CUI_RES( RID_OFAPAGE_HTMLOPT ), rSet ),
57 [ # # ]: 0 : aFontSizeGB ( this, CUI_RES( GB_FONTSIZE ) ),
58 [ # # ]: 0 : aSize1FT ( this, CUI_RES( FT_SIZE1 ) ),
59 [ # # ]: 0 : aSize1NF ( this, CUI_RES( NF_SIZE1 ) ),
60 [ # # ]: 0 : aSize2FT ( this, CUI_RES( FT_SIZE2 ) ),
61 [ # # ]: 0 : aSize2NF ( this, CUI_RES( NF_SIZE2 ) ),
62 [ # # ]: 0 : aSize3FT ( this, CUI_RES( FT_SIZE3 ) ),
63 [ # # ]: 0 : aSize3NF ( this, CUI_RES( NF_SIZE3 ) ),
64 [ # # ]: 0 : aSize4FT ( this, CUI_RES( FT_SIZE4 ) ),
65 [ # # ]: 0 : aSize4NF ( this, CUI_RES( NF_SIZE4 ) ),
66 [ # # ]: 0 : aSize5FT ( this, CUI_RES( FT_SIZE5 ) ),
67 [ # # ]: 0 : aSize5NF ( this, CUI_RES( NF_SIZE5 ) ),
68 [ # # ]: 0 : aSize6FT ( this, CUI_RES( FT_SIZE6 ) ),
69 [ # # ]: 0 : aSize6NF ( this, CUI_RES( NF_SIZE6 ) ),
70 [ # # ]: 0 : aSize7FT ( this, CUI_RES( FT_SIZE7 ) ),
71 [ # # ]: 0 : aSize7NF ( this, CUI_RES( NF_SIZE7 ) ),
72 [ # # ]: 0 : aImportGB ( this, CUI_RES( GB_IMPORT ) ),
73 [ # # ]: 0 : aNumbersEnglishUSCB ( this, CUI_RES( CB_NUMBERS_ENGLISH_US ) ),
74 [ # # ]: 0 : aUnknownTagCB ( this, CUI_RES( CB_UNKNOWN_TAGS ) ),
75 [ # # ]: 0 : aIgnoreFontNamesCB( this, CUI_RES( CB_IGNORE_FONTNAMES ) ),
76 [ # # ]: 0 : aExportGB ( this, CUI_RES( GB_EXPORT ) ),
77 [ # # ]: 0 : aExportLB ( this, CUI_RES( LB_EXPORT ) ),
78 [ # # ]: 0 : aStarBasicCB ( this, CUI_RES( CB_STARBASIC ) ),
79 [ # # ]: 0 : aStarBasicWarningCB(this, CUI_RES( CB_STARBASIC_WARNING ) ),
80 [ # # ]: 0 : aPrintExtensionCB( this,CUI_RES(CB_PRINT_EXTENSION )),
81 [ # # ]: 0 : aSaveGrfLocalCB ( this, CUI_RES( CB_LOCAL_GRF ) ),
82 [ # # ]: 0 : aCharSetFT ( this, CUI_RES( FT_CHARSET ) ),
83 [ # # ][ # # ]: 0 : aCharSetLB ( this, CUI_RES( LB_CHARSET ) )
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ]
84 : :
85 : : {
86 [ # # ]: 0 : FreeResource();
87 : :
88 : : // replace placeholder with UI string from language list
89 [ # # ]: 0 : String aText( aNumbersEnglishUSCB.GetText());
90 [ # # ]: 0 : String aPlaceholder( RTL_CONSTASCII_USTRINGPARAM( "%ENGLISHUSLOCALE"));
91 : : xub_StrLen nPos;
92 [ # # ][ # # ]: 0 : if ((nPos = aText.Search( aPlaceholder)) != STRING_NOTFOUND)
93 : : {
94 [ # # ]: 0 : SvtLanguageTable aLangTab;
95 [ # # ][ # # ]: 0 : const String& rStr = aLangTab.GetString( LANGUAGE_ENGLISH_US);
96 [ # # ]: 0 : if (rStr.Len())
97 : : {
98 [ # # ]: 0 : aText.Replace( nPos, aPlaceholder.Len(), rStr);
99 [ # # ]: 0 : aNumbersEnglishUSCB.SetText( aText);
100 [ # # ][ # # ]: 0 : }
101 : : }
102 : :
103 [ # # ]: 0 : aExportLB.SetSelectHdl(LINK(this, OfaHtmlTabPage, ExportHdl_Impl));
104 [ # # ]: 0 : aStarBasicCB.SetClickHdl(LINK(this, OfaHtmlTabPage, CheckBoxHdl_Impl));
105 : :
106 : : // initialize the characterset listbox
107 [ # # ][ # # ]: 0 : aCharSetLB.FillWithMimeAndSelectBest();
[ # # ]
108 : 0 : }
109 : :
110 [ # # ][ # # ]: 0 : OfaHtmlTabPage::~OfaHtmlTabPage()
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ]
111 : : {
112 [ # # ]: 0 : }
113 : :
114 : 0 : SfxTabPage* OfaHtmlTabPage::Create( Window* pParent,
115 : : const SfxItemSet& rAttrSet )
116 : : {
117 [ # # ]: 0 : return new OfaHtmlTabPage(pParent, rAttrSet);
118 : : }
119 : :
120 : 0 : sal_Bool OfaHtmlTabPage::FillItemSet( SfxItemSet& )
121 : : {
122 : 0 : SvxHtmlOptions& rHtmlOpt = SvxHtmlOptions::Get();
123 [ # # ][ # # ]: 0 : if(aSize1NF.GetSavedValue() != aSize1NF.GetText())
124 : 0 : rHtmlOpt.SetFontSize(0, (sal_uInt16)aSize1NF.GetValue());
125 [ # # ][ # # ]: 0 : if(aSize2NF.GetSavedValue() != aSize2NF.GetText())
126 : 0 : rHtmlOpt.SetFontSize(1, (sal_uInt16)aSize2NF.GetValue());
127 [ # # ][ # # ]: 0 : if(aSize3NF.GetSavedValue() != aSize3NF.GetText())
128 : 0 : rHtmlOpt.SetFontSize(2, (sal_uInt16)aSize3NF.GetValue());
129 [ # # ][ # # ]: 0 : if(aSize4NF.GetSavedValue() != aSize4NF.GetText())
130 : 0 : rHtmlOpt.SetFontSize(3, (sal_uInt16)aSize4NF.GetValue());
131 [ # # ][ # # ]: 0 : if(aSize5NF.GetSavedValue() != aSize5NF.GetText())
132 : 0 : rHtmlOpt.SetFontSize(4, (sal_uInt16)aSize5NF.GetValue());
133 [ # # ][ # # ]: 0 : if(aSize6NF.GetSavedValue() != aSize6NF.GetText())
134 : 0 : rHtmlOpt.SetFontSize(5, (sal_uInt16)aSize6NF.GetValue());
135 [ # # ][ # # ]: 0 : if(aSize7NF.GetSavedValue() != aSize7NF.GetText())
136 : 0 : rHtmlOpt.SetFontSize(6, (sal_uInt16)aSize7NF.GetValue());
137 : :
138 [ # # ]: 0 : if(aNumbersEnglishUSCB.IsChecked() != aNumbersEnglishUSCB.GetSavedValue())
139 : 0 : rHtmlOpt.SetNumbersEnglishUS(aNumbersEnglishUSCB.IsChecked());
140 : :
141 [ # # ]: 0 : if(aUnknownTagCB.IsChecked() != aUnknownTagCB.GetSavedValue())
142 : 0 : rHtmlOpt.SetImportUnknown(aUnknownTagCB.IsChecked());
143 : :
144 [ # # ]: 0 : if(aIgnoreFontNamesCB.IsChecked() != aIgnoreFontNamesCB.GetSavedValue())
145 : 0 : rHtmlOpt.SetIgnoreFontFamily(aIgnoreFontNamesCB.IsChecked());
146 : :
147 [ # # ]: 0 : if(aExportLB.GetSelectEntryPos() != aExportLB.GetSavedValue())
148 : 0 : rHtmlOpt.SetExportMode(aPosToExportArr[aExportLB.GetSelectEntryPos()]);
149 : :
150 [ # # ]: 0 : if(aStarBasicCB.IsChecked() != aStarBasicCB.GetSavedValue())
151 : 0 : rHtmlOpt.SetStarBasic(aStarBasicCB.IsChecked());
152 : :
153 [ # # ]: 0 : if(aStarBasicWarningCB.IsChecked() != aStarBasicWarningCB.GetSavedValue())
154 : 0 : rHtmlOpt.SetStarBasicWarning(aStarBasicWarningCB.IsChecked());
155 : :
156 [ # # ]: 0 : if(aSaveGrfLocalCB.IsChecked() != aSaveGrfLocalCB.GetSavedValue())
157 : 0 : rHtmlOpt.SetSaveGraphicsLocal(aSaveGrfLocalCB.IsChecked());
158 : :
159 [ # # ]: 0 : if(aPrintExtensionCB.IsChecked() != aPrintExtensionCB.GetSavedValue())
160 : 0 : rHtmlOpt.SetPrintLayoutExtension(aPrintExtensionCB.IsChecked());
161 : :
162 [ # # ]: 0 : if( aCharSetLB.GetSelectTextEncoding() != rHtmlOpt.GetTextEncoding() )
163 : 0 : rHtmlOpt.SetTextEncoding( aCharSetLB.GetSelectTextEncoding() );
164 : :
165 : 0 : return sal_False;
166 : : }
167 : :
168 : 0 : void OfaHtmlTabPage::Reset( const SfxItemSet& )
169 : : {
170 : 0 : SvxHtmlOptions& rHtmlOpt = SvxHtmlOptions::Get();
171 : 0 : aSize1NF.SetValue(rHtmlOpt.GetFontSize(0));
172 : 0 : aSize2NF.SetValue(rHtmlOpt.GetFontSize(1));
173 : 0 : aSize3NF.SetValue(rHtmlOpt.GetFontSize(2));
174 : 0 : aSize4NF.SetValue(rHtmlOpt.GetFontSize(3));
175 : 0 : aSize5NF.SetValue(rHtmlOpt.GetFontSize(4));
176 : 0 : aSize6NF.SetValue(rHtmlOpt.GetFontSize(5));
177 : 0 : aSize7NF.SetValue(rHtmlOpt.GetFontSize(6));
178 : 0 : aNumbersEnglishUSCB.Check(rHtmlOpt.IsNumbersEnglishUS());
179 : 0 : aUnknownTagCB.Check(rHtmlOpt.IsImportUnknown());
180 : 0 : aIgnoreFontNamesCB.Check(rHtmlOpt.IsIgnoreFontFamily());
181 : 0 : sal_uInt16 nExport = rHtmlOpt.GetExportMode();
182 [ # # ]: 0 : if( nExport >= SAL_N_ELEMENTS( aExportToPosArr ) )
183 : 0 : nExport = 3; // default for bad config entry is NS 4.0
184 : 0 : sal_uInt16 nPosArr = aExportToPosArr[ nExport ];
185 : 0 : aExportLB.SelectEntryPos( nPosArr );
186 : 0 : aExportLB.SaveValue();
187 : :
188 : 0 : ExportHdl_Impl(&aExportLB);
189 : :
190 : 0 : aStarBasicCB .Check(rHtmlOpt.IsStarBasic());
191 : 0 : aStarBasicWarningCB .Check(rHtmlOpt.IsStarBasicWarning());
192 : 0 : aStarBasicWarningCB.Enable(!aStarBasicCB.IsChecked());
193 : 0 : aSaveGrfLocalCB.Check(rHtmlOpt.IsSaveGraphicsLocal());
194 : 0 : aPrintExtensionCB.Check(rHtmlOpt.IsPrintLayoutExtension());
195 : :
196 : 0 : aPrintExtensionCB.SaveValue();
197 : 0 : aStarBasicCB .SaveValue();
198 : 0 : aStarBasicWarningCB .SaveValue();
199 : 0 : aSaveGrfLocalCB.SaveValue();
200 : 0 : aSize1NF.SaveValue();
201 : 0 : aSize2NF.SaveValue();
202 : 0 : aSize3NF.SaveValue();
203 : 0 : aSize4NF.SaveValue();
204 : 0 : aSize5NF.SaveValue();
205 : 0 : aSize6NF.SaveValue();
206 : 0 : aSize7NF.SaveValue();
207 : 0 : aNumbersEnglishUSCB.SaveValue();
208 : 0 : aUnknownTagCB.SaveValue();
209 : 0 : aIgnoreFontNamesCB.SaveValue();
210 : :
211 [ # # ]: 0 : if( !rHtmlOpt.IsDefaultTextEncoding() &&
[ # # # # ]
212 : 0 : aCharSetLB.GetSelectTextEncoding() != rHtmlOpt.GetTextEncoding() )
213 : 0 : aCharSetLB.SelectTextEncoding( rHtmlOpt.GetTextEncoding() );
214 : 0 : }
215 : :
216 : 0 : IMPL_LINK(OfaHtmlTabPage, ExportHdl_Impl, ListBox*, pBox)
217 : : {
218 : 0 : sal_uInt16 nExport = aPosToExportArr[ pBox->GetSelectEntryPos() ];
219 [ # # ]: 0 : switch( nExport )
220 : : {
221 : : case HTML_CFG_MSIE:
222 : : case HTML_CFG_NS40 :
223 : : case HTML_CFG_WRITER :
224 : 0 : aPrintExtensionCB.Enable(sal_True);
225 : 0 : break;
226 : 0 : default: aPrintExtensionCB.Enable(sal_False);
227 : : }
228 : :
229 : 0 : return 0;
230 : : }
231 : :
232 : 0 : IMPL_LINK(OfaHtmlTabPage, CheckBoxHdl_Impl, CheckBox*, pBox)
233 : : {
234 : 0 : aStarBasicWarningCB.Enable(!pBox->IsChecked());
235 : 0 : return 0;
236 : : }
237 : :
238 : :
239 : : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|