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 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 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 --------------------------------------------------*/ 138 view::XSelectionSupplier* SwView::GetUNOObject() 139 { 140 return pViewImpl->GetUNOObject(); 141 } 142 /* -----------------------------06.05.2002 13:18------------------------------ 143 144 ---------------------------------------------------------------------------*/ 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 -----------------------------------------------------------------------*/ 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 -----------------------------------------------------------------------*/ 165 SwMailMergeConfigItem* SwView::GetMailMergeConfigItem() 166 { 167 return pViewImpl->GetMailMergeConfigItem(); 168 } 169 /*-- 26.05.2004 09:14:25--------------------------------------------------- 170 171 -----------------------------------------------------------------------*/ 172 sal_uInt16 SwView::GetMailMergeRestartPage() const 173 { 174 return pViewImpl->GetMailMergeRestartPage(); 175 } 176 /*-- 03.09.2004 11:56:33--------------------------------------------------- 177 178 -----------------------------------------------------------------------*/ 179 sal_Bool SwView::IsMailMergeSourceView() const 180 { 181 return pViewImpl->IsMailMergeSourceView(); 182 } 183 /*-- 12.04.2006 11:51:40--------------------------------------------------- 184 185 -----------------------------------------------------------------------*/ 186 sal_Bool lcl_IsViewMarks( const SwViewOption& rVOpt ) 187 { 188 return rVOpt.IsHardBlank() && 189 rVOpt.IsSoftHyph() && 190 SwViewOption::IsFieldShadings(); 191 } 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 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 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 --------------------------------------------------------------------*/ 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 --------------------------------------------------------------------*/ 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 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