1 /**************************************************************
2 *
3 * Licensed to the Apache Software Foundation (ASF) under one
4 * or more contributor license agreements. See the NOTICE file
5 * distributed with this work for additional information
6 * regarding copyright ownership. The ASF licenses this file
7 * to you under the Apache License, Version 2.0 (the
8 * "License"); you may not use this file except in compliance
9 * with the License. You may obtain a copy of the License at
10 *
11 * http://www.apache.org/licenses/LICENSE-2.0
12 *
13 * Unless required by applicable law or agreed to in writing,
14 * software distributed under the License is distributed on an
15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16 * KIND, either express or implied. See the License for the
17 * specific language governing permissions and limitations
18 * under the License.
19 *
20 *************************************************************/
21
22 // MARKER(update_precomp.py): autogen include statement, do not remove
23 #include "precompiled_sw.hxx"
24
25 #include "hintids.hxx"
26 #include <vcl/graph.hxx>
27 #include <svx/galbrws.hxx>
28 #include <svl/srchitem.hxx>
29 #include <SwSpellDialogChildWindow.hxx>
30 #include <svl/eitem.hxx>
31 #include <unotools/linguprops.hxx>
32 #include <unotools/lingucfg.hxx>
33 #include <viewopt.hxx>
34 #include <globals.h>
35 #include <sfx2/app.hxx>
36 #include <sfx2/request.hxx>
37 #include <svl/whiter.hxx>
38 #include <svx/srchdlg.hxx>
39 #include <sfx2/templdlg.hxx>
40 #include <sfx2/viewfrm.hxx>
41 #include <sfx2/bindings.hxx>
42 #include <sfx2/sidebar/SidebarChildWindow.hxx>
43 #include <uivwimp.hxx>
44 #include <avmedia/mediaplayer.hxx>
45 //#include <swlinguconfig.hxx>
46 #include <swmodule.hxx>
47
48 #include <sfx2/objface.hxx>
49 #include <navipi.hxx>
50 #include <wrtsh.hxx>
51 #include <edtwin.hxx>
52 #include "view.hxx"
53 #include "basesh.hxx"
54 #include "docsh.hxx"
55 #include "doc.hxx"
56 #include "globals.hrc"
57 #include "cmdid.h" // FN_ ...
58 #include "globdoc.hxx"
59 #include "wview.hxx"
60 #include "shells.hrc"
61
62 #define OLEObjects
63 #define SwView
64 #define Frames
65 #define Graphics
66 #define Tables
67 #define Controls
68 #define GlobalContents
69 #define Text
70 #define Frame
71 #define Graphic
72 #define Object
73 #define Draw
74 #define TextDrawText
75 #define TextInTable
76 #define ListInText
77 #define ListInTable
78 #define WebTextInTable
79 #define WebListInText
80 #define WebListInTable
81 #define TextPage
82 #include <sfx2/msg.hxx>
83 #include "swslots.hxx"
84 #include <PostItMgr.hxx>
85
86
87 using namespace ::com::sun::star;
88 using ::rtl::OUString;
89
90 #include <unotools/moduleoptions.hxx>
91
92 #include <IDocumentSettingAccess.hxx>
93
94 #include <unomid.h>
95
96 SFX_IMPL_NAMED_VIEWFACTORY(SwView, "Default")
97 {
98 if ( SvtModuleOptions().IsWriter() )
99 {
100 SFX_VIEW_REGISTRATION(SwDocShell);
101 SFX_VIEW_REGISTRATION(SwGlobalDocShell);
102 }
103 }
104
SFX_IMPL_INTERFACE(SwView,SfxViewShell,SW_RES (RID_TOOLS_TOOLBOX))105 SFX_IMPL_INTERFACE( SwView, SfxViewShell, SW_RES(RID_TOOLS_TOOLBOX) )
106 {
107 SFX_CHILDWINDOW_CONTEXT_REGISTRATION(SID_NAVIGATOR);
108 SFX_CHILDWINDOW_REGISTRATION(::sfx2::sidebar::SidebarChildWindow::GetChildWindowId());
109 SFX_CHILDWINDOW_REGISTRATION(SfxTemplateDialogWrapper::GetChildWindowId());
110 SFX_CHILDWINDOW_REGISTRATION(SvxSearchDialogWrapper::GetChildWindowId());
111 SFX_CHILDWINDOW_REGISTRATION(SwSpellDialogChildWindow::GetChildWindowId());
112 SFX_CHILDWINDOW_REGISTRATION(FN_REDLINE_ACCEPT);
113 SFX_CHILDWINDOW_REGISTRATION(SID_HYPERLINK_DIALOG);
114 SFX_CHILDWINDOW_REGISTRATION(GalleryChildWindow::GetChildWindowId());
115 SFX_CHILDWINDOW_REGISTRATION(::avmedia::MediaPlayer::GetChildWindowId());
116 SFX_CHILDWINDOW_REGISTRATION(FN_INSERT_FIELD_DATA_ONLY);
117 SFX_FEATURED_CHILDWINDOW_REGISTRATION(FN_SYNC_LABELS, CHILDWIN_LABEL );
118 SFX_FEATURED_CHILDWINDOW_REGISTRATION(FN_MAILMERGE_CHILDWINDOW, CHILDWIN_MAILMERGE);
119 // SFX_CHILDWINDOW_REGISTRATION(FN_MAILMERGE_SENDMAIL_CHILDWINDOW);
120 SFX_OBJECTBAR_REGISTRATION( SFX_OBJECTBAR_TOOLS|
121 SFX_VISIBILITY_STANDARD|SFX_VISIBILITY_SERVER,
122 SW_RES(RID_TOOLS_TOOLBOX) );
123 }
124
TYPEINIT1(SwView,SfxViewShell)125 TYPEINIT1(SwView,SfxViewShell)
126
127 /*-----------------13.12.97 11:06-------------------
128
129 --------------------------------------------------*/
130 ShellModes SwView::GetShellMode()
131 {
132 return pViewImpl->GetShellMode();
133 }
134
135 /*-----------------13.12.97 11:28-------------------
136
137 --------------------------------------------------*/
GetUNOObject()138 view::XSelectionSupplier* SwView::GetUNOObject()
139 {
140 return pViewImpl->GetUNOObject();
141 }
142 /* -----------------------------06.05.2002 13:18------------------------------
143
144 ---------------------------------------------------------------------------*/
ApplyAccessibilityOptions(SvtAccessibilityOptions & rAccessibilityOptions)145 void SwView::ApplyAccessibilityOptions(SvtAccessibilityOptions& rAccessibilityOptions)
146 {
147 pWrtShell->ApplyAccessibilityOptions(rAccessibilityOptions);
148 //to enable the right state of the selection cursor in readonly documents
149 if(GetDocShell()->IsReadOnly())
150 pWrtShell->ShowCrsr();
151
152 }
153 /*-- 26.05.2004 09:14:25---------------------------------------------------
154
155 -----------------------------------------------------------------------*/
SetMailMergeConfigItem(SwMailMergeConfigItem * pConfigItem,sal_uInt16 nRestart,sal_Bool bIsSource)156 void SwView::SetMailMergeConfigItem(SwMailMergeConfigItem* pConfigItem,
157 sal_uInt16 nRestart, sal_Bool bIsSource)
158 {
159 pViewImpl->SetMailMergeConfigItem(pConfigItem, nRestart, bIsSource);
160 UIFeatureChanged();
161 }
162 /*-- 26.05.2004 09:14:25---------------------------------------------------
163
164 -----------------------------------------------------------------------*/
GetMailMergeConfigItem()165 SwMailMergeConfigItem* SwView::GetMailMergeConfigItem()
166 {
167 return pViewImpl->GetMailMergeConfigItem();
168 }
169 /*-- 26.05.2004 09:14:25---------------------------------------------------
170
171 -----------------------------------------------------------------------*/
GetMailMergeRestartPage() const172 sal_uInt16 SwView::GetMailMergeRestartPage() const
173 {
174 return pViewImpl->GetMailMergeRestartPage();
175 }
176 /*-- 03.09.2004 11:56:33---------------------------------------------------
177
178 -----------------------------------------------------------------------*/
IsMailMergeSourceView() const179 sal_Bool SwView::IsMailMergeSourceView() const
180 {
181 return pViewImpl->IsMailMergeSourceView();
182 }
183 /*-- 12.04.2006 11:51:40---------------------------------------------------
184
185 -----------------------------------------------------------------------*/
lcl_IsViewMarks(const SwViewOption & rVOpt)186 sal_Bool lcl_IsViewMarks( const SwViewOption& rVOpt )
187 {
188 return rVOpt.IsHardBlank() &&
189 rVOpt.IsSoftHyph() &&
190 SwViewOption::IsFieldShadings();
191 }
lcl_SetViewMarks(SwViewOption & rVOpt,sal_Bool bOn)192 void lcl_SetViewMarks(SwViewOption& rVOpt, sal_Bool bOn )
193 {
194 rVOpt.SetHardBlank(bOn);
195 rVOpt.SetSoftHyph(bOn);
196 SwViewOption::SetAppearanceFlag(
197 VIEWOPT_FIELD_SHADINGS, bOn, sal_True);
198 }
199
lcl_SetViewMetaChars(SwViewOption & rVOpt,sal_Bool bOn)200 void lcl_SetViewMetaChars( SwViewOption& rVOpt, sal_Bool bOn)
201 {
202 rVOpt.SetViewMetaChars( bOn );
203 if(bOn && !(rVOpt.IsParagraph() ||
204 rVOpt.IsTab() ||
205 rVOpt.IsLineBreak() ||
206 rVOpt.IsShowHiddenChar() ||
207 rVOpt.IsBlank()))
208 {
209 rVOpt.SetParagraph(bOn);
210 rVOpt.SetTab(bOn);
211 rVOpt.SetLineBreak(bOn);
212 rVOpt.SetBlank(bOn);
213 rVOpt.SetShowHiddenChar(bOn);
214 }
215 }
216
RecheckBrowseMode()217 void SwView::RecheckBrowseMode()
218 {
219 // OS: numerische Reihenfolge beachten!
220 static sal_uInt16 __READONLY_DATA aInva[] =
221 {
222 //SID_NEWWINDOW,/*5620*/
223 SID_BROWSER_MODE, /*6313*/
224 SID_RULER_BORDERS, SID_RULER_PAGE_POS,
225 //SID_ATTR_LONG_LRSPACE,
226 SID_HTML_MODE,
227 SID_RULER_PROTECT,
228 //SID_AUTOSPELL_CHECK,
229 //SID_AUTOSPELL_MARKOFF,
230 FN_RULER, /*20211*/
231 FN_VIEW_GRAPHIC, /*20213*/
232 FN_VIEW_BOUNDS, /**/
233 FN_VIEW_FIELDS, /*20215*/
234 FN_VRULER, /*20216*/
235 FN_VSCROLLBAR, /*20217*/
236 FN_HSCROLLBAR, /*20218*/
237 FN_VIEW_META_CHARS, /**/
238 FN_VIEW_MARKS, /**/
239 //FN_VIEW_FIELDNAME, /**/
240 FN_VIEW_TABLEGRID, /*20227*/
241 FN_PRINT_LAYOUT, /*20237*/
242 FN_QRY_MERGE, /*20364*/
243 FN_SHADOWCURSOR, /**/
244 0
245 };
246 // the view must not exist!
247 GetViewFrame()->GetBindings().Invalidate(aInva);
248 CheckVisArea();
249
250 SvxZoomType eType;
251 if( GetWrtShell().GetViewOptions()->getBrowseMode() && SVX_ZOOM_PERCENT != (eType = (SvxZoomType)
252 GetWrtShell().GetViewOptions()->GetZoomType()) )
253 SetZoom( eType );
254 InvalidateBorder();
255 }
256
257 /*--------------------------------------------------------------------
258 State of view options
259 --------------------------------------------------------------------*/
StateViewOptions(SfxItemSet & rSet)260 void SwView::StateViewOptions(SfxItemSet &rSet)
261 {
262 SfxWhichIter aIter(rSet);
263 sal_uInt16 nWhich = aIter.FirstWhich();
264 SfxBoolItem aBool;
265 const SwViewOption* pOpt = GetWrtShell().GetViewOptions();
266 const IDocumentSettingAccess* pIDSA = GetDocShell()->getIDocumentSettingAccess();
267
268 while(nWhich)
269 {
270 sal_Bool bReadonly = GetDocShell()->IsReadOnly();
271 if ( bReadonly && nWhich != FN_VIEW_GRAPHIC )
272 {
273 rSet.DisableItem(nWhich);
274 nWhich = 0;
275 }
276 switch(nWhich)
277 {
278 case FN_RULER:
279 {
280 if(!pOpt->IsViewHRuler(sal_True) && !pOpt->IsViewVRuler(sal_True))
281 {
282 rSet.DisableItem(nWhich);
283 nWhich = 0;
284 }
285 else
286 aBool.SetValue( pOpt->IsViewAnyRuler());
287 }
288 break;
289 case SID_BROWSER_MODE:
290 case FN_PRINT_LAYOUT:
291 {
292 sal_Bool bState = pOpt->getBrowseMode();
293 if(FN_PRINT_LAYOUT == nWhich)
294 bState = !bState;
295 aBool.SetValue( bState );
296 }
297 break;
298 case FN_VIEW_BOUNDS:
299 aBool.SetValue( SwViewOption::IsDocBoundaries()); break;
300 case FN_VIEW_GRAPHIC:
301 aBool.SetValue( !pOpt->IsGraphic() ); break;
302 case FN_VIEW_FIELDS:
303 aBool.SetValue( SwViewOption::IsFieldShadings() ); break;
304 case FN_VIEW_FIELDNAME:
305 aBool.SetValue( pOpt->IsFldName() ); break;
306 case FN_VIEW_MARKS:
307 aBool.SetValue( lcl_IsViewMarks(*pOpt) ); break;
308 case FN_VIEW_META_CHARS:
309 aBool.SetValue( pOpt->IsViewMetaChars() ); break;
310 case FN_VIEW_TABLEGRID:
311 aBool.SetValue( SwViewOption::IsTableBoundaries() ); break;
312 case FN_VIEW_NOTES:
313 {
314 aBool.SetValue( pOpt->IsPostIts());
315 if (!GetPostItMgr()->HasNotes())
316 {
317 aBool.SetWhich( nWhich );
318 rSet.Put( aBool );
319 rSet.DisableItem(nWhich);
320 nWhich = 0;
321 }
322 break;
323 }
324 case FN_VIEW_HIDDEN_PARA:
325 aBool.SetValue( pOpt->IsShowHiddenPara()); break;
326 case SID_GRID_VISIBLE:
327 aBool.SetValue( pOpt->IsGridVisible() ); break;
328 case SID_GRID_USE:
329 aBool.SetValue( pOpt->IsSnap() ); break;
330 case SID_HELPLINES_MOVE:
331 aBool.SetValue( pOpt->IsCrossHair() ); break;
332 case FN_VIEW_SMOOTH_SCROLL:
333 aBool.SetValue( pOpt->IsSmoothScroll()); break;
334 case FN_VRULER:
335 aBool.SetValue( 0 != StatVRuler() ); break;
336 case FN_HSCROLLBAR:
337 if( pOpt->getBrowseMode() )
338 {
339 rSet.DisableItem(nWhich);
340 nWhich = 0;
341 }
342 else
343 aBool.SetValue( IsHScrollbarVisible() ); break;
344 case FN_VSCROLLBAR:
345 aBool.SetValue( IsVScrollbarVisible() ); break;
346 case SID_AUTOSPELL_CHECK:
347 aBool.SetValue( pOpt->IsOnlineSpell() );
348 break;
349 case FN_SHADOWCURSOR:
350 if (pIDSA == 0 || pOpt->getBrowseMode() )
351 {
352 rSet.DisableItem( nWhich );
353 nWhich = 0;
354 }
355 else
356 aBool.SetValue( pOpt->IsShadowCursor() );
357 break;
358
359 }
360
361 if( nWhich )
362 {
363 aBool.SetWhich( nWhich );
364 rSet.Put( aBool );
365 }
366 nWhich = aIter.NextWhich();
367 }
368 }
369
370 /*--------------------------------------------------------------------
371 execute view options
372 --------------------------------------------------------------------*/
ExecViewOptions(SfxRequest & rReq)373 void SwView::ExecViewOptions(SfxRequest &rReq)
374 {
375 SwViewOption* pOpt = new SwViewOption( *GetWrtShell().GetViewOptions() );
376 sal_Bool bModified = GetWrtShell().IsModified();
377
378 int eState = STATE_TOGGLE;
379 sal_Bool bSet = sal_False;
380 bool bBrowseModeChanged = false;
381
382 const SfxItemSet *pArgs = rReq.GetArgs();
383 sal_uInt16 nSlot = rReq.GetSlot();
384 const SfxPoolItem* pAttr=NULL;
385
386 if( pArgs && SFX_ITEM_SET == pArgs->GetItemState( nSlot , sal_False, &pAttr ))
387 {
388 bSet = ((SfxBoolItem*)pAttr)->GetValue();
389 eState = bSet ? STATE_ON : STATE_OFF;
390 }
391
392 sal_Bool bFlag = STATE_ON == eState;
393 uno::Reference< beans::XPropertySet > xLngProp( ::GetLinguPropertySet() );
394
395 switch ( nSlot )
396 {
397 case FN_VIEW_GRAPHIC:
398
399 if( STATE_TOGGLE == eState )
400 bFlag = !pOpt->IsGraphic();
401 pOpt->SetGraphic( bFlag );
402 break;
403
404 case FN_VIEW_FIELDS:
405 if( STATE_TOGGLE == eState )
406 bFlag = !SwViewOption::IsFieldShadings() ;
407 SwViewOption::SetAppearanceFlag(VIEWOPT_FIELD_SHADINGS, bFlag, sal_True );
408 break;
409
410 case FN_VIEW_BOUNDS:
411 if( STATE_TOGGLE == eState )
412 bFlag = !SwViewOption::IsDocBoundaries();
413 SwViewOption::SetAppearanceFlag(VIEWOPT_DOC_BOUNDARIES, bFlag, sal_True );
414 break;
415
416 case SID_GRID_VISIBLE:
417 if( STATE_TOGGLE == eState )
418 bFlag = !pOpt->IsGridVisible();
419
420 pOpt->SetGridVisible( bFlag );
421 break;
422
423 case SID_GRID_USE:
424 if( STATE_TOGGLE == eState )
425 bFlag = !pOpt->IsSnap();
426
427 pOpt->SetSnap( bFlag );
428 break;
429
430 case SID_HELPLINES_MOVE:
431 if( STATE_TOGGLE == eState )
432 bFlag = !pOpt->IsCrossHair();
433
434 pOpt->SetCrossHair( bFlag );
435 break;
436
437 case SID_BROWSER_MODE:
438 case FN_PRINT_LAYOUT:
439 if( STATE_TOGGLE == eState )
440 bFlag = !pOpt->getBrowseMode();
441 else if( nSlot == FN_PRINT_LAYOUT )
442 bFlag = !bFlag;
443 bBrowseModeChanged = bFlag != pOpt->getBrowseMode();
444 // Disable "multiple layout"
445 GetDocShell()->ToggleBrowserMode( bFlag, this );
446
447 pOpt->setBrowseMode( bFlag );
448 break;
449
450 case FN_VIEW_NOTES:
451 if ( STATE_TOGGLE == eState )
452 bFlag = !pOpt->IsPostIts();
453
454 GetPostItMgr()->SetLayout();
455 pOpt->SetPostIts( bFlag );
456 if (pOpt->IsPostIts())
457 GetPostItMgr()->CheckMetaText();
458 break;
459
460 case FN_VIEW_HIDDEN_PARA:
461 if ( STATE_TOGGLE == eState )
462 bFlag = !pOpt->IsShowHiddenPara();
463
464 pOpt->SetShowHiddenPara( bFlag );
465 break;
466
467 case FN_VIEW_SMOOTH_SCROLL:
468
469 if ( STATE_TOGGLE == eState )
470 bFlag = !pOpt->IsSmoothScroll();
471
472 pOpt->SetSmoothScroll( bFlag );
473 break;
474
475
476 case FN_VRULER:
477 if( STATE_TOGGLE == eState )
478 bFlag = !pOpt->IsViewVRuler();
479
480 pOpt->SetViewVRuler( bFlag );
481 break;
482
483 case FN_VSCROLLBAR:
484 if( STATE_TOGGLE == eState )
485 bFlag = !pOpt->IsViewVScrollBar();
486
487 pOpt->SetViewVScrollBar( bFlag );
488 break;
489
490 case FN_HSCROLLBAR:
491 if( STATE_TOGGLE == eState )
492 bFlag = !pOpt->IsViewHScrollBar();
493
494 pOpt->SetViewHScrollBar( bFlag );
495 break;
496 case FN_RULER:
497 if( STATE_TOGGLE == eState )
498 bFlag = !pOpt->IsViewAnyRuler();
499
500 pOpt->SetViewAnyRuler( bFlag );
501 break;
502
503 case FN_VIEW_TABLEGRID:
504 if( STATE_TOGGLE == eState )
505 bFlag = !SwViewOption::IsTableBoundaries();
506 SwViewOption::SetAppearanceFlag(VIEWOPT_TABLE_BOUNDARIES, bFlag, sal_True );
507 break;
508
509 case FN_VIEW_FIELDNAME:
510 if( STATE_TOGGLE == eState )
511 bFlag = !pOpt->IsFldName() ;
512
513 pOpt->SetFldName( bFlag );
514 break;
515 case FN_VIEW_MARKS:
516 if( STATE_TOGGLE == eState )
517 bFlag = !lcl_IsViewMarks(*pOpt) ;
518
519 lcl_SetViewMarks( *pOpt, bFlag );
520 break;
521 case FN_VIEW_META_CHARS:
522 if( STATE_TOGGLE == eState )
523 bFlag = !pOpt->IsViewMetaChars();
524
525 lcl_SetViewMetaChars( *pOpt, bFlag );
526 break;
527 case SID_AUTOSPELL_CHECK:
528 if( STATE_TOGGLE == eState )
529 bFlag = bSet = !pOpt->IsOnlineSpell();
530
531 pOpt->SetOnlineSpell(bSet);
532 {
533 uno::Any aVal( &bSet, ::getCppuBooleanType() );
534 String aPropName( C2S(UPN_IS_SPELL_AUTO) );
535
536 SvtLinguConfig aCfg;
537 aCfg.SetProperty( aPropName, aVal );
538
539 if (xLngProp.is())
540 xLngProp->setPropertyValue( aPropName, aVal );
541
542 // for the time being we do not have a specific option for grammarchecking.
543 // thus we'll use the one for spell checking...
544 if (bSet)
545 {
546 SwDocShell *pDocSh = GetDocShell();
547 SwDoc *pDoc = pDocSh? pDocSh->GetDoc() : NULL;
548
549 // right now we don't have view options for automatic grammar checking. Thus...
550 sal_Bool bIsAutoGrammar = sal_False;
551 aCfg.GetProperty( C2U( UPN_IS_GRAMMAR_AUTO ) ) >>= bIsAutoGrammar;
552
553 if (pDoc && bIsAutoGrammar)
554 StartGrammarChecking( *pDoc );
555 }
556 }
557 break;
558 case FN_SHADOWCURSOR:
559 if( STATE_TOGGLE == eState )
560 bFlag = bSet = !pOpt->IsShadowCursor();
561
562 pOpt->SetShadowCursor(bSet);
563 break;
564
565 default:
566 delete pOpt;
567 ASSERT(sal_False, Falsche Request-Methode);
568 return;
569 }
570
571 // UserPrefs setzen Request als bearbeitet kennzeichnen
572 sal_Bool bWebView = 0 != dynamic_cast<const SwWebView*>(this);
573 SwWrtShell &rSh = GetWrtShell();
574 rSh.StartAction();
575 SwModule* pModule = SW_MOD();
576 if( !(*rSh.GetViewOptions() == *pOpt ))
577 {
578 rSh.ApplyViewOptions( *pOpt );
579 if( bBrowseModeChanged )
580 {
581 RecheckBrowseMode();
582 CheckVisArea();
583 }
584
585 //Die UsrPref muessen als Modified gekennzeichnet werden.
586 //call for initialization
587 pModule->GetUsrPref(bWebView);
588 pModule->CheckSpellChanges( pOpt->IsOnlineSpell(), sal_False, sal_False, sal_False );
589 }
590 //OS: Modified wieder zuruecksetzen, weil Ansicht/Felder
591 // das Doc modified setzt.
592 if( !bModified )
593 rSh.ResetModified();
594
595 pModule->ApplyUsrPref( *pOpt, this, bWebView ? VIEWOPT_DEST_WEB : VIEWOPT_DEST_TEXT );
596
597 //mod #i6193# let postits know about new spellcheck setting
598 if ( nSlot == SID_AUTOSPELL_CHECK )
599 GetPostItMgr()->SetSpellChecking();
600
601 const sal_Bool bLockedView = rSh.IsViewLocked();
602 rSh.LockView( sal_True ); //lock visible section
603 GetWrtShell().EndAction();
604 if( bBrowseModeChanged && !bFlag )
605 CalcVisArea( GetEditWin().GetOutputSizePixel() );
606 rSh.LockView( bLockedView );
607
608 delete pOpt;
609 Invalidate(rReq.GetSlot());
610 if(!pArgs)
611 rReq.AppendItem(SfxBoolItem(nSlot, (sal_Bool)bFlag));
612 rReq.Done();
613 }
614
IMPL_LINK(SwView,HtmlOptionsHdl,void *,EMPTYARG)615 IMPL_LINK( SwView, HtmlOptionsHdl, void*, EMPTYARG )
616 {
617 // Invalidierung, falls blinkender Text erlaubt/verboten wurde
618 GetViewFrame()->GetBindings().Invalidate(SID_DRAW_TEXT_MARQUEE);
619 return 0;
620 }
621
622 /* vim: set noet sw=4 ts=4: */
623