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 : :
30 : : #include <osl/mutex.hxx>
31 : : #include <sfx2/sfxbasecontroller.hxx>
32 : : #include <SwXDocumentSettings.hxx>
33 : : #include <comphelper/MasterPropertySetInfo.hxx>
34 : : #include <com/sun/star/beans/PropertyAttribute.hpp>
35 : : #include <com/sun/star/i18n/XForbiddenCharacters.hpp>
36 : : #include <com/sun/star/document/PrinterIndependentLayout.hpp>
37 : : #include <doc.hxx>
38 : : #include <docsh.hxx>
39 : : #include <fldupde.hxx>
40 : : #include <linkenum.hxx>
41 : : #include <sfx2/printer.hxx>
42 : : #include <editsh.hxx>
43 : : #include <drawdoc.hxx>
44 : : #include <svl/zforlist.hxx>
45 : : #include <unotxdoc.hxx>
46 : : #include <cmdid.h>
47 : : #include <sfx2/zoomitem.hxx>
48 : : #include <unomod.hxx>
49 : : #include <vcl/svapp.hxx>
50 : : #include <comphelper/servicehelper.hxx>
51 : :
52 : : #include "swmodule.hxx"
53 : : #include "cfgitems.hxx"
54 : : #include "prtopt.hxx"
55 : :
56 : : using rtl::OUString;
57 : :
58 : : using namespace comphelper;
59 : : using namespace ::com::sun::star;
60 : : using namespace ::com::sun::star::uno;
61 : : using namespace ::com::sun::star::beans;
62 : : using namespace ::com::sun::star::lang;
63 : : using namespace ::com::sun::star::i18n;
64 : :
65 : : enum SwDocumentSettingsPropertyHandles
66 : : {
67 : : HANDLE_FORBIDDEN_CHARS,
68 : : HANDLE_LINK_UPDATE_MODE,
69 : : HANDLE_FIELD_AUTO_UPDATE,
70 : : HANDLE_CHART_AUTO_UPDATE,
71 : : HANDLE_ADD_PARA_TABLE_SPACING,
72 : : HANDLE_ADD_PARA_TABLE_SPACING_AT_START,
73 : : HANDLE_ALIGN_TAB_STOP_POSITION,
74 : : HANDLE_PRINTER_NAME,
75 : : HANDLE_PRINTER_SETUP,
76 : : HANDLE_IS_KERN_ASIAN_PUNCTUATION,
77 : : HANDLE_CHARACTER_COMPRESSION_TYPE,
78 : : HANDLE_APPLY_USER_DATA,
79 : : HANDLE_SAVE_GLOBAL_DOCUMENT_LINKS,
80 : : HANDLE_CURRENT_DATABASE_DATA_SOURCE,
81 : : HANDLE_CURRENT_DATABASE_COMMAND,
82 : : HANDLE_CURRENT_DATABASE_COMMAND_TYPE,
83 : : HANDLE_SAVE_VERSION_ON_CLOSE,
84 : : HANDLE_IS_GRID_VISIBLE,
85 : : HANDLE_IS_SNAP_TO_GRID,
86 : : HANDLE_IS_SYNCHRONISE_AXES,
87 : : HANDLE_HORIZONTAL_GRID_RESOLUTION,
88 : : HANDLE_HORIZONTAL_GRID_SUBDIVISION,
89 : : HANDLE_VERTICAL_GRID_RESOLUTION,
90 : : HANDLE_VERTICAL_GRID_SUBDIVISION,
91 : : HANDLE_UPDATE_FROM_TEMPLATE,
92 : : HANDLE_PRINTER_INDEPENDENT_LAYOUT,
93 : : HANDLE_IS_LABEL_DOC,
94 : : HANDLE_IS_ADD_FLY_OFFSET,
95 : : HANDLE_IS_ADD_EXTERNAL_LEADING,
96 : : HANDLE_OLD_NUMBERING, // #111955#
97 : : HANDLE_OUTLINELEVEL_YIELDS_NUMBERING,
98 : : /* Stampit It disable the print cancel button of the shown progress dialog. */
99 : : HANDLE_ALLOW_PRINTJOB_CANCEL,
100 : : HANDLE_USE_FORMER_LINE_SPACING,
101 : : HANDLE_ADD_PARA_SPACING_TO_TABLE_CELLS,
102 : : HANDLE_USE_FORMER_OBJECT_POSITIONING,
103 : : HANDLE_USE_FORMER_TEXT_WRAPPING,
104 : : HANDLE_CHANGES_PASSWORD,
105 : : HANDLE_CONSIDER_WRAP_ON_OBJPOS,
106 : : HANDLE_IGNORE_FIRST_LINE_INDENT_IN_NUMBERING,
107 : : HANDLE_DO_NOT_JUSTIFY_LINES_WITH_MANUAL_BREAK,
108 : : HANDLE_DO_NOT_RESET_PARA_ATTRS_FOR_NUM_FONT,
109 : : HANDLE_TABLE_ROW_KEEP,
110 : : HANDLE_IGNORE_TABS_AND_BLANKS_FOR_LINE_CALCULATION,
111 : : HANDLE_LOAD_READONLY,
112 : : HANDLE_DO_NOT_CAPTURE_DRAW_OBJS_ON_PAGE,
113 : : HANDLE_CLIP_AS_CHARACTER_ANCHORED_WRITER_FLY_FRAMES,
114 : : HANDLE_UNIX_FORCE_ZERO_EXT_LEADING,
115 : : HANDLE_USE_OLD_PRINTER_METRICS,
116 : : HANDLE_PROTECT_FORM,
117 : : HANDLE_TABS_RELATIVE_TO_INDENT,
118 : : HANDLE_RSID,
119 : : HANDLE_RSID_ROOT,
120 : : // #i89181#
121 : : HANDLE_TAB_AT_LEFT_INDENT_FOR_PARA_IN_LIST,
122 : : HANDLE_MODIFYPASSWORDINFO,
123 : : HANDLE_MATH_BASELINE_ALIGNMENT,
124 : : HANDLE_INVERT_BORDER_SPACING,
125 : : HANDLE_COLLAPSE_EMPTY_CELL_PARA,
126 : : HANDLE_SMALL_CAPS_PERCENTAGE_66,
127 : : HANDLE_TAB_OVERFLOW,
128 : : HANDLE_UNBREAKABLE_NUMBERINGS,
129 : : HANDLE_STYLES_NODEFAULT,
130 : : HANDLE_FLOATTABLE_NOMARGINS
131 : : };
132 : :
133 : 748 : MasterPropertySetInfo * lcl_createSettingsInfo()
134 : : {
135 : : static PropertyInfo aWriterSettingsInfoMap[] =
136 : : {
137 : : { RTL_CONSTASCII_STRINGPARAM("ForbiddenCharacters"), HANDLE_FORBIDDEN_CHARS, CPPUTYPE_REFFORBCHARS, 0, 0},
138 : : { RTL_CONSTASCII_STRINGPARAM("LinkUpdateMode"), HANDLE_LINK_UPDATE_MODE, CPPUTYPE_INT16, 0, 0},
139 : : { RTL_CONSTASCII_STRINGPARAM("FieldAutoUpdate"), HANDLE_FIELD_AUTO_UPDATE, CPPUTYPE_BOOLEAN, 0, 0},
140 : : { RTL_CONSTASCII_STRINGPARAM("ChartAutoUpdate"), HANDLE_CHART_AUTO_UPDATE, CPPUTYPE_BOOLEAN, 0, 0},
141 : : { RTL_CONSTASCII_STRINGPARAM("AddParaTableSpacing"), HANDLE_ADD_PARA_TABLE_SPACING, CPPUTYPE_BOOLEAN, 0, 0},
142 : : { RTL_CONSTASCII_STRINGPARAM("AddParaTableSpacingAtStart"), HANDLE_ADD_PARA_TABLE_SPACING_AT_START, CPPUTYPE_BOOLEAN, 0, 0},
143 : : { RTL_CONSTASCII_STRINGPARAM("AlignTabStopPosition"), HANDLE_ALIGN_TAB_STOP_POSITION, CPPUTYPE_BOOLEAN, 0, 0},
144 : : { RTL_CONSTASCII_STRINGPARAM("PrinterName"), HANDLE_PRINTER_NAME, CPPUTYPE_OUSTRING, 0, 0},
145 : : { RTL_CONSTASCII_STRINGPARAM("PrinterSetup"), HANDLE_PRINTER_SETUP, CPPUTYPE_SEQINT8, 0, 0},
146 : : { RTL_CONSTASCII_STRINGPARAM("IsKernAsianPunctuation"), HANDLE_IS_KERN_ASIAN_PUNCTUATION, CPPUTYPE_BOOLEAN, 0, 0},
147 : : { RTL_CONSTASCII_STRINGPARAM("CharacterCompressionType"), HANDLE_CHARACTER_COMPRESSION_TYPE, CPPUTYPE_INT16, 0, 0},
148 : : { RTL_CONSTASCII_STRINGPARAM("ApplyUserData"), HANDLE_APPLY_USER_DATA, CPPUTYPE_BOOLEAN, 0, 0},
149 : : { RTL_CONSTASCII_STRINGPARAM("SaveGlobalDocumentLinks"), HANDLE_SAVE_GLOBAL_DOCUMENT_LINKS, CPPUTYPE_BOOLEAN, 0, 0},
150 : : { RTL_CONSTASCII_STRINGPARAM("CurrentDatabaseDataSource"), HANDLE_CURRENT_DATABASE_DATA_SOURCE, CPPUTYPE_OUSTRING, 0, 0},
151 : : { RTL_CONSTASCII_STRINGPARAM("CurrentDatabaseCommand"), HANDLE_CURRENT_DATABASE_COMMAND, CPPUTYPE_OUSTRING, 0, 0},
152 : : { RTL_CONSTASCII_STRINGPARAM("CurrentDatabaseCommandType"), HANDLE_CURRENT_DATABASE_COMMAND_TYPE, CPPUTYPE_INT32, 0, 0},
153 : : { RTL_CONSTASCII_STRINGPARAM("SaveVersionOnClose"), HANDLE_SAVE_VERSION_ON_CLOSE, CPPUTYPE_BOOLEAN, 0, 0},
154 : : { RTL_CONSTASCII_STRINGPARAM("UpdateFromTemplate"), HANDLE_UPDATE_FROM_TEMPLATE, CPPUTYPE_BOOLEAN, 0, 0},
155 : :
156 : : { RTL_CONSTASCII_STRINGPARAM("PrinterIndependentLayout"), HANDLE_PRINTER_INDEPENDENT_LAYOUT, CPPUTYPE_INT16, 0, 0},
157 : : { RTL_CONSTASCII_STRINGPARAM("IsLabelDocument"), HANDLE_IS_LABEL_DOC, CPPUTYPE_BOOLEAN, 0, 0},
158 : : { RTL_CONSTASCII_STRINGPARAM("AddFrameOffsets"), HANDLE_IS_ADD_FLY_OFFSET, CPPUTYPE_BOOLEAN, 0, 0},
159 : : { RTL_CONSTASCII_STRINGPARAM("AddExternalLeading"), HANDLE_IS_ADD_EXTERNAL_LEADING, CPPUTYPE_BOOLEAN, 0, 0},
160 : : { RTL_CONSTASCII_STRINGPARAM("UseOldNumbering"), HANDLE_OLD_NUMBERING, CPPUTYPE_BOOLEAN, 0, 0}, // #111955#
161 : : { RTL_CONSTASCII_STRINGPARAM("OutlineLevelYieldsNumbering"), HANDLE_OUTLINELEVEL_YIELDS_NUMBERING, CPPUTYPE_BOOLEAN, 0, 0},
162 : : /* Stampit It disable the print cancel button of the shown progress dialog. */
163 : : { RTL_CONSTASCII_STRINGPARAM("AllowPrintJobCancel"), HANDLE_ALLOW_PRINTJOB_CANCEL, CPPUTYPE_BOOLEAN, 0, 0},
164 : : { RTL_CONSTASCII_STRINGPARAM("UseFormerLineSpacing"), HANDLE_USE_FORMER_LINE_SPACING, CPPUTYPE_BOOLEAN, 0, 0},
165 : : { RTL_CONSTASCII_STRINGPARAM("AddParaSpacingToTableCells"), HANDLE_ADD_PARA_SPACING_TO_TABLE_CELLS, CPPUTYPE_BOOLEAN, 0, 0},
166 : : { RTL_CONSTASCII_STRINGPARAM("UseFormerObjectPositioning"), HANDLE_USE_FORMER_OBJECT_POSITIONING, CPPUTYPE_BOOLEAN, 0, 0},
167 : : { RTL_CONSTASCII_STRINGPARAM("UseFormerTextWrapping"), HANDLE_USE_FORMER_TEXT_WRAPPING, CPPUTYPE_BOOLEAN, 0, 0},
168 : : { RTL_CONSTASCII_STRINGPARAM("RedlineProtectionKey"), HANDLE_CHANGES_PASSWORD, CPPUTYPE_SEQINT8, 0, 0},
169 : : { RTL_CONSTASCII_STRINGPARAM("ConsiderTextWrapOnObjPos"), HANDLE_CONSIDER_WRAP_ON_OBJPOS, CPPUTYPE_BOOLEAN, 0, 0},
170 : : { RTL_CONSTASCII_STRINGPARAM("IgnoreFirstLineIndentInNumbering"), HANDLE_IGNORE_FIRST_LINE_INDENT_IN_NUMBERING, CPPUTYPE_BOOLEAN, 0, 0},
171 : : { RTL_CONSTASCII_STRINGPARAM("DoNotJustifyLinesWithManualBreak"), HANDLE_DO_NOT_JUSTIFY_LINES_WITH_MANUAL_BREAK, CPPUTYPE_BOOLEAN, 0, 0},
172 : : { RTL_CONSTASCII_STRINGPARAM("DoNotResetParaAttrsForNumFont"), HANDLE_DO_NOT_RESET_PARA_ATTRS_FOR_NUM_FONT, CPPUTYPE_BOOLEAN, 0, 0},
173 : : { RTL_CONSTASCII_STRINGPARAM("TableRowKeep"), HANDLE_TABLE_ROW_KEEP, CPPUTYPE_BOOLEAN, 0, 0},
174 : : { RTL_CONSTASCII_STRINGPARAM("IgnoreTabsAndBlanksForLineCalculation"), HANDLE_IGNORE_TABS_AND_BLANKS_FOR_LINE_CALCULATION, CPPUTYPE_BOOLEAN, 0, 0},
175 : : { RTL_CONSTASCII_STRINGPARAM("LoadReadonly"), HANDLE_LOAD_READONLY, CPPUTYPE_BOOLEAN, 0, 0},
176 : : { RTL_CONSTASCII_STRINGPARAM("DoNotCaptureDrawObjsOnPage"), HANDLE_DO_NOT_CAPTURE_DRAW_OBJS_ON_PAGE, CPPUTYPE_BOOLEAN, 0, 0},
177 : : { RTL_CONSTASCII_STRINGPARAM("ClipAsCharacterAnchoredWriterFlyFrames"), HANDLE_CLIP_AS_CHARACTER_ANCHORED_WRITER_FLY_FRAMES, CPPUTYPE_BOOLEAN, 0, 0},
178 : : { RTL_CONSTASCII_STRINGPARAM("UnxForceZeroExtLeading"), HANDLE_UNIX_FORCE_ZERO_EXT_LEADING, CPPUTYPE_BOOLEAN, 0, 0},
179 : : { RTL_CONSTASCII_STRINGPARAM("UseOldPrinterMetrics"), HANDLE_USE_OLD_PRINTER_METRICS, CPPUTYPE_BOOLEAN, 0, 0},
180 : : { RTL_CONSTASCII_STRINGPARAM("TabsRelativeToIndent"), HANDLE_TABS_RELATIVE_TO_INDENT, CPPUTYPE_BOOLEAN, 0, 0},
181 : : { RTL_CONSTASCII_STRINGPARAM("Rsid"), HANDLE_RSID, CPPUTYPE_INT32, 0, 0},
182 : : { RTL_CONSTASCII_STRINGPARAM("RsidRoot"), HANDLE_RSID_ROOT, CPPUTYPE_INT32, 0, 0},
183 : : { RTL_CONSTASCII_STRINGPARAM("ProtectForm"), HANDLE_PROTECT_FORM, CPPUTYPE_BOOLEAN, 0, 0},
184 : : // #i89181#
185 : : { RTL_CONSTASCII_STRINGPARAM("TabAtLeftIndentForParagraphsInList"), HANDLE_TAB_AT_LEFT_INDENT_FOR_PARA_IN_LIST, CPPUTYPE_BOOLEAN, 0, 0},
186 : : { RTL_CONSTASCII_STRINGPARAM("ModifyPasswordInfo"), HANDLE_MODIFYPASSWORDINFO, CPPUTYPE_PROPERTYVALUE, 0, 0},
187 : : { RTL_CONSTASCII_STRINGPARAM("MathBaselineAlignment"), HANDLE_MATH_BASELINE_ALIGNMENT, CPPUTYPE_BOOLEAN, 0, 0},
188 : : { RTL_CONSTASCII_STRINGPARAM("InvertBorderSpacing"), HANDLE_INVERT_BORDER_SPACING, CPPUTYPE_BOOLEAN, 0, 0},
189 : : { RTL_CONSTASCII_STRINGPARAM("CollapseEmptyCellPara"), HANDLE_COLLAPSE_EMPTY_CELL_PARA, CPPUTYPE_BOOLEAN, 0, 0},
190 : : { RTL_CONSTASCII_STRINGPARAM("SmallCapsPercentage66"), HANDLE_SMALL_CAPS_PERCENTAGE_66, CPPUTYPE_BOOLEAN, 0, 0},
191 : : { RTL_CONSTASCII_STRINGPARAM("TabOverflow"), HANDLE_TAB_OVERFLOW, CPPUTYPE_BOOLEAN, 0, 0},
192 : : { RTL_CONSTASCII_STRINGPARAM("UnbreakableNumberings"), HANDLE_UNBREAKABLE_NUMBERINGS, CPPUTYPE_BOOLEAN, 0, 0},
193 : : { RTL_CONSTASCII_STRINGPARAM("StylesNoDefault"), HANDLE_STYLES_NODEFAULT, CPPUTYPE_BOOLEAN, 0, 0},
194 : : { RTL_CONSTASCII_STRINGPARAM("FloattableNomargins"), HANDLE_FLOATTABLE_NOMARGINS, CPPUTYPE_BOOLEAN, 0, 0},
195 : : /*
196 : : * As OS said, we don't have a view when we need to set this, so I have to
197 : : * find another solution before adding them to this property set - MTG
198 : : { RTL_CONSTASCII_STRINGPARAM("IsGridVisible"), HANDLE_IS_GRID_VISIBLE, CPPUTYPE_BOOLEAN, 0, 0},
199 : : { RTL_CONSTASCII_STRINGPARAM("IsSnapToGrid"), HANDLE_IS_SNAP_TO_GRID, CPPUTYPE_BOOLEAN, 0, 0},
200 : : { RTL_CONSTASCII_STRINGPARAM("IsSynchroniseAxes"), HANDLE_IS_SYNCHRONISE_AXES, CPPUTYPE_BOOLEAN, 0, 0},
201 : : { RTL_CONSTASCII_STRINGPARAM("HorizontalGridResolution"), HANDLE_HORIZONTAL_GRID_RESOLUTION, CPPUTYPE_INT32, 0, 0},
202 : : { RTL_CONSTASCII_STRINGPARAM("HorizontalGridSubdivision"), HANDLE_HORIZONTAL_GRID_SUBDIVISION, CPPUTYPE_INT16, 0, 0},
203 : : { RTL_CONSTASCII_STRINGPARAM("VerticalGridResolution"), HANDLE_VERTICAL_GRID_RESOLUTION, CPPUTYPE_INT32, 0, 0},
204 : : { RTL_CONSTASCII_STRINGPARAM("VerticalGridSubdivision"), HANDLE_VERTICAL_GRID_SUBDIVISION, CPPUTYPE_INT16, 0, 0},
205 : :
206 : : { RTL_CONSTASCII_STRINGPARAM("ShowParagraphEnd"), HANDLE_SHOW_PARAGRAPH_END, CPPUTYPE_BOOLEAN, 0, 0},
207 : : { RTL_CONSTASCII_STRINGPARAM("ShowOptionalHyphens"), HANDLE_SHOW_OPTIONAL_HYPHENS, CPPUTYPE_BOOLEAN, 0, 0},
208 : : { RTL_CONSTASCII_STRINGPARAM("ShowSpaces"), HANDLE_SHOW_SPACES, CPPUTYPE_BOOLEAN, 0, 0},
209 : : { RTL_CONSTASCII_STRINGPARAM("ShowTabs"), HANDLE_SHOW_TABS, CPPUTYPE_BOOLEAN, 0, 0},
210 : : { RTL_CONSTASCII_STRINGPARAM("ShowBreaks"), HANDLE_SHOW_BREAKS, CPPUTYPE_BOOLEAN, 0, 0},
211 : : { RTL_CONSTASCII_STRINGPARAM("ShowHiddenText"), HANDLE_SHOW_HIDDEN_TEXT, CPPUTYPE_BOOLEAN, 0, 0},
212 : : { RTL_CONSTASCII_STRINGPARAM("ShowHiddenParagraphs"), HANDLE_SHOW_HIDDEN_PARAGRAPHS, CPPUTYPE_BOOLEAN, 0, 0},
213 : :
214 : : { RTL_CONSTASCII_STRINGPARAM("ShowTextLimitGuide"), HANDLE_SHOW_TEXT_LIMIT_GUIDE, CPPUTYPE_BOOLEAN, 0, 0},
215 : : { RTL_CONSTASCII_STRINGPARAM("ShowTableLimitGuide"), HANDLE_SHOW_TABLE_LIMIT_GUIDE, CPPUTYPE_BOOLEAN, 0, 0},
216 : : { RTL_CONSTASCII_STRINGPARAM("ShowSectionLimitGuide"), HANDLE_SHOW_SECTION_LIMIT_GUIDE, CPPUTYPE_BOOLEAN, 0, 0},
217 : : { RTL_CONSTASCII_STRINGPARAM("ShowGuidesWhileMoving"), HANDLE_SHOW_GUIDES_WHILE_MOVING, CPPUTYPE_BOOLEAN, 0, 0},
218 : : */
219 : : { NULL, 0, 0, CPPUTYPE_UNKNOWN, 0, 0 }
220 : : };
221 : 748 : return new MasterPropertySetInfo ( aWriterSettingsInfoMap );
222 : : }
223 : :
224 : 748 : SwXDocumentSettings::SwXDocumentSettings ( SwXTextDocument * pModel )
225 : : : MasterPropertySet ( lcl_createSettingsInfo (),
226 : 748 : &Application::GetSolarMutex () )
227 : : , mxModel ( pModel )
228 : : , mpModel ( pModel )
229 : : , mpDocSh ( NULL )
230 : : , mpDoc ( NULL )
231 [ + - ][ + - ]: 748 : , mpPrinter( NULL )
232 : : {
233 [ + - ][ + - ]: 748 : registerSlave ( new SwXPrintSettings ( PRINT_SETTINGS_DOCUMENT, mpModel->GetDocShell()->GetDoc() ) );
234 : 748 : }
235 : :
236 : 1496 : SwXDocumentSettings::~SwXDocumentSettings()
237 [ + - ]: 748 : throw()
238 : : {
239 [ - + ]: 1496 : }
240 : :
241 : 756 : Any SAL_CALL SwXDocumentSettings::queryInterface( const Type& rType )
242 : : throw(RuntimeException)
243 : : {
244 : : return ::cppu::queryInterface ( rType,
245 : : // OWeakObject interfaces
246 : : dynamic_cast< XInterface* > ( dynamic_cast< OWeakObject* >(this) ),
247 : : dynamic_cast< XWeak* > ( this ),
248 : : // my own interfaces
249 : : dynamic_cast< XPropertySet* > ( this ),
250 : : dynamic_cast< XPropertyState* > ( this ),
251 : : dynamic_cast< XMultiPropertySet* > ( this ),
252 : : dynamic_cast< XServiceInfo* > ( this ),
253 : 756 : dynamic_cast< XTypeProvider* > ( this ) );
254 : : }
255 : 3683 : void SwXDocumentSettings::acquire ()
256 : : throw ()
257 : : {
258 : 3683 : OWeakObject::acquire();
259 : 3683 : }
260 : 3683 : void SwXDocumentSettings::release ()
261 : : throw ()
262 : : {
263 : 3683 : OWeakObject::release();
264 : 3683 : }
265 : :
266 : 0 : uno::Sequence< uno::Type > SAL_CALL SwXDocumentSettings::getTypes( )
267 : : throw (RuntimeException)
268 : : {
269 [ # # ]: 0 : SolarMutexGuard aGuard;
270 : :
271 [ # # ]: 0 : uno::Sequence< uno::Type > aBaseTypes( 5 );
272 [ # # ]: 0 : uno::Type* pBaseTypes = aBaseTypes.getArray();
273 : :
274 : : // from MasterPropertySet
275 [ # # ]: 0 : pBaseTypes[0] = ::getCppuType((Reference< XPropertySet >*)0);
276 [ # # ]: 0 : pBaseTypes[1] = ::getCppuType((Reference< XPropertyState >*)0);
277 [ # # ]: 0 : pBaseTypes[2] = ::getCppuType((Reference< XMultiPropertySet >*)0);
278 : : //
279 [ # # ]: 0 : pBaseTypes[3] = ::getCppuType((Reference< XServiceInfo >*)0);
280 [ # # ]: 0 : pBaseTypes[4] = ::getCppuType((Reference< XTypeProvider >*)0);
281 : :
282 [ # # ]: 0 : return aBaseTypes;
283 : : }
284 : :
285 : : namespace
286 : : {
287 : : class theSwXDocumentSettingsImplementationId : public rtl::Static< UnoTunnelIdInit, theSwXDocumentSettingsImplementationId > {};
288 : : }
289 : :
290 : 0 : uno::Sequence< sal_Int8 > SAL_CALL SwXDocumentSettings::getImplementationId( )
291 : : throw (RuntimeException)
292 : : {
293 : 0 : return theSwXDocumentSettingsImplementationId::get().getSeq();
294 : : }
295 : :
296 : 4618 : void SwXDocumentSettings::_preSetValues ()
297 : : throw(beans::UnknownPropertyException, beans::PropertyVetoException, lang::IllegalArgumentException, lang::WrappedTargetException )
298 : : {
299 : 4618 : mpDocSh = mpModel->GetDocShell();
300 : 4618 : mpDoc = mpDocSh->GetDoc();
301 : :
302 [ - + ][ + - ]: 4618 : if( NULL == mpDoc || NULL == mpDocSh )
303 [ # # ]: 0 : throw UnknownPropertyException();
304 : 4618 : }
305 : :
306 : :
307 : 4618 : void SwXDocumentSettings::_setSingleValue( const comphelper::PropertyInfo & rInfo, const uno::Any &rValue )
308 : : throw(beans::UnknownPropertyException, beans::PropertyVetoException, lang::IllegalArgumentException, lang::WrappedTargetException )
309 : : {
310 [ - + ]: 4618 : if (rInfo.mnAttributes & PropertyAttribute::READONLY)
311 [ # # ][ # # ]: 0 : throw PropertyVetoException ( OUString ( RTL_CONSTASCII_USTRINGPARAM ( "Property is read-only: " ) ) + rtl::OUString::createFromAscii(rInfo.mpName), static_cast < cppu::OWeakObject * > ( 0 ) );
[ # # ]
312 : :
313 [ - + + + : 4618 : switch( rInfo.mnHandle )
+ + + + +
+ + + + +
+ + + + +
+ + + + +
+ + + + +
- + + + +
+ + + + +
+ + + + +
+ + - + +
+ + + + +
+ - ]
314 : : {
315 : : case HANDLE_FORBIDDEN_CHARS:
316 : 0 : break;
317 : : case HANDLE_LINK_UPDATE_MODE:
318 : : {
319 : 63 : sal_Int16 nMode = 0;
320 : 63 : rValue >>= nMode;
321 [ + - ]: 63 : switch (nMode)
322 : : {
323 : : case NEVER:
324 : : case MANUAL:
325 : : case AUTOMATIC:
326 : : case GLOBALSETTING:
327 : 63 : break;
328 : : default:
329 [ # # ]: 0 : throw IllegalArgumentException();
330 : : }
331 [ + - ]: 63 : mpDoc->setLinkUpdateMode(nMode);
332 : : }
333 : 63 : break;
334 : : case HANDLE_FIELD_AUTO_UPDATE:
335 : : {
336 : 63 : sal_Bool bUpdateField = *(sal_Bool*)rValue.getValue();
337 : 63 : SwFldUpdateFlags nFlag = mpDoc->getFieldUpdateFlags(true);
338 : : mpDoc->setFieldUpdateFlags( bUpdateField ?
339 : : nFlag == AUTOUPD_FIELD_AND_CHARTS ?
340 : : AUTOUPD_FIELD_AND_CHARTS :
341 : : AUTOUPD_FIELD_ONLY :
342 [ + - ][ + - ]: 63 : AUTOUPD_OFF );
343 : : }
344 : 63 : break;
345 : : case HANDLE_CHART_AUTO_UPDATE:
346 : : {
347 : 65 : sal_Bool bUpdateChart = *(sal_Bool*)rValue.getValue();
348 : 65 : SwFldUpdateFlags nFlag = mpDoc->getFieldUpdateFlags(true);
349 : : mpDoc->setFieldUpdateFlags( (nFlag == AUTOUPD_FIELD_ONLY || nFlag == AUTOUPD_FIELD_AND_CHARTS ) ?
350 : : bUpdateChart ?
351 : : AUTOUPD_FIELD_AND_CHARTS :
352 : : AUTOUPD_FIELD_ONLY :
353 [ + - ][ + + ]: 65 : AUTOUPD_OFF );
[ + - ]
354 : : }
355 : 65 : break;
356 : : case HANDLE_ADD_PARA_TABLE_SPACING:
357 : : {
358 : 538 : sal_Bool bParaSpace = sal_False;
359 : 538 : rValue >>= bParaSpace;
360 [ + - ]: 538 : mpDoc->set(IDocumentSettingAccess::PARA_SPACE_MAX, bParaSpace );
361 : : }
362 : 538 : break;
363 : : case HANDLE_ADD_PARA_TABLE_SPACING_AT_START:
364 : : {
365 : 65 : sal_Bool bParaSpacePage = sal_False;
366 : 65 : rValue >>= bParaSpacePage;
367 [ + - ]: 65 : mpDoc->set(IDocumentSettingAccess::PARA_SPACE_MAX_AT_PAGES, bParaSpacePage );
368 : : }
369 : 65 : break;
370 : : case HANDLE_ALIGN_TAB_STOP_POSITION:
371 : : {
372 : 65 : sal_Bool bAlignTab = *(sal_Bool*)rValue.getValue();
373 : 65 : mpDoc->set(IDocumentSettingAccess::TAB_COMPAT, bAlignTab);
374 : : }
375 : 65 : break;
376 : : case HANDLE_PRINTER_NAME:
377 : : {
378 : : //the printer must be created
379 : 63 : OUString sPrinterName;
380 [ + - ]: 63 : if( rValue >>= sPrinterName )
381 : : {
382 [ + - ][ + + ]: 63 : if( !mpPrinter && !sPrinterName.isEmpty() && mpDocSh->GetCreateMode() != SFX_CREATE_MODE_EMBEDDED )
[ + - ][ + + ]
383 : : {
384 [ + - ]: 7 : SfxPrinter* pPrinter = mpDoc->getPrinter( true );
385 [ + - ]: 7 : if ( OUString ( pPrinter->GetName()) != sPrinterName )
386 : : {
387 [ + - ][ + - ]: 7 : SfxPrinter *pNewPrinter = new SfxPrinter ( pPrinter->GetOptions().Clone(), sPrinterName );
[ + - ][ + - ]
[ + - ]
388 [ - + ]: 7 : if( pNewPrinter->IsKnown() )
389 : : {
390 : : // set printer only once; in _postSetValues
391 : 0 : mpPrinter = pNewPrinter;
392 : : }
393 : : else
394 : : {
395 [ + - ][ + - ]: 7 : delete pNewPrinter;
396 : : }
397 : : }
398 : : }
399 : : }
400 : : else
401 [ # # ]: 63 : throw IllegalArgumentException();
402 : : }
403 : 63 : break;
404 : : case HANDLE_PRINTER_SETUP:
405 : : {
406 [ + - ]: 63 : Sequence < sal_Int8 > aSequence;
407 [ + - ][ + - ]: 63 : if ( rValue >>= aSequence )
408 : : {
409 : 63 : sal_uInt32 nSize = aSequence.getLength();
410 [ + + ]: 63 : if( nSize > 0 )
411 : : {
412 [ + - ]: 7 : SvMemoryStream aStream (aSequence.getArray(), nSize,
413 [ + - ]: 7 : STREAM_READ );
414 [ + - ]: 7 : aStream.Seek ( STREAM_SEEK_TO_BEGIN );
415 : : static sal_uInt16 const nRange[] =
416 : : {
417 : : FN_PARAM_ADDPRINTER, FN_PARAM_ADDPRINTER,
418 : : SID_HTML_MODE, SID_HTML_MODE,
419 : : SID_PRINTER_NOTFOUND_WARN, SID_PRINTER_NOTFOUND_WARN,
420 : : SID_PRINTER_CHANGESTODOC, SID_PRINTER_CHANGESTODOC,
421 : : 0
422 : : };
423 [ + - ][ + - ]: 7 : SfxItemSet *pItemSet = new SfxItemSet( mpDoc->GetAttrPool(), nRange );
424 [ + - ]: 7 : SfxPrinter *pPrinter = SfxPrinter::Create ( aStream, pItemSet );
425 : :
426 : : // set printer only once; in _postSetValues
427 [ - + ][ # # ]: 7 : delete mpPrinter;
428 [ + - ]: 7 : mpPrinter = pPrinter;
429 : : }
430 : : }
431 : : else
432 [ # # ][ + - ]: 63 : throw IllegalArgumentException();
433 : : }
434 : 63 : break;
435 : : case HANDLE_IS_KERN_ASIAN_PUNCTUATION:
436 : : {
437 : 63 : sal_Bool bIsKern = *(sal_Bool*)(rValue).getValue();
438 : 63 : mpDoc->set(IDocumentSettingAccess::KERN_ASIAN_PUNCTUATION, bIsKern);
439 : 63 : SwEditShell* pEditSh = mpDoc->GetEditShell();
440 [ - + ]: 63 : if(pEditSh)
441 : 0 : pEditSh->ChgHyphenation();
442 : : }
443 : 63 : break;
444 : : case HANDLE_CHARACTER_COMPRESSION_TYPE:
445 : : {
446 : 63 : sal_Int16 nMode = 0;
447 : 63 : rValue >>= nMode;
448 [ + - ]: 63 : switch (nMode)
449 : : {
450 : : case CHARCOMPRESS_NONE:
451 : : case CHARCOMPRESS_PUNCTUATION:
452 : : case CHARCOMPRESS_PUNCTUATION_KANA:
453 : 63 : break;
454 : : default:
455 [ # # ]: 0 : throw IllegalArgumentException();
456 : : }
457 [ + - ]: 63 : mpDoc->setCharacterCompressionType(static_cast < SwCharCompressType > (nMode) );
458 : : }
459 : 63 : break;
460 : : case HANDLE_APPLY_USER_DATA:
461 : : {
462 : 63 : mpDocSh->SetUseUserData( *(sal_Bool*)rValue.getValue() );
463 : : }
464 : 63 : break;
465 : : case HANDLE_SAVE_GLOBAL_DOCUMENT_LINKS:
466 : : {
467 : 65 : sal_Bool bSaveGlobal = *(sal_Bool*)rValue.getValue();
468 : 65 : mpDoc->set(IDocumentSettingAccess::GLOBAL_DOCUMENT_SAVE_LINKS, bSaveGlobal );
469 : : }
470 : 65 : break;
471 : : case HANDLE_CURRENT_DATABASE_DATA_SOURCE:
472 : : {
473 [ + - ]: 63 : SwDBData aData = mpDoc->GetDBData();
474 [ + - ]: 63 : if ( rValue >>= aData.sDataSource )
475 [ + - ]: 63 : mpDoc->ChgDBData( aData );
476 : : }
477 : 63 : break;
478 : : case HANDLE_CURRENT_DATABASE_COMMAND:
479 : : {
480 [ + - ]: 63 : SwDBData aData = mpDoc->GetDBData();
481 : :
482 [ + - ]: 63 : if ( rValue >>= aData.sCommand )
483 [ + - ]: 63 : mpDoc->ChgDBData( aData );
484 : :
485 : : SAL_WARN_IF( aData.sDataSource.isEmpty() && !aData.sCommand.isEmpty(), "sw.uno",
486 : 63 : "\"CurrentDatabaseCommand\" property possibly set before \"CurrentDatabaseDataSource\"" );
487 : : }
488 : 63 : break;
489 : : case HANDLE_CURRENT_DATABASE_COMMAND_TYPE:
490 : : {
491 [ + - ]: 63 : SwDBData aData = mpDoc->GetDBData();
492 [ + - ]: 63 : if ( rValue >>= aData.nCommandType )
493 [ + - ]: 63 : mpDoc->ChgDBData( aData );
494 : : SAL_WARN_IF( aData.nCommandType && aData.sDataSource.isEmpty(), "sw.uno",
495 : : "\"CurrentDatabaseCommandType\" property possibly set before \"CurrentDatabaseDataSource\"" );
496 : : SAL_WARN_IF( aData.nCommandType && aData.sCommand.isEmpty(), "sw.uno",
497 : 63 : "\"CurrentDatabaseCommandType\" property possibly set before \"CurrentDatabaseCommand\"" );
498 : : }
499 : 63 : break;
500 : : case HANDLE_SAVE_VERSION_ON_CLOSE:
501 : : {
502 : 63 : mpDocSh->SetSaveVersionOnClose( *(sal_Bool*)rValue.getValue() );
503 : : }
504 : 63 : break;
505 : : case HANDLE_UPDATE_FROM_TEMPLATE:
506 : : {
507 : 63 : mpDocSh->SetQueryLoadTemplate( *(sal_Bool*)rValue.getValue() );
508 : : }
509 : 63 : break;
510 : : case HANDLE_PRINTER_INDEPENDENT_LAYOUT:
511 : : {
512 : 63 : sal_Int16 nTmp = 0;
513 : 63 : rValue >>= nTmp;
514 : :
515 : 63 : bool bUseVirDev = true;
516 : 63 : bool bHiResVirDev = true;
517 [ + + ]: 63 : if( nTmp == document::PrinterIndependentLayout::DISABLED )
518 : 5 : bUseVirDev = false;
519 [ - + ]: 58 : else if ( nTmp == document::PrinterIndependentLayout::LOW_RESOLUTION )
520 : 0 : bHiResVirDev = false;
521 [ - + ]: 58 : else if ( nTmp != document::PrinterIndependentLayout::HIGH_RESOLUTION )
522 [ # # ]: 0 : throw IllegalArgumentException();
523 : :
524 [ + - ]: 63 : mpDoc->setReferenceDeviceType( bUseVirDev, bHiResVirDev );
525 : : }
526 : 63 : break;
527 : : case HANDLE_IS_LABEL_DOC :
528 : : {
529 : 65 : sal_Bool bSet = sal_False;
530 [ - + ]: 65 : if(!(rValue >>= bSet))
531 [ # # ]: 0 : throw IllegalArgumentException();
532 [ + - ]: 65 : mpDoc->set(IDocumentSettingAccess::LABEL_DOCUMENT, bSet);
533 : : }
534 : 65 : break;
535 : : case HANDLE_IS_ADD_FLY_OFFSET:
536 : : {
537 : 63 : sal_Bool bTmp = *(sal_Bool*)rValue.getValue();
538 : 63 : mpDoc->set(IDocumentSettingAccess::ADD_FLY_OFFSETS, bTmp);
539 : : }
540 : 63 : break;
541 : : case HANDLE_IS_ADD_EXTERNAL_LEADING:
542 : : {
543 : 63 : sal_Bool bTmp = *(sal_Bool*)rValue.getValue();
544 : 63 : mpDoc->set(IDocumentSettingAccess::ADD_EXT_LEADING, bTmp);
545 : : }
546 : 63 : break;
547 : : case HANDLE_OLD_NUMBERING: // #111955#
548 : : {
549 : 63 : sal_Bool bTmp = *(sal_Bool*)rValue.getValue();
550 : 63 : mpDoc->set(IDocumentSettingAccess::OLD_NUMBERING, bTmp);
551 : : }
552 : : case HANDLE_OUTLINELEVEL_YIELDS_NUMBERING:
553 : : {
554 : 126 : sal_Bool bTmp = *(sal_Bool*)rValue.getValue();
555 : 126 : mpDoc->set(IDocumentSettingAccess::OUTLINE_LEVEL_YIELDS_OUTLINE_RULE, bTmp);
556 : : }
557 : 126 : break;
558 : : case HANDLE_ALLOW_PRINTJOB_CANCEL:
559 : : {
560 : 63 : sal_Bool bState = sal_False;
561 [ - + ]: 63 : if (!(rValue >>= bState))
562 [ # # ]: 0 : throw IllegalArgumentException();
563 [ + - ]: 63 : mpDocSh->Stamp_SetPrintCancelState(bState);
564 : : }
565 : 63 : break;
566 : : case HANDLE_USE_FORMER_LINE_SPACING:
567 : : {
568 : 65 : sal_Bool bTmp = *(sal_Bool*)rValue.getValue();
569 : 65 : mpDoc->set(IDocumentSettingAccess::OLD_LINE_SPACING, bTmp);
570 : : }
571 : 65 : break;
572 : : case HANDLE_ADD_PARA_SPACING_TO_TABLE_CELLS:
573 : : {
574 : 65 : sal_Bool bTmp = *(sal_Bool*)rValue.getValue();
575 : 65 : mpDoc->set(IDocumentSettingAccess::ADD_PARA_SPACING_TO_TABLE_CELLS, bTmp);
576 : : }
577 : 65 : break;
578 : : case HANDLE_USE_FORMER_OBJECT_POSITIONING:
579 : : {
580 : 65 : sal_Bool bTmp = *(sal_Bool*)rValue.getValue();
581 : 65 : mpDoc->set(IDocumentSettingAccess::USE_FORMER_OBJECT_POS, bTmp);
582 : : }
583 : 65 : break;
584 : : case HANDLE_USE_FORMER_TEXT_WRAPPING:
585 : : {
586 : 63 : sal_Bool bTmp = *(sal_Bool*)rValue.getValue();
587 : 63 : mpDoc->set(IDocumentSettingAccess::USE_FORMER_TEXT_WRAPPING, bTmp);
588 : : }
589 : 63 : break;
590 : : case HANDLE_CHANGES_PASSWORD:
591 : : {
592 [ # # ]: 0 : Sequence <sal_Int8> aNew;
593 [ # # ][ # # ]: 0 : if(rValue >>= aNew)
594 : : {
595 [ # # ]: 0 : mpDoc->SetRedlinePassword(aNew);
596 [ # # ]: 0 : if(aNew.getLength())
597 : : {
598 [ # # ]: 0 : sal_uInt16 eMode = mpDoc->GetRedlineMode();
599 : 0 : eMode = eMode|nsRedlineMode_t::REDLINE_ON;
600 [ # # ]: 0 : mpDoc->SetRedlineMode((RedlineMode_t)( eMode ));
601 : : }
602 [ # # ]: 0 : }
603 : : }
604 : 0 : break;
605 : : case HANDLE_CONSIDER_WRAP_ON_OBJPOS:
606 : : {
607 : 63 : sal_Bool bTmp = *(sal_Bool*)rValue.getValue();
608 : 63 : mpDoc->set(IDocumentSettingAccess::CONSIDER_WRAP_ON_OBJECT_POSITION, bTmp );
609 : : }
610 : 63 : break;
611 : : case HANDLE_IGNORE_FIRST_LINE_INDENT_IN_NUMBERING:
612 : : {
613 : 63 : sal_Bool bTmp = *(sal_Bool*)rValue.getValue();
614 : 63 : mpDoc->set(IDocumentSettingAccess::IGNORE_FIRST_LINE_INDENT_IN_NUMBERING, bTmp);
615 : : }
616 : 63 : break;
617 : : case HANDLE_DO_NOT_JUSTIFY_LINES_WITH_MANUAL_BREAK:
618 : : {
619 : 63 : sal_Bool bTmp = *(sal_Bool*)rValue.getValue();
620 : 63 : mpDoc->set(IDocumentSettingAccess::DO_NOT_JUSTIFY_LINES_WITH_MANUAL_BREAK, bTmp);
621 : : }
622 : 63 : break;
623 : : case HANDLE_DO_NOT_RESET_PARA_ATTRS_FOR_NUM_FONT:
624 : : {
625 : 63 : sal_Bool bTmp = *(sal_Bool*)rValue.getValue();
626 : 63 : mpDoc->set(IDocumentSettingAccess::DO_NOT_RESET_PARA_ATTRS_FOR_NUM_FONT, bTmp);
627 : : }
628 : 63 : break;
629 : : case HANDLE_TABLE_ROW_KEEP:
630 : : {
631 : 63 : sal_Bool bTmp = *(sal_Bool*)rValue.getValue();
632 : 63 : mpDoc->set(IDocumentSettingAccess::TABLE_ROW_KEEP, bTmp);
633 : : }
634 : 63 : break;
635 : : case HANDLE_IGNORE_TABS_AND_BLANKS_FOR_LINE_CALCULATION:
636 : : {
637 : 63 : sal_Bool bTmp = *(sal_Bool*)rValue.getValue();
638 : 63 : mpDoc->set(IDocumentSettingAccess::IGNORE_TABS_AND_BLANKS_FOR_LINE_CALCULATION, bTmp);
639 : : }
640 : 63 : break;
641 : : case HANDLE_LOAD_READONLY:
642 : : {
643 : 63 : mpDocSh->SetLoadReadonly( *(sal_Bool*)rValue.getValue() );
644 : : }
645 : 63 : break;
646 : : case HANDLE_DO_NOT_CAPTURE_DRAW_OBJS_ON_PAGE:
647 : : {
648 : 63 : sal_Bool bTmp = *(sal_Bool*)rValue.getValue();
649 : 63 : mpDoc->set(IDocumentSettingAccess::DO_NOT_CAPTURE_DRAW_OBJS_ON_PAGE, bTmp);
650 : : }
651 : 63 : break;
652 : : case HANDLE_CLIP_AS_CHARACTER_ANCHORED_WRITER_FLY_FRAMES:
653 : : {
654 : 63 : sal_Bool bTmp = *(sal_Bool*)rValue.getValue();
655 : 63 : mpDoc->set(IDocumentSettingAccess::CLIP_AS_CHARACTER_ANCHORED_WRITER_FLY_FRAME, bTmp);
656 : : }
657 : 63 : break;
658 : : case HANDLE_UNIX_FORCE_ZERO_EXT_LEADING:
659 : : {
660 : 63 : sal_Bool bTmp = *(sal_Bool*)rValue.getValue();
661 : 63 : mpDoc->set(IDocumentSettingAccess::UNIX_FORCE_ZERO_EXT_LEADING, bTmp);
662 : : }
663 : 63 : break;
664 : : case HANDLE_USE_OLD_PRINTER_METRICS:
665 : : {
666 : 63 : sal_Bool bTmp = *(sal_Bool*)rValue.getValue();
667 : 63 : mpDoc->set(IDocumentSettingAccess::USE_OLD_PRINTER_METRICS, bTmp);
668 : : }
669 : 63 : break;
670 : : case HANDLE_TABS_RELATIVE_TO_INDENT:
671 : : {
672 : 534 : sal_Bool bTmp = *(sal_Bool*)rValue.getValue();
673 : 534 : mpDoc->set(IDocumentSettingAccess::TABS_RELATIVE_TO_INDENT, bTmp);
674 : : }
675 : 534 : break;
676 : : case HANDLE_RSID:
677 : : {
678 : 37 : sal_uInt32 nTmp = 0;
679 : 37 : rValue >>= nTmp;
680 [ + - ]: 37 : mpDoc->setRsid( nTmp );
681 : : }
682 : 37 : break;
683 : : case HANDLE_RSID_ROOT:
684 : : {
685 : 37 : sal_uInt32 nTmp = 0;
686 : 37 : rValue >>= nTmp;
687 [ + - ]: 37 : mpDoc->setRsidRoot( nTmp );
688 : : }
689 : 37 : break;
690 : : case HANDLE_PROTECT_FORM:
691 : : {
692 : 59 : sal_Bool bTmp = *(sal_Bool*)rValue.getValue();
693 : 59 : mpDoc->set(IDocumentSettingAccess::PROTECT_FORM, bTmp);
694 : : }
695 : 59 : break;
696 : : // #i89181#
697 : : case HANDLE_TAB_AT_LEFT_INDENT_FOR_PARA_IN_LIST:
698 : : {
699 : 61 : sal_Bool bTmp = *(sal_Bool*)rValue.getValue();
700 : 61 : mpDoc->set(IDocumentSettingAccess::TAB_AT_LEFT_INDENT_FOR_PARA_IN_LIST, bTmp);
701 : : }
702 : 61 : break;
703 : : case HANDLE_MODIFYPASSWORDINFO:
704 : : {
705 [ # # ]: 0 : uno::Sequence< beans::PropertyValue > aInfo;
706 [ # # ][ # # ]: 0 : if ( !( rValue >>= aInfo ) )
707 : : throw lang::IllegalArgumentException(
708 : : ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "Value of type Sequence<PropertyValue> expected!" ) ),
709 : : uno::Reference< uno::XInterface >(),
710 [ # # ][ # # ]: 0 : 2 );
711 : :
712 [ # # ][ # # ]: 0 : if ( !mpDocSh->SetModifyPasswordInfo( aInfo ) )
713 : : throw beans::PropertyVetoException(
714 : : ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "The hash is not allowed to be changed now!" ) ),
715 [ # # ][ # # ]: 0 : uno::Reference< uno::XInterface >() );
[ # # ]
716 : : }
717 : 0 : break;
718 : : case HANDLE_MATH_BASELINE_ALIGNMENT:
719 : : {
720 : 46 : sal_Bool bTmp = *(sal_Bool*)rValue.getValue();
721 : 46 : mpDoc->set( IDocumentSettingAccess::MATH_BASELINE_ALIGNMENT, bTmp );
722 : : }
723 : 46 : break;
724 : : case HANDLE_INVERT_BORDER_SPACING:
725 : : {
726 : 48 : sal_Bool bTmp = *(sal_Bool*)rValue.getValue();
727 : 48 : mpDoc->set(IDocumentSettingAccess::INVERT_BORDER_SPACING, bTmp);
728 : : }
729 : 48 : break;
730 : : case HANDLE_COLLAPSE_EMPTY_CELL_PARA:
731 : : {
732 : 48 : sal_Bool bTmp = *(sal_Bool*)rValue.getValue();
733 : 48 : mpDoc->set(IDocumentSettingAccess::COLLAPSE_EMPTY_CELL_PARA, bTmp);
734 : : }
735 : 48 : break;
736 : : case HANDLE_SMALL_CAPS_PERCENTAGE_66:
737 : : {
738 : 63 : sal_Bool bTmp = *(sal_Bool*)rValue.getValue();
739 : 63 : mpDoc->set(IDocumentSettingAccess::SMALL_CAPS_PERCENTAGE_66, bTmp);
740 : : }
741 : 63 : break;
742 : : case HANDLE_TAB_OVERFLOW:
743 : : {
744 : 63 : sal_Bool bTmp = *(sal_Bool*)rValue.getValue();
745 : 63 : mpDoc->set(IDocumentSettingAccess::TAB_OVERFLOW, bTmp);
746 : : }
747 : 63 : break;
748 : : case HANDLE_UNBREAKABLE_NUMBERINGS:
749 : : {
750 : 254 : sal_Bool bTmp = *(sal_Bool*)rValue.getValue();
751 : 254 : mpDoc->set(IDocumentSettingAccess::UNBREAKABLE_NUMBERINGS, bTmp);
752 : : }
753 : 254 : break;
754 : : case HANDLE_STYLES_NODEFAULT:
755 : : {
756 : 210 : sal_Bool bTmp = *(sal_Bool*)rValue.getValue();
757 : 210 : mpDoc->set(IDocumentSettingAccess::STYLES_NODEFAULT, bTmp);
758 : : }
759 : 210 : break;
760 : : case HANDLE_FLOATTABLE_NOMARGINS:
761 : : {
762 : 210 : sal_Bool bTmp = *(sal_Bool*)rValue.getValue();
763 : 210 : mpDoc->set(IDocumentSettingAccess::FLOATTABLE_NOMARGINS, bTmp);
764 : : }
765 : 210 : break;
766 : : default:
767 [ # # ]: 0 : throw UnknownPropertyException();
768 : : }
769 : 4618 : }
770 : :
771 : 4618 : void SwXDocumentSettings::_postSetValues ()
772 : : throw(beans::UnknownPropertyException, beans::PropertyVetoException, lang::IllegalArgumentException, lang::WrappedTargetException )
773 : : {
774 : : // set printer only once, namely here!
775 [ + + ]: 4618 : if( mpPrinter != NULL )
776 : : {
777 : : // #i86352# the printer is also used as container for options by sfx
778 : : // when setting a printer it should have decent default options
779 [ + - ]: 7 : SfxItemSet aOptions( mpPrinter->GetOptions() );
780 [ + - ]: 7 : SwPrintData aPrtData( mpDoc->getPrintData() );
781 [ + - ]: 7 : SwAddPrinterItem aAddPrinterItem (FN_PARAM_ADDPRINTER, aPrtData);
782 [ + - ]: 7 : aOptions.Put(aAddPrinterItem);
783 [ + - ]: 7 : mpPrinter->SetOptions( aOptions );
784 : :
785 [ + - ][ + - ]: 7 : mpDoc->setPrinter( mpPrinter, true, true );
[ + - ]
786 : : }
787 : :
788 : 4618 : mpPrinter = 0;
789 : 4618 : mpDocSh = 0;
790 : 4618 : mpDoc = 0;
791 : 4618 : }
792 : :
793 : 1081 : void SwXDocumentSettings::_preGetValues ()
794 : : throw(beans::UnknownPropertyException, beans::PropertyVetoException, lang::IllegalArgumentException, lang::WrappedTargetException )
795 : : {
796 : 1081 : mpDocSh = mpModel->GetDocShell();
797 : 1081 : mpDoc = mpDocSh->GetDoc();
798 [ - + ][ + - ]: 1081 : if( NULL == mpDoc || NULL == mpDocSh )
799 [ # # ]: 0 : throw UnknownPropertyException();
800 : 1081 : }
801 : :
802 : 1081 : void SwXDocumentSettings::_getSingleValue( const comphelper::PropertyInfo & rInfo, uno::Any & rValue )
803 : : throw(beans::UnknownPropertyException, lang::WrappedTargetException )
804 : : {
805 [ + + + + : 1081 : switch( rInfo.mnHandle )
+ + + + +
+ + + + +
+ + + + +
+ + + + +
+ + + + +
+ + + + +
+ + + + +
+ + + + +
+ + + + +
+ + + + +
+ - ]
806 : : {
807 : : case HANDLE_FORBIDDEN_CHARS:
808 : : {
809 [ + - ][ + - ]: 19 : Reference<XForbiddenCharacters> xRet(*mpModel->GetPropertyHelper(), UNO_QUERY);
[ + - ]
810 [ + - ]: 19 : rValue <<= xRet;
811 : : }
812 : 19 : break;
813 : : case HANDLE_LINK_UPDATE_MODE:
814 : : {
815 [ + - ]: 19 : rValue <<= static_cast < sal_Int16 > ( mpDoc->getLinkUpdateMode(true) );
816 : : }
817 : 19 : break;
818 : : case HANDLE_FIELD_AUTO_UPDATE:
819 : : {
820 [ + - ]: 19 : SwFldUpdateFlags nFlags = mpDoc->getFieldUpdateFlags(true);
821 [ + - ][ + - ]: 19 : sal_Bool bFieldUpd = (nFlags == AUTOUPD_FIELD_ONLY || nFlags == AUTOUPD_FIELD_AND_CHARTS );
822 [ + - ]: 19 : rValue.setValue(&bFieldUpd, ::getBooleanCppuType());
823 : : }
824 : 19 : break;
825 : : case HANDLE_CHART_AUTO_UPDATE:
826 : : {
827 [ + - ]: 23 : SwFldUpdateFlags nFlags = mpDoc->getFieldUpdateFlags(true);
828 : 23 : sal_Bool bChartUpd = nFlags == AUTOUPD_FIELD_AND_CHARTS;
829 [ + - ]: 23 : rValue.setValue(&bChartUpd, ::getBooleanCppuType());
830 : : }
831 : 23 : break;
832 : : case HANDLE_ADD_PARA_TABLE_SPACING:
833 : : {
834 [ + - ]: 23 : sal_Bool bParaSpace = mpDoc->get(IDocumentSettingAccess::PARA_SPACE_MAX);
835 [ + - ]: 23 : rValue.setValue(&bParaSpace, ::getBooleanCppuType());
836 : : }
837 : 23 : break;
838 : : case HANDLE_ADD_PARA_TABLE_SPACING_AT_START:
839 : : {
840 [ + - ]: 23 : sal_Bool bParaSpace = mpDoc->get(IDocumentSettingAccess::PARA_SPACE_MAX_AT_PAGES);
841 [ + - ]: 23 : rValue.setValue(&bParaSpace, ::getBooleanCppuType());
842 : : }
843 : 23 : break;
844 : : case HANDLE_ALIGN_TAB_STOP_POSITION:
845 : : {
846 [ + - ]: 23 : sal_Bool bAlignTab = mpDoc->get(IDocumentSettingAccess::TAB_COMPAT);
847 [ + - ]: 23 : rValue.setValue(&bAlignTab, ::getBooleanCppuType());
848 : : }
849 : 23 : break;
850 : : case HANDLE_PRINTER_NAME:
851 : : {
852 : 19 : SfxPrinter *pPrinter = mpDoc->getPrinter( sal_False );
853 [ + - ][ - + ]: 19 : rValue <<= pPrinter ? OUString ( pPrinter->GetName()) : OUString();
854 : : }
855 : 19 : break;
856 : : case HANDLE_PRINTER_SETUP:
857 : : {
858 : 19 : SfxPrinter *pPrinter = mpDoc->getPrinter( sal_False );
859 [ - + ]: 19 : if (pPrinter)
860 : : {
861 [ # # ]: 0 : SvMemoryStream aStream;
862 [ # # ]: 0 : pPrinter->Store( aStream );
863 [ # # ]: 0 : aStream.Seek ( STREAM_SEEK_TO_END );
864 : 0 : sal_uInt32 nSize = aStream.Tell();
865 [ # # ]: 0 : aStream.Seek ( STREAM_SEEK_TO_BEGIN );
866 [ # # ]: 0 : Sequence < sal_Int8 > aSequence( nSize );
867 [ # # ][ # # ]: 0 : aStream.Read ( aSequence.getArray(), nSize );
868 [ # # ][ # # ]: 0 : rValue <<= aSequence;
[ # # ]
869 : : }
870 : : else
871 : : {
872 [ + - ]: 19 : Sequence < sal_Int8 > aSequence ( 0 );
873 [ + - ][ + - ]: 19 : rValue <<= aSequence;
874 : : }
875 : : }
876 : 19 : break;
877 : : case HANDLE_IS_KERN_ASIAN_PUNCTUATION:
878 : : {
879 [ + - ]: 19 : sal_Bool bParaSpace = mpDoc->get(IDocumentSettingAccess::KERN_ASIAN_PUNCTUATION);
880 [ + - ]: 19 : rValue.setValue(&bParaSpace, ::getBooleanCppuType());
881 : : }
882 : 19 : break;
883 : : case HANDLE_APPLY_USER_DATA:
884 : : {
885 [ + - ]: 19 : rValue <<= mpDocSh->IsUseUserData();
886 : : }
887 : 19 : break;
888 : : case HANDLE_CHARACTER_COMPRESSION_TYPE:
889 : : {
890 [ + - ]: 19 : rValue <<= static_cast < sal_Int16 > (mpDoc->getCharacterCompressionType());
891 : : }
892 : 19 : break;
893 : : case HANDLE_SAVE_GLOBAL_DOCUMENT_LINKS:
894 : : {
895 [ + - ]: 23 : sal_Bool bSaveGlobal = mpDoc->get(IDocumentSettingAccess::GLOBAL_DOCUMENT_SAVE_LINKS);
896 [ + - ]: 23 : rValue.setValue(&bSaveGlobal, ::getBooleanCppuType());
897 : : }
898 : 23 : break;
899 : : case HANDLE_CURRENT_DATABASE_DATA_SOURCE:
900 : : {
901 : 19 : const SwDBData& rData = mpDoc->GetDBDesc();
902 : 19 : rValue <<= rData.sDataSource;
903 : : }
904 : 19 : break;
905 : : case HANDLE_CURRENT_DATABASE_COMMAND:
906 : : {
907 : 19 : const SwDBData& rData = mpDoc->GetDBDesc();
908 : 19 : rValue <<= rData.sCommand;
909 : : }
910 : 19 : break;
911 : : case HANDLE_CURRENT_DATABASE_COMMAND_TYPE:
912 : : {
913 : 19 : const SwDBData& rData = mpDoc->GetDBDesc();
914 : 19 : rValue <<= rData.nCommandType;
915 : : }
916 : 19 : break;
917 : : case HANDLE_SAVE_VERSION_ON_CLOSE:
918 : : {
919 [ + - ]: 19 : rValue <<= mpDocSh->IsSaveVersionOnClose();
920 : : }
921 : 19 : break;
922 : : case HANDLE_UPDATE_FROM_TEMPLATE:
923 : : {
924 [ + - ]: 19 : rValue <<= mpDocSh->IsQueryLoadTemplate();
925 : : }
926 : 19 : break;
927 : : case HANDLE_PRINTER_INDEPENDENT_LAYOUT:
928 : : {
929 : : // returns short (see css.document.PrinterIndependentLayout)
930 [ + - ]: 19 : sal_Int16 nVirDevType = mpDoc->get(IDocumentSettingAccess::USE_VIRTUAL_DEVICE) ?
931 [ + - ]: 19 : ( mpDoc->get(IDocumentSettingAccess::USE_HIRES_VIRTUAL_DEVICE) ?
932 : : document::PrinterIndependentLayout::HIGH_RESOLUTION :
933 : : document::PrinterIndependentLayout::LOW_RESOLUTION ) :
934 [ + - ][ + - ]: 38 : document::PrinterIndependentLayout::DISABLED;
935 [ + - ]: 19 : rValue <<= nVirDevType;
936 : : }
937 : 19 : break;
938 : : case HANDLE_IS_LABEL_DOC:
939 : : {
940 [ + - ]: 23 : sal_Bool bLabel = mpDoc->get(IDocumentSettingAccess::LABEL_DOCUMENT);
941 [ + - ]: 23 : rValue <<= bLabel;
942 : : }
943 : 23 : break;
944 : : case HANDLE_IS_ADD_FLY_OFFSET:
945 : : {
946 [ + - ]: 19 : sal_Bool bTmp = mpDoc->get(IDocumentSettingAccess::ADD_FLY_OFFSETS);
947 [ + - ]: 19 : rValue.setValue( &bTmp, ::getBooleanCppuType() );
948 : : }
949 : 19 : break;
950 : : case HANDLE_IS_ADD_EXTERNAL_LEADING:
951 : : {
952 [ + - ]: 19 : sal_Bool bTmp = mpDoc->get(IDocumentSettingAccess::ADD_EXT_LEADING);
953 [ + - ]: 19 : rValue.setValue( &bTmp, ::getBooleanCppuType() );
954 : : }
955 : 19 : break;
956 : : case HANDLE_OLD_NUMBERING: // #111955#
957 : : {
958 [ + - ]: 19 : sal_Bool bTmp = mpDoc->get(IDocumentSettingAccess::OLD_NUMBERING);
959 [ + - ]: 19 : rValue.setValue( &bTmp, ::getBooleanCppuType() );
960 : : }
961 : 19 : break;
962 : : case HANDLE_OUTLINELEVEL_YIELDS_NUMBERING: // #111955#
963 : : {
964 [ + - ]: 19 : sal_Bool bTmp = mpDoc->get(IDocumentSettingAccess::OUTLINE_LEVEL_YIELDS_OUTLINE_RULE);
965 [ + - ]: 19 : rValue.setValue( &bTmp, ::getBooleanCppuType() );
966 : : }
967 : 19 : break;
968 : : case HANDLE_ALLOW_PRINTJOB_CANCEL:
969 : : {
970 [ + - ]: 19 : sal_Bool bPrintCancelState = mpDocSh->Stamp_GetPrintCancelState();
971 [ + - ]: 19 : rValue.setValue(&bPrintCancelState, ::getBooleanCppuType());
972 : : }
973 : 19 : break;
974 : : case HANDLE_USE_FORMER_LINE_SPACING:
975 : : {
976 [ + - ]: 23 : sal_Bool bTmp = mpDoc->get(IDocumentSettingAccess::OLD_LINE_SPACING);
977 [ + - ]: 23 : rValue.setValue( &bTmp, ::getBooleanCppuType() );
978 : : }
979 : 23 : break;
980 : : case HANDLE_ADD_PARA_SPACING_TO_TABLE_CELLS:
981 : : {
982 [ + - ]: 23 : sal_Bool bTmp = mpDoc->get(IDocumentSettingAccess::ADD_PARA_SPACING_TO_TABLE_CELLS);
983 [ + - ]: 23 : rValue.setValue( &bTmp, ::getBooleanCppuType() );
984 : : }
985 : 23 : break;
986 : : case HANDLE_USE_FORMER_OBJECT_POSITIONING:
987 : : {
988 [ + - ]: 23 : sal_Bool bTmp = mpDoc->get(IDocumentSettingAccess::USE_FORMER_OBJECT_POS);
989 [ + - ]: 23 : rValue.setValue( &bTmp, ::getBooleanCppuType() );
990 : : }
991 : 23 : break;
992 : : case HANDLE_USE_FORMER_TEXT_WRAPPING:
993 : : {
994 [ + - ]: 19 : sal_Bool bTmp = mpDoc->get(IDocumentSettingAccess::USE_FORMER_TEXT_WRAPPING);
995 [ + - ]: 19 : rValue.setValue( &bTmp, ::getBooleanCppuType() );
996 : : }
997 : 19 : break;
998 : : case HANDLE_CHANGES_PASSWORD:
999 : : {
1000 : 19 : rValue <<= mpDoc->GetRedlinePassword();
1001 : : }
1002 : 19 : break;
1003 : : case HANDLE_CONSIDER_WRAP_ON_OBJPOS:
1004 : : {
1005 [ + - ]: 19 : sal_Bool bTmp = mpDoc->get(IDocumentSettingAccess::CONSIDER_WRAP_ON_OBJECT_POSITION);
1006 [ + - ]: 19 : rValue.setValue( &bTmp, ::getBooleanCppuType() );
1007 : : }
1008 : 19 : break;
1009 : : case HANDLE_IGNORE_FIRST_LINE_INDENT_IN_NUMBERING:
1010 : : {
1011 [ + - ]: 19 : sal_Bool bTmp = mpDoc->get(IDocumentSettingAccess::IGNORE_FIRST_LINE_INDENT_IN_NUMBERING);
1012 [ + - ]: 19 : rValue.setValue( &bTmp, ::getBooleanCppuType() );
1013 : : }
1014 : 19 : break;
1015 : : case HANDLE_DO_NOT_JUSTIFY_LINES_WITH_MANUAL_BREAK:
1016 : : {
1017 [ + - ]: 19 : sal_Bool bTmp = mpDoc->get(IDocumentSettingAccess::DO_NOT_JUSTIFY_LINES_WITH_MANUAL_BREAK);
1018 [ + - ]: 19 : rValue.setValue( &bTmp, ::getBooleanCppuType() );
1019 : : }
1020 : 19 : break;
1021 : : case HANDLE_DO_NOT_RESET_PARA_ATTRS_FOR_NUM_FONT:
1022 : : {
1023 [ + - ]: 19 : sal_Bool bTmp = mpDoc->get(IDocumentSettingAccess::DO_NOT_RESET_PARA_ATTRS_FOR_NUM_FONT);
1024 [ + - ]: 19 : rValue.setValue( &bTmp, ::getBooleanCppuType() );
1025 : : }
1026 : 19 : break;
1027 : : case HANDLE_TABLE_ROW_KEEP :
1028 : : {
1029 [ + - ]: 19 : sal_Bool bTmp = mpDoc->get(IDocumentSettingAccess::TABLE_ROW_KEEP);
1030 [ + - ]: 19 : rValue.setValue( &bTmp, ::getBooleanCppuType() );
1031 : : }
1032 : 19 : break;
1033 : : case HANDLE_IGNORE_TABS_AND_BLANKS_FOR_LINE_CALCULATION:
1034 : : {
1035 [ + - ]: 19 : sal_Bool bTmp = mpDoc->get(IDocumentSettingAccess::IGNORE_TABS_AND_BLANKS_FOR_LINE_CALCULATION);
1036 [ + - ]: 19 : rValue.setValue( &bTmp, ::getBooleanCppuType() );
1037 : : }
1038 : 19 : break;
1039 : : case HANDLE_LOAD_READONLY:
1040 : : {
1041 [ + - ]: 19 : rValue <<= mpDocSh->IsLoadReadonly();
1042 : : }
1043 : 19 : break;
1044 : : case HANDLE_DO_NOT_CAPTURE_DRAW_OBJS_ON_PAGE:
1045 : : {
1046 [ + - ]: 19 : sal_Bool bTmp = mpDoc->get(IDocumentSettingAccess::DO_NOT_CAPTURE_DRAW_OBJS_ON_PAGE);
1047 [ + - ]: 19 : rValue.setValue( &bTmp, ::getBooleanCppuType() );
1048 : : }
1049 : 19 : break;
1050 : : case HANDLE_CLIP_AS_CHARACTER_ANCHORED_WRITER_FLY_FRAMES:
1051 : : {
1052 [ + - ]: 19 : sal_Bool bTmp = mpDoc->get(IDocumentSettingAccess::CLIP_AS_CHARACTER_ANCHORED_WRITER_FLY_FRAME);
1053 [ + - ]: 19 : rValue.setValue( &bTmp, ::getBooleanCppuType() );
1054 : : }
1055 : 19 : break;
1056 : : case HANDLE_UNIX_FORCE_ZERO_EXT_LEADING:
1057 : : {
1058 [ + - ]: 19 : sal_Bool bTmp = mpDoc->get(IDocumentSettingAccess::UNIX_FORCE_ZERO_EXT_LEADING);
1059 [ + - ]: 19 : rValue.setValue( &bTmp, ::getBooleanCppuType() );
1060 : : }
1061 : 19 : break;
1062 : : case HANDLE_USE_OLD_PRINTER_METRICS:
1063 : : {
1064 [ + - ]: 19 : sal_Bool bTmp = mpDoc->get(IDocumentSettingAccess::USE_OLD_PRINTER_METRICS);
1065 [ + - ]: 19 : rValue.setValue( &bTmp, ::getBooleanCppuType() );
1066 : : }
1067 : 19 : break;
1068 : : case HANDLE_TABS_RELATIVE_TO_INDENT:
1069 : : {
1070 [ + - ]: 19 : sal_Bool bTmp = mpDoc->get(IDocumentSettingAccess::TABS_RELATIVE_TO_INDENT);
1071 [ + - ]: 19 : rValue.setValue( &bTmp, ::getBooleanCppuType() );
1072 : : }
1073 : 19 : break;
1074 : : case HANDLE_RSID:
1075 : : {
1076 [ + - ]: 19 : rValue <<= static_cast < sal_Int32 > ( mpDoc->getRsid() );
1077 : : }
1078 : 19 : break;
1079 : : case HANDLE_RSID_ROOT:
1080 : : {
1081 [ + - ]: 19 : rValue <<= static_cast < sal_Int32 > ( mpDoc->getRsidRoot() );
1082 : : }
1083 : 19 : break;
1084 : : case HANDLE_PROTECT_FORM:
1085 : : {
1086 [ + - ]: 19 : sal_Bool bTmp = mpDoc->get(IDocumentSettingAccess::PROTECT_FORM);
1087 [ + - ]: 19 : rValue.setValue( &bTmp, ::getBooleanCppuType() );
1088 : : }
1089 : 19 : break;
1090 : : // #i89181#
1091 : : case HANDLE_TAB_AT_LEFT_INDENT_FOR_PARA_IN_LIST:
1092 : : {
1093 [ + - ]: 19 : sal_Bool bTmp = mpDoc->get(IDocumentSettingAccess::TAB_AT_LEFT_INDENT_FOR_PARA_IN_LIST);
1094 [ + - ]: 19 : rValue.setValue( &bTmp, ::getBooleanCppuType() );
1095 : : }
1096 : 19 : break;
1097 : : case HANDLE_MODIFYPASSWORDINFO:
1098 : : {
1099 [ + - ]: 19 : rValue <<= mpDocSh->GetModifyPasswordInfo();
1100 : : }
1101 : 19 : break;
1102 : : case HANDLE_MATH_BASELINE_ALIGNMENT:
1103 : : {
1104 [ + - ]: 19 : sal_Bool bTmp = mpDoc->get( IDocumentSettingAccess::MATH_BASELINE_ALIGNMENT );
1105 [ + - ]: 19 : rValue.setValue( &bTmp, ::getBooleanCppuType() );
1106 : : }
1107 : 19 : break;
1108 : : case HANDLE_INVERT_BORDER_SPACING:
1109 : : {
1110 [ + - ]: 19 : sal_Bool bTmp = mpDoc->get(IDocumentSettingAccess::INVERT_BORDER_SPACING);
1111 [ + - ]: 19 : rValue.setValue( &bTmp, ::getBooleanCppuType() );
1112 : : }
1113 : 19 : break;
1114 : : case HANDLE_COLLAPSE_EMPTY_CELL_PARA:
1115 : : {
1116 [ + - ]: 19 : sal_Bool bTmp = mpDoc->get( IDocumentSettingAccess::COLLAPSE_EMPTY_CELL_PARA );
1117 [ + - ]: 19 : rValue.setValue( &bTmp, ::getBooleanCppuType() );
1118 : : }
1119 : 19 : break;
1120 : : case HANDLE_SMALL_CAPS_PERCENTAGE_66:
1121 : : {
1122 [ + - ]: 19 : sal_Bool bTmp = mpDoc->get( IDocumentSettingAccess::SMALL_CAPS_PERCENTAGE_66 );
1123 [ + - ]: 19 : rValue.setValue( &bTmp, ::getBooleanCppuType() );
1124 : : }
1125 : 19 : break;
1126 : : case HANDLE_TAB_OVERFLOW:
1127 : : {
1128 [ + - ]: 19 : sal_Bool bTmp = mpDoc->get( IDocumentSettingAccess::TAB_OVERFLOW );
1129 [ + - ]: 19 : rValue.setValue( &bTmp, ::getBooleanCppuType() );
1130 : : }
1131 : 19 : break;
1132 : : case HANDLE_UNBREAKABLE_NUMBERINGS:
1133 : : {
1134 [ + - ]: 19 : sal_Bool bTmp = mpDoc->get( IDocumentSettingAccess::UNBREAKABLE_NUMBERINGS );
1135 [ + - ]: 19 : rValue.setValue( &bTmp, ::getBooleanCppuType() );
1136 : : }
1137 : 19 : break;
1138 : : case HANDLE_STYLES_NODEFAULT:
1139 : : {
1140 [ + - ]: 19 : sal_Bool bTmp = mpDoc->get( IDocumentSettingAccess::STYLES_NODEFAULT );
1141 [ + - ]: 19 : rValue.setValue( &bTmp, ::getBooleanCppuType() );
1142 : : }
1143 : 19 : break;
1144 : : case HANDLE_FLOATTABLE_NOMARGINS:
1145 : : {
1146 [ + - ]: 19 : sal_Bool bTmp = mpDoc->get( IDocumentSettingAccess::FLOATTABLE_NOMARGINS );
1147 [ + - ]: 19 : rValue.setValue( &bTmp, ::getBooleanCppuType() );
1148 : : }
1149 : 19 : break;
1150 : : default:
1151 [ # # ]: 0 : throw UnknownPropertyException();
1152 : : }
1153 : 1081 : }
1154 : :
1155 : 1081 : void SwXDocumentSettings::_postGetValues ()
1156 : : throw(beans::UnknownPropertyException, beans::PropertyVetoException, lang::IllegalArgumentException, lang::WrappedTargetException )
1157 : : {
1158 : 1081 : mpDocSh = 0;
1159 : 1081 : mpDoc = 0;
1160 : 1081 : }
1161 : :
1162 : : // XServiceInfo
1163 : 0 : OUString SAL_CALL SwXDocumentSettings::getImplementationName( )
1164 : : throw(RuntimeException)
1165 : : {
1166 : 0 : return OUString( RTL_CONSTASCII_USTRINGPARAM("com.sun.star.comp.Writer.DocumentSettings"));
1167 : : }
1168 : :
1169 : 4 : sal_Bool SAL_CALL SwXDocumentSettings::supportsService( const OUString& ServiceName )
1170 : : throw(RuntimeException)
1171 : : {
1172 [ + - ]: 4 : const Sequence< OUString > aSeq( getSupportedServiceNames() );
1173 : 4 : sal_Int32 nCount = aSeq.getLength();
1174 : 4 : const OUString* pServices = aSeq.getConstArray();
1175 [ + - ]: 10 : while( nCount-- )
1176 : : {
1177 [ + + ]: 10 : if( *pServices++ == ServiceName )
1178 : 4 : return sal_True;
1179 : : }
1180 [ + - ]: 4 : return sal_True;
1181 : : }
1182 : :
1183 : 4 : Sequence< OUString > SAL_CALL SwXDocumentSettings::getSupportedServiceNames( )
1184 : : throw(RuntimeException)
1185 : : {
1186 : 4 : Sequence< OUString > aSeq( 4 );
1187 [ + - ][ + - ]: 4 : aSeq[0] = OUString( RTL_CONSTASCII_USTRINGPARAM("com.sun.star.document.Settings") );
1188 [ + - ][ + - ]: 4 : aSeq[1] = OUString( RTL_CONSTASCII_USTRINGPARAM("com.sun.star.text.DocumentSettings") );
1189 [ + - ][ + - ]: 4 : aSeq[2] = OUString( RTL_CONSTASCII_USTRINGPARAM("com.sun.star.text.PrintSettings") );
1190 [ + - ][ + - ]: 4 : aSeq[3] = OUString( RTL_CONSTASCII_USTRINGPARAM("com.sun.star.text.PrintPreviewSettings") );
1191 : 4 : return aSeq;
1192 : : }
1193 : :
1194 : :
1195 : : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|