LCOV - code coverage report
Current view: top level - sw/source/ui/uiview - view0.cxx (source / functions) Hit Total Coverage
Test: libreoffice_filtered.info Lines: 80 276 29.0 %
Date: 2012-08-25 Functions: 16 25 64.0 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 60 350 17.1 %

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

Generated by: LCOV version 1.10