LibreOffice Module unotools (master) 1
fltrcfg.cxx
Go to the documentation of this file.
1/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2/*
3 * This file is part of the LibreOffice project.
4 *
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 *
9 * This file incorporates work covered by the following license notice:
10 *
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
18 */
19
20#include <o3tl/any.hxx>
22#include <unotools/fltrcfg.hxx>
23#include <tools/debug.hxx>
24#include <osl/diagnose.h>
25
26#include <com/sun/star/uno/Sequence.hxx>
27
28using namespace utl;
29using namespace com::sun::star::uno;
30
31namespace {
32
33enum class ConfigFlags {
34 NONE = 0x0000000,
35 WordCode = 0x0000001,
36 WordStorage = 0x0000002,
37 ExcelCode = 0x0000004,
38 ExcelStorage = 0x0000008,
39 PowerPointCode = 0x0000010,
40 PowerPointStorage = 0x0000020,
41 MathLoad = 0x0000100,
42 MathSave = 0x0000200,
43 WriterLoad = 0x0000400,
44 WriterSave = 0x0000800,
45 CalcLoad = 0x0001000,
46 CalcSave = 0x0002000,
47 ImpressLoad = 0x0004000,
48 ImpressSave = 0x0008000,
49 ExcelExecTbl = 0x0010000,
50 EnablePowerPointPreview = 0x0020000,
51 EnableExcelPreview = 0x0040000,
52 EnableWordPreview = 0x0080000,
53 UseEnhancedFields = 0x0100000,
54 WordWbctbl = 0x0200000,
55 SmartArtShapeLoad = 0x0400000,
56 CharBackgroundToHighlighting = 0x8000000,
57 CreateMSOLockFiles = 0x2000000,
58 VisioLoad = 0x4000000,
59};
60
61}
62
63namespace o3tl {
64 template<> struct typed_flags<ConfigFlags> : is_typed_flags<ConfigFlags, 0xe7fff3f> {};
65}
66
67namespace {
68
69class SvtAppFilterOptions_Impl : public utl::ConfigItem
70{
71private:
72 bool bLoadVBA;
73 bool bSaveVBA;
74
75protected:
76 virtual void ImplCommit() override;
77
78public:
79 explicit SvtAppFilterOptions_Impl(const OUString& rRoot) :
80 utl::ConfigItem(rRoot),
81 bLoadVBA(false),
82 bSaveVBA(false) {}
83 virtual ~SvtAppFilterOptions_Impl() override;
84 virtual void Notify( const css::uno::Sequence<OUString>& aPropertyNames) override;
85 void Load();
86
87 bool IsLoad() const {return bLoadVBA;}
88 void SetLoad(bool bSet)
89 {
90 if(bSet != bLoadVBA)
92 bLoadVBA = bSet;
93 }
94 bool IsSave() const {return bSaveVBA;}
95 void SetSave(bool bSet)
96 {
97 if(bSet != bSaveVBA)
99 bSaveVBA = bSet;
100 }
101};
102
103}
104
105SvtAppFilterOptions_Impl::~SvtAppFilterOptions_Impl()
106{
107 assert(!IsModified()); // should have been committed
108}
109
110void SvtAppFilterOptions_Impl::ImplCommit()
111{
112 PutProperties(
113 {"Load", "Save"}, {css::uno::Any(bLoadVBA), css::uno::Any(bSaveVBA)});
114}
115
116void SvtAppFilterOptions_Impl::Notify( const Sequence< OUString >& )
117{
118 // no listeners supported yet
119}
120
121void SvtAppFilterOptions_Impl::Load()
122{
123 Sequence<Any> aValues = GetProperties({ "Load", "Save" });
124 const Any* pValues = aValues.getConstArray();
125
126 if(pValues[0].hasValue())
127 bLoadVBA = *o3tl::doAccess<bool>(pValues[0]);
128 if(pValues[1].hasValue())
129 bSaveVBA = *o3tl::doAccess<bool>(pValues[1]);
130}
131
132namespace {
133
134class SvtWriterFilterOptions_Impl : public SvtAppFilterOptions_Impl
135{
136private:
137 bool bLoadExecutable;
138
139 virtual void ImplCommit() override;
140
141public:
142 explicit SvtWriterFilterOptions_Impl(const OUString& rRoot) :
143 SvtAppFilterOptions_Impl(rRoot),
144 bLoadExecutable(false)
145 {}
146 void Load();
147
148 bool IsLoadExecutable() const {return bLoadExecutable;}
149 void SetLoadExecutable(bool bSet)
150 {
151 if(bSet != bLoadExecutable)
152 SetModified();
153 bLoadExecutable = bSet;
154 }
155};
156
157}
158
159void SvtWriterFilterOptions_Impl::ImplCommit()
160{
161 SvtAppFilterOptions_Impl::ImplCommit();
162
163 PutProperties({ "Executable" }, { Any(bLoadExecutable) });
164}
165
166void SvtWriterFilterOptions_Impl::Load()
167{
168 SvtAppFilterOptions_Impl::Load();
169
170 Sequence<OUString> aNames { "Executable" };
171
172 Sequence<Any> aValues = GetProperties(aNames);
173 const Any* pValues = aValues.getConstArray();
174 if(pValues[0].hasValue())
175 bLoadExecutable = *o3tl::doAccess<bool>(pValues[0]);
176}
177
178namespace {
179
180class SvtCalcFilterOptions_Impl : public SvtAppFilterOptions_Impl
181{
182private:
183 bool bLoadExecutable;
184
185 virtual void ImplCommit() override;
186
187public:
188 explicit SvtCalcFilterOptions_Impl(const OUString& rRoot) :
189 SvtAppFilterOptions_Impl(rRoot),
190 bLoadExecutable(false)
191 {}
192 void Load();
193
194 bool IsLoadExecutable() const {return bLoadExecutable;}
195 void SetLoadExecutable(bool bSet)
196 {
197 if(bSet != bLoadExecutable)
198 SetModified();
199 bLoadExecutable = bSet;
200 }
201};
202
203}
204
205void SvtCalcFilterOptions_Impl::ImplCommit()
206{
207 SvtAppFilterOptions_Impl::ImplCommit();
208
209 PutProperties({ "Executable" }, { Any(bLoadExecutable) });
210}
211
212void SvtCalcFilterOptions_Impl::Load()
213{
214 SvtAppFilterOptions_Impl::Load();
215
216 Sequence<OUString> aNames { "Executable" };
217
218 Sequence<Any> aValues = GetProperties(aNames);
219 const Any* pValues = aValues.getConstArray();
220 if(pValues[0].hasValue())
221 bLoadExecutable = *o3tl::doAccess<bool>(pValues[0]);
222}
223
225{
226 ConfigFlags nFlags;
227 SvtWriterFilterOptions_Impl aWriterCfg;
228 SvtCalcFilterOptions_Impl aCalcCfg;
229 SvtAppFilterOptions_Impl aImpressCfg;
230
232 aWriterCfg("Office.Writer/Filter/Import/VBA"),
233 aCalcCfg("Office.Calc/Filter/Import/VBA"),
234 aImpressCfg("Office.Impress/Filter/Import/VBA")
235 {
236 nFlags = ConfigFlags::WordCode |
237 ConfigFlags::WordStorage |
238 ConfigFlags::ExcelCode |
239 ConfigFlags::ExcelStorage |
240 ConfigFlags::PowerPointCode |
241 ConfigFlags::PowerPointStorage |
242 ConfigFlags::MathLoad |
243 ConfigFlags::MathSave |
244 ConfigFlags::WriterLoad |
245 ConfigFlags::WriterSave |
246 ConfigFlags::CalcLoad |
247 ConfigFlags::CalcSave |
248 ConfigFlags::ImpressLoad |
249 ConfigFlags::ImpressSave |
250 ConfigFlags::UseEnhancedFields |
251 ConfigFlags::SmartArtShapeLoad |
252 ConfigFlags::CharBackgroundToHighlighting|
253 ConfigFlags::CreateMSOLockFiles;
254 Load();
255 }
256
257 void SetFlag( ConfigFlags nFlag, bool bSet );
258 bool IsFlag( ConfigFlags nFlag ) const;
259 void Load()
260 {
261 aWriterCfg.Load();
262 aCalcCfg.Load();
263 aImpressCfg.Load();
264 }
265};
266
267void SvtFilterOptions_Impl::SetFlag( ConfigFlags nFlag, bool bSet )
268{
269 switch(nFlag)
270 {
271 case ConfigFlags::WordCode: aWriterCfg.SetLoad(bSet);break;
272 case ConfigFlags::WordStorage: aWriterCfg.SetSave(bSet);break;
273 case ConfigFlags::WordWbctbl: aWriterCfg.SetLoadExecutable(bSet);break;
274 case ConfigFlags::ExcelCode: aCalcCfg.SetLoad(bSet);break;
275 case ConfigFlags::ExcelStorage: aCalcCfg.SetSave(bSet);break;
276 case ConfigFlags::ExcelExecTbl: aCalcCfg.SetLoadExecutable(bSet);break;
277 case ConfigFlags::PowerPointCode: aImpressCfg.SetLoad(bSet);break;
278 case ConfigFlags::PowerPointStorage: aImpressCfg.SetSave(bSet);break;
279 default:
280 if( bSet )
281 nFlags |= nFlag;
282 else
283 nFlags &= ~nFlag;
284 }
285}
286
287bool SvtFilterOptions_Impl::IsFlag( ConfigFlags nFlag ) const
288{
289 bool bRet;
290 switch(nFlag)
291 {
292 case ConfigFlags::WordCode : bRet = aWriterCfg.IsLoad();break;
293 case ConfigFlags::WordStorage : bRet = aWriterCfg.IsSave();break;
294 case ConfigFlags::WordWbctbl : bRet = aWriterCfg.IsLoadExecutable();break;
295 case ConfigFlags::ExcelCode : bRet = aCalcCfg.IsLoad();break;
296 case ConfigFlags::ExcelStorage : bRet = aCalcCfg.IsSave();break;
297 case ConfigFlags::ExcelExecTbl : bRet = aCalcCfg.IsLoadExecutable();break;
298 case ConfigFlags::PowerPointCode : bRet = aImpressCfg.IsLoad();break;
299 case ConfigFlags::PowerPointStorage : bRet = aImpressCfg.IsSave();break;
300 default:
301 bRet = bool(nFlags & nFlag );
302 }
303 return bRet;
304}
305
306namespace {
307
308const Sequence<OUString>& GetPropertyNames()
309{
310 static Sequence<OUString> const aNames
311 {
312 "Import/MathTypeToMath", // 0
313 "Import/WinWordToWriter", // 1
314 "Import/PowerPointToImpress", // 2
315 "Import/ExcelToCalc", // 3
316 "Export/MathToMathType", // 4
317 "Export/WriterToWinWord", // 5
318 "Export/ImpressToPowerPoint", // 6
319 "Export/CalcToExcel", // 7
320 "Export/EnablePowerPointPreview", // 8
321 "Export/EnableExcelPreview", // 9
322 "Export/EnableWordPreview", // 10
323 "Import/ImportWWFieldsAsEnhancedFields", // 11
324 "Import/SmartArtToShapes", // 12
325 "Export/CharBackgroundToHighlighting", // 13
326 "Import/CreateMSOLockFiles", // 14
327 "Import/VisioToDraw" // 15
328 };
329 return aNames;
330}
331
332}
333
335 ConfigItem( "Office.Common/Filter/Microsoft" ),
336 pImpl(new SvtFilterOptions_Impl)
337{
338 EnableNotification(GetPropertyNames());
339 Load();
340}
341
343{
344}
345
346static ConfigFlags lcl_GetFlag(sal_Int32 nProp)
347{
348 ConfigFlags nFlag = ConfigFlags::NONE;
349 switch(nProp)
350 {
351 case 0: nFlag = ConfigFlags::MathLoad; break;
352 case 1: nFlag = ConfigFlags::WriterLoad; break;
353 case 2: nFlag = ConfigFlags::ImpressLoad; break;
354 case 3: nFlag = ConfigFlags::CalcLoad; break;
355 case 4: nFlag = ConfigFlags::MathSave; break;
356 case 5: nFlag = ConfigFlags::WriterSave; break;
357 case 6: nFlag = ConfigFlags::ImpressSave; break;
358 case 7: nFlag = ConfigFlags::CalcSave; break;
359 case 8: nFlag = ConfigFlags::EnablePowerPointPreview; break;
360 case 9: nFlag = ConfigFlags::EnableExcelPreview; break;
361 case 10: nFlag = ConfigFlags::EnableWordPreview; break;
362 case 11: nFlag = ConfigFlags::UseEnhancedFields; break;
363 case 12: nFlag = ConfigFlags::SmartArtShapeLoad; break;
364 case 13: nFlag = ConfigFlags::CharBackgroundToHighlighting; break;
365 case 14: nFlag = ConfigFlags::CreateMSOLockFiles; break;
366 case 15:
367 nFlag = ConfigFlags::VisioLoad;
368 break;
369
370 default: OSL_FAIL("illegal value");
371 }
372 return nFlag;
373}
374
376{
377 Load();
378}
379
381{
382 const Sequence<OUString>& aNames = GetPropertyNames();
383 Sequence<Any> aValues(aNames.getLength());
384 Any* pValues = aValues.getArray();
385
386 for(int nProp = 0; nProp < aNames.getLength(); nProp++)
387 {
388 ConfigFlags nFlag = lcl_GetFlag(nProp);
389 pValues[nProp] <<= pImpl->IsFlag(nFlag);
390
391 }
392 PutProperties(aNames, aValues);
393}
394
396{
397 pImpl->Load();
398 const Sequence<OUString>& rNames = GetPropertyNames();
399 Sequence<Any> aValues = GetProperties(rNames);
400 const Any* pValues = aValues.getConstArray();
401 DBG_ASSERT(aValues.getLength() == rNames.getLength(), "GetProperties failed");
402 if(aValues.getLength() == rNames.getLength())
403 {
404 for(int nProp = 0; nProp < rNames.getLength(); nProp++)
405 {
406 if(pValues[nProp].hasValue())
407 {
408 bool bVal = *o3tl::doAccess<bool>(pValues[nProp]);
409 ConfigFlags nFlag = lcl_GetFlag(nProp);
410 pImpl->SetFlag( nFlag, bVal);
411 }
412 }
413 }
414}
415
417{
418 pImpl->SetFlag( ConfigFlags::WordCode, bFlag );
419 SetModified();
420}
421
423{
424 return pImpl->IsFlag( ConfigFlags::WordCode );
425}
426
428{
429 pImpl->SetFlag( ConfigFlags::WordWbctbl, bFlag );
430 SetModified();
431}
432
434{
435 return pImpl->IsFlag( ConfigFlags::WordWbctbl );
436}
437
439{
440 pImpl->SetFlag( ConfigFlags::WordStorage, bFlag );
441 SetModified();
442}
443
445{
446 return pImpl->IsFlag( ConfigFlags::WordStorage );
447}
448
450{
451 pImpl->SetFlag( ConfigFlags::ExcelCode, bFlag );
452 SetModified();
453}
454
456{
457 return pImpl->IsFlag( ConfigFlags::ExcelCode );
458}
459
461{
462 pImpl->SetFlag( ConfigFlags::ExcelExecTbl, bFlag );
463 SetModified();
464}
465
467{
468 return pImpl->IsFlag( ConfigFlags::ExcelExecTbl );
469}
470
472{
473 pImpl->SetFlag( ConfigFlags::ExcelStorage, bFlag );
474 SetModified();
475}
476
478{
479 return pImpl->IsFlag( ConfigFlags::ExcelStorage );
480}
481
483{
484 pImpl->SetFlag( ConfigFlags::PowerPointCode, bFlag );
485 SetModified();
486}
487
489{
490 return pImpl->IsFlag( ConfigFlags::PowerPointCode );
491}
492
494{
495 pImpl->SetFlag( ConfigFlags::PowerPointStorage, bFlag );
496 SetModified();
497}
498
500{
501 return pImpl->IsFlag( ConfigFlags::PowerPointStorage );
502}
503
505{
506 return pImpl->IsFlag( ConfigFlags::MathLoad );
507}
508
510{
511 pImpl->SetFlag( ConfigFlags::MathLoad, bFlag );
512 SetModified();
513}
514
516{
517 return pImpl->IsFlag( ConfigFlags::MathSave );
518}
519
521{
522 pImpl->SetFlag( ConfigFlags::MathSave, bFlag );
523 SetModified();
524}
525
527{
528 return pImpl->IsFlag( ConfigFlags::WriterLoad );
529}
530
532{
533 pImpl->SetFlag( ConfigFlags::WriterLoad, bFlag );
534 SetModified();
535}
536
538{
539 return pImpl->IsFlag( ConfigFlags::WriterSave );
540}
541
543{
544 pImpl->SetFlag( ConfigFlags::WriterSave, bFlag );
545 SetModified();
546}
547
549{
550 return pImpl->IsFlag( ConfigFlags::UseEnhancedFields );
551}
552
554{
555 return pImpl->IsFlag( ConfigFlags::CalcLoad );
556}
557
559{
560 pImpl->SetFlag( ConfigFlags::CalcLoad, bFlag );
561 SetModified();
562}
563
565{
566 return pImpl->IsFlag( ConfigFlags::CalcSave );
567}
568
570{
571 pImpl->SetFlag( ConfigFlags::CalcSave, bFlag );
572 SetModified();
573}
574
576{
577 return pImpl->IsFlag( ConfigFlags::ImpressLoad );
578}
579
581{
582 pImpl->SetFlag( ConfigFlags::ImpressLoad, bFlag );
583 SetModified();
584}
585
587{
588 return pImpl->IsFlag( ConfigFlags::ImpressSave );
589}
590
592{
593 pImpl->SetFlag( ConfigFlags::ImpressSave, bFlag );
594 SetModified();
595}
596
598{
599 return pImpl->IsFlag( ConfigFlags::SmartArtShapeLoad );
600}
601
603{
604 pImpl->SetFlag( ConfigFlags::SmartArtShapeLoad, bFlag );
605 SetModified();
606}
607
608bool SvtFilterOptions::IsVisio2Draw() const { return pImpl->IsFlag(ConfigFlags::VisioLoad); }
609
611{
612 pImpl->SetFlag(ConfigFlags::VisioLoad, bFlag);
613 SetModified();
614}
615
617{
618 static SvtFilterOptions aOptions;
619 return aOptions;
620}
621
623{
624 return pImpl->IsFlag( ConfigFlags::EnablePowerPointPreview );
625}
626
628{
629 return pImpl->IsFlag( ConfigFlags::EnableExcelPreview );
630}
631
633{
634 return pImpl->IsFlag( ConfigFlags::EnableWordPreview );
635}
636
638{
639 return pImpl->IsFlag( ConfigFlags::CharBackgroundToHighlighting );
640}
641
643{
644 return !pImpl->IsFlag( ConfigFlags::CharBackgroundToHighlighting );
645}
646
648{
649 pImpl->SetFlag( ConfigFlags::CharBackgroundToHighlighting, true );
650 SetModified();
651}
652
654{
655 pImpl->SetFlag( ConfigFlags::CharBackgroundToHighlighting, false );
656 SetModified();
657}
658
660{
661 return pImpl->IsFlag( ConfigFlags::CreateMSOLockFiles );
662}
663
665{
666 pImpl->SetFlag( ConfigFlags::CreateMSOLockFiles, bEnable );
667 SetModified();
668}
669
670/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
const PropertyValue * pValues
void SetCharBackground2Highlighting()
Definition: fltrcfg.cxx:647
void SetLoadExcelBasicExecutable(bool bFlag)
Definition: fltrcfg.cxx:460
bool IsCharBackground2Shading() const
Definition: fltrcfg.cxx:642
bool IsLoadExcelBasicStorage() const
Definition: fltrcfg.cxx:477
bool IsCharBackground2Highlighting() const
Definition: fltrcfg.cxx:637
bool IsMathType2Math() const
Definition: fltrcfg.cxx:504
void SetWriter2WinWord(bool bFlag)
Definition: fltrcfg.cxx:542
bool IsLoadPPointBasicStorage() const
Definition: fltrcfg.cxx:499
bool IsCalc2Excel() const
Definition: fltrcfg.cxx:564
void SetImpress2PowerPoint(bool bFlag)
Definition: fltrcfg.cxx:591
void SetMath2MathType(bool bFlag)
Definition: fltrcfg.cxx:520
bool IsLoadExcelBasicExecutable() const
Definition: fltrcfg.cxx:466
bool IsWinWord2Writer() const
Definition: fltrcfg.cxx:526
static SvtFilterOptions & Get()
Definition: fltrcfg.cxx:616
bool IsImpress2PowerPoint() const
Definition: fltrcfg.cxx:586
void SetLoadWordBasicCode(bool bFlag)
Definition: fltrcfg.cxx:416
virtual void Notify(const css::uno::Sequence< OUString > &aPropertyNames) override
is called from the ConfigManager before application ends of from the PropertyChangeListener if the su...
Definition: fltrcfg.cxx:375
std::unique_ptr< SvtFilterOptions_Impl, o3tl::default_delete< SvtFilterOptions_Impl > > pImpl
Definition: fltrcfg.hxx:31
void SetLoadPPointBasicStorage(bool bFlag)
Definition: fltrcfg.cxx:493
bool IsEnableWordPreview() const
Definition: fltrcfg.cxx:632
void SetLoadExcelBasicStorage(bool bFlag)
Definition: fltrcfg.cxx:471
void SetCharBackground2Shading()
Definition: fltrcfg.cxx:653
void SetMathType2Math(bool bFlag)
Definition: fltrcfg.cxx:509
virtual void ImplCommit() override
writes the changed values into the sub tree.
Definition: fltrcfg.cxx:380
void SetLoadWordBasicExecutable(bool bFlag)
Definition: fltrcfg.cxx:427
bool IsLoadExcelBasicCode() const
Definition: fltrcfg.cxx:455
bool IsWriter2WinWord() const
Definition: fltrcfg.cxx:537
bool IsMSOLockFileCreationIsEnabled() const
Definition: fltrcfg.cxx:659
void SetPowerPoint2Impress(bool bFlag)
Definition: fltrcfg.cxx:580
void SetVisio2Draw(bool bFlag)
Definition: fltrcfg.cxx:610
bool IsLoadWordBasicCode() const
Definition: fltrcfg.cxx:422
bool IsEnablePPTPreview() const
Definition: fltrcfg.cxx:622
void EnableMSOLockFileCreation(bool bEnable)
Definition: fltrcfg.cxx:664
bool IsMath2MathType() const
Definition: fltrcfg.cxx:515
void SetSmartArt2Shape(bool bFlag)
Definition: fltrcfg.cxx:602
void SetLoadPPointBasicCode(bool bFlag)
Definition: fltrcfg.cxx:482
bool IsLoadWordBasicStorage() const
Definition: fltrcfg.cxx:444
bool IsEnableCalcPreview() const
Definition: fltrcfg.cxx:627
void SetLoadWordBasicStorage(bool bFlag)
Definition: fltrcfg.cxx:438
virtual ~SvtFilterOptions() override
Definition: fltrcfg.cxx:342
bool IsExcel2Calc() const
Definition: fltrcfg.cxx:553
bool IsLoadWordBasicExecutable() const
Definition: fltrcfg.cxx:433
bool IsPowerPoint2Impress() const
Definition: fltrcfg.cxx:575
bool IsVisio2Draw() const
Definition: fltrcfg.cxx:608
void SetCalc2Excel(bool bFlag)
Definition: fltrcfg.cxx:569
void SetExcel2Calc(bool bFlag)
Definition: fltrcfg.cxx:558
void SetWinWord2Writer(bool bFlag)
Definition: fltrcfg.cxx:531
bool IsLoadPPointBasicCode() const
Definition: fltrcfg.cxx:488
bool IsSmartArt2Shape() const
Definition: fltrcfg.cxx:597
void SetLoadExcelBasicCode(bool bFlag)
Definition: fltrcfg.cxx:449
bool IsUseEnhancedFields() const
Definition: fltrcfg.cxx:548
css::uno::Sequence< css::uno::Any > GetProperties(const css::uno::Sequence< OUString > &rNames)
bool EnableNotification(const css::uno::Sequence< OUString > &rNames, bool bEnableInternalNotification=false)
enables notifications about changes on selected sub nodes/values
Definition: configitem.cxx:604
virtual void Notify(const css::uno::Sequence< OUString > &aPropertyNames)=0
is called from the ConfigManager before application ends of from the PropertyChangeListener if the su...
virtual void ImplCommit()=0
writes the changed values into the sub tree.
bool PutProperties(const css::uno::Sequence< OUString > &rNames, const css::uno::Sequence< css::uno::Any > &rValues)
#define DBG_ASSERT(sCon, aError)
static ConfigFlags lcl_GetFlag(sal_Int32 nProp)
Definition: fltrcfg.cxx:346
NONE
SvtWriterFilterOptions_Impl aWriterCfg
Definition: fltrcfg.cxx:227
ConfigFlags nFlags
Definition: fltrcfg.cxx:226
bool IsFlag(ConfigFlags nFlag) const
Definition: fltrcfg.cxx:287
SvtCalcFilterOptions_Impl aCalcCfg
Definition: fltrcfg.cxx:228
void SetFlag(ConfigFlags nFlag, bool bSet)
Definition: fltrcfg.cxx:267
SvtAppFilterOptions_Impl aImpressCfg
Definition: fltrcfg.cxx:229