diff options
author | Oliver Bolte <obo@openoffice.org> | 2005-10-11 07:19:10 +0000 |
---|---|---|
committer | Oliver Bolte <obo@openoffice.org> | 2005-10-11 07:19:10 +0000 |
commit | 471417566b74453b5ce88dfed0020a12db6b037a (patch) | |
tree | 9d1b20e3ea2b9c16d5c412eeea22ac31d34ae07b /sd/source/ui/view/drviews1.cxx | |
parent | c1cde3df1d495638e025d1fc2d294b6236cfbdbd (diff) |
INTEGRATION: CWS presfixes08 (1.57.90); FILE MERGED
2005/09/05 14:43:01 cl 1.57.90.1: #i54071# fixed SwitchPage() to detect already visible master page > 0
Diffstat (limited to 'sd/source/ui/view/drviews1.cxx')
-rw-r--r-- | sd/source/ui/view/drviews1.cxx | 45 |
1 files changed, 29 insertions, 16 deletions
diff --git a/sd/source/ui/view/drviews1.cxx b/sd/source/ui/view/drviews1.cxx index c47d937cc8ef..ad6a9ba15e5c 100644 --- a/sd/source/ui/view/drviews1.cxx +++ b/sd/source/ui/view/drviews1.cxx @@ -4,9 +4,9 @@ * * $RCSfile: drviews1.cxx,v $ * - * $Revision: 1.58 $ + * $Revision: 1.59 $ * - * last change: $Author: rt $ $Date: 2005-09-09 07:07:54 $ + * last change: $Author: obo $ $Date: 2005-10-11 08:19:10 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -982,27 +982,40 @@ BOOL DrawViewShell::SwitchPage(USHORT nSelectedPage) if (pActualPage) { - // When in master page mode then the given index defines a - // master page and may be larger then the number of slides. - // Probably we should jump over this whole block. SdPage* pNewPage = NULL; - if (GetDoc()->GetSdPageCount(ePageKind) > nSelectedPage) - pNewPage = GetDoc()->GetSdPage(nSelectedPage, ePageKind); - if (pActualPage == pNewPage) + if (eEditMode == EM_MASTERPAGE) { - if (eEditMode == EM_MASTERPAGE) + if( GetDoc()->GetMasterSdPageCount(ePageKind) > nSelectedPage ) + pNewPage = GetDoc()->GetMasterSdPage(nSelectedPage, ePageKind); + + if( pNewPage ) { - pNewPage = (SdPage*)(&(pNewPage->TRG_GetMasterPage())); - } + SdrPageView* pPV = pDrView->GetPageViewPvNum(0); - SdrPageView* pPV = pDrView->GetPageViewPvNum(0); + if (pPV && pNewPage == dynamic_cast< SdPage* >( pPV->GetPage() ) && + pNewPage->GetName() == aTabControl.GetPageText(nSelectedPage+1)) + { + // this slide is already visible + return TRUE; + } + } + } + else + { + if (GetDoc()->GetSdPageCount(ePageKind) > nSelectedPage) + pNewPage = GetDoc()->GetSdPage(nSelectedPage, ePageKind); - if (pPV && pNewPage == (SdPage*) pPV->GetPage() && - pNewPage->GetName() == aTabControl.GetPageText(nSelectedPage+1)) + if (pActualPage == pNewPage) { - // Die Seite wird schon angezeigt - return(TRUE); + SdrPageView* pPV = pDrView->GetPageViewPvNum(0); + + if (pPV && pNewPage == dynamic_cast< SdPage* >( pPV->GetPage() ) && + pNewPage->GetName() == aTabControl.GetPageText(nSelectedPage+1)) + { + // this slide is already visible + return TRUE; + } } } } |