diff options
Diffstat (limited to 'sw/source/ui/app/apphdl.cxx')
-rw-r--r-- | sw/source/ui/app/apphdl.cxx | 205 |
1 files changed, 103 insertions, 102 deletions
diff --git a/sw/source/ui/app/apphdl.cxx b/sw/source/ui/app/apphdl.cxx index 7fe0d349e8a7..accb052033f6 100644 --- a/sw/source/ui/app/apphdl.cxx +++ b/sw/source/ui/app/apphdl.cxx @@ -2,13 +2,10 @@ * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * - * Copyright 2008 by Sun Microsystems, Inc. + * Copyright 2000, 2010 Oracle and/or its affiliates. * * OpenOffice.org - a multi-platform office productivity suite * - * $RCSfile: apphdl.cxx,v $ - * $Revision: 1.68 $ - * * This file is part of OpenOffice.org. * * OpenOffice.org is free software: you can redistribute it and/or modify @@ -37,26 +34,26 @@ #include <tools/link.hxx> #define _SVSTDARR_STRINGSDTOR -#include <svtools/svstdarr.hxx> -#include <svtools/urihelper.hxx> -#include <svtools/undoopt.hxx> -#include <svtools/pathoptions.hxx> +#include <svl/svstdarr.hxx> +#include <svl/urihelper.hxx> +#include <unotools/undoopt.hxx> +#include <unotools/pathoptions.hxx> #include <svtools/accessibilityoptions.hxx> #include <sfx2/dispatch.hxx> #include <sfx2/event.hxx> #include <sfx2/objitem.hxx> #include <svx/dataaccessdescriptor.hxx> -#include <svx/srchitem.hxx> +#include <svl/srchitem.hxx> #include <svtools/colorcfg.hxx> -#include <svtools/eitem.hxx> -#include <svtools/whiter.hxx> -#include <svtools/isethint.hxx> +#include <svl/eitem.hxx> +#include <svl/whiter.hxx> +#include <svl/isethint.hxx> #include <svx/hyprlink.hxx> #include <sfx2/request.hxx> #include <sfx2/fcontnr.hxx> -#include <svtools/stritem.hxx> -#include <svtools/ctloptions.hxx> -#include <svtools/useroptions.hxx> +#include <svl/stritem.hxx> +#include <svl/ctloptions.hxx> +#include <unotools/useroptions.hxx> #include <vcl/msgbox.hxx> #include <vcl/wrkwin.hxx> #include <svx/insctrl.hxx> @@ -100,7 +97,7 @@ #include <mmconfigitem.hxx> #include <mailmergechildwindow.hxx> #include <linguistic/lngprops.hxx> -#include <svx/unolingu.hxx> +#include <editeng/unolingu.hxx> #include <com/sun/star/beans/XMultiPropertySet.hpp> #include <com/sun/star/beans/XFastPropertySet.hpp> #include <com/sun/star/beans/XPropertyState.hpp> @@ -753,82 +750,8 @@ void SwModule::Notify( SfxBroadcaster& /*rBC*/, const SfxHint& rHint ) } else if(rHint.ISA(SfxSimpleHint)) { - ULONG nHintId = ((SfxSimpleHint&)rHint).GetId(); - if(SFX_HINT_COLORS_CHANGED == nHintId || - SFX_HINT_ACCESSIBILITY_CHANGED == nHintId ) - { - sal_Bool bAccessibility = sal_False; - if(SFX_HINT_COLORS_CHANGED == nHintId) - SwViewOption::ApplyColorConfigValues(*pColorConfig); - else - bAccessibility = sal_True; - - //invalidate all edit windows - const TypeId aSwViewTypeId = TYPE(SwView); - const TypeId aSwPreViewTypeId = TYPE(SwPagePreView); - const TypeId aSwSrcViewTypeId = TYPE(SwSrcView); - SfxViewShell* pViewShell = SfxViewShell::GetFirst(); - while(pViewShell) - { - if(pViewShell->GetWindow()) - { - if((pViewShell->IsA(aSwViewTypeId) || - pViewShell->IsA(aSwPreViewTypeId) || - pViewShell->IsA(aSwSrcViewTypeId))) - { - if(bAccessibility) - { - if(pViewShell->IsA(aSwViewTypeId)) - ((SwView*)pViewShell)->ApplyAccessiblityOptions(*pAccessibilityOptions); - else if(pViewShell->IsA(aSwPreViewTypeId)) - ((SwPagePreView*)pViewShell)->ApplyAccessiblityOptions(*pAccessibilityOptions); - } - pViewShell->GetWindow()->Invalidate(); - } - } - pViewShell = SfxViewShell::GetNext( *pViewShell ); - } - } - else if( SFX_HINT_CTL_SETTINGS_CHANGED == nHintId ) - { - const SfxObjectShell* pObjSh = SfxObjectShell::GetFirst(); - while( pObjSh ) - { - if( pObjSh->IsA(TYPE(SwDocShell)) ) - { - const SwDoc* pDoc = ((SwDocShell*)pObjSh)->GetDoc(); - ViewShell* pVSh = 0; - pDoc->GetEditShell( &pVSh ); - if ( pVSh ) - pVSh->ChgNumberDigits(); - } - pObjSh = SfxObjectShell::GetNext(*pObjSh); - } - } - else if(SFX_HINT_USER_OPTIONS_CHANGED == nHintId) - { - bAuthorInitialised = FALSE; - } - else if(SFX_HINT_UNDO_OPTIONS_CHANGED == nHintId) - { - const int nNew = GetUndoOptions().GetUndoCount(); - const int nOld = SwEditShell::GetUndoActionCount(); - if(!nNew || !nOld) - { - sal_Bool bUndo = nNew != 0; - //ueber DocShells iterieren und Undo umschalten - - TypeId aType(TYPE(SwDocShell)); - SwDocShell* pDocShell = (SwDocShell*)SfxObjectShell::GetFirst(&aType); - while( pDocShell ) - { - pDocShell->GetDoc()->DoUndo( bUndo ); - pDocShell = (SwDocShell*)SfxObjectShell::GetNext(*pDocShell, &aType); - } - } - SwEditShell::SetUndoActionCount( static_cast< USHORT >(nNew)); - } - else if(SFX_HINT_DEINITIALIZING == nHintId) + USHORT nHintId = ((SfxSimpleHint&)rHint).GetId(); + if(SFX_HINT_DEINITIALIZING == nHintId) { DELETEZ(pWebUsrPref); DELETEZ(pUsrPref) ; @@ -842,20 +765,98 @@ void SwModule::Notify( SfxBroadcaster& /*rBC*/, const SfxHint& rHint ) DELETEZ(pWebToolbarConfig) ; DELETEZ(pAuthorNames) ; DELETEZ(pDBConfig); - EndListening(*pColorConfig); + pColorConfig->RemoveListener(this); DELETEZ(pColorConfig); - EndListening(*pAccessibilityOptions); + pAccessibilityOptions->RemoveListener(this); DELETEZ(pAccessibilityOptions); - EndListening(*pCTLOptions); + pCTLOptions->RemoveListener(this); DELETEZ(pCTLOptions); - EndListening(*pUserOptions); + pUserOptions->RemoveListener(this); DELETEZ(pUserOptions); - EndListening(*pUndoOptions); + pUndoOptions->RemoveListener(this); DELETEZ(pUndoOptions); } } } +void SwModule::ConfigurationChanged( utl::ConfigurationBroadcaster* pBrdCst, sal_uInt32 ) +{ + if( pBrdCst == pUserOptions ) + { + bAuthorInitialised = FALSE; + } + else if( pBrdCst == pUndoOptions ) + { + const int nNew = GetUndoOptions().GetUndoCount(); + const int nOld = SwEditShell::GetUndoActionCount(); + if(!nNew || !nOld) + { + sal_Bool bUndo = nNew != 0; + //ueber DocShells iterieren und Undo umschalten + + TypeId aType(TYPE(SwDocShell)); + SwDocShell* pDocShell = (SwDocShell*)SfxObjectShell::GetFirst(&aType); + while( pDocShell ) + { + pDocShell->GetDoc()->DoUndo( bUndo ); + pDocShell = (SwDocShell*)SfxObjectShell::GetNext(*pDocShell, &aType); + } + } + SwEditShell::SetUndoActionCount( static_cast< USHORT >(nNew)); + } + else if ( pBrdCst == pColorConfig || pBrdCst == pAccessibilityOptions ) + { + sal_Bool bAccessibility = sal_False; + if( pBrdCst == pColorConfig ) + SwViewOption::ApplyColorConfigValues(*pColorConfig); + else + bAccessibility = sal_True; + + //invalidate all edit windows + const TypeId aSwViewTypeId = TYPE(SwView); + const TypeId aSwPreViewTypeId = TYPE(SwPagePreView); + const TypeId aSwSrcViewTypeId = TYPE(SwSrcView); + SfxViewShell* pViewShell = SfxViewShell::GetFirst(); + while(pViewShell) + { + if(pViewShell->GetWindow()) + { + if((pViewShell->IsA(aSwViewTypeId) || + pViewShell->IsA(aSwPreViewTypeId) || + pViewShell->IsA(aSwSrcViewTypeId))) + { + if(bAccessibility) + { + if(pViewShell->IsA(aSwViewTypeId)) + ((SwView*)pViewShell)->ApplyAccessiblityOptions(*pAccessibilityOptions); + else if(pViewShell->IsA(aSwPreViewTypeId)) + ((SwPagePreView*)pViewShell)->ApplyAccessiblityOptions(*pAccessibilityOptions); + } + pViewShell->GetWindow()->Invalidate(); + } + } + pViewShell = SfxViewShell::GetNext( *pViewShell ); + } + } + else if( pBrdCst == pCTLOptions ) + { + const SfxObjectShell* pObjSh = SfxObjectShell::GetFirst(); + while( pObjSh ) + { + if( pObjSh->IsA(TYPE(SwDocShell)) ) + { + const SwDoc* pDoc = ((SwDocShell*)pObjSh)->GetDoc(); + ViewShell* pVSh = 0; + pDoc->GetEditShell( &pVSh ); + if ( pVSh ) + pVSh->ChgNumberDigits(); + } + pObjSh = SfxObjectShell::GetNext(*pObjSh); + } + } + +} + /* -----------------------------20.02.01 12:43-------------------------------- ---------------------------------------------------------------------------*/ @@ -874,7 +875,7 @@ svtools::ColorConfig& SwModule::GetColorConfig() { pColorConfig = new svtools::ColorConfig; SwViewOption::ApplyColorConfigValues(*pColorConfig); - StartListening(*pColorConfig); + pColorConfig->AddListener(this); } return *pColorConfig; } @@ -886,7 +887,7 @@ SvtAccessibilityOptions& SwModule::GetAccessibilityOptions() if(!pAccessibilityOptions) { pAccessibilityOptions = new SvtAccessibilityOptions; - StartListening(*pAccessibilityOptions); + pAccessibilityOptions->AddListener(this); } return *pAccessibilityOptions; } @@ -898,7 +899,7 @@ SvtCTLOptions& SwModule::GetCTLOptions() if(!pCTLOptions) { pCTLOptions = new SvtCTLOptions; - StartListening(*pCTLOptions); + pCTLOptions->AddListener(this); } return *pCTLOptions; } @@ -910,7 +911,7 @@ SvtUserOptions& SwModule::GetUserOptions() if(!pUserOptions) { pUserOptions = new SvtUserOptions; - StartListening(*pUserOptions); + pUserOptions->AddListener(this); } return *pUserOptions; } @@ -922,7 +923,7 @@ SvtUndoOptions& SwModule::GetUndoOptions() if(!pUndoOptions) { pUndoOptions = new SvtUndoOptions; - StartListening(*pUndoOptions); + pUndoOptions->AddListener(this); } return *pUndoOptions; } |