xref: /aoo4110/main/sw/source/ui/app/swmodul1.cxx (revision b1cdbd2c)
1*b1cdbd2cSJim Jagielski /**************************************************************
2*b1cdbd2cSJim Jagielski  *
3*b1cdbd2cSJim Jagielski  * Licensed to the Apache Software Foundation (ASF) under one
4*b1cdbd2cSJim Jagielski  * or more contributor license agreements.  See the NOTICE file
5*b1cdbd2cSJim Jagielski  * distributed with this work for additional information
6*b1cdbd2cSJim Jagielski  * regarding copyright ownership.  The ASF licenses this file
7*b1cdbd2cSJim Jagielski  * to you under the Apache License, Version 2.0 (the
8*b1cdbd2cSJim Jagielski  * "License"); you may not use this file except in compliance
9*b1cdbd2cSJim Jagielski  * with the License.  You may obtain a copy of the License at
10*b1cdbd2cSJim Jagielski  *
11*b1cdbd2cSJim Jagielski  *   http://www.apache.org/licenses/LICENSE-2.0
12*b1cdbd2cSJim Jagielski  *
13*b1cdbd2cSJim Jagielski  * Unless required by applicable law or agreed to in writing,
14*b1cdbd2cSJim Jagielski  * software distributed under the License is distributed on an
15*b1cdbd2cSJim Jagielski  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*b1cdbd2cSJim Jagielski  * KIND, either express or implied.  See the License for the
17*b1cdbd2cSJim Jagielski  * specific language governing permissions and limitations
18*b1cdbd2cSJim Jagielski  * under the License.
19*b1cdbd2cSJim Jagielski  *
20*b1cdbd2cSJim Jagielski  *************************************************************/
21*b1cdbd2cSJim Jagielski 
22*b1cdbd2cSJim Jagielski 
23*b1cdbd2cSJim Jagielski 
24*b1cdbd2cSJim Jagielski // MARKER(update_precomp.py): autogen include statement, do not remove
25*b1cdbd2cSJim Jagielski #include "precompiled_sw.hxx"
26*b1cdbd2cSJim Jagielski 
27*b1cdbd2cSJim Jagielski 
28*b1cdbd2cSJim Jagielski #include <hintids.hxx>
29*b1cdbd2cSJim Jagielski #include <sfx2/request.hxx>
30*b1cdbd2cSJim Jagielski #include <sfx2/dispatch.hxx>
31*b1cdbd2cSJim Jagielski #include <sfx2/childwin.hxx>
32*b1cdbd2cSJim Jagielski #include <unotools/useroptions.hxx>
33*b1cdbd2cSJim Jagielski #include <cppuhelper/weak.hxx>
34*b1cdbd2cSJim Jagielski #include <com/sun/star/frame/FrameSearchFlag.hpp>
35*b1cdbd2cSJim Jagielski #include <com/sun/star/view/XSelectionSupplier.hpp>
36*b1cdbd2cSJim Jagielski #include <cppuhelper/implbase1.hxx>	// helper for implementations
37*b1cdbd2cSJim Jagielski #include <svx/dataaccessdescriptor.hxx>
38*b1cdbd2cSJim Jagielski #include <editeng/wghtitem.hxx>
39*b1cdbd2cSJim Jagielski #include <editeng/postitem.hxx>
40*b1cdbd2cSJim Jagielski #include <editeng/udlnitem.hxx>
41*b1cdbd2cSJim Jagielski #include <editeng/crsditem.hxx>
42*b1cdbd2cSJim Jagielski #include <editeng/cmapitem.hxx>
43*b1cdbd2cSJim Jagielski #include <editeng/colritem.hxx>
44*b1cdbd2cSJim Jagielski #include <editeng/brshitem.hxx>
45*b1cdbd2cSJim Jagielski #include <vcl/msgbox.hxx>
46*b1cdbd2cSJim Jagielski #include <swmodule.hxx>
47*b1cdbd2cSJim Jagielski #include <swtypes.hxx>
48*b1cdbd2cSJim Jagielski #include <usrpref.hxx>
49*b1cdbd2cSJim Jagielski #include <modcfg.hxx>
50*b1cdbd2cSJim Jagielski #include <view.hxx>
51*b1cdbd2cSJim Jagielski #include <pview.hxx>
52*b1cdbd2cSJim Jagielski #include <wview.hxx>
53*b1cdbd2cSJim Jagielski #include <wrtsh.hxx>
54*b1cdbd2cSJim Jagielski #include <docsh.hxx>
55*b1cdbd2cSJim Jagielski #include <dbmgr.hxx>
56*b1cdbd2cSJim Jagielski #include <uinums.hxx>
57*b1cdbd2cSJim Jagielski #include <prtopt.hxx>		// fuer PrintOptions
58*b1cdbd2cSJim Jagielski #include <navicfg.hxx>
59*b1cdbd2cSJim Jagielski #include <doc.hxx>
60*b1cdbd2cSJim Jagielski #include <cmdid.h>
61*b1cdbd2cSJim Jagielski #include <app.hrc>
62*b1cdbd2cSJim Jagielski #include "helpid.h"
63*b1cdbd2cSJim Jagielski 
64*b1cdbd2cSJim Jagielski #include <unomid.h>
65*b1cdbd2cSJim Jagielski #include <tools/color.hxx>
66*b1cdbd2cSJim Jagielski #include "PostItMgr.hxx"
67*b1cdbd2cSJim Jagielski 
68*b1cdbd2cSJim Jagielski using ::rtl::OUString;
69*b1cdbd2cSJim Jagielski using namespace ::svx;
70*b1cdbd2cSJim Jagielski using namespace ::com::sun::star;
71*b1cdbd2cSJim Jagielski using namespace ::com::sun::star::uno;
72*b1cdbd2cSJim Jagielski using namespace ::com::sun::star::beans;
73*b1cdbd2cSJim Jagielski using namespace ::com::sun::star::frame;
74*b1cdbd2cSJim Jagielski using namespace ::com::sun::star::view;
75*b1cdbd2cSJim Jagielski using namespace ::com::sun::star::lang;
76*b1cdbd2cSJim Jagielski 
77*b1cdbd2cSJim Jagielski 
78*b1cdbd2cSJim Jagielski /*-----------------08/28/97 08:41pm-----------------
79*b1cdbd2cSJim Jagielski 
80*b1cdbd2cSJim Jagielski --------------------------------------------------*/
lcl_SetUIPrefs(const SwViewOption * pPref,SwView * pView,ViewShell * pSh)81*b1cdbd2cSJim Jagielski void lcl_SetUIPrefs(const SwViewOption* pPref, SwView* pView, ViewShell* pSh )
82*b1cdbd2cSJim Jagielski {
83*b1cdbd2cSJim Jagielski 	// in FrameSets kann die tatsaechliche Sichtbarkeit von der Einstellung der ViewOptions abweichen
84*b1cdbd2cSJim Jagielski 	sal_Bool bVScrollChanged = pPref->IsViewVScrollBar() != pSh->GetViewOptions()->IsViewVScrollBar();
85*b1cdbd2cSJim Jagielski     sal_Bool bHScrollChanged = pPref->IsViewHScrollBar() != pSh->GetViewOptions()->IsViewHScrollBar();
86*b1cdbd2cSJim Jagielski     sal_Bool bVAlignChanged = pPref->IsVRulerRight() != pSh->GetViewOptions()->IsVRulerRight();
87*b1cdbd2cSJim Jagielski 
88*b1cdbd2cSJim Jagielski     pSh->SetUIOptions(*pPref);
89*b1cdbd2cSJim Jagielski     const SwViewOption* pNewPref = pSh->GetViewOptions();
90*b1cdbd2cSJim Jagielski 
91*b1cdbd2cSJim Jagielski 	// Scrollbars an / aus
92*b1cdbd2cSJim Jagielski 	if(bVScrollChanged)
93*b1cdbd2cSJim Jagielski 	{
94*b1cdbd2cSJim Jagielski         pView->ShowVScrollbar(pNewPref->IsViewVScrollBar());
95*b1cdbd2cSJim Jagielski 	}
96*b1cdbd2cSJim Jagielski 	if(bHScrollChanged)
97*b1cdbd2cSJim Jagielski 	{
98*b1cdbd2cSJim Jagielski         pView->ShowHScrollbar( pNewPref->IsViewHScrollBar() || pNewPref->getBrowseMode() );
99*b1cdbd2cSJim Jagielski 	}
100*b1cdbd2cSJim Jagielski     //if only the position of the vertical ruler has been changed initiate an update
101*b1cdbd2cSJim Jagielski     if(bVAlignChanged && !bHScrollChanged && !bVScrollChanged)
102*b1cdbd2cSJim Jagielski         pView->InvalidateBorder();
103*b1cdbd2cSJim Jagielski 
104*b1cdbd2cSJim Jagielski 	// Lineale an / aus
105*b1cdbd2cSJim Jagielski     if(pNewPref->IsViewVRuler())
106*b1cdbd2cSJim Jagielski 		pView->CreateVLineal();
107*b1cdbd2cSJim Jagielski 	else
108*b1cdbd2cSJim Jagielski 		pView->KillVLineal();
109*b1cdbd2cSJim Jagielski 
110*b1cdbd2cSJim Jagielski 	// TabWindow an/aus
111*b1cdbd2cSJim Jagielski     if(pNewPref->IsViewHRuler())
112*b1cdbd2cSJim Jagielski 		pView->CreateTab();
113*b1cdbd2cSJim Jagielski 	else
114*b1cdbd2cSJim Jagielski 		pView->KillTab();
115*b1cdbd2cSJim Jagielski 
116*b1cdbd2cSJim Jagielski 	pView->GetPostItMgr()->PrepareView(true);
117*b1cdbd2cSJim Jagielski }
118*b1cdbd2cSJim Jagielski 
119*b1cdbd2cSJim Jagielski /*--------------------------------------------------------------------
120*b1cdbd2cSJim Jagielski 	Beschreibung:	Aktuelle SwWrtShell
121*b1cdbd2cSJim Jagielski  --------------------------------------------------------------------*/
122*b1cdbd2cSJim Jagielski 
123*b1cdbd2cSJim Jagielski 
GetActiveWrtShell()124*b1cdbd2cSJim Jagielski SwWrtShell*	GetActiveWrtShell()
125*b1cdbd2cSJim Jagielski {
126*b1cdbd2cSJim Jagielski 	SwView *pActive = ::GetActiveView();
127*b1cdbd2cSJim Jagielski 	if( pActive )
128*b1cdbd2cSJim Jagielski 		return &pActive->GetWrtShell();
129*b1cdbd2cSJim Jagielski 	return 0;
130*b1cdbd2cSJim Jagielski }
131*b1cdbd2cSJim Jagielski 
132*b1cdbd2cSJim Jagielski /*--------------------------------------------------------------------
133*b1cdbd2cSJim Jagielski 	Beschreibung: 	Pointer auf die aktuelle Sicht
134*b1cdbd2cSJim Jagielski  --------------------------------------------------------------------*/
135*b1cdbd2cSJim Jagielski 
136*b1cdbd2cSJim Jagielski 
GetActiveView()137*b1cdbd2cSJim Jagielski SwView* GetActiveView()
138*b1cdbd2cSJim Jagielski {
139*b1cdbd2cSJim Jagielski 	SfxViewShell* pView = SfxViewShell::Current();
140*b1cdbd2cSJim Jagielski 	return PTR_CAST( SwView, pView );
141*b1cdbd2cSJim Jagielski }
142*b1cdbd2cSJim Jagielski /*--------------------------------------------------------------------
143*b1cdbd2cSJim Jagielski 	Beschreibung:	Ueber Views iterieren - static
144*b1cdbd2cSJim Jagielski  --------------------------------------------------------------------*/
145*b1cdbd2cSJim Jagielski 
GetFirstView()146*b1cdbd2cSJim Jagielski SwView* SwModule::GetFirstView()
147*b1cdbd2cSJim Jagielski {
148*b1cdbd2cSJim Jagielski 	// liefert nur sichtbare SwViews
149*b1cdbd2cSJim Jagielski 	const TypeId aTypeId = TYPE(SwView);
150*b1cdbd2cSJim Jagielski 	SwView* pView = (SwView*)SfxViewShell::GetFirst(&aTypeId);
151*b1cdbd2cSJim Jagielski 	return pView;
152*b1cdbd2cSJim Jagielski }
153*b1cdbd2cSJim Jagielski 
154*b1cdbd2cSJim Jagielski 
GetNextView(SwView * pView)155*b1cdbd2cSJim Jagielski SwView* SwModule::GetNextView(SwView* pView)
156*b1cdbd2cSJim Jagielski {
157*b1cdbd2cSJim Jagielski 	DBG_ASSERT(PTR_CAST(SwView, pView),"keine SwView uebergeben");
158*b1cdbd2cSJim Jagielski 	const TypeId aTypeId = TYPE(SwView);
159*b1cdbd2cSJim Jagielski     SwView* pNView = (SwView*)SfxViewShell::GetNext(*pView, &aTypeId, sal_True);
160*b1cdbd2cSJim Jagielski 	return pNView;
161*b1cdbd2cSJim Jagielski }
162*b1cdbd2cSJim Jagielski 
163*b1cdbd2cSJim Jagielski /*------------------------------------------------------------------------
164*b1cdbd2cSJim Jagielski  Beschreibung:	Neuer Master fuer die Einstellungen wird gesetzt;
165*b1cdbd2cSJim Jagielski 				dieser wirkt sich auf die aktuelle Sicht und alle
166*b1cdbd2cSJim Jagielski 				folgenden aus.
167*b1cdbd2cSJim Jagielski ------------------------------------------------------------------------*/
168*b1cdbd2cSJim Jagielski 
ApplyUsrPref(const SwViewOption & rUsrPref,SwView * pActView,sal_uInt16 nDest)169*b1cdbd2cSJim Jagielski void SwModule::ApplyUsrPref(const SwViewOption &rUsrPref, SwView* pActView,
170*b1cdbd2cSJim Jagielski 							sal_uInt16 nDest )
171*b1cdbd2cSJim Jagielski {
172*b1cdbd2cSJim Jagielski     SwView* pCurrView = pActView;
173*b1cdbd2cSJim Jagielski     ViewShell* pSh = pCurrView ? &pCurrView->GetWrtShell() : 0;
174*b1cdbd2cSJim Jagielski 
175*b1cdbd2cSJim Jagielski     SwMasterUsrPref* pPref = (SwMasterUsrPref*)GetUsrPref( static_cast< sal_Bool >(
176*b1cdbd2cSJim Jagielski 										 VIEWOPT_DEST_WEB == nDest ? sal_True  :
177*b1cdbd2cSJim Jagielski 										 VIEWOPT_DEST_TEXT== nDest ? sal_False :
178*b1cdbd2cSJim Jagielski                                          pCurrView && pCurrView->ISA(SwWebView) ));
179*b1cdbd2cSJim Jagielski 
180*b1cdbd2cSJim Jagielski 	//per Uno soll nur die sdbcx::View, aber nicht das Module veraendert werden
181*b1cdbd2cSJim Jagielski 	sal_Bool bViewOnly = VIEWOPT_DEST_VIEW_ONLY == nDest;
182*b1cdbd2cSJim Jagielski 	//PreView abfruehstuecken
183*b1cdbd2cSJim Jagielski 	SwPagePreView* pPPView;
184*b1cdbd2cSJim Jagielski     if( !pCurrView && 0 != (pPPView = PTR_CAST( SwPagePreView, SfxViewShell::Current())) )
185*b1cdbd2cSJim Jagielski 	{
186*b1cdbd2cSJim Jagielski 		if(!bViewOnly)
187*b1cdbd2cSJim Jagielski 			pPref->SetUIOptions( rUsrPref );
188*b1cdbd2cSJim Jagielski         pPPView->ShowVScrollbar(pPref->IsViewVScrollBar());
189*b1cdbd2cSJim Jagielski         pPPView->ShowHScrollbar(pPref->IsViewHScrollBar());
190*b1cdbd2cSJim Jagielski 		if(!bViewOnly)
191*b1cdbd2cSJim Jagielski 		{
192*b1cdbd2cSJim Jagielski 			pPref->SetPagePrevRow(rUsrPref.GetPagePrevRow());
193*b1cdbd2cSJim Jagielski 			pPref->SetPagePrevCol(rUsrPref.GetPagePrevCol());
194*b1cdbd2cSJim Jagielski 		}
195*b1cdbd2cSJim Jagielski 		return;
196*b1cdbd2cSJim Jagielski 	}
197*b1cdbd2cSJim Jagielski 
198*b1cdbd2cSJim Jagielski 	if(!bViewOnly)
199*b1cdbd2cSJim Jagielski 	{
200*b1cdbd2cSJim Jagielski 		pPref->SetUsrPref( rUsrPref );
201*b1cdbd2cSJim Jagielski 		pPref->SetModified();
202*b1cdbd2cSJim Jagielski 	}
203*b1cdbd2cSJim Jagielski 
204*b1cdbd2cSJim Jagielski     if( !pCurrView )
205*b1cdbd2cSJim Jagielski 		return;
206*b1cdbd2cSJim Jagielski 
207*b1cdbd2cSJim Jagielski 	// Weitergabe an die CORE
208*b1cdbd2cSJim Jagielski     sal_Bool bReadonly;
209*b1cdbd2cSJim Jagielski     const SwDocShell* pDocSh = pCurrView->GetDocShell();
210*b1cdbd2cSJim Jagielski     if (pDocSh)
211*b1cdbd2cSJim Jagielski         bReadonly = pDocSh->IsReadOnly();
212*b1cdbd2cSJim Jagielski     else //Use existing option if DocShell missing
213*b1cdbd2cSJim Jagielski         bReadonly = pSh->GetViewOptions()->IsReadonly();
214*b1cdbd2cSJim Jagielski 	SwViewOption* pViewOpt;
215*b1cdbd2cSJim Jagielski 	if(!bViewOnly)
216*b1cdbd2cSJim Jagielski 		pViewOpt = new SwViewOption( *pPref );
217*b1cdbd2cSJim Jagielski 	else
218*b1cdbd2cSJim Jagielski 		pViewOpt = new SwViewOption( rUsrPref );
219*b1cdbd2cSJim Jagielski 	pViewOpt->SetReadonly( bReadonly );
220*b1cdbd2cSJim Jagielski 	if( !(*pSh->GetViewOptions() == *pViewOpt) )
221*b1cdbd2cSJim Jagielski 	{
222*b1cdbd2cSJim Jagielski 		//Ist evtl. nur eine ViewShell
223*b1cdbd2cSJim Jagielski 		pSh->StartAction();
224*b1cdbd2cSJim Jagielski 		pSh->ApplyViewOptions( *pViewOpt );
225*b1cdbd2cSJim Jagielski 		((SwWrtShell*)pSh)->SetReadOnlyAvailable(pViewOpt->IsCursorInProtectedArea());
226*b1cdbd2cSJim Jagielski 		pSh->EndAction();
227*b1cdbd2cSJim Jagielski 	}
228*b1cdbd2cSJim Jagielski 	if ( pSh->GetViewOptions()->IsReadonly() != bReadonly )
229*b1cdbd2cSJim Jagielski 		pSh->SetReadonlyOption(bReadonly);
230*b1cdbd2cSJim Jagielski 
231*b1cdbd2cSJim Jagielski     lcl_SetUIPrefs(pViewOpt, pCurrView, pSh);
232*b1cdbd2cSJim Jagielski 
233*b1cdbd2cSJim Jagielski     // zum Schluss wird das Idle-Flag wieder gesetzt
234*b1cdbd2cSJim Jagielski 	// #42510#
235*b1cdbd2cSJim Jagielski 	pPref->SetIdle(sal_True);
236*b1cdbd2cSJim Jagielski 
237*b1cdbd2cSJim Jagielski     delete pViewOpt;
238*b1cdbd2cSJim Jagielski }
239*b1cdbd2cSJim Jagielski /* -----------------------------28.09.00 12:36--------------------------------
240*b1cdbd2cSJim Jagielski 
241*b1cdbd2cSJim Jagielski  ---------------------------------------------------------------------------*/
ApplyUserMetric(FieldUnit eMetric,sal_Bool bWeb)242*b1cdbd2cSJim Jagielski void SwModule::ApplyUserMetric( FieldUnit eMetric, sal_Bool bWeb )
243*b1cdbd2cSJim Jagielski {
244*b1cdbd2cSJim Jagielski 		SwMasterUsrPref* pPref;
245*b1cdbd2cSJim Jagielski 		if(bWeb)
246*b1cdbd2cSJim Jagielski 		{
247*b1cdbd2cSJim Jagielski 			if(!pWebUsrPref)
248*b1cdbd2cSJim Jagielski 				GetUsrPref(sal_True);
249*b1cdbd2cSJim Jagielski 			pPref = pWebUsrPref;
250*b1cdbd2cSJim Jagielski 		}
251*b1cdbd2cSJim Jagielski 		else
252*b1cdbd2cSJim Jagielski 		{
253*b1cdbd2cSJim Jagielski 			if(!pUsrPref)
254*b1cdbd2cSJim Jagielski 				GetUsrPref(sal_False);
255*b1cdbd2cSJim Jagielski 			pPref = pUsrPref;
256*b1cdbd2cSJim Jagielski 		}
257*b1cdbd2cSJim Jagielski 		FieldUnit eOldMetric = pPref->GetMetric();
258*b1cdbd2cSJim Jagielski 		if(eOldMetric != eMetric)
259*b1cdbd2cSJim Jagielski 			pPref->SetMetric(eMetric);
260*b1cdbd2cSJim Jagielski 
261*b1cdbd2cSJim Jagielski         FieldUnit eHScrollMetric = pPref->IsHScrollMetric() ? pPref->GetHScrollMetric() : eMetric;
262*b1cdbd2cSJim Jagielski         FieldUnit eVScrollMetric = pPref->IsVScrollMetric() ? pPref->GetVScrollMetric() : eMetric;
263*b1cdbd2cSJim Jagielski 
264*b1cdbd2cSJim Jagielski 		SwView* pTmpView = SwModule::GetFirstView();
265*b1cdbd2cSJim Jagielski 		// fuer alle MDI-Fenster das Lineal umschalten
266*b1cdbd2cSJim Jagielski 		while(pTmpView)
267*b1cdbd2cSJim Jagielski 		{
268*b1cdbd2cSJim Jagielski 			if(bWeb == (0 != PTR_CAST(SwWebView, pTmpView)))
269*b1cdbd2cSJim Jagielski 			{
270*b1cdbd2cSJim Jagielski                 pTmpView->ChangeVLinealMetric(eVScrollMetric);
271*b1cdbd2cSJim Jagielski                 pTmpView->ChangeTabMetric(eHScrollMetric);
272*b1cdbd2cSJim Jagielski 			}
273*b1cdbd2cSJim Jagielski 
274*b1cdbd2cSJim Jagielski 			pTmpView = SwModule::GetNextView(pTmpView);
275*b1cdbd2cSJim Jagielski 		}
276*b1cdbd2cSJim Jagielski }
277*b1cdbd2cSJim Jagielski /*-- 12.11.2008 14:47:58---------------------------------------------------
278*b1cdbd2cSJim Jagielski 
279*b1cdbd2cSJim Jagielski   -----------------------------------------------------------------------*/
ApplyRulerMetric(FieldUnit eMetric,sal_Bool bHorizontal,sal_Bool bWeb)280*b1cdbd2cSJim Jagielski void SwModule::ApplyRulerMetric( FieldUnit eMetric, sal_Bool bHorizontal, sal_Bool bWeb )
281*b1cdbd2cSJim Jagielski {
282*b1cdbd2cSJim Jagielski     SwMasterUsrPref* pPref;
283*b1cdbd2cSJim Jagielski     if(bWeb)
284*b1cdbd2cSJim Jagielski     {
285*b1cdbd2cSJim Jagielski         if(!pWebUsrPref)
286*b1cdbd2cSJim Jagielski             GetUsrPref(sal_True);
287*b1cdbd2cSJim Jagielski         pPref = pWebUsrPref;
288*b1cdbd2cSJim Jagielski     }
289*b1cdbd2cSJim Jagielski     else
290*b1cdbd2cSJim Jagielski     {
291*b1cdbd2cSJim Jagielski         if(!pUsrPref)
292*b1cdbd2cSJim Jagielski             GetUsrPref(sal_False);
293*b1cdbd2cSJim Jagielski         pPref = pUsrPref;
294*b1cdbd2cSJim Jagielski     }
295*b1cdbd2cSJim Jagielski     if( bHorizontal )
296*b1cdbd2cSJim Jagielski         pPref->SetHScrollMetric(eMetric);
297*b1cdbd2cSJim Jagielski     else
298*b1cdbd2cSJim Jagielski         pPref->SetVScrollMetric(eMetric);
299*b1cdbd2cSJim Jagielski 
300*b1cdbd2cSJim Jagielski     SwView* pTmpView = SwModule::GetFirstView();
301*b1cdbd2cSJim Jagielski     // switch metric at the appropriate rulers
302*b1cdbd2cSJim Jagielski     while(pTmpView)
303*b1cdbd2cSJim Jagielski     {
304*b1cdbd2cSJim Jagielski         if(bWeb == (0 != dynamic_cast<SwWebView *>( pTmpView )))
305*b1cdbd2cSJim Jagielski         {
306*b1cdbd2cSJim Jagielski             if( bHorizontal )
307*b1cdbd2cSJim Jagielski                 pTmpView->ChangeTabMetric(eMetric);
308*b1cdbd2cSJim Jagielski             else
309*b1cdbd2cSJim Jagielski                 pTmpView->ChangeVLinealMetric(eMetric);
310*b1cdbd2cSJim Jagielski         }
311*b1cdbd2cSJim Jagielski         pTmpView = SwModule::GetNextView(pTmpView);
312*b1cdbd2cSJim Jagielski     }
313*b1cdbd2cSJim Jagielski }
314*b1cdbd2cSJim Jagielski /*-----------------13.11.96 11.57-------------------
315*b1cdbd2cSJim Jagielski 
316*b1cdbd2cSJim Jagielski --------------------------------------------------*/
317*b1cdbd2cSJim Jagielski 
GetNavigationConfig()318*b1cdbd2cSJim Jagielski SwNavigationConfig*  SwModule::GetNavigationConfig()
319*b1cdbd2cSJim Jagielski {
320*b1cdbd2cSJim Jagielski 	if(!pNavigationConfig)
321*b1cdbd2cSJim Jagielski 	{
322*b1cdbd2cSJim Jagielski 		pNavigationConfig = new SwNavigationConfig;
323*b1cdbd2cSJim Jagielski 	}
324*b1cdbd2cSJim Jagielski 	return pNavigationConfig;
325*b1cdbd2cSJim Jagielski }
326*b1cdbd2cSJim Jagielski 
327*b1cdbd2cSJim Jagielski /*-----------------05.02.97 08.03-------------------
328*b1cdbd2cSJim Jagielski 
329*b1cdbd2cSJim Jagielski --------------------------------------------------*/
330*b1cdbd2cSJim Jagielski 
GetPrtOptions(sal_Bool bWeb)331*b1cdbd2cSJim Jagielski SwPrintOptions* 	SwModule::GetPrtOptions(sal_Bool bWeb)
332*b1cdbd2cSJim Jagielski {
333*b1cdbd2cSJim Jagielski 	if(bWeb && !pWebPrtOpt)
334*b1cdbd2cSJim Jagielski 	{
335*b1cdbd2cSJim Jagielski 		pWebPrtOpt = new SwPrintOptions(sal_True);
336*b1cdbd2cSJim Jagielski 	}
337*b1cdbd2cSJim Jagielski 	else if(!bWeb && !pPrtOpt)
338*b1cdbd2cSJim Jagielski 	{
339*b1cdbd2cSJim Jagielski 		pPrtOpt = new SwPrintOptions(sal_False);
340*b1cdbd2cSJim Jagielski 	}
341*b1cdbd2cSJim Jagielski 
342*b1cdbd2cSJim Jagielski 	return bWeb ? pWebPrtOpt : pPrtOpt;
343*b1cdbd2cSJim Jagielski }
344*b1cdbd2cSJim Jagielski 
345*b1cdbd2cSJim Jagielski /*-----------------26.06.97 07.52-------------------
346*b1cdbd2cSJim Jagielski 
347*b1cdbd2cSJim Jagielski --------------------------------------------------*/
GetChapterNumRules()348*b1cdbd2cSJim Jagielski SwChapterNumRules*	SwModule::GetChapterNumRules()
349*b1cdbd2cSJim Jagielski {
350*b1cdbd2cSJim Jagielski 	if(!pChapterNumRules)
351*b1cdbd2cSJim Jagielski 		pChapterNumRules = new SwChapterNumRules;
352*b1cdbd2cSJim Jagielski 	return pChapterNumRules;
353*b1cdbd2cSJim Jagielski }
354*b1cdbd2cSJim Jagielski 
355*b1cdbd2cSJim Jagielski /*--------------------------------------------------------------------
356*b1cdbd2cSJim Jagielski 	Beschreibung:
357*b1cdbd2cSJim Jagielski  --------------------------------------------------------------------*/
358*b1cdbd2cSJim Jagielski 
ShowDBObj(SwView & rView,const SwDBData & rData,sal_Bool)359*b1cdbd2cSJim Jagielski void SwModule::ShowDBObj(SwView& rView, const SwDBData& rData, sal_Bool /*bOnlyIfAvailable*/)
360*b1cdbd2cSJim Jagielski {
361*b1cdbd2cSJim Jagielski     Reference<XFrame> xFrame = rView.GetViewFrame()->GetFrame().GetFrameInterface();
362*b1cdbd2cSJim Jagielski     Reference<XDispatchProvider> xDP(xFrame, uno::UNO_QUERY);
363*b1cdbd2cSJim Jagielski 
364*b1cdbd2cSJim Jagielski     uno::Reference<frame::XFrame> xBeamerFrame = xFrame->findFrame(
365*b1cdbd2cSJim Jagielski                                         rtl::OUString::createFromAscii("_beamer"),
366*b1cdbd2cSJim Jagielski                                         FrameSearchFlag::CHILDREN);
367*b1cdbd2cSJim Jagielski     if (xBeamerFrame.is())
368*b1cdbd2cSJim Jagielski     {   // the beamer has been opened by the SfxViewFrame
369*b1cdbd2cSJim Jagielski         Reference<XController> xController = xBeamerFrame->getController();
370*b1cdbd2cSJim Jagielski         Reference<XSelectionSupplier> xControllerSelection(xController, UNO_QUERY);
371*b1cdbd2cSJim Jagielski         if (xControllerSelection.is())
372*b1cdbd2cSJim Jagielski         {
373*b1cdbd2cSJim Jagielski 
374*b1cdbd2cSJim Jagielski             ODataAccessDescriptor aSelection;
375*b1cdbd2cSJim Jagielski             aSelection.setDataSource(rData.sDataSource);
376*b1cdbd2cSJim Jagielski             aSelection[daCommand]       <<= rData.sCommand;
377*b1cdbd2cSJim Jagielski             aSelection[daCommandType]   <<= rData.nCommandType;
378*b1cdbd2cSJim Jagielski             xControllerSelection->select(makeAny(aSelection.createPropertyValueSequence()));
379*b1cdbd2cSJim Jagielski         }
380*b1cdbd2cSJim Jagielski         else {
381*b1cdbd2cSJim Jagielski             DBG_ERROR("no selection supplier in the beamer!");
382*b1cdbd2cSJim Jagielski         }
383*b1cdbd2cSJim Jagielski     }
384*b1cdbd2cSJim Jagielski }
385*b1cdbd2cSJim Jagielski /*--------------------------------------------------------------------
386*b1cdbd2cSJim Jagielski 	Beschreibung: Redlining
387*b1cdbd2cSJim Jagielski  --------------------------------------------------------------------*/
388*b1cdbd2cSJim Jagielski 
GetRedlineAuthor()389*b1cdbd2cSJim Jagielski sal_uInt16 SwModule::GetRedlineAuthor()
390*b1cdbd2cSJim Jagielski {
391*b1cdbd2cSJim Jagielski 	if (!bAuthorInitialised)
392*b1cdbd2cSJim Jagielski 	{
393*b1cdbd2cSJim Jagielski         const SvtUserOptions& rOpt = GetUserOptions();
394*b1cdbd2cSJim Jagielski         if( !(sActAuthor = rOpt.GetFullName()).Len() )
395*b1cdbd2cSJim Jagielski 			if( !(sActAuthor = rOpt.GetID()).Len() )
396*b1cdbd2cSJim Jagielski 				sActAuthor = String( SW_RES( STR_REDLINE_UNKNOWN_AUTHOR ));
397*b1cdbd2cSJim Jagielski 		bAuthorInitialised = sal_True;
398*b1cdbd2cSJim Jagielski 	}
399*b1cdbd2cSJim Jagielski 	return InsertRedlineAuthor( sActAuthor );
400*b1cdbd2cSJim Jagielski }
401*b1cdbd2cSJim Jagielski 
402*b1cdbd2cSJim Jagielski /*--------------------------------------------------------------------
403*b1cdbd2cSJim Jagielski 	Beschreibung:
404*b1cdbd2cSJim Jagielski  --------------------------------------------------------------------*/
405*b1cdbd2cSJim Jagielski 
GetRedlineAuthor(sal_uInt16 nPos)406*b1cdbd2cSJim Jagielski const String& SwModule::GetRedlineAuthor(sal_uInt16 nPos)
407*b1cdbd2cSJim Jagielski {
408*b1cdbd2cSJim Jagielski 	DBG_ASSERT(nPos<pAuthorNames->Count(), "author not found!"); //#i45342# RTF doc with no author table caused reader to crash
409*b1cdbd2cSJim Jagielski 	while (!(nPos<pAuthorNames->Count()))
410*b1cdbd2cSJim Jagielski 	{
411*b1cdbd2cSJim Jagielski 		InsertRedlineAuthor(String(RTL_CONSTASCII_USTRINGPARAM("nn")));
412*b1cdbd2cSJim Jagielski 	};
413*b1cdbd2cSJim Jagielski 	return *pAuthorNames->GetObject(nPos);
414*b1cdbd2cSJim Jagielski }
415*b1cdbd2cSJim Jagielski 
416*b1cdbd2cSJim Jagielski /*--------------------------------------------------------------------
417*b1cdbd2cSJim Jagielski 	Beschreibung:
418*b1cdbd2cSJim Jagielski  --------------------------------------------------------------------*/
419*b1cdbd2cSJim Jagielski 
InsertRedlineAuthor(const String & rAuthor)420*b1cdbd2cSJim Jagielski sal_uInt16 SwModule::InsertRedlineAuthor(const String& rAuthor)
421*b1cdbd2cSJim Jagielski {
422*b1cdbd2cSJim Jagielski 	sal_uInt16 nPos = 0;
423*b1cdbd2cSJim Jagielski 
424*b1cdbd2cSJim Jagielski 	while (nPos < pAuthorNames->Count() && *pAuthorNames->GetObject(nPos) != rAuthor)
425*b1cdbd2cSJim Jagielski 		nPos++;
426*b1cdbd2cSJim Jagielski 
427*b1cdbd2cSJim Jagielski 	if (nPos == pAuthorNames->Count())
428*b1cdbd2cSJim Jagielski 		pAuthorNames->Insert(new String(rAuthor), nPos);
429*b1cdbd2cSJim Jagielski 
430*b1cdbd2cSJim Jagielski 	return nPos;
431*b1cdbd2cSJim Jagielski }
432*b1cdbd2cSJim Jagielski 
433*b1cdbd2cSJim Jagielski /*--------------------------------------------------------------------
434*b1cdbd2cSJim Jagielski 	Beschreibung:
435*b1cdbd2cSJim Jagielski  --------------------------------------------------------------------*/
436*b1cdbd2cSJim Jagielski 
lcl_FillAuthorAttr(sal_uInt16 nAuthor,SfxItemSet & rSet,const AuthorCharAttr & rAttr)437*b1cdbd2cSJim Jagielski void lcl_FillAuthorAttr( sal_uInt16 nAuthor, SfxItemSet &rSet,
438*b1cdbd2cSJim Jagielski 						const AuthorCharAttr &rAttr )
439*b1cdbd2cSJim Jagielski {
440*b1cdbd2cSJim Jagielski 	Color aCol( rAttr.nColor );
441*b1cdbd2cSJim Jagielski 
442*b1cdbd2cSJim Jagielski 	if( COL_TRANSPARENT == rAttr.nColor )
443*b1cdbd2cSJim Jagielski 	{
444*b1cdbd2cSJim Jagielski 		static const ColorData aColArr[] = {
445*b1cdbd2cSJim Jagielski 		 COL_AUTHOR1_DARK,		COL_AUTHOR2_DARK,	COL_AUTHOR3_DARK,
446*b1cdbd2cSJim Jagielski 		 COL_AUTHOR4_DARK,		COL_AUTHOR5_DARK,	COL_AUTHOR6_DARK,
447*b1cdbd2cSJim Jagielski 		 COL_AUTHOR7_DARK,		COL_AUTHOR8_DARK,	COL_AUTHOR9_DARK };
448*b1cdbd2cSJim Jagielski 
449*b1cdbd2cSJim Jagielski 		aCol.SetColor( aColArr[ nAuthor % (sizeof( aColArr ) /
450*b1cdbd2cSJim Jagielski 										   sizeof( aColArr[0] )) ] );
451*b1cdbd2cSJim Jagielski 	}
452*b1cdbd2cSJim Jagielski 
453*b1cdbd2cSJim Jagielski 	sal_Bool bBackGr = COL_NONE == rAttr.nColor;
454*b1cdbd2cSJim Jagielski 
455*b1cdbd2cSJim Jagielski 	switch (rAttr.nItemId)
456*b1cdbd2cSJim Jagielski 	{
457*b1cdbd2cSJim Jagielski 	case SID_ATTR_CHAR_WEIGHT:
458*b1cdbd2cSJim Jagielski 		{
459*b1cdbd2cSJim Jagielski 			SvxWeightItem aW( (FontWeight)rAttr.nAttr, RES_CHRATR_WEIGHT );
460*b1cdbd2cSJim Jagielski 			rSet.Put( aW );
461*b1cdbd2cSJim Jagielski 			aW.SetWhich( RES_CHRATR_CJK_WEIGHT );
462*b1cdbd2cSJim Jagielski 			rSet.Put( aW );
463*b1cdbd2cSJim Jagielski 			aW.SetWhich( RES_CHRATR_CTL_WEIGHT );
464*b1cdbd2cSJim Jagielski 			rSet.Put( aW );
465*b1cdbd2cSJim Jagielski 		}
466*b1cdbd2cSJim Jagielski 		break;
467*b1cdbd2cSJim Jagielski 
468*b1cdbd2cSJim Jagielski 	case SID_ATTR_CHAR_POSTURE:
469*b1cdbd2cSJim Jagielski 		{
470*b1cdbd2cSJim Jagielski 			SvxPostureItem aP( (FontItalic)rAttr.nAttr, RES_CHRATR_POSTURE );
471*b1cdbd2cSJim Jagielski 			rSet.Put( aP );
472*b1cdbd2cSJim Jagielski 			aP.SetWhich( RES_CHRATR_CJK_POSTURE );
473*b1cdbd2cSJim Jagielski 			rSet.Put( aP );
474*b1cdbd2cSJim Jagielski 			aP.SetWhich( RES_CHRATR_CTL_POSTURE );
475*b1cdbd2cSJim Jagielski 			rSet.Put( aP );
476*b1cdbd2cSJim Jagielski 		}
477*b1cdbd2cSJim Jagielski 		break;
478*b1cdbd2cSJim Jagielski 
479*b1cdbd2cSJim Jagielski 	case SID_ATTR_CHAR_UNDERLINE:
480*b1cdbd2cSJim Jagielski 		rSet.Put( SvxUnderlineItem( (FontUnderline)rAttr.nAttr,
481*b1cdbd2cSJim Jagielski 									RES_CHRATR_UNDERLINE));
482*b1cdbd2cSJim Jagielski 		break;
483*b1cdbd2cSJim Jagielski 
484*b1cdbd2cSJim Jagielski 	case SID_ATTR_CHAR_STRIKEOUT:
485*b1cdbd2cSJim Jagielski 		rSet.Put(SvxCrossedOutItem( (FontStrikeout)rAttr.nAttr,
486*b1cdbd2cSJim Jagielski 									RES_CHRATR_CROSSEDOUT));
487*b1cdbd2cSJim Jagielski 		break;
488*b1cdbd2cSJim Jagielski 
489*b1cdbd2cSJim Jagielski 	case SID_ATTR_CHAR_CASEMAP:
490*b1cdbd2cSJim Jagielski 		rSet.Put( SvxCaseMapItem( (SvxCaseMap)rAttr.nAttr,
491*b1cdbd2cSJim Jagielski 									RES_CHRATR_CASEMAP));
492*b1cdbd2cSJim Jagielski 		break;
493*b1cdbd2cSJim Jagielski 
494*b1cdbd2cSJim Jagielski 	case SID_ATTR_BRUSH:
495*b1cdbd2cSJim Jagielski 		rSet.Put( SvxBrushItem( aCol, RES_CHRATR_BACKGROUND ));
496*b1cdbd2cSJim Jagielski 		bBackGr = sal_True;
497*b1cdbd2cSJim Jagielski 		break;
498*b1cdbd2cSJim Jagielski 	}
499*b1cdbd2cSJim Jagielski 
500*b1cdbd2cSJim Jagielski 	if( !bBackGr )
501*b1cdbd2cSJim Jagielski         rSet.Put( SvxColorItem( aCol, RES_CHRATR_COLOR ) );
502*b1cdbd2cSJim Jagielski }
503*b1cdbd2cSJim Jagielski 
504*b1cdbd2cSJim Jagielski /*--------------------------------------------------------------------
505*b1cdbd2cSJim Jagielski 	Beschreibung:
506*b1cdbd2cSJim Jagielski  --------------------------------------------------------------------*/
507*b1cdbd2cSJim Jagielski 
GetInsertAuthorAttr(sal_uInt16 nAuthor,SfxItemSet & rSet)508*b1cdbd2cSJim Jagielski void SwModule::GetInsertAuthorAttr(sal_uInt16 nAuthor, SfxItemSet &rSet)
509*b1cdbd2cSJim Jagielski {
510*b1cdbd2cSJim Jagielski 	lcl_FillAuthorAttr(nAuthor, rSet, pModuleConfig->GetInsertAuthorAttr());
511*b1cdbd2cSJim Jagielski }
512*b1cdbd2cSJim Jagielski 
513*b1cdbd2cSJim Jagielski /*--------------------------------------------------------------------
514*b1cdbd2cSJim Jagielski 	Beschreibung:
515*b1cdbd2cSJim Jagielski  --------------------------------------------------------------------*/
516*b1cdbd2cSJim Jagielski 
GetDeletedAuthorAttr(sal_uInt16 nAuthor,SfxItemSet & rSet)517*b1cdbd2cSJim Jagielski void SwModule::GetDeletedAuthorAttr(sal_uInt16 nAuthor, SfxItemSet &rSet)
518*b1cdbd2cSJim Jagielski {
519*b1cdbd2cSJim Jagielski 	lcl_FillAuthorAttr(nAuthor, rSet, pModuleConfig->GetDeletedAuthorAttr());
520*b1cdbd2cSJim Jagielski }
521*b1cdbd2cSJim Jagielski 
522*b1cdbd2cSJim Jagielski /*--------------------------------------------------------------------
523*b1cdbd2cSJim Jagielski 	Beschreibung: Fuer zukuenftige Erweiterung:
524*b1cdbd2cSJim Jagielski  --------------------------------------------------------------------*/
525*b1cdbd2cSJim Jagielski 
GetFormatAuthorAttr(sal_uInt16 nAuthor,SfxItemSet & rSet)526*b1cdbd2cSJim Jagielski void SwModule::GetFormatAuthorAttr( sal_uInt16 nAuthor, SfxItemSet &rSet )
527*b1cdbd2cSJim Jagielski {
528*b1cdbd2cSJim Jagielski 	lcl_FillAuthorAttr( nAuthor, rSet, pModuleConfig->GetFormatAuthorAttr() );
529*b1cdbd2cSJim Jagielski }
530*b1cdbd2cSJim Jagielski 
531*b1cdbd2cSJim Jagielski /*--------------------------------------------------------------------
532*b1cdbd2cSJim Jagielski 	Beschreibung:
533*b1cdbd2cSJim Jagielski  --------------------------------------------------------------------*/
534*b1cdbd2cSJim Jagielski 
GetRedlineMarkPos()535*b1cdbd2cSJim Jagielski sal_uInt16 SwModule::GetRedlineMarkPos()
536*b1cdbd2cSJim Jagielski {
537*b1cdbd2cSJim Jagielski 	return pModuleConfig->GetMarkAlignMode();
538*b1cdbd2cSJim Jagielski }
539*b1cdbd2cSJim Jagielski 
540*b1cdbd2cSJim Jagielski /*--------------------------------------------------------------------
541*b1cdbd2cSJim Jagielski 	Beschreibung:
542*b1cdbd2cSJim Jagielski  --------------------------------------------------------------------*/
543*b1cdbd2cSJim Jagielski 
IsInsTblFormatNum(sal_Bool bHTML) const544*b1cdbd2cSJim Jagielski sal_Bool SwModule::IsInsTblFormatNum(sal_Bool bHTML) const
545*b1cdbd2cSJim Jagielski {
546*b1cdbd2cSJim Jagielski 	return pModuleConfig->IsInsTblFormatNum(bHTML);
547*b1cdbd2cSJim Jagielski }
548*b1cdbd2cSJim Jagielski 
IsInsTblChangeNumFormat(sal_Bool bHTML) const549*b1cdbd2cSJim Jagielski sal_Bool SwModule::IsInsTblChangeNumFormat(sal_Bool bHTML) const
550*b1cdbd2cSJim Jagielski {
551*b1cdbd2cSJim Jagielski 	return pModuleConfig->IsInsTblChangeNumFormat(bHTML);
552*b1cdbd2cSJim Jagielski }
553*b1cdbd2cSJim Jagielski 
554*b1cdbd2cSJim Jagielski /*--------------------------------------------------------------------
555*b1cdbd2cSJim Jagielski 	Beschreibung:
556*b1cdbd2cSJim Jagielski  --------------------------------------------------------------------*/
557*b1cdbd2cSJim Jagielski 
IsInsTblAlignNum(sal_Bool bHTML) const558*b1cdbd2cSJim Jagielski sal_Bool SwModule::IsInsTblAlignNum(sal_Bool bHTML) const
559*b1cdbd2cSJim Jagielski {
560*b1cdbd2cSJim Jagielski 	return pModuleConfig->IsInsTblAlignNum(bHTML);
561*b1cdbd2cSJim Jagielski }
562*b1cdbd2cSJim Jagielski 
563*b1cdbd2cSJim Jagielski /*--------------------------------------------------------------------
564*b1cdbd2cSJim Jagielski 	Beschreibung:
565*b1cdbd2cSJim Jagielski  --------------------------------------------------------------------*/
566*b1cdbd2cSJim Jagielski 
GetRedlineMarkColor()567*b1cdbd2cSJim Jagielski const Color &SwModule::GetRedlineMarkColor()
568*b1cdbd2cSJim Jagielski {
569*b1cdbd2cSJim Jagielski 	return pModuleConfig->GetMarkAlignColor();
570*b1cdbd2cSJim Jagielski }
571*b1cdbd2cSJim Jagielski 
572*b1cdbd2cSJim Jagielski /*-----------------03.03.98 16:47-------------------
573*b1cdbd2cSJim Jagielski 
574*b1cdbd2cSJim Jagielski --------------------------------------------------*/
GetViewOption(sal_Bool bWeb)575*b1cdbd2cSJim Jagielski const SwViewOption*	SwModule::GetViewOption(sal_Bool bWeb)
576*b1cdbd2cSJim Jagielski {
577*b1cdbd2cSJim Jagielski 	return GetUsrPref( bWeb );
578*b1cdbd2cSJim Jagielski }
579*b1cdbd2cSJim Jagielski 
580*b1cdbd2cSJim Jagielski // returne den definierten DocStat - WordDelimiter
GetDocStatWordDelim() const581*b1cdbd2cSJim Jagielski const String& SwModule::GetDocStatWordDelim() const
582*b1cdbd2cSJim Jagielski {
583*b1cdbd2cSJim Jagielski 	return pModuleConfig->GetWordDelimiter();
584*b1cdbd2cSJim Jagielski }
585*b1cdbd2cSJim Jagielski /* ---------------------------------------------------------------------------
586*b1cdbd2cSJim Jagielski 
587*b1cdbd2cSJim Jagielski  ---------------------------------------------------------------------------*/
588*b1cdbd2cSJim Jagielski // Durchreichen der Metric von der ModuleConfig (fuer HTML-Export)
GetMetric(sal_Bool bWeb) const589*b1cdbd2cSJim Jagielski sal_uInt16 SwModule::GetMetric( sal_Bool bWeb ) const
590*b1cdbd2cSJim Jagielski {
591*b1cdbd2cSJim Jagielski 	SwMasterUsrPref* pPref;
592*b1cdbd2cSJim Jagielski 	if(bWeb)
593*b1cdbd2cSJim Jagielski 	{
594*b1cdbd2cSJim Jagielski 		if(!pWebUsrPref)
595*b1cdbd2cSJim Jagielski 			GetUsrPref(sal_True);
596*b1cdbd2cSJim Jagielski 		pPref = pWebUsrPref;
597*b1cdbd2cSJim Jagielski 	}
598*b1cdbd2cSJim Jagielski 	else
599*b1cdbd2cSJim Jagielski 	{
600*b1cdbd2cSJim Jagielski 		if(!pUsrPref)
601*b1cdbd2cSJim Jagielski 			GetUsrPref(sal_False);
602*b1cdbd2cSJim Jagielski 		pPref = pUsrPref;
603*b1cdbd2cSJim Jagielski 	}
604*b1cdbd2cSJim Jagielski     return static_cast< sal_uInt16 >(pPref->GetMetric());
605*b1cdbd2cSJim Jagielski }
606*b1cdbd2cSJim Jagielski /* ---------------------------------------------------------------------------
607*b1cdbd2cSJim Jagielski 
608*b1cdbd2cSJim Jagielski  ---------------------------------------------------------------------------*/
609*b1cdbd2cSJim Jagielski // Update-Stati durchreichen
GetLinkUpdMode(sal_Bool) const610*b1cdbd2cSJim Jagielski sal_uInt16 SwModule::GetLinkUpdMode( sal_Bool ) const
611*b1cdbd2cSJim Jagielski {
612*b1cdbd2cSJim Jagielski 	if(!pUsrPref)
613*b1cdbd2cSJim Jagielski 		GetUsrPref(sal_False);
614*b1cdbd2cSJim Jagielski     return (sal_uInt16)pUsrPref->GetUpdateLinkMode();
615*b1cdbd2cSJim Jagielski }
616*b1cdbd2cSJim Jagielski /* ---------------------------------------------------------------------------
617*b1cdbd2cSJim Jagielski 
618*b1cdbd2cSJim Jagielski  ---------------------------------------------------------------------------*/
GetFldUpdateFlags(sal_Bool) const619*b1cdbd2cSJim Jagielski SwFldUpdateFlags SwModule::GetFldUpdateFlags( sal_Bool ) const
620*b1cdbd2cSJim Jagielski {
621*b1cdbd2cSJim Jagielski 	if(!pUsrPref)
622*b1cdbd2cSJim Jagielski 		GetUsrPref(sal_False);
623*b1cdbd2cSJim Jagielski     return pUsrPref->GetFldUpdateFlags();
624*b1cdbd2cSJim Jagielski }
625*b1cdbd2cSJim Jagielski /* -----------------------------28.09.00 14:18--------------------------------
626*b1cdbd2cSJim Jagielski 
627*b1cdbd2cSJim Jagielski  ---------------------------------------------------------------------------*/
ApplyFldUpdateFlags(SwFldUpdateFlags eFldFlags)628*b1cdbd2cSJim Jagielski void SwModule::ApplyFldUpdateFlags(SwFldUpdateFlags eFldFlags)
629*b1cdbd2cSJim Jagielski {
630*b1cdbd2cSJim Jagielski 	if(!pUsrPref)
631*b1cdbd2cSJim Jagielski 		GetUsrPref(sal_False);
632*b1cdbd2cSJim Jagielski     pUsrPref->SetFldUpdateFlags(eFldFlags);
633*b1cdbd2cSJim Jagielski }
634*b1cdbd2cSJim Jagielski /* -----------------------------28.09.00 14:18--------------------------------
635*b1cdbd2cSJim Jagielski 
636*b1cdbd2cSJim Jagielski  ---------------------------------------------------------------------------*/
ApplyLinkMode(sal_Int32 nNewLinkMode)637*b1cdbd2cSJim Jagielski void SwModule::ApplyLinkMode(sal_Int32 nNewLinkMode)
638*b1cdbd2cSJim Jagielski {
639*b1cdbd2cSJim Jagielski 	if(!pUsrPref)
640*b1cdbd2cSJim Jagielski 		GetUsrPref(sal_False);
641*b1cdbd2cSJim Jagielski 	pUsrPref->SetUpdateLinkMode(nNewLinkMode);
642*b1cdbd2cSJim Jagielski }
643*b1cdbd2cSJim Jagielski /* ---------------------------------------------------------------------------
644*b1cdbd2cSJim Jagielski 
645*b1cdbd2cSJim Jagielski  ---------------------------------------------------------------------------*/
CheckSpellChanges(sal_Bool bOnlineSpelling,sal_Bool bIsSpellWrongAgain,sal_Bool bIsSpellAllAgain,sal_Bool bSmartTags)646*b1cdbd2cSJim Jagielski void SwModule::CheckSpellChanges( sal_Bool bOnlineSpelling,
647*b1cdbd2cSJim Jagielski 		sal_Bool bIsSpellWrongAgain, sal_Bool bIsSpellAllAgain, sal_Bool bSmartTags )
648*b1cdbd2cSJim Jagielski {
649*b1cdbd2cSJim Jagielski 	sal_Bool bOnlyWrong = bIsSpellWrongAgain && !bIsSpellAllAgain;
650*b1cdbd2cSJim Jagielski 	sal_Bool bInvalid = bOnlyWrong || bIsSpellAllAgain;
651*b1cdbd2cSJim Jagielski 	if( bOnlineSpelling || bInvalid )
652*b1cdbd2cSJim Jagielski 	{
653*b1cdbd2cSJim Jagielski 		TypeId aType = TYPE(SwDocShell);
654*b1cdbd2cSJim Jagielski 		for( SwDocShell *pDocSh = (SwDocShell*)SfxObjectShell::GetFirst(&aType);
655*b1cdbd2cSJim Jagielski 			 pDocSh;
656*b1cdbd2cSJim Jagielski 			 pDocSh = (SwDocShell*)SfxObjectShell::GetNext( *pDocSh, &aType ) )
657*b1cdbd2cSJim Jagielski 		{
658*b1cdbd2cSJim Jagielski 			SwDoc* pTmp = pDocSh->GetDoc();
659*b1cdbd2cSJim Jagielski 			if ( pTmp->GetCurrentViewShell() )	//swmod 071108//swmod 071225
660*b1cdbd2cSJim Jagielski             {
661*b1cdbd2cSJim Jagielski 				pTmp->SpellItAgainSam( bInvalid, bOnlyWrong, bSmartTags );
662*b1cdbd2cSJim Jagielski                 ViewShell* pViewShell = 0;
663*b1cdbd2cSJim Jagielski                 pTmp->GetEditShell( &pViewShell );
664*b1cdbd2cSJim Jagielski                 if ( bSmartTags && pViewShell && pViewShell->GetWin() )
665*b1cdbd2cSJim Jagielski                     pViewShell->GetWin()->Invalidate();
666*b1cdbd2cSJim Jagielski             }
667*b1cdbd2cSJim Jagielski 		}
668*b1cdbd2cSJim Jagielski //		pSpell->SetSpellWrongAgain( sal_False );
669*b1cdbd2cSJim Jagielski //		pSpell->SetSpellAllAgain( sal_False );
670*b1cdbd2cSJim Jagielski 	}
671*b1cdbd2cSJim Jagielski }
672*b1cdbd2cSJim Jagielski 
ApplyDefaultPageMode(sal_Bool bIsSquaredPageMode)673*b1cdbd2cSJim Jagielski void SwModule::ApplyDefaultPageMode(sal_Bool bIsSquaredPageMode)
674*b1cdbd2cSJim Jagielski {
675*b1cdbd2cSJim Jagielski     if(!pUsrPref)
676*b1cdbd2cSJim Jagielski         GetUsrPref(sal_False);
677*b1cdbd2cSJim Jagielski     pUsrPref->SetDefaultPageMode(bIsSquaredPageMode);
678*b1cdbd2cSJim Jagielski }
679