[ooo-build-commit] .: 8 commits - sd/inc sd/source
Jan Holesovsky
kendy at kemper.freedesktop.org
Wed Oct 6 07:09:57 PDT 2010
sd/inc/FactoryIds.hxx | 3
sd/source/ui/app/strings.src | 4
sd/source/ui/dlg/PaneChildWindows.cxx | 26 +++++
sd/source/ui/inc/strings.hrc | 1
sd/source/ui/toolpanel/controls/DocumentHelper.cxx | 93 ++++++++++++++-------
sd/source/ui/view/GraphicViewShellBase.cxx | 2
sd/source/ui/view/ImpressViewShellBase.cxx | 2
sd/source/ui/view/OutlineViewShellBase.cxx | 2
sd/source/ui/view/PresentationViewShellBase.cxx | 2
sd/source/ui/view/SlideSorterViewShellBase.cxx | 2
sd/source/ui/view/ViewShellBase.cxx | 2
11 files changed, 96 insertions(+), 43 deletions(-)
New commits:
commit 6cc67925d4212314b1bad84a874d32ff31129be4
Merge: b74214b... cf66dfd...
Author: Jan Holesovsky <kendy at suse.cz>
Date: Wed Oct 6 14:41:19 2010 +0200
Merge branch 'master' of ssh://git.freedesktop.org/git/libreoffice/impress
commit b74214b6960cb1d42c4707b22580fc156427570d
Merge: 9e1376d... fb08d0f...
Author: Jan Holesovsky <kendy at suse.cz>
Date: Wed Oct 6 13:36:08 2010 +0200
Merge commit 'ooo/OOO330_m9'
diff --cc sd/source/ui/dlg/PaneChildWindows.cxx
index 83c8178,3811532..3811532
mode 100644,100755..100644
--- a/sd/source/ui/dlg/PaneChildWindows.cxx
+++ b/sd/source/ui/dlg/PaneChildWindows.cxx
diff --cc sd/source/ui/toolpanel/controls/DocumentHelper.cxx
index 7267c97,2c29399..2c29399
mode 100644,100755..100644
--- a/sd/source/ui/toolpanel/controls/DocumentHelper.cxx
+++ b/sd/source/ui/toolpanel/controls/DocumentHelper.cxx
diff --cc sd/source/ui/view/GraphicViewShellBase.cxx
index 8026c94,88e7d42..88e7d42
mode 100644,100755..100644
--- a/sd/source/ui/view/GraphicViewShellBase.cxx
+++ b/sd/source/ui/view/GraphicViewShellBase.cxx
commit fb08d0fcf8c246885b98635081328a5ee02d5ba1
Merge: fa38c08... 081b8ba...
Author: obo <obo at openoffice.org>
Date: Tue Sep 14 09:05:18 2010 +0200
CWS-TOOLING: integrate CWS dba33i
commit fa38c086958435b8f645f672eb15f3c2bf929397
Merge: 29a7259... abae0df...
Author: obo <obo at openoffice.org>
Date: Tue Sep 14 07:53:51 2010 +0200
CWS-TOOLING: integrate CWS impress200
commit 081b8ba40497dca9d0d04f25829dcece4fc4c0af
Author: Frank Schoenheit [fs] <frank.schoenheit at oracle.com>
Date: Fri Sep 3 13:48:56 2010 +0200
dba33i: #i113788# ensure the resource framework activates the TaskPane when the respective window is activated (might happen when triggered by SFX, bypassing the resource framework)
diff --git a/sd/source/ui/dlg/PaneChildWindows.cxx b/sd/source/ui/dlg/PaneChildWindows.cxx
index 83c8178..3811532 100755
--- a/sd/source/ui/dlg/PaneChildWindows.cxx
+++ b/sd/source/ui/dlg/PaneChildWindows.cxx
@@ -37,6 +37,9 @@
#include "strings.hrc"
#include "sdresid.hxx"
+#include <com/sun/star/drawing/framework/XConfigurationController.hpp>
+#include <com/sun/star/drawing/framework/ResourceActivationMode.hpp>
+
#include <sfx2/app.hxx>
#include <sfx2/dockwin.hxx>
#include <sfx2/bindings.hxx>
@@ -47,6 +50,9 @@ namespace sd {
using ::com::sun::star::uno::Reference;
using ::com::sun::star::drawing::framework::XResourceId;
+using ::com::sun::star::drawing::framework::XConfigurationController;
+using ::com::sun::star::drawing::framework::ResourceActivationMode_ADD;
+using ::com::sun::star::drawing::framework::ResourceActivationMode_REPLACE;
SFX_IMPL_DOCKINGWINDOW(LeftPaneImpressChildWindow, SID_LEFT_PANE_IMPRESS)
SFX_IMPL_DOCKINGWINDOW(LeftPaneDrawChildWindow, SID_LEFT_PANE_DRAW)
@@ -151,6 +157,26 @@ ToolPanelChildWindow::ToolPanelChildWindow( ::Window* i_pParentWindow, USHORT i_
:PaneChildWindow( i_pParentWindow, i_nId, i_pBindings, i_pChildWindowInfo,
FLT_TOOL_PANEL_DOCKING_WINDOW, STR_RIGHT_PANE_TITLE, SFX_ALIGN_RIGHT )
{
+ // just in case this window has been created by SFX, instead our resource framework: Ensure that the resource framework
+ // activates the task pane, so it is really filled with content (in opposite to the other SFX applications, the
+ // child window registered for SID_TASKPANE is not responsible for its content, but here in SD, it's the ToolPanelViewShell
+ // which has this responsibility. And this view shell is created implicitly via the resource framework.)
+ // #i113788# / 2010-09-03 / frank.schoenheit at oracle.com
+ SfxDockingWindow* pDockingWindow = dynamic_cast< SfxDockingWindow* >( GetWindow() );
+ ViewShellBase* pViewShellBase = ViewShellBase::GetViewShellBase( pDockingWindow->GetBindings().GetDispatcher()->GetFrame() );
+ ENSURE_OR_RETURN_VOID( pViewShellBase != NULL, "ToolPanelChildWindow::ToolPanelChildWindow: no view shell access!" );
+
+ const ::boost::shared_ptr< framework::FrameworkHelper > pFrameworkHelper( framework::FrameworkHelper::Instance( *pViewShellBase ) );
+ ENSURE_OR_RETURN_VOID( pFrameworkHelper.get(), "ToolPanelChildWindow::ToolPanelChildWindow: no framework helper for the view shell!" );
+ Reference<XConfigurationController> xConfigController( pFrameworkHelper->GetConfigurationController() );
+ ENSURE_OR_RETURN_VOID( xConfigController.is(), "ToolPanelChildWindow::ToolPanelChildWindow: no config controller!" );
+ xConfigController->requestResourceActivation(
+ framework::FrameworkHelper::CreateResourceId( framework::FrameworkHelper::msRightPaneURL ),
+ ResourceActivationMode_ADD );
+ xConfigController->requestResourceActivation(
+ framework::FrameworkHelper::CreateResourceId( framework::FrameworkHelper::msTaskPaneURL, framework::FrameworkHelper::msRightPaneURL ),
+ ResourceActivationMode_REPLACE
+ );
}
//----------------------------------------------------------------------------------------------------------------------
commit f41d675110bd76907bc950706df07b8da4a59bdd
Author: Frank Schoenheit [fs] <frank.schoenheit at sun.com>
Date: Wed Sep 1 14:59:07 2010 +0200
dba33i: #i111146# migrated all SFX-based applications to use named views
diff --git a/sd/inc/FactoryIds.hxx b/sd/inc/FactoryIds.hxx
old mode 100644
new mode 100755
index d3e38e3..65ff1c9
--- a/sd/inc/FactoryIds.hxx
+++ b/sd/inc/FactoryIds.hxx
@@ -42,8 +42,7 @@ enum ViewShellFactoryIds
DRAW_FACTORY_ID = 1,
SLIDE_SORTER_FACTORY_ID = 2,
OUTLINE_FACTORY_ID = 3,
- PRESENTATION_FACTORY_ID = 4,
- PREVIEW_FACTORY_ID = 5
+ PRESENTATION_FACTORY_ID = 4
};
} // end of namespace sd
diff --git a/sd/source/ui/app/strings.src b/sd/source/ui/app/strings.src
index 969a673..1ba0df6 100755
--- a/sd/source/ui/app/strings.src
+++ b/sd/source/ui/app/strings.src
@@ -86,10 +86,6 @@ String RID_APPTITLE
{
Text = "StarImpress 4.0" ;
};
-String STR_DEFAULTVIEW
-{
- Text [ en-US ] = "Default" ;
-};
String STR_NULL
{
Text [ en-US ] = "None" ;
diff --git a/sd/source/ui/inc/strings.hrc b/sd/source/ui/inc/strings.hrc
index 41b27b4..f46f85f 100755
--- a/sd/source/ui/inc/strings.hrc
+++ b/sd/source/ui/inc/strings.hrc
@@ -28,7 +28,6 @@
#ifndef _SD_CFGID_HXX
#include "cfgids.hxx"
#endif
-#define STR_DEFAULTVIEW (RID_APP_START)
#define STR_NULL (RID_APP_START+3)
#define STR_INSERTPAGE (RID_APP_START+35)
#define STR_INSERTLAYER (RID_APP_START+37)
diff --git a/sd/source/ui/view/GraphicViewShellBase.cxx b/sd/source/ui/view/GraphicViewShellBase.cxx
index 8026c94..88e7d42 100755
--- a/sd/source/ui/view/GraphicViewShellBase.cxx
+++ b/sd/source/ui/view/GraphicViewShellBase.cxx
@@ -62,7 +62,7 @@ SfxViewShell* __EXPORT GraphicViewShellBase::CreateInstance (
void GraphicViewShellBase::RegisterFactory( USHORT nPrio )
{
pFactory = new SfxViewFactory(
- &CreateInstance,&InitFactory,nPrio,SdResId(STR_DEFAULTVIEW));
+ &CreateInstance,&InitFactory,nPrio,"Default");
InitFactory();
}
void GraphicViewShellBase::InitFactory()
diff --git a/sd/source/ui/view/ImpressViewShellBase.cxx b/sd/source/ui/view/ImpressViewShellBase.cxx
old mode 100644
new mode 100755
index c7742e5..50b8145
--- a/sd/source/ui/view/ImpressViewShellBase.cxx
+++ b/sd/source/ui/view/ImpressViewShellBase.cxx
@@ -62,7 +62,7 @@ SfxViewShell* __EXPORT ImpressViewShellBase::CreateInstance (
void ImpressViewShellBase::RegisterFactory( USHORT nPrio )
{
pFactory = new SfxViewFactory(
- &CreateInstance,&InitFactory,nPrio,SdResId(STR_DEFAULTVIEW));
+ &CreateInstance,&InitFactory,nPrio,"Default");
InitFactory();
}
void ImpressViewShellBase::InitFactory()
diff --git a/sd/source/ui/view/OutlineViewShellBase.cxx b/sd/source/ui/view/OutlineViewShellBase.cxx
old mode 100644
new mode 100755
index 178661f..b0699d7
--- a/sd/source/ui/view/OutlineViewShellBase.cxx
+++ b/sd/source/ui/view/OutlineViewShellBase.cxx
@@ -60,7 +60,7 @@ SfxViewShell* __EXPORT OutlineViewShellBase::CreateInstance (
void OutlineViewShellBase::RegisterFactory( USHORT nPrio )
{
pFactory = new SfxViewFactory(
- &CreateInstance,&InitFactory,nPrio,SdResId(STR_DEFAULTVIEW));
+ &CreateInstance,&InitFactory,nPrio,"Outline");
InitFactory();
}
void OutlineViewShellBase::InitFactory()
diff --git a/sd/source/ui/view/PresentationViewShellBase.cxx b/sd/source/ui/view/PresentationViewShellBase.cxx
old mode 100644
new mode 100755
index 96ffefd..603510d
--- a/sd/source/ui/view/PresentationViewShellBase.cxx
+++ b/sd/source/ui/view/PresentationViewShellBase.cxx
@@ -70,7 +70,7 @@ SfxViewShell* __EXPORT PresentationViewShellBase::CreateInstance (
void PresentationViewShellBase::RegisterFactory( USHORT nPrio )
{
pFactory = new SfxViewFactory(
- &CreateInstance,&InitFactory,nPrio,SdResId(STR_DEFAULTVIEW));
+ &CreateInstance,&InitFactory,nPrio,"FullScreenPresentation");
InitFactory();
}
void PresentationViewShellBase::InitFactory()
diff --git a/sd/source/ui/view/SlideSorterViewShellBase.cxx b/sd/source/ui/view/SlideSorterViewShellBase.cxx
old mode 100644
new mode 100755
index 5be1a91..15405d2
--- a/sd/source/ui/view/SlideSorterViewShellBase.cxx
+++ b/sd/source/ui/view/SlideSorterViewShellBase.cxx
@@ -64,7 +64,7 @@ SfxViewShell* __EXPORT SlideSorterViewShellBase::CreateInstance (
void SlideSorterViewShellBase::RegisterFactory( USHORT nPrio )
{
pFactory = new SfxViewFactory(
- &CreateInstance,&InitFactory,nPrio,SdResId(STR_DEFAULTVIEW));
+ &CreateInstance,&InitFactory,nPrio,"SlideSorter");
InitFactory();
}
diff --git a/sd/source/ui/view/ViewShellBase.cxx b/sd/source/ui/view/ViewShellBase.cxx
index 15f7b26..130ca8d 100644
--- a/sd/source/ui/view/ViewShellBase.cxx
+++ b/sd/source/ui/view/ViewShellBase.cxx
@@ -258,7 +258,7 @@ SfxViewShell* __EXPORT ViewShellBase::CreateInstance (
void ViewShellBase::RegisterFactory( USHORT nPrio )
{
pFactory = new SfxViewFactory(
- &CreateInstance,&InitFactory,nPrio,SdResId(STR_DEFAULTVIEW));
+ &CreateInstance,&InitFactory,nPrio,"Default");
InitFactory();
}
void ViewShellBase::InitFactory()
commit abae0dfceff9815d8058390e28f1e84e875d6cea
Merge: 10146e0... eb13a72...
Author: Christian Lippka <christian.lippka at oracle.com>
Date: Thu Aug 26 21:56:23 2010 +0200
impress200: merge
commit eb13a724777c90652a7167ef6a200051020ec0d5
Author: Andre Fischer<andre.f.fischer <Andre Fischer<andre.f.fischer at oracle.com>
Date: Thu Jan 1 00:00:00 1970 +0000
impress200: #i101006# Prevent multiple master pages with identical names.
diff --git a/sd/source/ui/toolpanel/controls/DocumentHelper.cxx b/sd/source/ui/toolpanel/controls/DocumentHelper.cxx
index 7267c97..2c29399 100755
--- a/sd/source/ui/toolpanel/controls/DocumentHelper.cxx
+++ b/sd/source/ui/toolpanel/controls/DocumentHelper.cxx
@@ -503,45 +503,78 @@ SdPage* DocumentHelper::ProvideMasterPage (
SdPage* pMasterPage,
const ::boost::shared_ptr<std::vector<SdPage*> >& rpPageList)
{
- SdPage* pMasterPageInDocument = NULL;
-
- // Get notes master page.
+ // Make sure that both the master page and its notes master exist
+ // in the source document. If one is missing then return without
+ // making any changes.
+ if (pMasterPage == NULL)
+ {
+ // The caller should make sure that the master page is valid.
+ OSL_ASSERT(pMasterPage != NULL);
+ return NULL;
+ }
SdDrawDocument* pSourceDocument = static_cast<SdDrawDocument*>(pMasterPage->GetModel());
+ if (pSourceDocument == NULL)
+ return NULL;
SdPage* pNotesMasterPage = static_cast<SdPage*>(
- pSourceDocument->GetMasterPage (pMasterPage->GetPageNum()+1));
- if (pNotesMasterPage != NULL)
+ pSourceDocument->GetMasterPage(pMasterPage->GetPageNum()+1));
+ if (pNotesMasterPage == NULL)
+ {
+ // The model is not in a valid state. Maybe a new master page
+ // is being (not finished yet) created? Return without making
+ // any changes.
+ return NULL;
+ }
+
+ SdPage* pMasterPageInDocument = NULL;
+ // Search for a master page with the same name as the given one in
+ // the target document.
+ const XubString sMasterPageLayoutName (pMasterPage->GetLayoutName());
+ for (USHORT nIndex=0,nCount=rTargetDocument.GetMasterPageCount(); nIndex<nCount; ++nIndex)
{
- // When the given master page or its associated notes master page do
- // not already belong to the document we have to create copies of
- // them and insert them into the document.
-
- // Determine the position where the new master pages are inserted.
- // By default they are inserted at the end. When we assign to a
- // master page then insert after the last of the (selected) pages.
- USHORT nInsertionIndex = rTargetDocument.GetMasterPageCount();
- if (rpPageList->front()->IsMasterPage())
+ SdPage* pCandidate = static_cast<SdPage*>(rTargetDocument.GetMasterPage(nIndex));
+ if (pCandidate!=NULL
+ && sMasterPageLayoutName==pCandidate->GetLayoutName())
{
- nInsertionIndex = rpPageList->back()->GetPageNum();
+ // The requested master page does already exist in the
+ // target document, return it.
+ return pCandidate;
}
+ }
+
+ // The given master page does not already belong to the target
+ // document so we have to create copies and insert them into the
+ // targer document.
+
+ // Determine the position where the new master pages are inserted.
+ // By default they are inserted at the end. When we assign to a
+ // master page then insert after the last of the (selected) pages.
+ USHORT nInsertionIndex = rTargetDocument.GetMasterPageCount();
+ if (rpPageList->front()->IsMasterPage())
+ {
+ nInsertionIndex = rpPageList->back()->GetPageNum();
+ }
- if (pMasterPage->GetModel() != &rTargetDocument)
- {
- pMasterPageInDocument = AddMasterPage (rTargetDocument, pMasterPage, nInsertionIndex);
- if( rTargetDocument.IsUndoEnabled() )
+ // Clone the master page.
+ if (pMasterPage->GetModel() != &rTargetDocument)
+ {
+ pMasterPageInDocument = AddMasterPage (rTargetDocument, pMasterPage, nInsertionIndex);
+ if( rTargetDocument.IsUndoEnabled() )
rTargetDocument.AddUndo(
rTargetDocument.GetSdrUndoFactory().CreateUndoNewPage(*pMasterPageInDocument));
- }
- else
- pMasterPageInDocument = pMasterPage;
- if (pNotesMasterPage->GetModel() != &rTargetDocument)
- {
- SdPage* pClonedNotesMasterPage
- = AddMasterPage (rTargetDocument, pNotesMasterPage, nInsertionIndex+1);
- if( rTargetDocument.IsUndoEnabled() )
- rTargetDocument.AddUndo(
- rTargetDocument.GetSdrUndoFactory().CreateUndoNewPage(*pClonedNotesMasterPage));
- }
}
+ else
+ pMasterPageInDocument = pMasterPage;
+
+ // Clone the notes master.
+ if (pNotesMasterPage->GetModel() != &rTargetDocument)
+ {
+ SdPage* pClonedNotesMasterPage
+ = AddMasterPage (rTargetDocument, pNotesMasterPage, nInsertionIndex+1);
+ if( rTargetDocument.IsUndoEnabled() )
+ rTargetDocument.AddUndo(
+ rTargetDocument.GetSdrUndoFactory().CreateUndoNewPage(*pClonedNotesMasterPage));
+ }
+
return pMasterPageInDocument;
}
More information about the ooo-build-commit
mailing list