LCOV - code coverage report
Current view: top level - sw/source/uibase/uiview - view0.cxx (source / functions) Hit Total Coverage
Test: commit c8344322a7af75b84dd3ca8f78b05543a976dfd5 Lines: 82 288 28.5 %
Date: 2015-06-13 12:38:46 Functions: 18 29 62.1 %
Legend: Lines: hit not hit

          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             : #include <config_features.h>
      21             : 
      22             : #include "hintids.hxx"
      23             : #include <vcl/graph.hxx>
      24             : #include <svl/srchitem.hxx>
      25             : #include <SwSpellDialogChildWindow.hxx>
      26             : #include <svl/eitem.hxx>
      27             : #include <unotools/linguprops.hxx>
      28             : #include <unotools/lingucfg.hxx>
      29             : #include <viewopt.hxx>
      30             : #include <globals.h>
      31             : #include <sfx2/app.hxx>
      32             : #include <sfx2/infobar.hxx>
      33             : #include <sfx2/request.hxx>
      34             : #include <svl/whiter.hxx>
      35             : #include <svx/srchdlg.hxx>
      36             : #include <sfx2/templdlg.hxx>
      37             : #include <sfx2/viewfrm.hxx>
      38             : #include <sfx2/bindings.hxx>
      39             : #include <sfx2/sidebar/SidebarChildWindow.hxx>
      40             : #include <uivwimp.hxx>
      41             : #include <avmedia/mediaplayer.hxx>
      42             : #include <swmodule.hxx>
      43             : #include <com/sun/star/linguistic2/XLinguProperties.hpp>
      44             : 
      45             : #include <sfx2/objface.hxx>
      46             : #include <navipi.hxx>
      47             : #include <wrtsh.hxx>
      48             : #include <edtwin.hxx>
      49             : #include "view.hxx"
      50             : #include "basesh.hxx"
      51             : #include "docsh.hxx"
      52             : #include "doc.hxx"
      53             : #include "globals.hrc"
      54             : #include "cmdid.h"
      55             : #include "globdoc.hxx"
      56             : #include "wview.hxx"
      57             : #include "shells.hrc"
      58             : 
      59             : #define SwView
      60             : #define GlobalContents
      61             : #define Text
      62             : #define TextDrawText
      63             : #define TextInTable
      64             : #define ListInText
      65             : #define ListInTable
      66             : #define WebTextInTable
      67             : #define WebListInText
      68             : #define WebListInTable
      69             : #include <sfx2/msg.hxx>
      70             : #include "swslots.hxx"
      71             : #include <PostItMgr.hxx>
      72             : 
      73             : using namespace ::com::sun::star;
      74             : 
      75             : #include <unotools/moduleoptions.hxx>
      76             : 
      77             : #include <IDocumentSettingAccess.hxx>
      78             : 
      79             : #include <unomid.h>
      80             : #include <boost/scoped_ptr.hpp>
      81             : #include "swabstdlg.hxx"
      82             : #include "misc.hrc"
      83             : 
      84        2877 : SFX_IMPL_NAMED_VIEWFACTORY(SwView, "Default")
      85             : {
      86          59 :     if ( SvtModuleOptions().IsWriter() )
      87             :     {
      88          59 :         SFX_VIEW_REGISTRATION(SwDocShell);
      89          59 :         SFX_VIEW_REGISTRATION(SwGlobalDocShell);
      90             :     }
      91          59 : }
      92             : 
      93      183954 : SFX_IMPL_INTERFACE(SwView, SfxViewShell)
      94             : 
      95          59 : void SwView::InitInterface_Impl()
      96             : {
      97             : #if HAVE_FEATURE_DESKTOP
      98          59 :     GetStaticInterface()->RegisterChildWindow(SID_NAVIGATOR, true);
      99             : 
     100          59 :     GetStaticInterface()->RegisterChildWindow(::sfx2::sidebar::SidebarChildWindow::GetChildWindowId());
     101          59 :     GetStaticInterface()->RegisterChildWindow(SfxInfoBarContainerChild::GetChildWindowId());
     102          59 :     GetStaticInterface()->RegisterChildWindow(SvxSearchDialogWrapper::GetChildWindowId());
     103          59 :     GetStaticInterface()->RegisterChildWindow(SwSpellDialogChildWindow::GetChildWindowId());
     104          59 :     GetStaticInterface()->RegisterChildWindow(FN_REDLINE_ACCEPT);
     105          59 :     GetStaticInterface()->RegisterChildWindow(SID_HYPERLINK_DIALOG);
     106          59 :     GetStaticInterface()->RegisterChildWindow(FN_WORDCOUNT_DIALOG);
     107             : #if HAVE_FEATURE_AVMEDIA
     108          59 :     GetStaticInterface()->RegisterChildWindow(::avmedia::MediaPlayer::GetChildWindowId());
     109             : #endif
     110          59 :     GetStaticInterface()->RegisterChildWindow(FN_INSERT_FIELD_DATA_ONLY);
     111             : 
     112          59 :     GetStaticInterface()->RegisterChildWindow(FN_SYNC_LABELS, false, CHILDWIN_LABEL);
     113          59 :     GetStaticInterface()->RegisterChildWindow(FN_MAILMERGE_CHILDWINDOW, false, CHILDWIN_MAILMERGE);
     114             : 
     115             :     GetStaticInterface()->RegisterObjectBar(SFX_OBJECTBAR_TOOLS|SFX_VISIBILITY_STANDARD|SFX_VISIBILITY_SERVER,
     116          59 :                                             RID_TOOLS_TOOLBOX);
     117             : #endif
     118          59 : }
     119             : 
     120      249353 : TYPEINIT1(SwView,SfxViewShell)
     121             : 
     122        4394 : ShellModes  SwView::GetShellMode()
     123             : {
     124        4394 :     return m_pViewImpl->GetShellMode();
     125             : }
     126             : 
     127           2 : view::XSelectionSupplier* SwView::GetUNOObject()
     128             : {
     129           2 :     return m_pViewImpl->GetUNOObject();
     130             : }
     131             : 
     132           0 : void SwView::ApplyAccessiblityOptions(SvtAccessibilityOptions& rAccessibilityOptions)
     133             : {
     134           0 :     m_pWrtShell->ApplyAccessiblityOptions(rAccessibilityOptions);
     135             :     //to enable the right state of the selection cursor in readonly documents
     136           0 :     if(GetDocShell()->IsReadOnly())
     137           0 :         m_pWrtShell->ShowCrsr();
     138             : 
     139           0 : }
     140             : 
     141             : #if HAVE_FEATURE_DBCONNECTIVITY
     142             : 
     143           0 : void SwView::SetMailMergeConfigItem(SwMailMergeConfigItem*  pConfigItem,
     144             :                 sal_uInt16 nRestart, bool bIsSource)
     145             : {
     146           0 :     m_pViewImpl->SetMailMergeConfigItem(pConfigItem, nRestart, bIsSource);
     147           0 :     UIFeatureChanged();
     148           0 : }
     149             : 
     150        5841 : SwMailMergeConfigItem* SwView::GetMailMergeConfigItem()
     151             : {
     152        5841 :     return m_pViewImpl->GetMailMergeConfigItem();
     153             : }
     154             : 
     155           0 : sal_uInt16 SwView::GetMailMergeRestartPage() const
     156             : {
     157           0 :     return m_pViewImpl->GetMailMergeRestartPage();
     158             : }
     159             : 
     160           0 : bool SwView::IsMailMergeSourceView() const
     161             : {
     162           0 :     return m_pViewImpl->IsMailMergeSourceView();
     163             : }
     164             : 
     165             : #endif
     166             : 
     167           5 : static bool lcl_IsViewMarks( const SwViewOption& rVOpt )
     168             : {
     169          10 :     return  rVOpt.IsHardBlank() &&
     170          10 :             rVOpt.IsSoftHyph() &&
     171          10 :             SwViewOption::IsFieldShadings();
     172             : }
     173           0 : static void lcl_SetViewMarks(SwViewOption& rVOpt, bool bOn )
     174             : {
     175           0 :     rVOpt.SetHardBlank(bOn);
     176           0 :     rVOpt.SetSoftHyph(bOn);
     177             :     SwViewOption::SetAppearanceFlag(
     178           0 :             VIEWOPT_FIELD_SHADINGS, bOn, true);
     179           0 : }
     180             : 
     181           0 : static void lcl_SetViewMetaChars( SwViewOption& rVOpt, bool bOn)
     182             : {
     183           0 :     rVOpt.SetViewMetaChars( bOn );
     184           0 :     if(bOn && !(rVOpt.IsParagraph()     ||
     185           0 :             rVOpt.IsTab()       ||
     186           0 :             rVOpt.IsLineBreak() ||
     187           0 :             rVOpt.IsShowHiddenChar() ||
     188           0 :             rVOpt.IsBlank()))
     189             :     {
     190           0 :         rVOpt.SetParagraph(bOn);
     191           0 :         rVOpt.SetTab(bOn);
     192           0 :         rVOpt.SetLineBreak(bOn);
     193           0 :         rVOpt.SetBlank(bOn);
     194           0 :         rVOpt.SetShowHiddenChar(bOn);
     195             :     }
     196           0 : }
     197             : 
     198           1 : void SwView::RecheckBrowseMode()
     199             : {
     200             :     // OS: pay attention to numerical order!
     201             :     static sal_uInt16 const aInva[] =
     202             :         {
     203             :             //SID_NEWWINDOW,/*5620*/
     204             :             SID_BROWSER_MODE, /*6313*/
     205             :             SID_RULER_BORDERS, SID_RULER_PAGE_POS,
     206             :             //SID_ATTR_LONG_LRSPACE,
     207             :             SID_HTML_MODE,
     208             :             SID_RULER_PROTECT,
     209             :             //SID_AUTOSPELL_CHECK,
     210             :             //SID_AUTOSPELL_MARKOFF,
     211             :             FN_RULER,       /*20211*/
     212             :             FN_VIEW_GRAPHIC,    /*20213*/
     213             :             FN_VIEW_BOUNDS,     /**/
     214             :             FN_VIEW_FIELDS,     /*20215*/
     215             :             FN_VLINEAL,             /*20216*/
     216             :             FN_VSCROLLBAR,      /*20217*/
     217             :             FN_HSCROLLBAR,      /*20218*/
     218             :             FN_VIEW_META_CHARS, /**/
     219             :             FN_VIEW_MARKS,      /**/
     220             :             //FN_VIEW_FIELDNAME,    /**/
     221             :             FN_VIEW_TABLEGRID,  /*20227*/
     222             :             FN_PRINT_LAYOUT, /*20237*/
     223             :             FN_QRY_MERGE,   /*20364*/
     224             :             FN_SHADOWCURSOR, /**/
     225             :             0
     226             :         };
     227             :     // the view must not exist!
     228           1 :     GetViewFrame()->GetBindings().Invalidate(aInva);
     229           1 :     CheckVisArea();
     230             : 
     231             :     SvxZoomType eType;
     232           2 :     if( GetWrtShell().GetViewOptions()->getBrowseMode() && SvxZoomType::PERCENT != (eType = (SvxZoomType)
     233           1 :         GetWrtShell().GetViewOptions()->GetZoomType()) )
     234           0 :         SetZoom( eType );
     235           1 :     InvalidateBorder();
     236           1 : }
     237             : 
     238             : // State of view options
     239             : 
     240        1122 : void SwView::StateViewOptions(SfxItemSet &rSet)
     241             : {
     242        1122 :     SfxWhichIter aIter(rSet);
     243        1122 :     sal_uInt16 nWhich = aIter.FirstWhich();
     244        2244 :     SfxBoolItem aBool;
     245        1122 :     const SwViewOption* pOpt = GetWrtShell().GetViewOptions();
     246        1122 :     const IDocumentSettingAccess* pIDSA = GetDocShell()->getIDocumentSettingAccess();
     247             : 
     248        3766 :     while(nWhich)
     249             :     {
     250        1522 :         bool bReadonly = GetDocShell()->IsReadOnly();
     251        1522 :         if ( bReadonly && nWhich != FN_VIEW_GRAPHIC )
     252             :         {
     253           4 :             rSet.DisableItem(nWhich);
     254           4 :             nWhich = 0;
     255             :         }
     256        1522 :         switch(nWhich)
     257             :         {
     258             :             case FN_RULER:
     259             :             {
     260           0 :                 if(!pOpt->IsViewHRuler(true) && !pOpt->IsViewVRuler(true))
     261             :                 {
     262           0 :                     rSet.DisableItem(nWhich);
     263           0 :                     nWhich = 0;
     264             :                 }
     265             :                 else
     266           0 :                     aBool.SetValue( pOpt->IsViewAnyRuler());
     267             :             }
     268           0 :             break;
     269             :             case SID_BROWSER_MODE:
     270             :             case FN_PRINT_LAYOUT:
     271             :             {
     272          10 :                 bool bState = pOpt->getBrowseMode();
     273          10 :                 if(FN_PRINT_LAYOUT == nWhich)
     274           5 :                     bState = !bState;
     275          10 :                 aBool.SetValue( bState );
     276             :             }
     277          10 :             break;
     278             :             case FN_VIEW_BOUNDS:
     279           5 :                 aBool.SetValue( SwViewOption::IsDocBoundaries()); break;
     280             :             case FN_VIEW_GRAPHIC:
     281           5 :                 aBool.SetValue( pOpt->IsGraphic() ); break;
     282             :             case FN_VIEW_FIELDS:
     283           0 :                 aBool.SetValue( SwViewOption::IsFieldShadings() ); break;
     284             :             case FN_VIEW_FIELDNAME:
     285           5 :                 aBool.SetValue( pOpt->IsFieldName() ); break;
     286             :             case FN_VIEW_MARKS:
     287           5 :                 aBool.SetValue( lcl_IsViewMarks(*pOpt) ); break;
     288             :             case FN_VIEW_META_CHARS:
     289         736 :                 aBool.SetValue( pOpt->IsViewMetaChars() ); break;
     290             :             case FN_VIEW_TABLEGRID:
     291           5 :                 aBool.SetValue( SwViewOption::IsTableBoundaries() ); break;
     292             :             case FN_VIEW_NOTES:
     293             :             {
     294           5 :                 aBool.SetValue( pOpt->IsPostIts());
     295           5 :                 if (!GetPostItMgr()->HasNotes())
     296             :                 {
     297           5 :                     aBool.SetWhich( nWhich );
     298           5 :                     rSet.Put( aBool );
     299           5 :                     rSet.DisableItem(nWhich);
     300           5 :                     nWhich = 0;
     301             :                 }
     302           5 :                 break;
     303             :             }
     304             :             case FN_VIEW_HIDDEN_PARA:
     305           5 :                 aBool.SetValue( pOpt->IsShowHiddenPara()); break;
     306             :             case SID_GRID_VISIBLE:
     307           0 :                 aBool.SetValue( pOpt->IsGridVisible() ); break;
     308             :             case SID_GRID_USE:
     309           0 :                 aBool.SetValue( pOpt->IsSnap() ); break;
     310             :             case SID_HELPLINES_MOVE:
     311           0 :                 aBool.SetValue( pOpt->IsCrossHair() ); break;
     312             :             case FN_VIEW_SMOOTH_SCROLL:
     313           0 :                 aBool.SetValue( pOpt->IsSmoothScroll()); break;
     314             :             case FN_VLINEAL:
     315           0 :                 aBool.SetValue( StatVRuler() ); break;
     316             :             case FN_HSCROLLBAR:
     317           0 :                 if( pOpt->getBrowseMode() )
     318             :                 {
     319           0 :                     rSet.DisableItem(nWhich);
     320           0 :                     nWhich = 0;
     321             :                 }
     322             :                 else
     323           0 :                     aBool.SetValue( IsHScrollbarVisible() ); break;
     324             :             case FN_VSCROLLBAR:
     325           0 :                 aBool.SetValue( IsVScrollbarVisible() ); break;
     326             :             case SID_AUTOSPELL_CHECK:
     327         728 :                 aBool.SetValue( pOpt->IsOnlineSpell() );
     328         728 :             break;
     329             :             case FN_SHADOWCURSOR:
     330           9 :                 if (pIDSA == 0 || pOpt->getBrowseMode() )
     331             :                 {
     332           0 :                     rSet.DisableItem( nWhich );
     333           0 :                     nWhich = 0;
     334             :                 }
     335             :                 else
     336           9 :                     aBool.SetValue( pOpt->IsShadowCursor() );
     337           9 :             break;
     338             : 
     339             :         }
     340             : 
     341        1522 :         if( nWhich )
     342             :         {
     343        1513 :             aBool.SetWhich( nWhich );
     344        1513 :             rSet.Put( aBool );
     345             :         }
     346        1522 :         nWhich = aIter.NextWhich();
     347        1122 :     }
     348        1122 : }
     349             : 
     350             : // execute view options
     351             : 
     352           0 : void SwView::ExecViewOptions(SfxRequest &rReq)
     353             : {
     354           0 :     boost::scoped_ptr<SwViewOption> pOpt(new SwViewOption( *GetWrtShell().GetViewOptions() ));
     355           0 :     bool bModified = GetWrtShell().IsModified();
     356             : 
     357           0 :     int eState = STATE_TOGGLE;
     358           0 :     bool bSet = false;
     359           0 :     bool bBrowseModeChanged = false;
     360             : 
     361           0 :     const SfxItemSet *pArgs = rReq.GetArgs();
     362           0 :     sal_uInt16 nSlot = rReq.GetSlot();
     363           0 :     const SfxPoolItem* pAttr=NULL;
     364             : 
     365           0 :     if( pArgs && SfxItemState::SET == pArgs->GetItemState( nSlot , false, &pAttr ))
     366             :     {
     367           0 :         bSet = static_cast<const SfxBoolItem*>(pAttr)->GetValue();
     368           0 :         eState = bSet ? STATE_ON : STATE_OFF;
     369             :     }
     370             : 
     371           0 :     bool bFlag = STATE_ON == eState;
     372           0 :     uno::Reference< linguistic2::XLinguProperties >  xLngProp( ::GetLinguPropertySet() );
     373             : 
     374           0 :     switch ( nSlot )
     375             :     {
     376             :     case FN_VIEW_GRAPHIC:
     377           0 :         if( STATE_TOGGLE == eState )
     378           0 :             bFlag = !pOpt->IsGraphic();
     379           0 :         pOpt->SetGraphic( bFlag );
     380           0 :         break;
     381             : 
     382             :     case FN_VIEW_FIELDS:
     383           0 :         if( STATE_TOGGLE == eState )
     384           0 :             bFlag = !SwViewOption::IsFieldShadings() ;
     385           0 :         SwViewOption::SetAppearanceFlag(VIEWOPT_FIELD_SHADINGS, bFlag, true );
     386           0 :         break;
     387             : 
     388             :     case FN_VIEW_BOUNDS:
     389           0 :         if( STATE_TOGGLE == eState )
     390           0 :             bFlag = !SwViewOption::IsDocBoundaries();
     391           0 :         SwViewOption::SetAppearanceFlag(VIEWOPT_DOC_BOUNDARIES, bFlag, true );
     392           0 :         break;
     393             : 
     394             :     case SID_GRID_VISIBLE:
     395           0 :         if( STATE_TOGGLE == eState )
     396           0 :             bFlag = !pOpt->IsGridVisible();
     397             : 
     398           0 :         pOpt->SetGridVisible( bFlag );
     399           0 :         break;
     400             : 
     401             :     case SID_GRID_USE:
     402           0 :         if( STATE_TOGGLE == eState )
     403           0 :             bFlag = !pOpt->IsSnap();
     404             : 
     405           0 :         pOpt->SetSnap( bFlag );
     406           0 :         break;
     407             : 
     408             :     case SID_HELPLINES_MOVE:
     409           0 :         if( STATE_TOGGLE == eState )
     410           0 :             bFlag = !pOpt->IsCrossHair();
     411             : 
     412           0 :         pOpt->SetCrossHair( bFlag );
     413           0 :         break;
     414             : 
     415             :     case SID_BROWSER_MODE:
     416             :     case FN_PRINT_LAYOUT:
     417           0 :         if( STATE_TOGGLE == eState )
     418           0 :             bFlag = !pOpt->getBrowseMode();
     419           0 :         else if( nSlot == FN_PRINT_LAYOUT )
     420           0 :             bFlag = !bFlag;
     421           0 :         bBrowseModeChanged = bFlag != pOpt->getBrowseMode();
     422             :         // Disable "multiple layout"
     423           0 :         GetDocShell()->ToggleBrowserMode( bFlag, this );
     424           0 :         pOpt->setBrowseMode( bFlag );
     425           0 :         break;
     426             : 
     427             :     case FN_VIEW_NOTES:
     428           0 :         if ( STATE_TOGGLE == eState )
     429           0 :             bFlag = !pOpt->IsPostIts();
     430             : 
     431           0 :         GetPostItMgr()->SetLayout();
     432           0 :         pOpt->SetPostIts( bFlag );
     433           0 :         if (pOpt->IsPostIts())
     434           0 :             GetPostItMgr()->CheckMetaText();
     435           0 :         break;
     436             : 
     437             :     case FN_VIEW_HIDDEN_PARA:
     438           0 :         if ( STATE_TOGGLE == eState )
     439           0 :             bFlag = !pOpt->IsShowHiddenPara();
     440             : 
     441           0 :         pOpt->SetShowHiddenPara( bFlag );
     442           0 :         break;
     443             : 
     444             :     case FN_VIEW_SMOOTH_SCROLL:
     445             : 
     446           0 :         if ( STATE_TOGGLE == eState )
     447           0 :             bFlag = !pOpt->IsSmoothScroll();
     448             : 
     449           0 :         pOpt->SetSmoothScroll( bFlag );
     450           0 :         break;
     451             : 
     452             :     case FN_VLINEAL:
     453           0 :         if( STATE_TOGGLE == eState )
     454           0 :             bFlag = !pOpt->IsViewVRuler();
     455             : 
     456           0 :         pOpt->SetViewVRuler( bFlag );
     457           0 :         break;
     458             : 
     459             :     case FN_VSCROLLBAR:
     460           0 :         if( STATE_TOGGLE == eState )
     461           0 :             bFlag = !pOpt->IsViewVScrollBar();
     462             : 
     463           0 :         pOpt->SetViewVScrollBar( bFlag );
     464           0 :         break;
     465             : 
     466             :     case FN_HSCROLLBAR:
     467           0 :         if( STATE_TOGGLE == eState )
     468           0 :             bFlag = !pOpt->IsViewHScrollBar();
     469             : 
     470           0 :         pOpt->SetViewHScrollBar( bFlag );
     471           0 :         break;
     472             : 
     473             :     case FN_RULER:
     474           0 :         if( STATE_TOGGLE == eState )
     475           0 :             bFlag = !pOpt->IsViewAnyRuler();
     476             : 
     477           0 :         pOpt->SetViewAnyRuler( bFlag );
     478           0 :         break;
     479             : 
     480             :     case FN_VIEW_TABLEGRID:
     481           0 :         if( STATE_TOGGLE == eState )
     482           0 :             bFlag = !SwViewOption::IsTableBoundaries();
     483           0 :         SwViewOption::SetAppearanceFlag(VIEWOPT_TABLE_BOUNDARIES, bFlag, true );
     484           0 :         break;
     485             : 
     486             :     case FN_VIEW_FIELDNAME:
     487           0 :         if( STATE_TOGGLE == eState )
     488           0 :             bFlag = !pOpt->IsFieldName() ;
     489             : 
     490           0 :         pOpt->SetFieldName( bFlag );
     491           0 :         break;
     492             : 
     493             :     case FN_VIEW_MARKS:
     494           0 :         if( STATE_TOGGLE == eState )
     495           0 :             bFlag = !lcl_IsViewMarks(*pOpt) ;
     496             : 
     497           0 :         lcl_SetViewMarks( *pOpt, bFlag );
     498           0 :         break;
     499             : 
     500             :     case FN_VIEW_META_CHARS:
     501           0 :         if( STATE_TOGGLE == eState )
     502           0 :             bFlag = !pOpt->IsViewMetaChars();
     503             : 
     504           0 :         lcl_SetViewMetaChars( *pOpt, bFlag );
     505           0 :         break;
     506             : 
     507             :     case SID_AUTOSPELL_CHECK:
     508           0 :         if( STATE_TOGGLE == eState )
     509             :         {
     510           0 :             bFlag = !pOpt->IsOnlineSpell();
     511           0 :             bSet = bFlag;
     512             :         }
     513             : 
     514           0 :         pOpt->SetOnlineSpell(bSet);
     515             :         {
     516           0 :             OUString aPropName(UPN_IS_SPELL_AUTO);
     517             : 
     518           0 :             SvtLinguConfig  aCfg;
     519           0 :             aCfg.SetProperty( aPropName, uno::makeAny( bSet ) );
     520             : 
     521           0 :             if (xLngProp.is())
     522           0 :                 xLngProp->setIsSpellAuto( bSet );
     523             : 
     524             :             // for the time being we do not have a specific option for grammarchecking.
     525             :             // thus we'll use the one for spell checking...
     526           0 :             if (bSet)
     527             :             {
     528           0 :                 SwDocShell *pDocSh = GetDocShell();
     529           0 :                 SwDoc *pDoc = pDocSh? pDocSh->GetDoc() : NULL;
     530             : 
     531             :                 // right now we don't have view options for automatic grammar checking. Thus...
     532           0 :                 bool bIsAutoGrammar = false;
     533           0 :                 aCfg.GetProperty( UPN_IS_GRAMMAR_AUTO ) >>= bIsAutoGrammar;
     534             : 
     535           0 :                 if (pDoc && bIsAutoGrammar)
     536           0 :                     StartGrammarChecking( *pDoc );
     537           0 :             }
     538             :         }
     539           0 :         break;
     540             : 
     541             :     case FN_SHADOWCURSOR:
     542           0 :         if( STATE_TOGGLE == eState )
     543             :         {
     544           0 :             bFlag = !pOpt->IsShadowCursor();
     545           0 :             bSet = bFlag;
     546             :         }
     547             : 
     548           0 :         pOpt->SetShadowCursor(bSet);
     549           0 :         break;
     550             : 
     551             :     default:
     552             :         OSL_FAIL("wrong request method");
     553           0 :         return;
     554             :     }
     555             : 
     556             :     // Set UserPrefs, mark request as modified
     557           0 :     bool bWebView =  0 != dynamic_cast<const SwWebView*>(this);
     558           0 :     SwWrtShell &rSh = GetWrtShell();
     559           0 :     rSh.StartAction();
     560           0 :     SwModule* pModule = SW_MOD();
     561           0 :     if( !(*rSh.GetViewOptions() == *pOpt ))
     562             :     {
     563           0 :         rSh.ApplyViewOptions( *pOpt );
     564           0 :         if( bBrowseModeChanged )
     565             :         {
     566           0 :             RecheckBrowseMode();
     567           0 :             CheckVisArea();
     568             :         }
     569             : 
     570             :         // The UsrPref must be marked as modified.
     571             :         // call for initialization
     572           0 :         pModule->GetUsrPref(bWebView);
     573           0 :         SwModule::CheckSpellChanges( pOpt->IsOnlineSpell(), false, false, false );
     574             :     }
     575             :     //OS: Set back modified again, because view/fields sets the Doc modified.
     576           0 :     if( !bModified )
     577           0 :         rSh.ResetModified();
     578             : 
     579           0 :     pModule->ApplyUsrPref( *pOpt, this, bWebView ? VIEWOPT_DEST_WEB : VIEWOPT_DEST_TEXT );
     580             : 
     581             :     // #i6193# let postits know about new spellcheck setting
     582           0 :     if ( nSlot == SID_AUTOSPELL_CHECK )
     583           0 :         GetPostItMgr()->SetSpellChecking();
     584             : 
     585           0 :     const bool bLockedView = rSh.IsViewLocked();
     586           0 :     rSh.LockView( true );    //lock visible section
     587           0 :     GetWrtShell().EndAction();
     588           0 :     if( bBrowseModeChanged && !bFlag )
     589           0 :         CalcVisArea( GetEditWin().GetOutputSizePixel() );
     590           0 :     rSh.LockView( bLockedView );
     591             : 
     592           0 :     pOpt.reset();
     593           0 :     Invalidate(rReq.GetSlot());
     594           0 :     if(!pArgs)
     595           0 :         rReq.AppendItem(SfxBoolItem(nSlot, bFlag));
     596           0 :     rReq.Done();
     597             : }
     598             : 
     599           0 : void SwView::ExecFormatFootnote()
     600             : {
     601           0 :     SwAbstractDialogFactory* pFact = SwAbstractDialogFactory::Create();
     602             :     OSL_ENSURE(pFact, "SwAbstractDialogFactory fail!");
     603             : 
     604           0 :     boost::scoped_ptr<VclAbstractDialog> pDlg(pFact->CreateSwFootNoteOptionDlg(GetWindow(), GetWrtShell()));
     605             :     OSL_ENSURE(pDlg, "Dialog creation failed!");
     606           0 :     pDlg->Execute();
     607           0 : }
     608             : 
     609           0 : void SwView::ExecNumberingOutline(SfxItemPool & rPool)
     610             : {
     611           0 :     SfxItemSet aTmp(rPool, FN_PARAM_1, FN_PARAM_1);
     612           0 :     SwAbstractDialogFactory* pFact = SwAbstractDialogFactory::Create();
     613             :     OSL_ENSURE(pFact, "Dialog creation failed!");
     614             :     boost::scoped_ptr<SfxAbstractTabDialog> pDlg(pFact->CreateSwTabDialog( DLG_TAB_OUTLINE,
     615           0 :                                                 GetWindow(), &aTmp, GetWrtShell()));
     616             :     OSL_ENSURE(pDlg, "Dialog creation failed!");
     617           0 :     pDlg->Execute();
     618           0 :     pDlg.reset();
     619         177 : }
     620             : 
     621             : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */

Generated by: LCOV version 1.11