Branch data Line data Source code
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 : :
21 : : #include <unotools/searchopt.hxx>
22 : : #include <tools/solar.h>
23 : : #include <tools/debug.hxx>
24 : : #include <unotools/configitem.hxx>
25 : : #include <com/sun/star/i18n/TransliterationModules.hpp>
26 : : #include <com/sun/star/uno/Sequence.hxx>
27 : : #include <com/sun/star/uno/Any.h>
28 : : #include <rtl/logfile.hxx>
29 : : #include <sal/macros.h>
30 : :
31 : :
32 : : using namespace utl;
33 : : using namespace com::sun::star::uno;
34 : : using namespace com::sun::star::i18n;
35 : :
36 : : using ::rtl::OUString;
37 : :
38 : : #define MAX_FLAGS_OFFSET 25
39 : :
40 : : //////////////////////////////////////////////////////////////////////
41 : :
42 : :
43 : : class SvtSearchOptions_Impl : public ConfigItem
44 : : {
45 : : sal_Int32 nFlags;
46 : : sal_Bool bModified;
47 : :
48 : : // disallow copy-constructor and assignment-operator for now
49 : : SvtSearchOptions_Impl( const SvtSearchOptions_Impl & );
50 : : SvtSearchOptions_Impl & operator = ( const SvtSearchOptions_Impl & );
51 : :
52 : : protected:
53 : 108 : sal_Bool IsModified() const { return bModified; }
54 : : using ConfigItem::SetModified;
55 : : void SetModified( sal_Bool bVal );
56 : : sal_Bool Load();
57 : : sal_Bool Save();
58 : :
59 : : Sequence< OUString > GetPropertyNames() const;
60 : :
61 : : public:
62 : : SvtSearchOptions_Impl();
63 : : virtual ~SvtSearchOptions_Impl();
64 : :
65 : : // ConfigItem
66 : : virtual void Commit();
67 : : virtual void Notify( const com::sun::star::uno::Sequence< rtl::OUString >& aPropertyNames );
68 : :
69 : : sal_Bool GetFlag( sal_uInt16 nOffset ) const;
70 : : void SetFlag( sal_uInt16 nOffset, sal_Bool bVal );
71 : : };
72 : :
73 : :
74 : :
75 : 108 : SvtSearchOptions_Impl::SvtSearchOptions_Impl() :
76 [ + - ]: 108 : ConfigItem( OUString("Office.Common/SearchOptions") )
77 : : {
78 : : RTL_LOGFILE_CONTEXT(aLog, "unotools SvtSearchOptions_Impl::SvtSearchOptions_Impl()");
79 : 108 : nFlags = 0x0003FFFF; // set all options values to 'true'
80 [ + - ]: 108 : Load();
81 [ + - ]: 108 : SetModified( sal_False );
82 : 108 : }
83 : :
84 : :
85 : 108 : SvtSearchOptions_Impl::~SvtSearchOptions_Impl()
86 : : {
87 [ + - ]: 108 : Commit();
88 [ - + ]: 216 : }
89 : :
90 : :
91 : 108 : void SvtSearchOptions_Impl::Commit()
92 : : {
93 [ - + ]: 108 : if (IsModified())
94 : 0 : Save();
95 : 108 : }
96 : :
97 : 0 : void SvtSearchOptions_Impl::Notify( const Sequence< rtl::OUString >& )
98 : : {
99 : 0 : }
100 : :
101 : :
102 : 864 : sal_Bool SvtSearchOptions_Impl::GetFlag( sal_uInt16 nOffset ) const
103 : : {
104 : : DBG_ASSERT( nOffset <= MAX_FLAGS_OFFSET, "offset out of range");
105 : 864 : return ((nFlags >> nOffset) & 0x01) ? sal_True : sal_False;
106 : : }
107 : :
108 : :
109 : 2808 : void SvtSearchOptions_Impl::SetFlag( sal_uInt16 nOffset, sal_Bool bVal )
110 : : {
111 : : DBG_ASSERT( nOffset <= MAX_FLAGS_OFFSET, "offset out of range");
112 : 2808 : sal_Int32 nOldFlags = nFlags;
113 : 2808 : sal_Int32 nMask = ((sal_Int32) 1) << nOffset;
114 [ + + ]: 2808 : if (bVal)
115 : 1944 : nFlags |= nMask;
116 : : else
117 : 864 : nFlags &= ~nMask;
118 [ + + ]: 2808 : if (nFlags != nOldFlags)
119 : 1512 : SetModified( sal_True );
120 : 2808 : }
121 : :
122 : :
123 : 1620 : void SvtSearchOptions_Impl::SetModified( sal_Bool bVal )
124 : : {
125 : 1620 : bModified = bVal;
126 [ + + ]: 1620 : if (bModified)
127 : : {
128 : 1512 : ConfigItem::SetModified();
129 : : }
130 : 1620 : }
131 : :
132 : :
133 : 108 : Sequence< OUString > SvtSearchOptions_Impl::GetPropertyNames() const
134 : : {
135 : : static const char* aPropNames[ MAX_FLAGS_OFFSET + 1 ] =
136 : : {
137 : : "IsWholeWordsOnly", // 0
138 : : "IsBackwards", // 1
139 : : "IsUseRegularExpression", // 2
140 : : //"IsCurrentSelectionOnly", // interactively set or not...
141 : : "IsSearchForStyles", // 3
142 : : "IsSimilaritySearch", // 4
143 : : "IsUseAsianOptions", // 5
144 : : "IsMatchCase", // 6
145 : : "Japanese/IsMatchFullHalfWidthForms", // 7
146 : : "Japanese/IsMatchHiraganaKatakana", // 8
147 : : "Japanese/IsMatchContractions", // 9
148 : : "Japanese/IsMatchMinusDashCho-on", // 10
149 : : "Japanese/IsMatchRepeatCharMarks", // 11
150 : : "Japanese/IsMatchVariantFormKanji", // 12
151 : : "Japanese/IsMatchOldKanaForms", // 13
152 : : "Japanese/IsMatch_DiZi_DuZu", // 14
153 : : "Japanese/IsMatch_BaVa_HaFa", // 15
154 : : "Japanese/IsMatch_TsiThiChi_DhiZi", // 16
155 : : "Japanese/IsMatch_HyuIyu_ByuVyu", // 17
156 : : "Japanese/IsMatch_SeShe_ZeJe", // 18
157 : : "Japanese/IsMatch_IaIya", // 19
158 : : "Japanese/IsMatch_KiKu", // 20
159 : : "Japanese/IsIgnorePunctuation", // 21
160 : : "Japanese/IsIgnoreWhitespace", // 22
161 : : "Japanese/IsIgnoreProlongedSoundMark", // 23
162 : : "Japanese/IsIgnoreMiddleDot", // 24
163 : : "IsNotes" // 25
164 : : };
165 : :
166 : 108 : const int nCount = SAL_N_ELEMENTS( aPropNames );
167 : 108 : Sequence< OUString > aNames( nCount );
168 [ + - ]: 108 : OUString* pNames = aNames.getArray();
169 [ + + ]: 2916 : for (sal_Int32 i = 0; i < nCount; ++i)
170 : 2808 : pNames[i] = OUString::createFromAscii( aPropNames[i] );
171 : :
172 : 108 : return aNames;
173 : : }
174 : :
175 : :
176 : 108 : sal_Bool SvtSearchOptions_Impl::Load()
177 : : {
178 : 108 : sal_Bool bSucc = sal_False;
179 : :
180 [ + - ]: 108 : Sequence< OUString > aNames = GetPropertyNames();
181 : 108 : sal_Int32 nProps = aNames.getLength();
182 : :
183 [ + - ]: 108 : const Sequence< Any > aValues = GetProperties( aNames );
184 : : DBG_ASSERT( aValues.getLength() == aNames.getLength(),
185 : : "GetProperties failed" );
186 : : //EnableNotification( aNames );
187 : :
188 [ + - ][ + - ]: 108 : if (nProps && aValues.getLength() == nProps)
[ + - ]
189 : : {
190 : 108 : bSucc = sal_True;
191 : :
192 : 108 : const Any* pValues = aValues.getConstArray();
193 [ + + ]: 2916 : for (sal_uInt16 i = 0; i < nProps; ++i)
194 : : {
195 : 2808 : const Any &rVal = pValues[i];
196 : : DBG_ASSERT( rVal.hasValue(), "property value missing" );
197 [ + - ]: 2808 : if (rVal.hasValue())
198 : : {
199 : 2808 : sal_Bool bVal = sal_Bool();
200 [ + - ]: 2808 : if (rVal >>= bVal)
201 : : {
202 [ + - ]: 2808 : if (i <= MAX_FLAGS_OFFSET)
203 : : {
204 : : // use index in sequence as flag index
205 [ + - ]: 2808 : SetFlag( i, bVal );
206 : : }
207 : : else {
208 : : OSL_FAIL( "unexpected index" );
209 : : }
210 : : }
211 : : else
212 : : {
213 : : OSL_FAIL( "unexpected type" );
214 : 2808 : bSucc = sal_False;
215 : : }
216 : : }
217 : : else
218 : : {
219 : : OSL_FAIL( "value missing" );
220 : 0 : bSucc = sal_False;
221 : : }
222 : : }
223 : : }
224 : : DBG_ASSERT( bSucc, "LoadConfig failed" );
225 : :
226 [ + - ][ + - ]: 108 : return bSucc;
227 : : }
228 : :
229 : :
230 : 0 : sal_Bool SvtSearchOptions_Impl::Save()
231 : : {
232 : 0 : sal_Bool bSucc = sal_False;
233 : :
234 [ # # ]: 0 : const Sequence< OUString > aNames = GetPropertyNames();
235 : 0 : sal_Int32 nProps = aNames.getLength();
236 : :
237 [ # # ]: 0 : Sequence< Any > aValues( nProps );
238 [ # # ]: 0 : Any *pValue = aValues.getArray();
239 : :
240 : : DBG_ASSERT( nProps == MAX_FLAGS_OFFSET + 1,
241 : : "unexpected size of index" );
242 [ # # ][ # # ]: 0 : if (nProps && nProps == MAX_FLAGS_OFFSET + 1)
243 : : {
244 [ # # ]: 0 : for (sal_uInt16 i = 0; i < nProps; ++i)
245 [ # # ]: 0 : pValue[i] <<= (sal_Bool) GetFlag(i);
246 [ # # ]: 0 : bSucc |= PutProperties( aNames, aValues );
247 : : }
248 : :
249 [ # # ]: 0 : if (bSucc)
250 [ # # ]: 0 : SetModified( sal_False );
251 : :
252 [ # # ][ # # ]: 0 : return bSucc;
253 : : }
254 : :
255 : :
256 : : //////////////////////////////////////////////////////////////////////
257 : :
258 : 108 : SvtSearchOptions::SvtSearchOptions()
259 : : {
260 [ + - ]: 108 : pImpl = new SvtSearchOptions_Impl;
261 : 108 : }
262 : :
263 : :
264 : 108 : SvtSearchOptions::~SvtSearchOptions()
265 : : {
266 [ + - ]: 108 : delete pImpl;
267 : 108 : }
268 : :
269 : :
270 : 0 : sal_Int32 SvtSearchOptions::GetTransliterationFlags() const
271 : : {
272 : 0 : sal_Int32 nRes = 0;
273 : :
274 [ # # ]: 0 : if (!IsMatchCase()) // 'IsMatchCase' means act case sensitive
275 : 0 : nRes |= TransliterationModules_IGNORE_CASE;
276 [ # # ]: 0 : if ( IsMatchFullHalfWidthForms())
277 : 0 : nRes |= TransliterationModules_IGNORE_WIDTH;
278 [ # # ]: 0 : if ( IsMatchHiraganaKatakana())
279 : 0 : nRes |= TransliterationModules_IGNORE_KANA;
280 [ # # ]: 0 : if ( IsMatchContractions())
281 : 0 : nRes |= TransliterationModules_ignoreSize_ja_JP;
282 [ # # ]: 0 : if ( IsMatchMinusDashChoon())
283 : 0 : nRes |= TransliterationModules_ignoreMinusSign_ja_JP;
284 [ # # ]: 0 : if ( IsMatchRepeatCharMarks())
285 : 0 : nRes |= TransliterationModules_ignoreIterationMark_ja_JP;
286 [ # # ]: 0 : if ( IsMatchVariantFormKanji())
287 : 0 : nRes |= TransliterationModules_ignoreTraditionalKanji_ja_JP;
288 [ # # ]: 0 : if ( IsMatchOldKanaForms())
289 : 0 : nRes |= TransliterationModules_ignoreTraditionalKana_ja_JP;
290 [ # # ]: 0 : if ( IsMatchDiziDuzu())
291 : 0 : nRes |= TransliterationModules_ignoreZiZu_ja_JP;
292 [ # # ]: 0 : if ( IsMatchBavaHafa())
293 : 0 : nRes |= TransliterationModules_ignoreBaFa_ja_JP;
294 [ # # ]: 0 : if ( IsMatchTsithichiDhizi())
295 : 0 : nRes |= TransliterationModules_ignoreTiJi_ja_JP;
296 [ # # ]: 0 : if ( IsMatchHyuiyuByuvyu())
297 : 0 : nRes |= TransliterationModules_ignoreHyuByu_ja_JP;
298 [ # # ]: 0 : if ( IsMatchSesheZeje())
299 : 0 : nRes |= TransliterationModules_ignoreSeZe_ja_JP;
300 [ # # ]: 0 : if ( IsMatchIaiya())
301 : 0 : nRes |= TransliterationModules_ignoreIandEfollowedByYa_ja_JP;
302 [ # # ]: 0 : if ( IsMatchKiku())
303 : 0 : nRes |= TransliterationModules_ignoreKiKuFollowedBySa_ja_JP;
304 [ # # ]: 0 : if ( IsIgnorePunctuation())
305 : 0 : nRes |= TransliterationModules_ignoreSeparator_ja_JP;
306 [ # # ]: 0 : if ( IsIgnoreWhitespace())
307 : 0 : nRes |= TransliterationModules_ignoreSpace_ja_JP;
308 [ # # ]: 0 : if ( IsIgnoreProlongedSoundMark())
309 : 0 : nRes |= TransliterationModules_ignoreProlongedSoundMark_ja_JP;
310 [ # # ]: 0 : if ( IsIgnoreMiddleDot())
311 : 0 : nRes |= TransliterationModules_ignoreMiddleDot_ja_JP;
312 : :
313 : 0 : return nRes;
314 : : }
315 : :
316 : :
317 : 108 : sal_Bool SvtSearchOptions::IsWholeWordsOnly() const
318 : : {
319 : 108 : return pImpl->GetFlag( 0 );
320 : : }
321 : :
322 : :
323 : 0 : void SvtSearchOptions::SetWholeWordsOnly( sal_Bool bVal )
324 : : {
325 : 0 : pImpl->SetFlag( 0, bVal );
326 : 0 : }
327 : :
328 : :
329 : 108 : sal_Bool SvtSearchOptions::IsBackwards() const
330 : : {
331 : 108 : return pImpl->GetFlag( 1 );
332 : : }
333 : :
334 : :
335 : 0 : void SvtSearchOptions::SetBackwards( sal_Bool bVal )
336 : : {
337 : 0 : pImpl->SetFlag( 1, bVal );
338 : 0 : }
339 : :
340 : :
341 : 108 : sal_Bool SvtSearchOptions::IsUseRegularExpression() const
342 : : {
343 : 108 : return pImpl->GetFlag( 2 );
344 : : }
345 : :
346 : :
347 : 0 : void SvtSearchOptions::SetUseRegularExpression( sal_Bool bVal )
348 : : {
349 : 0 : pImpl->SetFlag( 2, bVal );
350 : 0 : }
351 : :
352 : 0 : void SvtSearchOptions::SetSearchForStyles( sal_Bool bVal )
353 : : {
354 : 0 : pImpl->SetFlag( 3, bVal );
355 : 0 : }
356 : :
357 : :
358 : 108 : sal_Bool SvtSearchOptions::IsSimilaritySearch() const
359 : : {
360 : 108 : return pImpl->GetFlag( 4 );
361 : : }
362 : :
363 : :
364 : 0 : void SvtSearchOptions::SetSimilaritySearch( sal_Bool bVal )
365 : : {
366 : 0 : pImpl->SetFlag( 4, bVal );
367 : 0 : }
368 : :
369 : :
370 : 108 : sal_Bool SvtSearchOptions::IsUseAsianOptions() const
371 : : {
372 : 108 : return pImpl->GetFlag( 5 );
373 : : }
374 : :
375 : :
376 : 0 : void SvtSearchOptions::SetUseAsianOptions( sal_Bool bVal )
377 : : {
378 : 0 : pImpl->SetFlag( 5, bVal );
379 : 0 : }
380 : :
381 : :
382 : 108 : sal_Bool SvtSearchOptions::IsMatchCase() const
383 : : {
384 : 108 : return pImpl->GetFlag( 6 );
385 : : }
386 : :
387 : :
388 : 0 : void SvtSearchOptions::SetMatchCase( sal_Bool bVal )
389 : : {
390 : 0 : pImpl->SetFlag( 6, bVal );
391 : 0 : }
392 : :
393 : :
394 : 108 : sal_Bool SvtSearchOptions::IsMatchFullHalfWidthForms() const
395 : : {
396 : 108 : return pImpl->GetFlag( 7 );
397 : : }
398 : :
399 : :
400 : 0 : void SvtSearchOptions::SetMatchFullHalfWidthForms( sal_Bool bVal )
401 : : {
402 : 0 : pImpl->SetFlag( 7, bVal );
403 : 0 : }
404 : :
405 : :
406 : 0 : sal_Bool SvtSearchOptions::IsMatchHiraganaKatakana() const
407 : : {
408 : 0 : return pImpl->GetFlag( 8 );
409 : : }
410 : :
411 : :
412 : 0 : void SvtSearchOptions::SetMatchHiraganaKatakana( sal_Bool bVal )
413 : : {
414 : 0 : pImpl->SetFlag( 8, bVal );
415 : 0 : }
416 : :
417 : :
418 : 0 : sal_Bool SvtSearchOptions::IsMatchContractions() const
419 : : {
420 : 0 : return pImpl->GetFlag( 9 );
421 : : }
422 : :
423 : :
424 : 0 : void SvtSearchOptions::SetMatchContractions( sal_Bool bVal )
425 : : {
426 : 0 : pImpl->SetFlag( 9, bVal );
427 : 0 : }
428 : :
429 : :
430 : 0 : sal_Bool SvtSearchOptions::IsMatchMinusDashChoon() const
431 : : {
432 : 0 : return pImpl->GetFlag( 10 );
433 : : }
434 : :
435 : :
436 : 0 : void SvtSearchOptions::SetMatchMinusDashChoon( sal_Bool bVal )
437 : : {
438 : 0 : pImpl->SetFlag( 10, bVal );
439 : 0 : }
440 : :
441 : :
442 : 0 : sal_Bool SvtSearchOptions::IsMatchRepeatCharMarks() const
443 : : {
444 : 0 : return pImpl->GetFlag( 11 );
445 : : }
446 : :
447 : :
448 : 0 : void SvtSearchOptions::SetMatchRepeatCharMarks( sal_Bool bVal )
449 : : {
450 : 0 : pImpl->SetFlag( 11, bVal );
451 : 0 : }
452 : :
453 : :
454 : 0 : sal_Bool SvtSearchOptions::IsMatchVariantFormKanji() const
455 : : {
456 : 0 : return pImpl->GetFlag( 12 );
457 : : }
458 : :
459 : :
460 : 0 : void SvtSearchOptions::SetMatchVariantFormKanji( sal_Bool bVal )
461 : : {
462 : 0 : pImpl->SetFlag( 12, bVal );
463 : 0 : }
464 : :
465 : :
466 : 0 : sal_Bool SvtSearchOptions::IsMatchOldKanaForms() const
467 : : {
468 : 0 : return pImpl->GetFlag( 13 );
469 : : }
470 : :
471 : :
472 : 0 : void SvtSearchOptions::SetMatchOldKanaForms( sal_Bool bVal )
473 : : {
474 : 0 : pImpl->SetFlag( 13, bVal );
475 : 0 : }
476 : :
477 : :
478 : 0 : sal_Bool SvtSearchOptions::IsMatchDiziDuzu() const
479 : : {
480 : 0 : return pImpl->GetFlag( 14 );
481 : : }
482 : :
483 : :
484 : 0 : void SvtSearchOptions::SetMatchDiziDuzu( sal_Bool bVal )
485 : : {
486 : 0 : pImpl->SetFlag( 14, bVal );
487 : 0 : }
488 : :
489 : :
490 : 0 : sal_Bool SvtSearchOptions::IsMatchBavaHafa() const
491 : : {
492 : 0 : return pImpl->GetFlag( 15 );
493 : : }
494 : :
495 : :
496 : 0 : void SvtSearchOptions::SetMatchBavaHafa( sal_Bool bVal )
497 : : {
498 : 0 : pImpl->SetFlag( 15, bVal );
499 : 0 : }
500 : :
501 : :
502 : 0 : sal_Bool SvtSearchOptions::IsMatchTsithichiDhizi() const
503 : : {
504 : 0 : return pImpl->GetFlag( 16 );
505 : : }
506 : :
507 : :
508 : 0 : void SvtSearchOptions::SetMatchTsithichiDhizi( sal_Bool bVal )
509 : : {
510 : 0 : pImpl->SetFlag( 16, bVal );
511 : 0 : }
512 : :
513 : :
514 : 0 : sal_Bool SvtSearchOptions::IsMatchHyuiyuByuvyu() const
515 : : {
516 : 0 : return pImpl->GetFlag( 17 );
517 : : }
518 : :
519 : :
520 : 0 : void SvtSearchOptions::SetMatchHyuiyuByuvyu( sal_Bool bVal )
521 : : {
522 : 0 : pImpl->SetFlag( 17, bVal );
523 : 0 : }
524 : :
525 : :
526 : 0 : sal_Bool SvtSearchOptions::IsMatchSesheZeje() const
527 : : {
528 : 0 : return pImpl->GetFlag( 18 );
529 : : }
530 : :
531 : :
532 : 0 : void SvtSearchOptions::SetMatchSesheZeje( sal_Bool bVal )
533 : : {
534 : 0 : pImpl->SetFlag( 18, bVal );
535 : 0 : }
536 : :
537 : :
538 : 0 : sal_Bool SvtSearchOptions::IsMatchIaiya() const
539 : : {
540 : 0 : return pImpl->GetFlag( 19 );
541 : : }
542 : :
543 : :
544 : 0 : void SvtSearchOptions::SetMatchIaiya( sal_Bool bVal )
545 : : {
546 : 0 : pImpl->SetFlag( 19, bVal );
547 : 0 : }
548 : :
549 : :
550 : 0 : sal_Bool SvtSearchOptions::IsMatchKiku() const
551 : : {
552 : 0 : return pImpl->GetFlag( 20 );
553 : : }
554 : :
555 : :
556 : 0 : void SvtSearchOptions::SetMatchKiku( sal_Bool bVal )
557 : : {
558 : 0 : pImpl->SetFlag( 20, bVal );
559 : 0 : }
560 : :
561 : :
562 : 0 : sal_Bool SvtSearchOptions::IsIgnorePunctuation() const
563 : : {
564 : 0 : return pImpl->GetFlag( 21 );
565 : : }
566 : :
567 : :
568 : 0 : void SvtSearchOptions::SetIgnorePunctuation( sal_Bool bVal )
569 : : {
570 : 0 : pImpl->SetFlag( 21, bVal );
571 : 0 : }
572 : :
573 : :
574 : 0 : sal_Bool SvtSearchOptions::IsIgnoreWhitespace() const
575 : : {
576 : 0 : return pImpl->GetFlag( 22 );
577 : : }
578 : :
579 : :
580 : 0 : void SvtSearchOptions::SetIgnoreWhitespace( sal_Bool bVal )
581 : : {
582 : 0 : pImpl->SetFlag( 22, bVal );
583 : 0 : }
584 : :
585 : :
586 : 0 : sal_Bool SvtSearchOptions::IsIgnoreProlongedSoundMark() const
587 : : {
588 : 0 : return pImpl->GetFlag( 23 );
589 : : }
590 : :
591 : :
592 : 0 : void SvtSearchOptions::SetIgnoreProlongedSoundMark( sal_Bool bVal )
593 : : {
594 : 0 : pImpl->SetFlag( 23, bVal );
595 : 0 : }
596 : :
597 : :
598 : 0 : sal_Bool SvtSearchOptions::IsIgnoreMiddleDot() const
599 : : {
600 : 0 : return pImpl->GetFlag( 24 );
601 : : }
602 : :
603 : :
604 : 0 : void SvtSearchOptions::SetIgnoreMiddleDot( sal_Bool bVal )
605 : : {
606 : 0 : pImpl->SetFlag( 24, bVal );
607 : 0 : }
608 : :
609 : 108 : sal_Bool SvtSearchOptions::IsNotes() const
610 : : {
611 : 108 : return pImpl->GetFlag( 25 );
612 : : }
613 : :
614 : :
615 : 0 : void SvtSearchOptions::SetNotes( sal_Bool bVal )
616 : : {
617 : 0 : pImpl->SetFlag( 25, bVal );
618 : 0 : }
619 : :
620 : : //////////////////////////////////////////////////////////////////////
621 : :
622 : : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|