summaryrefslogtreecommitdiff
path: root/sd
diff options
context:
space:
mode:
authorJens-Heiner Rechtien <hr@openoffice.org>2009-11-30 14:44:46 +0000
committerJens-Heiner Rechtien <hr@openoffice.org>2009-11-30 14:44:46 +0000
commit45e4999d3822e6fa46c6ab63dc0054bd8f734221 (patch)
tree3970b3d01ef6b0aa06d968fc9d59de2c1f045545 /sd
parent3444422cc1fd774961c43d5699a15f4e4b13d6d1 (diff)
parentf80c43f07153116e4ba37ed5e5fb72a94b4beaca (diff)
slideshow1: merge with DEV300 m44
Diffstat (limited to 'sd')
-rw-r--r--sd/inc/Outliner.hxx5
-rw-r--r--sd/inc/OutlinerIterator.hxx14
-rw-r--r--sd/sdi/app.sdi7
-rw-r--r--sd/source/core/drawdoc4.cxx1
-rw-r--r--sd/source/core/sdpage.cxx2
-rw-r--r--sd/source/core/sdpage2.cxx1
-rw-r--r--sd/source/core/stlpool.cxx2
-rw-r--r--sd/source/filter/html/htmlex.cxx65
-rw-r--r--sd/source/filter/html/pubdlg.cxx9
-rw-r--r--sd/source/ui/app/sdmod1.cxx14
-rw-r--r--sd/source/ui/docshell/docshel4.cxx6
-rw-r--r--sd/source/ui/framework/configuration/ConfigurationController.cxx12
-rw-r--r--sd/source/ui/framework/configuration/ConfigurationUpdater.hxx2
-rw-r--r--sd/source/ui/framework/tools/FrameworkHelper.cxx31
-rw-r--r--sd/source/ui/func/fuinsert.cxx252
-rw-r--r--sd/source/ui/func/futext.cxx2
-rw-r--r--sd/source/ui/inc/OutlinerIteratorImpl.hxx21
-rw-r--r--sd/source/ui/inc/framework/ConfigurationController.hxx10
-rw-r--r--sd/source/ui/inc/framework/FrameworkHelper.hxx17
-rw-r--r--sd/source/ui/presenter/PresenterTextView.cxx2
-rw-r--r--sd/source/ui/slideshow/slideshowimpl.cxx52
-rw-r--r--sd/source/ui/slideshow/slideshowimpl.hxx2
-rw-r--r--sd/source/ui/slideshow/slideshowviewimpl.cxx12
-rw-r--r--sd/source/ui/slideshow/slideshowviewimpl.hxx1
-rw-r--r--sd/source/ui/slidesorter/cache/SlsQueueProcessor.cxx22
-rw-r--r--sd/source/ui/slidesorter/cache/SlsQueueProcessor.hxx6
-rw-r--r--sd/source/ui/slidesorter/controller/SlideSorterController.cxx47
-rw-r--r--sd/source/ui/slidesorter/controller/SlsListener.cxx13
-rw-r--r--sd/source/ui/slidesorter/controller/SlsListener.hxx7
-rw-r--r--sd/source/ui/slidesorter/inc/controller/SlideSorterController.hxx59
-rw-r--r--sd/source/ui/slidesorter/model/SlideSorterModel.cxx2
-rw-r--r--sd/source/ui/slidesorter/view/SlsViewCacheContext.cxx11
-rw-r--r--sd/source/ui/unoidl/DrawController.cxx2
-rw-r--r--sd/source/ui/view/Outliner.cxx95
-rw-r--r--sd/source/ui/view/OutlinerIterator.cxx213
-rw-r--r--sd/source/ui/view/drtxtob1.cxx60
-rw-r--r--sd/uiconfig/sdraw/menubar/menubar.xml654
-rw-r--r--sd/uiconfig/simpress/menubar/menubar.xml604
-rw-r--r--sd/xml/transitions-ogl.xml (renamed from sd/xml/transitions-ogl)0
39 files changed, 1295 insertions, 1042 deletions
diff --git a/sd/inc/Outliner.hxx b/sd/inc/Outliner.hxx
index 61ca41a59b8c..e7e9c9dc70f9 100644
--- a/sd/inc/Outliner.hxx
+++ b/sd/inc/Outliner.hxx
@@ -37,6 +37,7 @@
#include "OutlinerIterator.hxx"
#include <svx/SpellPortions.hxx>
#include <memory>
+#include <boost/shared_ptr.hpp>
class Dialog;
class SdPage;
@@ -203,7 +204,7 @@ private:
/// The view which displays the searched objects.
::sd::View* mpView;
/// The view shell containing the view.
- ViewShell* mpViewShell;
+ ::boost::shared_ptr<ViewShell> mpViewShell;
/// This window contains the view.
::sd::Window* mpWindow;
/// The document on whose objects and pages this class operates.
@@ -543,7 +544,7 @@ private:
It handles i.e. registering at the associated view as selection
change listener.
*/
- void SetViewShell (ViewShell* pViewShell);
+ void SetViewShell (const ::boost::shared_ptr<ViewShell>& rpViewShell);
/** Activate or deactivate the search in the current selection. Call
this method whenever the selection has changed. This method creates
diff --git a/sd/inc/OutlinerIterator.hxx b/sd/inc/OutlinerIterator.hxx
index 36e1b6269615..62646f66fe3d 100644
--- a/sd/inc/OutlinerIterator.hxx
+++ b/sd/inc/OutlinerIterator.hxx
@@ -36,12 +36,13 @@
#include "pres.hxx"
#include "sal/types.h"
#include <vector>
+#include <boost/shared_ptr.hpp>
class SdDrawDocument;
namespace sd {
-class DrawViewShell;
+class ViewShell;
class Outliner;
class View;
@@ -267,7 +268,7 @@ private:
Iterator CreateSelectionIterator (
const ::std::vector<SdrObjectWeakRef>& rObjectList,
SdDrawDocument* pDocument,
- DrawViewShell* pViewShell,
+ const ::boost::shared_ptr<ViewShell>& rpViewShell,
bool bDirectionIsForward=true,
IteratorLocation aLocation=BEGIN);
@@ -285,7 +286,7 @@ private:
*/
Iterator CreateViewIterator (
SdDrawDocument* pDocument,
- DrawViewShell* pViewShell,
+ const boost::shared_ptr<ViewShell>& rpViewShell,
bool bDirectionIsForward=true,
IteratorLocation aLocation=BEGIN);
@@ -302,7 +303,7 @@ private:
*/
Iterator CreateDocumentIterator (
SdDrawDocument* pDocument,
- DrawViewShell* pViewShell,
+ const ::boost::shared_ptr<ViewShell>& rpViewShell,
bool bDirectionIsForward=true,
IteratorLocation aLocation=BEGIN);
@@ -323,8 +324,9 @@ private:
@param aLocation
This specifies at which object the iterator points initially.
*/
- sal_Int32 GetPageIndex (SdDrawDocument* pDocument,
- DrawViewShell* pViewShell,
+ sal_Int32 GetPageIndex (
+ SdDrawDocument* pDocument,
+ const ::boost::shared_ptr<ViewShell>& rpViewShell,
PageKind ePageKind,
EditMode eEditMode,
bool bDirectionIsForward,
diff --git a/sd/sdi/app.sdi b/sd/sdi/app.sdi
index cd3959258cfb..69df9f364234 100644
--- a/sd/sdi/app.sdi
+++ b/sd/sdi/app.sdi
@@ -35,6 +35,13 @@ interface StarImpress
StateMethod = GetState ;
]
+ SID_OPENHYPERLINK // ole() api()
+ [
+
+ ExecMethod = Execute ;
+ StateMethod = GetState ;
+ ]
+
SID_AUTOSPELL_CHECK // ole() api()
[
diff --git a/sd/source/core/drawdoc4.cxx b/sd/source/core/drawdoc4.cxx
index cfefad2eaa61..7413644ced2f 100644
--- a/sd/source/core/drawdoc4.cxx
+++ b/sd/source/core/drawdoc4.cxx
@@ -119,6 +119,7 @@
#include "shapelist.hxx"
#include <basegfx/point/b2dpoint.hxx>
#include <basegfx/polygon/b2dpolygon.hxx>
+#include <svtools/itemset.hxx>
using ::rtl::OUString;
using namespace ::com::sun::star;
diff --git a/sd/source/core/sdpage.cxx b/sd/source/core/sdpage.cxx
index acf40da12539..2aad3821d1be 100644
--- a/sd/source/core/sdpage.cxx
+++ b/sd/source/core/sdpage.cxx
@@ -2898,7 +2898,7 @@ bool SdPage::RestoreDefaultText( SdrObject* pObj )
// not changed object.
if(pTextObj
&& pTextObj->GetOutlinerParaObject()
- && pTextObj->GetOutlinerParaObject()->IsVertical() != bVertical)
+ && pTextObj->GetOutlinerParaObject()->IsVertical() != (bool)bVertical)
{
Rectangle aObjectRect = pTextObj->GetSnapRect();
pTextObj->GetOutlinerParaObject()->SetVertical(bVertical);
diff --git a/sd/source/core/sdpage2.cxx b/sd/source/core/sdpage2.cxx
index 4a1d644c1dc9..d0c38e16593c 100644
--- a/sd/source/core/sdpage2.cxx
+++ b/sd/source/core/sdpage2.cxx
@@ -60,6 +60,7 @@
// #90477#
#include <tools/tenccvt.hxx>
+#include <svtools/itemset.hxx>
using namespace ::sd;
using namespace ::com::sun::star;
diff --git a/sd/source/core/stlpool.cxx b/sd/source/core/stlpool.cxx
index b4af640a2cc5..708ed0b3c8b0 100644
--- a/sd/source/core/stlpool.cxx
+++ b/sd/source/core/stlpool.cxx
@@ -1466,7 +1466,7 @@ SdStyleSheetVector SdStyleSheetPool::CreateChildList( SdStyleSheet* pSheet )
{
for (USHORT n = 0; n < nListenerCount; n++)
{
- SdStyleSheet* pChild = static_cast< SdStyleSheet* >( pSheet->GetListener(n) );
+ SdStyleSheet* pChild = dynamic_cast< SdStyleSheet* >( pSheet->GetListener(n) );
if(pChild && pChild->GetParent() == pSheet->GetName())
{
aResult.push_back( SdStyleSheetRef( pChild ) );
diff --git a/sd/source/filter/html/htmlex.cxx b/sd/source/filter/html/htmlex.cxx
index c04b4ca412a4..80e76fa2a3fd 100644
--- a/sd/source/filter/html/htmlex.cxx
+++ b/sd/source/filter/html/htmlex.cxx
@@ -81,6 +81,7 @@
//#ifndef _SVDETC_HXX
//#include <svx/svdetc.hxx>
//#endif
+#include <svx/frmdiritem.hxx>
#include <svx/svdoutl.hxx>
#include <svx/impgrf.hxx> // FillFilter()
#include <tools/urlobj.hxx> // INetURLObject
@@ -364,6 +365,21 @@ String HtmlState::SetLink( const String& aLink, const String& aTarget )
// class HtmlExport Methoden
// *********************************************************************
+static String getParagraphStyle( SdrOutliner* pOutliner, USHORT nPara )
+{
+ SfxItemSet aParaSet( pOutliner->GetParaAttribs( nPara ) );
+
+ String sStyle( RTL_CONSTASCII_USTRINGPARAM("direction:") );
+ if( static_cast<const SvxFrameDirectionItem*>(aParaSet.GetItem( EE_PARA_WRITINGDIR ))->GetValue() == FRMDIR_HORI_RIGHT_TOP )
+ {
+ sStyle += String( RTL_CONSTASCII_USTRINGPARAM("rtl;") );
+ }
+ else
+ {
+ sStyle += String( RTL_CONSTASCII_USTRINGPARAM("ltr;") );
+ }
+ return sStyle;
+}
// =====================================================================
// Konstruktor fuer die Html Export Hilfsklasse
@@ -647,6 +663,7 @@ void HtmlExport::InitExportParameters( const Sequence< PropertyValue >& rParams
Size aTmpSize( pPage->GetSize() );
double dRatio=((double)aTmpSize.Width())/aTmpSize.Height();
+/*
switch( mnWidthPixel )
{
case 800:
@@ -660,6 +677,7 @@ void HtmlExport::InitExportParameters( const Sequence< PropertyValue >& rParams
mnWidthPixel = 512;
break;
}
+*/
mnHeightPixel = (USHORT)(mnWidthPixel/dRatio);
//------------------------------------------------------------------
@@ -1114,8 +1132,11 @@ bool HtmlExport::CreateHtmlTextForPresPages()
aStr += CreateNavBar(nSdPage, true);
// Seitentitel
- aStr.AppendAscii( "<h1>" );
- aStr += CreateTextForTitle(pOutliner,pPage, pPage->GetPageBackgroundColor());
+ String sTitleText( CreateTextForTitle(pOutliner,pPage, pPage->GetPageBackgroundColor()) );
+ aStr.AppendAscii( "<h1 style=\"");
+ aStr.Append( getParagraphStyle( pOutliner, 0 ) );
+ aStr.AppendAscii( "\">" );
+ aStr += sTitleText;
aStr.AppendAscii( "</h1>\r\n" );
// Gliederungstext schreiben
@@ -1250,8 +1271,6 @@ String HtmlExport::CreateTextForPage( SdrOutliner* pOutliner,
{
aStr.AppendAscii( "</ul>" );
nActDepth--;
- if( nActDepth >= 0 )
- aStr.AppendAscii( "</li>" );
}
while(nDepth < nActDepth);
}
@@ -1259,18 +1278,33 @@ String HtmlExport::CreateTextForPage( SdrOutliner* pOutliner,
{
do
{
- if( nActDepth >= 0 )
- aStr.AppendAscii( "<li>" );
aStr.AppendAscii( "<ul>" );
nActDepth++;
}
while( nDepth > nActDepth );
}
+ String sStyle( getParagraphStyle( pOutliner, nPara ) );
if(nActDepth >= 0 )
- aStr.AppendAscii( "<li>" );
- if(nActDepth == 0 && bHeadLine)
- aStr.AppendAscii( "<h2>" );
+ {
+ aStr.AppendAscii( "<li style=\"");
+ aStr.Append( sStyle );
+ aStr.AppendAscii( "\">" );
+ }
+
+ if(nActDepth <= 0 && bHeadLine)
+ {
+ if( nActDepth == 0 )
+ {
+ aStr.AppendAscii( "<h2>" );
+ }
+ else
+ {
+ aStr.AppendAscii( "<h2 style=\"");
+ aStr.Append( sStyle );
+ aStr.AppendAscii( "\">" );
+ }
+ }
aStr += aParaText;
if(nActDepth == 0 && bHeadLine)
aStr.AppendAscii( "</h2>" );
@@ -1283,8 +1317,6 @@ String HtmlExport::CreateTextForPage( SdrOutliner* pOutliner,
{
aStr.AppendAscii( "</ul>" );
nActDepth--;
- if( nActDepth >= 0 )
- aStr.AppendAscii( "</li>" );
};
}
}
@@ -1315,8 +1347,11 @@ String HtmlExport::CreateTextForNotesPage( SdrOutliner* pOutliner,
ULONG nCount = pOutliner->GetParagraphCount();
for (ULONG nPara = 0; nPara < nCount; nPara++)
{
+ aStr.AppendAscii("<p style=\"");
+ aStr.Append( getParagraphStyle( pOutliner, nPara ) );
+ aStr.AppendAscii("\">");
aStr += ParagraphToHTMLString( pOutliner, nPara,rBackgroundColor );
- aStr.AppendAscii( "<br>\r\n" );
+ aStr.AppendAscii( "</p>\r\n" );
}
}
}
@@ -2041,11 +2076,15 @@ bool HtmlExport::CreateOutlinePages()
String aTitle = CreateTextForTitle(pOutliner,pPage, maBackColor);
if(aTitle.Len() == 0)
aTitle = *mpPageNames[nSdPage];
+
+ aStr.AppendAscii("<p style=\"");
+ aStr.Append( getParagraphStyle( pOutliner, 0 ) );
+ aStr.AppendAscii("\">");
aStr += CreateLink(aLink, aTitle);
+ aStr.AppendAscii("</p>");
if(nPage==1)
{
- aStr.AppendAscii( "<br>" );
aStr += CreateTextForPage( pOutliner, pPage, false, maBackColor );
}
aStr.AppendAscii( "</div>\r\n" );
diff --git a/sd/source/filter/html/pubdlg.cxx b/sd/source/filter/html/pubdlg.cxx
index a0a0dc4ca80d..aec387604488 100644
--- a/sd/source/filter/html/pubdlg.cxx
+++ b/sd/source/filter/html/pubdlg.cxx
@@ -867,8 +867,13 @@ void SdPublishingDlg::GetParameterSequence( Sequence< PropertyValue >& rParams )
// Page 3
aValue.Name = OUString( RTL_CONSTASCII_USTRINGPARAM( "Width" ) );
- aValue.Value <<= (sal_Int32)( pPage3_Resolution_1->IsChecked()?PUB_LOWRES_WIDTH:
- pPage3_Resolution_2->IsChecked()?PUB_MEDRES_WIDTH:PUB_HIGHRES_WIDTH);
+ sal_Int32 nTmpWidth = 512;
+ if( pPage3_Resolution_2->IsChecked() )
+ nTmpWidth = 640;
+ else if( pPage3_Resolution_3->IsChecked() )
+ nTmpWidth = 800;
+
+ aValue.Value <<= nTmpWidth;
aProps.push_back( aValue );
aValue.Name = OUString( RTL_CONSTASCII_USTRINGPARAM( "Compression" ) );
diff --git a/sd/source/ui/app/sdmod1.cxx b/sd/source/ui/app/sdmod1.cxx
index 8cdef6f922a3..f87c9a11c0bd 100644
--- a/sd/source/ui/app/sdmod1.cxx
+++ b/sd/source/ui/app/sdmod1.cxx
@@ -188,9 +188,12 @@ void SdModule::Execute(SfxRequest& rReq)
{
const SfxPoolItem* pItem;
if( pSet &&
+ (
SFX_ITEM_SET == pSet->GetItemState(SID_ATTR_LANGUAGE, FALSE, &pItem ) ||
SFX_ITEM_SET == pSet->GetItemState(SID_ATTR_CHAR_CJK_LANGUAGE, FALSE, &pItem ) ||
- SFX_ITEM_SET == pSet->GetItemState(SID_ATTR_CHAR_CTL_LANGUAGE, FALSE, &pItem ) )
+ SFX_ITEM_SET == pSet->GetItemState(SID_ATTR_CHAR_CTL_LANGUAGE, FALSE, &pItem )
+ )
+ )
{
// am Dokument sichern:
::sd::DrawDocShell* pDocSh = PTR_CAST(::sd::DrawDocShell, SfxObjectShell::Current());
@@ -227,6 +230,7 @@ void SdModule::Execute(SfxRequest& rReq)
break;
+ case SID_OPENHYPERLINK:
case SID_OPENDOC:
{
BOOL bIntercept = FALSE;
@@ -402,6 +406,14 @@ void SdModule::GetState(SfxItemSet& rItemSet)
rItemSet.Put(*pItem);
}
+ // der Status von SID_OPENHYPERLINK wird von der Basisklasse bestimmt
+ if (rItemSet.GetItemState(SID_OPENHYPERLINK) != SFX_ITEM_UNKNOWN)
+ {
+ const SfxPoolItem* pItem = SFX_APP()->GetSlotState(SID_OPENHYPERLINK, SFX_APP()->GetInterface());
+ if (pItem)
+ rItemSet.Put(*pItem);
+ }
+
if( SFX_ITEM_AVAILABLE == rItemSet.GetItemState( SID_AUTOSPELL_CHECK ) )
{
::sd::DrawDocShell* pDocSh =
diff --git a/sd/source/ui/docshell/docshel4.cxx b/sd/source/ui/docshell/docshel4.cxx
index 1cbd9d538c3b..7ab59da47780 100644
--- a/sd/source/ui/docshell/docshel4.cxx
+++ b/sd/source/ui/docshell/docshel4.cxx
@@ -1002,10 +1002,8 @@ void DrawDocShell::OpenBookmark( const String& rBookmarkURL )
{
SfxStringItem aStrItem( SID_FILE_NAME, rBookmarkURL );
SfxStringItem aReferer( SID_REFERER, GetMedium()->GetName() );
- SfxBoolItem aBrowseItem( SID_BROWSE, TRUE );
-
- ( mpViewShell ? mpViewShell->GetViewFrame() : SfxViewFrame::Current() )->GetDispatcher()->
- Execute(SID_OPENDOC, SFX_CALLMODE_SLOT | SFX_CALLMODE_RECORD, &aStrItem, &aBrowseItem, &aReferer, 0L );
+ const SfxPoolItem* ppArgs[] = { &aStrItem, &aReferer, 0 };
+ ( mpViewShell ? mpViewShell->GetViewFrame() : SfxViewFrame::Current() )->GetBindings().Execute( SID_OPENHYPERLINK, ppArgs );
}
} // end of namespace sd
diff --git a/sd/source/ui/framework/configuration/ConfigurationController.cxx b/sd/source/ui/framework/configuration/ConfigurationController.cxx
index 5e21e672d3bc..731b9d6963c0 100644
--- a/sd/source/ui/framework/configuration/ConfigurationController.cxx
+++ b/sd/source/ui/framework/configuration/ConfigurationController.cxx
@@ -237,6 +237,18 @@ void ConfigurationController::ProcessEvent (void)
+void ConfigurationController::RequestSynchronousUpdate (void)
+{
+ if (mpImplementation.get() == NULL)
+ return;
+ if (mpImplementation->mpQueueProcessor.get() == 0)
+ return;
+ mpImplementation->mpQueueProcessor->ProcessUntilEmpty();
+}
+
+
+
+
//----- XConfigurationControllerBroadcaster -----------------------------------
void SAL_CALL ConfigurationController::addConfigurationChangeListener (
diff --git a/sd/source/ui/framework/configuration/ConfigurationUpdater.hxx b/sd/source/ui/framework/configuration/ConfigurationUpdater.hxx
index 929fb9e016d2..e924f57eca8c 100644
--- a/sd/source/ui/framework/configuration/ConfigurationUpdater.hxx
+++ b/sd/source/ui/framework/configuration/ConfigurationUpdater.hxx
@@ -76,7 +76,7 @@ public:
css::drawing::framework::XControllerManager>& rxControllerManager);
/** Request an update of the current configuration so that it looks like
- the given requested configuration. It check whether an update of
+ the given requested configuration. It checks whether an update of
the current configuration can be done. Calls UpdateConfiguration()
if that is the case. Otherwise it schedules a later call to
UpdateConfiguration().
diff --git a/sd/source/ui/framework/tools/FrameworkHelper.cxx b/sd/source/ui/framework/tools/FrameworkHelper.cxx
index 4dedb617ea89..d0d6938a2b21 100644
--- a/sd/source/ui/framework/tools/FrameworkHelper.cxx
+++ b/sd/source/ui/framework/tools/FrameworkHelper.cxx
@@ -34,8 +34,9 @@
#include "framework/FrameworkHelper.hxx"
-#include "framework/ViewShellWrapper.hxx"
+#include "framework/ConfigurationController.hxx"
#include "framework/ResourceId.hxx"
+#include "framework/ViewShellWrapper.hxx"
#include "ViewShellBase.hxx"
#include "FrameView.hxx"
#include "DrawViewShell.hxx"
@@ -511,10 +512,12 @@ Reference<XView> FrameworkHelper::GetView (const Reference<XResourceId>& rxPaneO
-void FrameworkHelper::RequestView (
+Reference<XResourceId> FrameworkHelper::RequestView (
const OUString& rsResourceURL,
const OUString& rsAnchorURL)
{
+ Reference<XResourceId> xViewId;
+
try
{
if (mxConfigurationController.is())
@@ -522,17 +525,23 @@ void FrameworkHelper::RequestView (
mxConfigurationController->requestResourceActivation(
CreateResourceId(rsAnchorURL),
ResourceActivationMode_ADD);
+ xViewId = CreateResourceId(rsResourceURL, rsAnchorURL);
mxConfigurationController->requestResourceActivation(
- CreateResourceId(rsResourceURL, rsAnchorURL),
+ xViewId,
ResourceActivationMode_REPLACE);
}
}
catch (lang::DisposedException&)
{
Dispose();
+ xViewId = NULL;
}
catch (RuntimeException&)
- {}
+ {
+ xViewId = NULL;
+ }
+
+ return xViewId;
}
@@ -764,6 +773,20 @@ private:
bool& mrFlag;
};
+
+
+
+void FrameworkHelper::RequestSynchronousUpdate (void)
+{
+ rtl::Reference<ConfigurationController> pCC (
+ dynamic_cast<ConfigurationController*>(mxConfigurationController.get()));
+ if (pCC.is())
+ pCC->RequestSynchronousUpdate();
+}
+
+
+
+
void FrameworkHelper::WaitForEvent (const OUString& rsEventType) const
{
bool bConfigurationUpdateSeen (false);
diff --git a/sd/source/ui/func/fuinsert.cxx b/sd/source/ui/func/fuinsert.cxx
index 7bce1526993b..12c94fbf9f8f 100644
--- a/sd/source/ui/func/fuinsert.cxx
+++ b/sd/source/ui/func/fuinsert.cxx
@@ -503,163 +503,171 @@ void FuInsertOLE::DoExecute( SfxRequest& rReq )
}
}
- if (xObj.is())
+ try
{
- //TODO/LATER: needs status for RESIZEONPRINTERCHANGE
- //if( SVOBJ_MISCSTATUS_RESIZEONPRINTERCHANGE & xObj->getStatus( nAspect ) )
- // aIPObj->OnDocumentPrinterChanged( mpDocSh->GetPrinter(FALSE) );
+ if (xObj.is())
+ {
+ //TODO/LATER: needs status for RESIZEONPRINTERCHANGE
+ //if( SVOBJ_MISCSTATUS_RESIZEONPRINTERCHANGE & xObj->getStatus( nAspect ) )
+ // aIPObj->OnDocumentPrinterChanged( mpDocSh->GetPrinter(FALSE) );
- BOOL bInsertNewObject = TRUE;
+ BOOL bInsertNewObject = TRUE;
- Size aSize;
- MapUnit aMapUnit = MAP_100TH_MM;
- if ( nAspect != embed::Aspects::MSOLE_ICON )
- {
- awt::Size aSz;
- try
+ Size aSize;
+ MapUnit aMapUnit = MAP_100TH_MM;
+ if ( nAspect != embed::Aspects::MSOLE_ICON )
{
- aSz = xObj->getVisualAreaSize( nAspect );
- }
- catch( embed::NoVisualAreaSizeException& )
- {
- // the default size will be set later
- }
+ awt::Size aSz;
+ try
+ {
+ aSz = xObj->getVisualAreaSize( nAspect );
+ }
+ catch( embed::NoVisualAreaSizeException& )
+ {
+ // the default size will be set later
+ }
- aSize =Size( aSz.Width, aSz.Height );
+ aSize =Size( aSz.Width, aSz.Height );
- aMapUnit = VCLUnoHelper::UnoEmbed2VCLMapUnit( xObj->getMapUnit( nAspect ) );
- if (aSize.Height() == 0 || aSize.Width() == 0)
- {
- // Rechteck mit ausgewogenem Kantenverhaeltnis
- aSize.Width() = 14100;
- aSize.Height() = 10000;
- Size aTmp = OutputDevice::LogicToLogic( aSize, MAP_100TH_MM, aMapUnit );
- aSz.Width = aTmp.Width();
- aSz.Height = aTmp.Height();
- xObj->setVisualAreaSize( nAspect, aSz );
- }
- else
- {
- aSize = OutputDevice::LogicToLogic(aSize, aMapUnit, MAP_100TH_MM);
+ aMapUnit = VCLUnoHelper::UnoEmbed2VCLMapUnit( xObj->getMapUnit( nAspect ) );
+ if (aSize.Height() == 0 || aSize.Width() == 0)
+ {
+ // Rechteck mit ausgewogenem Kantenverhaeltnis
+ aSize.Width() = 14100;
+ aSize.Height() = 10000;
+ Size aTmp = OutputDevice::LogicToLogic( aSize, MAP_100TH_MM, aMapUnit );
+ aSz.Width = aTmp.Width();
+ aSz.Height = aTmp.Height();
+ xObj->setVisualAreaSize( nAspect, aSz );
+ }
+ else
+ {
+ aSize = OutputDevice::LogicToLogic(aSize, aMapUnit, MAP_100TH_MM);
+ }
}
- }
-
- if ( mpView->AreObjectsMarked() )
- {
- /**********************************************************
- * Ist ein leeres OLE-Objekt vorhanden?
- **********************************************************/
- const SdrMarkList& rMarkList = mpView->GetMarkedObjectList();
- if (rMarkList.GetMarkCount() == 1)
+ if ( mpView->AreObjectsMarked() )
{
- SdrMark* pMark = rMarkList.GetMark(0);
- SdrObject* pObj = pMark->GetMarkedSdrObj();
+ /**********************************************************
+ * Ist ein leeres OLE-Objekt vorhanden?
+ **********************************************************/
+ const SdrMarkList& rMarkList = mpView->GetMarkedObjectList();
- if (pObj->GetObjInventor() == SdrInventor &&
- pObj->GetObjIdentifier() == OBJ_OLE2)
+ if (rMarkList.GetMarkCount() == 1)
{
- if ( !( (SdrOle2Obj*) pObj)->GetObjRef().is() )
- {
- /**************************************************
- * Das leere OLE-Objekt bekommt ein neues IPObj
- **************************************************/
- bInsertNewObject = FALSE;
- pObj->SetEmptyPresObj(FALSE);
- ( (SdrOle2Obj*) pObj)->SetOutlinerParaObject(NULL);
- ( (SdrOle2Obj*) pObj)->SetObjRef(xObj);
- ( (SdrOle2Obj*) pObj)->SetPersistName(aName);
- ( (SdrOle2Obj*) pObj)->SetName(aName);
- ( (SdrOle2Obj*) pObj)->SetAspect(nAspect);
- Rectangle aRect = ( (SdrOle2Obj*) pObj)->GetLogicRect();
-
- //HMHmpView->HideMarkHdl();
+ SdrMark* pMark = rMarkList.GetMark(0);
+ SdrObject* pObj = pMark->GetMarkedSdrObj();
- if ( nAspect == embed::Aspects::MSOLE_ICON )
- {
- if( xIconMetaFile.is() )
- ( (SdrOle2Obj*) pObj)->SetGraphicToObj( xIconMetaFile, aIconMediaType );
- }
- else
+ if (pObj->GetObjInventor() == SdrInventor &&
+ pObj->GetObjIdentifier() == OBJ_OLE2)
+ {
+ if ( !( (SdrOle2Obj*) pObj)->GetObjRef().is() )
{
- Size aTmp = OutputDevice::LogicToLogic( aRect.GetSize(), MAP_100TH_MM, aMapUnit );
- awt::Size aSz( aTmp.Width(), aTmp.Height() );
- xObj->setVisualAreaSize( nAspect, aSz );
+ /**************************************************
+ * Das leere OLE-Objekt bekommt ein neues IPObj
+ **************************************************/
+ bInsertNewObject = FALSE;
+ pObj->SetEmptyPresObj(FALSE);
+ ( (SdrOle2Obj*) pObj)->SetOutlinerParaObject(NULL);
+ ( (SdrOle2Obj*) pObj)->SetObjRef(xObj);
+ ( (SdrOle2Obj*) pObj)->SetPersistName(aName);
+ ( (SdrOle2Obj*) pObj)->SetName(aName);
+ ( (SdrOle2Obj*) pObj)->SetAspect(nAspect);
+ Rectangle aRect = ( (SdrOle2Obj*) pObj)->GetLogicRect();
+
+ //HMHmpView->HideMarkHdl();
+
+ if ( nAspect == embed::Aspects::MSOLE_ICON )
+ {
+ if( xIconMetaFile.is() )
+ ( (SdrOle2Obj*) pObj)->SetGraphicToObj( xIconMetaFile, aIconMediaType );
+ }
+ else
+ {
+ Size aTmp = OutputDevice::LogicToLogic( aRect.GetSize(), MAP_100TH_MM, aMapUnit );
+ awt::Size aSz( aTmp.Width(), aTmp.Height() );
+ xObj->setVisualAreaSize( nAspect, aSz );
+ }
}
}
}
}
- }
- if (bInsertNewObject)
- {
- /**************************************************************
- * Ein neues OLE-Objekt wird erzeugt
- **************************************************************/
- SdrPageView* pPV = mpView->GetSdrPageView();
- Size aPageSize = pPV->GetPage()->GetSize();
-
- // get the size from the iconified object
- ::svt::EmbeddedObjectRef aObjRef( xObj, nAspect );
- if ( nAspect == embed::Aspects::MSOLE_ICON )
+ if (bInsertNewObject)
{
- aObjRef.SetGraphicStream( xIconMetaFile, aIconMediaType );
- MapMode aMapMode( MAP_100TH_MM );
- aSize = aObjRef.GetSize( &aMapMode );
- }
-
- Point aPnt ((aPageSize.Width() - aSize.Width()) / 2,
- (aPageSize.Height() - aSize.Height()) / 2);
- Rectangle aRect (aPnt, aSize);
+ /**************************************************************
+ * Ein neues OLE-Objekt wird erzeugt
+ **************************************************************/
+ SdrPageView* pPV = mpView->GetSdrPageView();
+ Size aPageSize = pPV->GetPage()->GetSize();
+
+ // get the size from the iconified object
+ ::svt::EmbeddedObjectRef aObjRef( xObj, nAspect );
+ if ( nAspect == embed::Aspects::MSOLE_ICON )
+ {
+ aObjRef.SetGraphicStream( xIconMetaFile, aIconMediaType );
+ MapMode aMapMode( MAP_100TH_MM );
+ aSize = aObjRef.GetSize( &aMapMode );
+ }
- SdrOle2Obj* pObj = new SdrOle2Obj( aObjRef, aName, aRect);
+ Point aPnt ((aPageSize.Width() - aSize.Width()) / 2,
+ (aPageSize.Height() - aSize.Height()) / 2);
+ Rectangle aRect (aPnt, aSize);
- if( mpView->InsertObjectAtView(pObj, *pPV, SDRINSERT_SETDEFLAYER) )
- {
- // #73279# Math objects change their object size during InsertObject.
- // New size must be set in SdrObject, or a wrong scale will be set at
- // ActivateObject.
+ SdrOle2Obj* pObj = new SdrOle2Obj( aObjRef, aName, aRect);
- if ( nAspect != embed::Aspects::MSOLE_ICON )
+ if( mpView->InsertObjectAtView(pObj, *pPV, SDRINSERT_SETDEFLAYER) )
{
- try
- {
- awt::Size aSz = xObj->getVisualAreaSize( nAspect );
+ // #73279# Math objects change their object size during InsertObject.
+ // New size must be set in SdrObject, or a wrong scale will be set at
+ // ActivateObject.
- Size aNewSize = Window::LogicToLogic( Size( aSz.Width, aSz.Height ),
- MapMode( aMapUnit ), MapMode( MAP_100TH_MM ) );
- if ( aNewSize != aSize )
+ if ( nAspect != embed::Aspects::MSOLE_ICON )
+ {
+ try
{
- aRect.SetSize( aNewSize );
- pObj->SetLogicRect( aRect );
+ awt::Size aSz = xObj->getVisualAreaSize( nAspect );
+
+ Size aNewSize = Window::LogicToLogic( Size( aSz.Width, aSz.Height ),
+ MapMode( aMapUnit ), MapMode( MAP_100TH_MM ) );
+ if ( aNewSize != aSize )
+ {
+ aRect.SetSize( aNewSize );
+ pObj->SetLogicRect( aRect );
+ }
}
+ catch( embed::NoVisualAreaSizeException& )
+ {}
}
- catch( embed::NoVisualAreaSizeException& )
- {}
- }
-
- if (bCreateNew)
- {
- //HMHmpView->HideMarkHdl();
- pObj->SetLogicRect(aRect);
- if ( nAspect != embed::Aspects::MSOLE_ICON )
+ if (bCreateNew)
{
- Size aTmp = OutputDevice::LogicToLogic( aRect.GetSize(), MAP_100TH_MM, aMapUnit );
- awt::Size aSz( aTmp.Width(), aTmp.Height() );
- xObj->setVisualAreaSize( nAspect, aSz );
+ //HMHmpView->HideMarkHdl();
+ pObj->SetLogicRect(aRect);
+
+ if ( nAspect != embed::Aspects::MSOLE_ICON )
+ {
+ Size aTmp = OutputDevice::LogicToLogic( aRect.GetSize(), MAP_100TH_MM, aMapUnit );
+ awt::Size aSz( aTmp.Width(), aTmp.Height() );
+ xObj->setVisualAreaSize( nAspect, aSz );
+ }
+
+ mpViewShell->ActivateObject(pObj, SVVERB_SHOW);
}
- mpViewShell->ActivateObject(pObj, SVVERB_SHOW);
+ Size aVisSizePixel = mpWindow->GetOutputSizePixel();
+ Rectangle aVisAreaWin = mpWindow->PixelToLogic( Rectangle( Point(0,0), aVisSizePixel) );
+ mpViewShell->VisAreaChanged(aVisAreaWin);
+ mpDocSh->SetVisArea(aVisAreaWin);
}
-
- Size aVisSizePixel = mpWindow->GetOutputSizePixel();
- Rectangle aVisAreaWin = mpWindow->PixelToLogic( Rectangle( Point(0,0), aVisSizePixel) );
- mpViewShell->VisAreaChanged(aVisAreaWin);
- mpDocSh->SetVisArea(aVisAreaWin);
}
}
}
+ catch (uno::Exception&)
+ {
+ // For some reason the object can not be inserted. For example
+ // because it is password protected and is not properly unlocked.
+ }
}
}
diff --git a/sd/source/ui/func/futext.cxx b/sd/source/ui/func/futext.cxx
index 651f61620e45..a6c7c6f073ae 100644
--- a/sd/source/ui/func/futext.cxx
+++ b/sd/source/ui/func/futext.cxx
@@ -732,7 +732,7 @@ BOOL FuText::MouseButtonUp(const MouseEvent& rMEvt)
pPara = GetTextObj()->GetOutlinerParaObject();
}
- if(pPara && bVertical != pPara->IsVertical())
+ if(pPara && (bool)bVertical != pPara->IsVertical())
{
// set ParaObject orientation accordingly
pPara->SetVertical(bVertical);
diff --git a/sd/source/ui/inc/OutlinerIteratorImpl.hxx b/sd/source/ui/inc/OutlinerIteratorImpl.hxx
index 2f929e2fccb7..f489fffd9ed3 100644
--- a/sd/source/ui/inc/OutlinerIteratorImpl.hxx
+++ b/sd/source/ui/inc/OutlinerIteratorImpl.hxx
@@ -33,6 +33,7 @@
#include <svx/svdobj.hxx>
#include "OutlinerIterator.hxx"
+#include <boost/weak_ptr.hpp>
class SdDrawDocument;
class SdPage;
@@ -40,7 +41,7 @@ class SdrObjListIter;
namespace sd {
-class DrawViewShell;
+class ViewShell;
namespace outliner {
@@ -58,15 +59,17 @@ public:
classes.
@param pDocument
The document provides the information to be iterated on.
- @param pViewShell
+ @param pViewShellWeak
Some information has to be taken from the view shell.
@param bDirectionIsForward
This flag defines the iteration direction. When <TRUE/> then
the direction is forwards otherwise it is backwards.
*/
- IteratorImplBase (SdDrawDocument* pDocument, DrawViewShell* pViewShell,
+ IteratorImplBase (SdDrawDocument* pDocument,
+ const ::boost::weak_ptr<ViewShell>& rpViewShellWeak,
bool bDirectionIsForward);
- IteratorImplBase (SdDrawDocument* pDocument, DrawViewShell* pViewShell,
+ IteratorImplBase (SdDrawDocument* pDocument,
+ const ::boost::weak_ptr<ViewShell>& rpViewShellWeak,
bool bDirectionIsForward, PageKind ePageKind, EditMode eEditMode);
virtual ~IteratorImplBase (void);
@@ -123,7 +126,7 @@ protected:
/// The document on whose data the iterator operates.
SdDrawDocument* mpDocument;
/// Necessary secondary source of information.
- DrawViewShell* mpViewShell;
+ ::boost::weak_ptr<ViewShell> mpViewShellWeak;
/// Specifies the search direction.
bool mbDirectionIsForward;
};
@@ -148,7 +151,7 @@ public:
const ::std::vector< SdrObjectWeakRef >& rObjectList,
sal_Int32 nObjectIndex,
SdDrawDocument* pDocument,
- DrawViewShell* pViewShell,
+ const ::boost::weak_ptr<ViewShell>& rpViewShellWeak,
bool bDirectionIsForward);
SelectionIteratorImpl (const SelectionIteratorImpl& rObject);
virtual ~SelectionIteratorImpl (void);
@@ -191,12 +194,12 @@ public:
ViewIteratorImpl (
sal_Int32 nPageIndex,
SdDrawDocument* pDocument,
- DrawViewShell* pViewShell,
+ const ::boost::weak_ptr<ViewShell>& rpViewShellWeak,
bool bDirectionIsForward);
ViewIteratorImpl (
sal_Int32 nPageIndex,
SdDrawDocument* pDocument,
- DrawViewShell* pViewShell,
+ const ::boost::weak_ptr<ViewShell>& rpViewShellWeak,
bool bDirectionIsForward,
PageKind ePageKind,
EditMode eEditMode);
@@ -252,7 +255,7 @@ public:
PageKind ePageKind,
EditMode eEditMode,
SdDrawDocument* pDocument,
- DrawViewShell* pViewShell,
+ const ::boost::weak_ptr<ViewShell>& rpViewShellWeak,
bool bDirectionIsForward);
virtual ~DocumentIteratorImpl (void);
diff --git a/sd/source/ui/inc/framework/ConfigurationController.hxx b/sd/source/ui/inc/framework/ConfigurationController.hxx
index 8741909acdeb..12a19d9d40be 100644
--- a/sd/source/ui/inc/framework/ConfigurationController.hxx
+++ b/sd/source/ui/inc/framework/ConfigurationController.hxx
@@ -92,6 +92,16 @@ public:
void ProcessEvent (void);
+ /** Normally the requested changes of the configuration are executed
+ asynchronously. However, there is at least one situation (searching
+ with the Outliner) where the surrounding code does not cope with
+ this. So, instead of calling Reschedule until the global event loop
+ executes the configuration update, this method does (almost) the
+ same without the reschedules.
+
+ Do not use this method until there is absolutely no other way.
+ */
+ void RequestSynchronousUpdate (void);
// XConfigurationController
diff --git a/sd/source/ui/inc/framework/FrameworkHelper.hxx b/sd/source/ui/inc/framework/FrameworkHelper.hxx
index 74804f2a0870..27ed5f6f8bef 100644
--- a/sd/source/ui/inc/framework/FrameworkHelper.hxx
+++ b/sd/source/ui/inc/framework/FrameworkHelper.hxx
@@ -215,8 +215,12 @@ public:
The resource URL of the view to show.
@param rsAnchorURL
The URL of the pane in which to show the view.
+ @return
+ The resource id of the requested view is returned. With that
+ the caller can, for example, call RunOnResourceActivation() to
+ do some initialization after the requested view becomes active.
*/
- void RequestView (
+ css::uno::Reference<css::drawing::framework::XResourceId> RequestView (
const ::rtl::OUString& rsResourceURL,
const ::rtl::OUString& rsAnchorURL);
@@ -257,6 +261,17 @@ public:
const css::uno::Reference<css::drawing::framework::XResourceId>& rxResourceId,
const Callback& rCallback);
+ /** Normally the requested changes of the configuration are executed
+ asynchronously. However, there is at least one situation (searching
+ with the Outliner) where the surrounding code does not cope with
+ this. So, instead of calling Reschedule until the global event loop
+ executes the configuration update, this method does (almost) the
+ same without the reschedules.
+
+ Do not use this method until there is absolutely no other way.
+ */
+ void RequestSynchronousUpdate (void);
+
/** Block until the specified event is notified by the configuration
controller. When the configuration controller is not processing any
requests the method returns immediately.
diff --git a/sd/source/ui/presenter/PresenterTextView.cxx b/sd/source/ui/presenter/PresenterTextView.cxx
index d3e075091971..86864169a607 100644
--- a/sd/source/ui/presenter/PresenterTextView.cxx
+++ b/sd/source/ui/presenter/PresenterTextView.cxx
@@ -336,7 +336,7 @@ PresenterTextView::Implementation::Implementation (void)
PresenterTextView::Implementation::~Implementation (void)
{
delete mpEditEngine;
- delete mpEditEngineItemPool;
+ SfxItemPool::Free(mpEditEngineItemPool);
delete mpOutputDevice;
}
diff --git a/sd/source/ui/slideshow/slideshowimpl.cxx b/sd/source/ui/slideshow/slideshowimpl.cxx
index f5440274c232..2b309333d006 100644
--- a/sd/source/ui/slideshow/slideshowimpl.cxx
+++ b/sd/source/ui/slideshow/slideshowimpl.cxx
@@ -7,7 +7,7 @@
* OpenOffice.org - a multi-platform office productivity suite
*
* $RCSfile: slideshowimpl.cxx,v $
- * $Revision: 1.57 $
+ * $Revision: 1.57.10.1 $
*
* This file is part of OpenOffice.org.
*
@@ -40,9 +40,11 @@
#include <com/sun/star/container/XNameReplace.hpp>
#include <com/sun/star/beans/PropertyValue.hpp>
#include <com/sun/star/beans/XPropertySetInfo.hpp>
+#include <com/sun/star/beans/XPropertySet.hpp>
#include <com/sun/star/awt/SystemPointer.hpp>
#include <com/sun/star/util/XURLTransformer.hpp>
#include <com/sun/star/frame/XDispatch.hpp>
+#include <com/sun/star/frame/XLayoutManager.hpp>
#include <vos/process.hxx>
#include <svtools/aeitem.hxx>
#include <svtools/urihelper.hxx>
@@ -107,7 +109,6 @@ using ::com::sun::star::animations::XAnimationNode;
using ::com::sun::star::animations::XAnimationListener;
using ::com::sun::star::awt::XWindow;
using namespace ::com::sun::star;
-using namespace ::com::sun::star;
using namespace ::com::sun::star::lang;
using namespace ::com::sun::star::uno;
using namespace ::com::sun::star::drawing;
@@ -132,6 +133,7 @@ static USHORT __READONLY_DATA pAllowed[] =
SID_JUMPTOMARK , // 5598
// SID_SHOWPOPUPS , // 5929
// SID_GALLERY , // 5960
+ SID_OPENHYPERLINK , // 6676
// SID_GALLERY_FORMATS , // 10280
SID_NAVIGATOR , // 10366
// SID_FM_DESIGN_MODE , // 10629
@@ -768,6 +770,8 @@ void SAL_CALL SlideshowImpl::disposing()
mpShowWindow = 0;
}
+ setActiveXToolbarsVisible( sal_True );
+
mbDisposed = true;
}
@@ -1138,7 +1142,10 @@ bool SlideshowImpl::startShow( PresentationSettingsEx* pPresSettings )
bRet = startShowImpl( Sequence<beans::PropertyValue>(
&aProperties[0], aProperties.size() ) );
+
}
+
+ setActiveXToolbarsVisible( sal_False );
}
catch( Exception& e )
{
@@ -1889,7 +1896,12 @@ IMPL_LINK( SlideshowImpl, updateHdl, Timer*, EMPTYARG )
else
*/
{
- const float MIN_UPDATE = 0.05f; // do not wait less than 50 ms
+ // Avoid busy loop when the previous call to update()
+ // returns 0. The minimum value is small enough to allow
+ // high frame rates. Values larger than 0 are typically
+ // also larger then the small minimum value and thus are
+ // used to determine the frame rate.
+ const float MIN_UPDATE = 0.01f; // 10ms corresponds to 100 frames per second.
if( fUpdate < MIN_UPDATE )
fUpdate = MIN_UPDATE;
else
@@ -2565,6 +2577,40 @@ void SlideshowImpl::resize( const Size& rSize )
// -----------------------------------------------------------------------------
+void SlideshowImpl::setActiveXToolbarsVisible( sal_Bool bVisible )
+{
+ // in case of ActiveX control the toolbars should not be visible if slide show runs in window mode
+ // actually it runs always in window mode in case of ActiveX control
+ if ( !maPresSettings.mbFullScreen && mpDocSh && mpDocSh->GetMedium() )
+ {
+ SFX_ITEMSET_ARG( mpDocSh->GetMedium()->GetItemSet(), pItem, SfxBoolItem, SID_VIEWONLY, sal_False );
+ if ( pItem && pItem->GetValue() )
+ {
+ // this is a plugin/activex mode, no toolbars should be visible during slide show
+ // after the end of slide show they should be visible again
+ SfxViewFrame* pViewFrame = getViewFrame();
+ if( pViewFrame && pViewFrame->GetFrame() && pViewFrame->GetFrame()->GetTopFrame() )
+ {
+ try
+ {
+ Reference< frame::XLayoutManager > xLayoutManager;
+ Reference< beans::XPropertySet > xFrameProps( pViewFrame->GetFrame()->GetTopFrame()->GetFrameInterface(), UNO_QUERY_THROW );
+ if ( ( xFrameProps->getPropertyValue( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "LayoutManager" ) ) )
+ >>= xLayoutManager )
+ && xLayoutManager.is() )
+ {
+ xLayoutManager->setVisible( bVisible );
+ }
+ }
+ catch( uno::Exception& )
+ {}
+ }
+ }
+ }
+}
+
+// -----------------------------------------------------------------------------
+
void SAL_CALL SlideshowImpl::activate() throw (RuntimeException)
{
::vos::OGuard aSolarGuard( Application::GetSolarMutex() );
diff --git a/sd/source/ui/slideshow/slideshowimpl.hxx b/sd/source/ui/slideshow/slideshowimpl.hxx
index b2cf2329d889..8ec21638addb 100644
--- a/sd/source/ui/slideshow/slideshowimpl.hxx
+++ b/sd/source/ui/slideshow/slideshowimpl.hxx
@@ -295,6 +295,8 @@ private:
void resize( const Size& rSize );
+ void setActiveXToolbarsVisible( sal_Bool bVisible );
+
DECL_LINK( updateHdl, Timer* );
DECL_LINK( ReadyForNextInputHdl, Timer* );
DECL_LINK( endPresentationHdl, void* );
diff --git a/sd/source/ui/slideshow/slideshowviewimpl.cxx b/sd/source/ui/slideshow/slideshowviewimpl.cxx
index 9b279fa64bf9..f4de77f03394 100644
--- a/sd/source/ui/slideshow/slideshowviewimpl.cxx
+++ b/sd/source/ui/slideshow/slideshowviewimpl.cxx
@@ -487,6 +487,18 @@ void SAL_CALL SlideShowView::setMouseCursor( sal_Int16 nPointerShape ) throw (Ru
mxWindowPeer->setPointer( mxPointer );
}
+awt::Rectangle SAL_CALL SlideShowView::getCanvasArea( ) throw (RuntimeException)
+{
+ awt::Rectangle aRectangle;
+
+ if( mxWindow.is() )
+ return mxWindow->getPosSize();
+
+ aRectangle.X = aRectangle.Y = aRectangle.Width = aRectangle.Height = 0;
+
+ return aRectangle;
+}
+
void SlideShowView::updateimpl( ::osl::ClearableMutexGuard& rGuard, SlideshowImpl* pSlideShow )
{
if( pSlideShow )
diff --git a/sd/source/ui/slideshow/slideshowviewimpl.hxx b/sd/source/ui/slideshow/slideshowviewimpl.hxx
index 2073faaa045d..8eebe162b942 100644
--- a/sd/source/ui/slideshow/slideshowviewimpl.hxx
+++ b/sd/source/ui/slideshow/slideshowviewimpl.hxx
@@ -236,6 +236,7 @@ public:
virtual void SAL_CALL addMouseMotionListener( const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XMouseMotionListener >& xListener ) throw (::com::sun::star::uno::RuntimeException);
virtual void SAL_CALL removeMouseMotionListener( const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XMouseMotionListener >& xListener ) throw (::com::sun::star::uno::RuntimeException);
virtual void SAL_CALL setMouseCursor( sal_Int16 nPointerShape ) throw (::com::sun::star::uno::RuntimeException);
+ virtual ::com::sun::star::awt::Rectangle SAL_CALL getCanvasArea( ) throw (::com::sun::star::uno::RuntimeException);
// XWindowListener methods
virtual void SAL_CALL windowResized( const ::com::sun::star::awt::WindowEvent& e ) throw (::com::sun::star::uno::RuntimeException);
diff --git a/sd/source/ui/slidesorter/cache/SlsQueueProcessor.cxx b/sd/source/ui/slidesorter/cache/SlsQueueProcessor.cxx
index e45085578aee..f634d437ba4b 100644
--- a/sd/source/ui/slidesorter/cache/SlsQueueProcessor.cxx
+++ b/sd/source/ui/slidesorter/cache/SlsQueueProcessor.cxx
@@ -212,46 +212,38 @@ void QueueProcessor::ProcessOneRequest (
CacheKey aKey,
const RequestPriorityClass ePriorityClass)
{
- const SdrPage* pPage = mpCacheContext->GetPage(aKey);
- SSCD_SET_STATUS(pPage,RENDERING);
-
-#ifdef VERBOSE
- OSL_TRACE ("processing request for page %d with priority class %d",
- (pPage->GetPageNum()-1)/2,
- ePriorityClass);
-#endif
try
{
::osl::MutexGuard aGuard (maMutex);
+
// Create a new preview bitmap and store it in the cache.
- if (mpCache.get() != NULL)
+ if (mpCache.get() != NULL
+ && mpCacheContext.get() != NULL)
{
- const SdPage* pSdPage = dynamic_cast<const SdPage*>(pPage);
+ const SdPage* pSdPage = dynamic_cast<const SdPage*>(mpCacheContext->GetPage(aKey));
if (pSdPage != NULL)
{
const ::boost::shared_ptr<BitmapEx> pPreview (
maBitmapFactory.CreateBitmap(*pSdPage, maPreviewSize));
mpCache->SetBitmap (
- pPage,
+ pSdPage,
pPreview,
ePriorityClass!=NOT_VISIBLE);
// Initiate a repaint of the new preview.
mpCacheContext->NotifyPreviewCreation(aKey, pPreview);
-
- SSCD_SET_STATUS(pPage,NONE);
}
}
}
catch (::com::sun::star::uno::RuntimeException aException)
{
- OSL_ASSERT("RuntimeException caught in QueueProcessor");
(void) aException;
+ OSL_ASSERT("RuntimeException caught in QueueProcessor");
}
catch (::com::sun::star::uno::Exception aException)
{
- OSL_ASSERT("Exception caught in QueueProcessor");
(void) aException;
+ OSL_ASSERT("Exception caught in QueueProcessor");
}
}
diff --git a/sd/source/ui/slidesorter/cache/SlsQueueProcessor.hxx b/sd/source/ui/slidesorter/cache/SlsQueueProcessor.hxx
index aff04da13772..f7f8a36190cd 100644
--- a/sd/source/ui/slidesorter/cache/SlsQueueProcessor.hxx
+++ b/sd/source/ui/slidesorter/cache/SlsQueueProcessor.hxx
@@ -39,7 +39,6 @@
#include "view/SlsPageObjectViewObjectContact.hxx"
#include "tools/IdleDetection.hxx"
#include "SlsBitmapCache.hxx"
-#include "taskpane/SlideSorterCacheDisplay.hxx"
#include "sdpage.hxx"
#include "Window.hxx"
@@ -49,11 +48,6 @@
#include <boost/function.hpp>
-// Uncomment the define below to have some more OSL_TRACE messages.
-#ifdef DEBUG
-//#define VERBOSE
-#endif
-
namespace sd { namespace slidesorter { namespace view {
class SlideSorterView;
} } }
diff --git a/sd/source/ui/slidesorter/controller/SlideSorterController.cxx b/sd/source/ui/slidesorter/controller/SlideSorterController.cxx
index 8ebc2725a19f..43c568b375d4 100644
--- a/sd/source/ui/slidesorter/controller/SlideSorterController.cxx
+++ b/sd/source/ui/slidesorter/controller/SlideSorterController.cxx
@@ -118,8 +118,9 @@ SlideSorterController::SlideSorterController (SlideSorter& rSlideSorter)
mpSelectionManager(),
mpAnimator(new Animator(rSlideSorter)),
mpListener(),
- mnModelChangeLockCount (0),
- mbPostModelChangePending (false),
+ mnModelChangeLockCount(0),
+ mbPreModelChangeDone(false),
+ mbPostModelChangePending(false),
maSelectionBeforeSwitch(),
mnCurrentPageBeforeSwitch(0),
mpEditModeChangeMasterPage(NULL),
@@ -439,7 +440,11 @@ bool SlideSorterController::Command (
{
mbIsContextMenuOpen = true;
if (pViewShell != NULL)
- pViewShell->GetDispatcher()->ExecutePopup(SdResId(nPopupId));
+ {
+ SfxDispatcher* pDispatcher = pViewShell->GetDispatcher();
+ if (pDispatcher != NULL)
+ pDispatcher->ExecutePopup(SdResId(nPopupId));
+ }
}
else
{
@@ -515,6 +520,11 @@ void SlideSorterController::UnlockModelChange (void)
void SlideSorterController::PreModelChange (void)
{
+ // Prevent PreModelChange to execute more than once per model lock.
+ if (mbPostModelChangePending)
+ return;
+ mbPreModelChangeDone = true;
+
if (mrSlideSorter.GetViewShell() != NULL)
mrSlideSorter.GetViewShell()->Broadcast(
ViewShellHint(ViewShellHint::HINT_COMPLEX_MODEL_CHANGE_START));
@@ -532,10 +542,10 @@ void SlideSorterController::PreModelChange (void)
-void SlideSorterController::PostModelChange (const bool bSkipModelResync)
+void SlideSorterController::PostModelChange (void)
{
- if ( ! bSkipModelResync)
- mrModel.Resync();
+ mbPostModelChangePending = false;
+ mrModel.Resync();
::sd::Window* pWindow = mrSlideSorter.GetActiveWindow();
if (pWindow != NULL)
@@ -555,7 +565,6 @@ void SlideSorterController::PostModelChange (const bool bSkipModelResync)
mpPageSelector->HandleModelChange ();
- mbPostModelChangePending = false;
if (mrSlideSorter.GetViewShell() != NULL)
mrSlideSorter.GetViewShell()->Broadcast(
ViewShellHint(ViewShellHint::HINT_COMPLEX_MODEL_CHANGE_END));
@@ -570,22 +579,10 @@ void SlideSorterController::HandleModelChange (void)
// not the same number of regular and notes pages.
bool bIsDocumentValid = (mrModel.GetDocument()->GetPageCount() % 2 == 1);
-
if (bIsDocumentValid)
{
- if (mnModelChangeLockCount == 0)
- {
- PreModelChange();
- PostModelChange();
- }
- else
- // Call PreModelChange when not already done.
- if ( ! mbPostModelChangePending)
- {
- PreModelChange();
- // The PostModelChange() call will be made when the model change
- // is unlocked again.
- }
+ ModelChangeLock aLock (*this);
+ PreModelChange();
}
}
@@ -902,13 +899,12 @@ void SlideSorterController::PrepareEditModeChange (void)
bool SlideSorterController::ChangeEditMode (EditMode eEditMode)
{
- ModelChangeLock aLock (*this);
-
bool bResult (false);
if (mrModel.GetEditMode() != eEditMode)
{
- // Do the actual edit mode switching.
+ ModelChangeLock aLock (*this);
PreModelChange();
+ // Do the actual edit mode switching.
bResult = mrModel.SetEditMode(eEditMode);
if (bResult)
HandleModelChange();
@@ -1030,10 +1026,11 @@ void SlideSorterController::SetDocumentSlides (const Reference<container::XIndex
{
if (mrModel.GetDocumentSlides() != rxSlides)
{
+ ModelChangeLock aLock (*this);
PreModelChange();
+
mrModel.SetDocumentSlides(rxSlides);
mrView.Layout();
- PostModelChange(false);
}
}
diff --git a/sd/source/ui/slidesorter/controller/SlsListener.cxx b/sd/source/ui/slidesorter/controller/SlsListener.cxx
index fc4f14039538..9c51643b2b49 100644
--- a/sd/source/ui/slidesorter/controller/SlsListener.cxx
+++ b/sd/source/ui/slidesorter/controller/SlsListener.cxx
@@ -72,7 +72,10 @@ Listener::Listener (
mbListeningToUNODocument (false),
mbListeningToController (false),
mbListeningToFrame (false),
- mbIsMainViewChangePending(false)
+ mbIsMainViewChangePending(false),
+ mxControllerWeak(),
+ mxFrameWeak(),
+ mpModelChangeLock()
{
StartListening (*mrSlideSorter.GetModel().GetDocument());
mbListeningToDocument = true;
@@ -328,13 +331,13 @@ void Listener::Notify (
case ViewShellHint::HINT_PAGE_RESIZE_START:
// Initiate a model change but do nothing (well, not much)
// until we are told that all slides have been resized.
- mrController.LockModelChange();
+ mpModelChangeLock.reset(new SlideSorterController::ModelChangeLock(mrController));
mrController.HandleModelChange();
break;
case ViewShellHint::HINT_PAGE_RESIZE_END:
// All slides have been resized. The model has to be updated.
- mrController.UnlockModelChange();
+ mpModelChangeLock.reset();
break;
case ViewShellHint::HINT_CHANGE_EDIT_MODE_START:
@@ -346,11 +349,11 @@ void Listener::Notify (
break;
case ViewShellHint::HINT_COMPLEX_MODEL_CHANGE_START:
- mrController.LockModelChange();
+ mpModelChangeLock.reset(new SlideSorterController::ModelChangeLock(mrController));
break;
case ViewShellHint::HINT_COMPLEX_MODEL_CHANGE_END:
- mrController.UnlockModelChange();
+ mpModelChangeLock.reset();
break;
}
}
diff --git a/sd/source/ui/slidesorter/controller/SlsListener.hxx b/sd/source/ui/slidesorter/controller/SlsListener.hxx
index 401e71013b6a..f91c7337713a 100644
--- a/sd/source/ui/slidesorter/controller/SlsListener.hxx
+++ b/sd/source/ui/slidesorter/controller/SlsListener.hxx
@@ -32,6 +32,7 @@
#define SD_SLIDESORTER_SLIDE_SORTER_LISTENER_HXX
#include "MutexOwner.hxx"
+#include "controller/SlideSorterController.hxx"
#include <com/sun/star/document/XEventListener.hpp>
#ifndef _COM_SUN_STAR_DOCUMENT_XPROPERTYCHANGELISTENER_HPP_
#include <com/sun/star/beans/XPropertyChangeListener.hpp>
@@ -44,6 +45,7 @@
#include <svtools/lstner.hxx>
#include <tools/link.hxx>
+#include <boost/shared_ptr.hpp>
namespace sd {
class ViewShellBase;
@@ -160,6 +162,11 @@ private:
::com::sun::star::uno::WeakReference< ::com::sun::star::frame::XController> mxControllerWeak;
::com::sun::star::uno::WeakReference< ::com::sun::star::frame::XFrame> mxFrameWeak;
+ /** This object is used to lock the model between some
+ events. It is refernce counted in order to cope with events that
+ are expected but never sent.
+ */
+ ::boost::shared_ptr<SlideSorterController::ModelChangeLock> mpModelChangeLock;
void ReleaseListeners (void);
diff --git a/sd/source/ui/slidesorter/inc/controller/SlideSorterController.hxx b/sd/source/ui/slidesorter/inc/controller/SlideSorterController.hxx
index 4f72e5d12457..06dc252f7b96 100644
--- a/sd/source/ui/slidesorter/inc/controller/SlideSorterController.hxx
+++ b/sd/source/ui/slidesorter/inc/controller/SlideSorterController.hxx
@@ -161,20 +161,6 @@ public:
void GetAttrState (SfxItemSet& rSet);
void ExecStatusBar (SfxRequest& rRequest);
- /** Prepare for several model changes, i.e. prevent time-consuming and
- non-critical operations like repaints until UnlockModelChange() is
- called. Ciritcal operations like releasing references to pages that
- do not exist anymore are executed.
- */
- void LockModelChange (void);
-
- /** Further calls to HandleModelChange() will result in a full featured
- update of model, view, and controller. When HandleModelChange() has
- been called since the last LockModelChange() then this is done right
- away to bring the view up-to-date.
- */
- void UnlockModelChange (void);
-
bool IsLocked (void) const;
/** Create an object of this inner class to prevent updates due to model
@@ -188,21 +174,8 @@ public:
private:
SlideSorterController* mpController;
};
+ friend class ModelChangeLock;
- /** Prepare for a model change. This method does all the things that
- need to be done _before_ the model changes, e.g. because they need
- access to the model data before the change.
- */
- void PreModelChange (void);
-
- /** Complete a model change. This includes the recreation of data
- structures that depend on the model and the request for a repaint to
- show the changes.
- @param bSkipModelResync
- When the SlideSorterModel::Resync() call is not necessary,
- because already made, then pass <TRUE/> here.
- */
- void PostModelChange (const bool bSkipModelResync = false);
/** Handle a change of the model, that is, handle the removal and
insertion of whole pages or a change of the edit mode.
@@ -301,9 +274,7 @@ private:
int mnModelChangeLockCount;
- /** In this flag we remember whether a call to PreModelChange() has been
- made and one to PostModelChange() is pending.
- */
+ bool mbPreModelChangeDone;
bool mbPostModelChangePending;
::std::vector<Link> maSelectionChangeListeners;
@@ -354,6 +325,32 @@ private:
A list of master pages. Supplying normal pages is an error.
*/
void DeleteSelectedMasterPages (const ::std::vector<SdPage*>& rSelectedMasterPages);
+
+ /** Prepare for several model changes, i.e. prevent time-consuming and
+ non-critical operations like repaints until UnlockModelChange() is
+ called. Ciritcal operations like releasing references to pages that
+ do not exist anymore are executed.
+ */
+ void LockModelChange (void);
+
+ /** Further calls to HandleModelChange() will result in a full featured
+ update of model, view, and controller. When HandleModelChange() has
+ been called since the last LockModelChange() then this is done right
+ away to bring the view up-to-date.
+ */
+ void UnlockModelChange (void);
+
+ /** Prepare for a model change. This method does all the things that
+ need to be done _before_ the model changes, e.g. because they need
+ access to the model data before the change.
+ */
+ void PreModelChange (void);
+
+ /** Complete a model change. This includes the recreation of data
+ structures that depend on the model and the request for a repaint to
+ show the changes.
+ */
+ void PostModelChange (void);
};
} } } // end of namespace ::sd::slidesorter::controller
diff --git a/sd/source/ui/slidesorter/model/SlideSorterModel.cxx b/sd/source/ui/slidesorter/model/SlideSorterModel.cxx
index cce263a19cca..4f21e48cce93 100644
--- a/sd/source/ui/slidesorter/model/SlideSorterModel.cxx
+++ b/sd/source/ui/slidesorter/model/SlideSorterModel.cxx
@@ -112,8 +112,8 @@ bool SlideSorterModel::SetEditMode (EditMode eEditMode)
if (meEditMode != eEditMode)
{
meEditMode = eEditMode;
- ClearDescriptorList();
UpdatePageList();
+ ClearDescriptorList();
bEditModeChanged = true;
}
return bEditModeChanged;
diff --git a/sd/source/ui/slidesorter/view/SlsViewCacheContext.cxx b/sd/source/ui/slidesorter/view/SlsViewCacheContext.cxx
index a2f93f64b912..b2f4f5874a56 100644
--- a/sd/source/ui/slidesorter/view/SlsViewCacheContext.cxx
+++ b/sd/source/ui/slidesorter/view/SlsViewCacheContext.cxx
@@ -78,11 +78,12 @@ void ViewCacheContext::NotifyPreviewCreation (
const model::SharedPageDescriptor pDescriptor (GetDescriptor(aKey));
if (pDescriptor.get() != NULL)
{
- // use direct view-invalidate here and no ActionChanged() at the VC
- // ince the VC is a PageObjectViewObjectContact and in it's ActionChanged()
- // implementation invalidates the cache entry again
- pDescriptor->GetViewObjectContact()->GetObjectContact().InvalidatePartOfView(
- pDescriptor->GetViewObjectContact()->getObjectRange());
+ // Use direct view-invalidate here and no ActionChanged() at the VC
+ // since the VC is a PageObjectViewObjectContact and in its ActionChanged()
+ // implementation invalidates the cache entry again.
+ view::PageObjectViewObjectContact* pContact = pDescriptor->GetViewObjectContact();
+ if (pContact != NULL)
+ pContact->GetObjectContact().InvalidatePartOfView(pContact->getObjectRange());
}
else
{
diff --git a/sd/source/ui/unoidl/DrawController.cxx b/sd/source/ui/unoidl/DrawController.cxx
index 7a4af551f6d1..77dbc1fa4b22 100644
--- a/sd/source/ui/unoidl/DrawController.cxx
+++ b/sd/source/ui/unoidl/DrawController.cxx
@@ -411,7 +411,7 @@ Reference< drawing::XDrawPage > SAL_CALL DrawController::getCurrentPage (void)
// When there is not yet a sub controller (during initialization) then fall back
// to the current page in mpCurrentPage.
- if ( ! xPage.is() && mpCurrentPage != NULL)
+ if ( ! xPage.is() && mpCurrentPage.is())
xPage = Reference<drawing::XDrawPage>(mpCurrentPage->getUnoPage(), UNO_QUERY);
return xPage;
diff --git a/sd/source/ui/view/Outliner.cxx b/sd/source/ui/view/Outliner.cxx
index b044d1552e9f..3f295e10b529 100644
--- a/sd/source/ui/view/Outliner.cxx
+++ b/sd/source/ui/view/Outliner.cxx
@@ -114,7 +114,7 @@ public:
*/
void ProvideOutlinerView (
Outliner& rOutliner,
- ViewShell* pViewShell,
+ const ::boost::shared_ptr<ViewShell>& rpViewShell,
::Window* pWindow);
/** This method is called when the OutlinerView is no longer used.
@@ -150,7 +150,7 @@ Outliner::Outliner( SdDrawDocument* pDoc, USHORT nMode )
mpImpl(new Implementation()),
meMode(SEARCH),
mpView(NULL),
- mpViewShell(NULL),
+ mpViewShell(),
mpWindow(NULL),
mpDrawDocument(pDoc),
mnConversionLanguage(LANGUAGE_NONE),
@@ -285,10 +285,10 @@ void Outliner::PrepareSpelling (void)
ViewShellBase* pBase = PTR_CAST(ViewShellBase,SfxViewShell::Current());
if (pBase != NULL)
- SetViewShell (pBase->GetMainViewShell().get());
+ SetViewShell (pBase->GetMainViewShell());
SetRefDevice( SD_MOD()->GetRefDevice( *mpDrawDocument->GetDocSh() ) );
- if (mpViewShell != NULL)
+ if (mpViewShell.get() != NULL)
{
mbStringFound = FALSE;
@@ -336,13 +336,13 @@ void Outliner::EndSpelling (void)
{
ViewShellBase* pBase = PTR_CAST(ViewShellBase,SfxViewShell::Current());
if (pBase != NULL)
- mpViewShell = pBase->GetMainViewShell().get();
+ mpViewShell = pBase->GetMainViewShell();
else
- mpViewShell = NULL;
+ mpViewShell.reset();
// When in <member>PrepareSpelling()</member> a new outline view has
// been created then delete it here.
- sal_Bool bViewIsDrawViewShell(mpViewShell!=NULL
+ sal_Bool bViewIsDrawViewShell(mpViewShell.get()!=NULL
&& mpViewShell->ISA(DrawViewShell));
if (bViewIsDrawViewShell)
{
@@ -386,12 +386,14 @@ void Outliner::EndSpelling (void)
RestoreStartPosition ();
}
- mpViewShell = NULL;
+ mpViewShell.reset();
mpView = NULL;
mpWindow = NULL;
}
+
+
BOOL Outliner::SpellNextDocument (void)
{
if (mpViewShell->ISA(OutlineViewShell))
@@ -509,9 +511,9 @@ bool Outliner::StartSearchAndReplace (const SvxSearchItem* pSearchItem)
bool bAbort = false;
if (pBase != NULL)
{
- ViewShell* pShell = pBase->GetMainViewShell().get();
- SetViewShell (pShell);
- if (pShell == NULL)
+ ::boost::shared_ptr<ViewShell> pShell (pBase->GetMainViewShell());
+ SetViewShell(pShell);
+ if (pShell.get() == NULL)
bAbort = true;
else
switch (pShell->GetShellType())
@@ -758,12 +760,11 @@ void Outliner::DetectChange (void)
{
::sd::outliner::IteratorPosition aPosition (maCurrentPosition);
- DrawViewShell* pDrawViewShell = NULL;
- if (mpViewShell->ISA(DrawViewShell))
- pDrawViewShell = static_cast<DrawViewShell*>(mpViewShell);
+ ::boost::shared_ptr<DrawViewShell> pDrawViewShell (
+ ::boost::dynamic_pointer_cast<DrawViewShell>(mpViewShell));
// Detect whether the view has been switched from the outside.
- if (pDrawViewShell != NULL
+ if (pDrawViewShell.get() != NULL
&& (aPosition.meEditMode != pDrawViewShell->GetEditMode()
|| aPosition.mePageKind != pDrawViewShell->GetPageKind()))
{
@@ -858,9 +859,9 @@ void Outliner::RememberStartPosition (void)
{
if (mpViewShell->ISA(DrawViewShell))
{
- DrawViewShell* pDrawViewShell =
- static_cast<DrawViewShell*>(mpViewShell);
- if (pDrawViewShell != NULL)
+ ::boost::shared_ptr<DrawViewShell> pDrawViewShell (
+ ::boost::dynamic_pointer_cast<DrawViewShell>(mpViewShell));
+ if (pDrawViewShell.get() != NULL)
{
meStartViewMode = pDrawViewShell->GetPageKind();
meStartEditMode = pDrawViewShell->GetEditMode();
@@ -917,10 +918,10 @@ void Outliner::RestoreStartPosition (void)
{
if (mpViewShell->ISA(DrawViewShell))
{
- DrawViewShell* pDrawViewShell =
- static_cast<DrawViewShell*>(mpViewShell);
+ ::boost::shared_ptr<DrawViewShell> pDrawViewShell (
+ ::boost::dynamic_pointer_cast<DrawViewShell>(mpViewShell));
SetViewMode (meStartViewMode);
- if (pDrawViewShell != NULL)
+ if (pDrawViewShell.get() != NULL)
SetPage (meStartEditMode, mnStartPageIndex);
@@ -1263,10 +1264,11 @@ void Outliner::PrepareSearchAndReplace (void)
void Outliner::SetViewMode (PageKind ePageKind)
{
- if (ePageKind != static_cast<DrawViewShell*>(mpViewShell)->GetPageKind())
+ ::boost::shared_ptr<DrawViewShell> pDrawViewShell(
+ ::boost::dynamic_pointer_cast<DrawViewShell>(mpViewShell));
+ if (pDrawViewShell.get()!=NULL && ePageKind != pDrawViewShell->GetPageKind())
{
// Restore old edit mode.
- DrawViewShell* pDrawViewShell = static_cast<DrawViewShell*>(mpViewShell);
pDrawViewShell->ChangeEditMode(mpImpl->meOriginalEditMode, FALSE);
SetStatusEventHdl(Link());
@@ -1290,13 +1292,17 @@ void Outliner::SetViewMode (PageKind ePageKind)
bool bMatchMayExist = mbMatchMayExist;
ViewShellBase& rBase = mpViewShell->GetViewShellBase();
- SetViewShell (NULL);
+ SetViewShell(::boost::shared_ptr<ViewShell>());
framework::FrameworkHelper::Instance(rBase)->RequestView(
sViewURL,
framework::FrameworkHelper::msCenterPaneURL);
- framework::FrameworkHelper::Instance(rBase)->WaitForEvent(
- framework::FrameworkHelper::msConfigurationUpdateEndEvent);
+ // Force (well, request) a synchronous update of the configuration.
+ // In a better world we would handle the asynchronous view update
+ // instead. But that would involve major restucturing of the
+ // Outliner code.
+ framework::FrameworkHelper::Instance(rBase)->RequestSynchronousUpdate();
+ SetViewShell(rBase.GetMainViewShell());
// Switching to another view shell has intermediatly called
// EndSpelling(). A PrepareSpelling() is pending, so call that now.
@@ -1312,8 +1318,10 @@ void Outliner::SetViewMode (PageKind ePageKind)
// Save edit mode so that it can be restored when switching the view
// shell again.
- pDrawViewShell = static_cast<DrawViewShell*>(mpViewShell);
- mpImpl->meOriginalEditMode = pDrawViewShell->GetEditMode();
+ pDrawViewShell = ::boost::dynamic_pointer_cast<DrawViewShell>(mpViewShell);
+ OSL_ASSERT(pDrawViewShell.get()!=NULL);
+ if (pDrawViewShell.get() != NULL)
+ mpImpl->meOriginalEditMode = pDrawViewShell->GetEditMode();
}
}
@@ -1324,9 +1332,14 @@ void Outliner::SetPage (EditMode eEditMode, USHORT nPageIndex)
{
if ( ! mbRestrictSearchToSelection)
{
- static_cast<DrawViewShell*>(mpViewShell)->ChangeEditMode(
- eEditMode, FALSE);
- static_cast<DrawViewShell*>(mpViewShell)->SwitchPage(nPageIndex);
+ ::boost::shared_ptr<DrawViewShell> pDrawViewShell(
+ ::boost::dynamic_pointer_cast<DrawViewShell>(mpViewShell));
+ OSL_ASSERT(pDrawViewShell.get()!=NULL);
+ if (pDrawViewShell.get() != NULL)
+ {
+ pDrawViewShell->ChangeEditMode(eEditMode, FALSE);
+ pDrawViewShell->SwitchPage(nPageIndex);
+ }
}
}
@@ -1500,20 +1513,18 @@ SdrObject* Outliner::SetObject (
-void Outliner::SetViewShell (ViewShell* pViewShell)
+void Outliner::SetViewShell (const ::boost::shared_ptr<ViewShell>& rpViewShell)
{
- OSL_TRACE("Outliner %p: SetViewShell to %p with outline view at %p",
- this, pViewShell, mpImpl->GetOutlinerView());
- if (mpViewShell != pViewShell)
+ if (mpViewShell != rpViewShell)
{
// Set the new view shell.
- mpViewShell = pViewShell;
+ mpViewShell = rpViewShell;
// When the outline view is not owned by us then we have to clear
// that pointer so that the current one for the new view shell will
// be used (in ProvideOutlinerView).
// if ( ! mbOwnOutlineView)
// mpOutlineView = NULL;
- if (mpViewShell != NULL)
+ if (mpViewShell.get() != NULL)
{
mpView = mpViewShell->GetView();
@@ -1625,7 +1636,7 @@ void Outliner::BeginConversion (void)
ViewShellBase* pBase = PTR_CAST(ViewShellBase, SfxViewShell::Current());
if (pBase != NULL)
- SetViewShell (pBase->GetMainViewShell().get());
+ SetViewShell (pBase->GetMainViewShell());
if (mpViewShell != NULL)
{
@@ -1781,12 +1792,12 @@ OutlinerView* Outliner::Implementation::GetOutlinerView ()
*/
void Outliner::Implementation::ProvideOutlinerView (
Outliner& rOutliner,
- ViewShell* pViewShell,
+ const ::boost::shared_ptr<ViewShell>& rpViewShell,
::Window* pWindow)
{
- if (pViewShell != NULL)
+ if (rpViewShell.get() != NULL)
{
- switch (pViewShell->GetShellType())
+ switch (rpViewShell->GetShellType())
{
case ViewShell::ST_DRAW:
case ViewShell::ST_IMPRESS:
@@ -1816,7 +1827,7 @@ void Outliner::Implementation::ProvideOutlinerView (
rOutliner.SetText( String(), rOutliner.GetParagraph( 0 ) );
meOriginalEditMode =
- static_cast<DrawViewShell*>(pViewShell)->GetEditMode();
+ ::boost::static_pointer_cast<DrawViewShell>(rpViewShell)->GetEditMode();
}
break;
diff --git a/sd/source/ui/view/OutlinerIterator.cxx b/sd/source/ui/view/OutlinerIterator.cxx
index b8b718f58a86..084d7735e99c 100644
--- a/sd/source/ui/view/OutlinerIterator.cxx
+++ b/sd/source/ui/view/OutlinerIterator.cxx
@@ -217,14 +217,14 @@ Iterator OutlinerContainer::CreateIterator (IteratorLocation aLocation)
return CreateSelectionIterator (
mpOutliner->maMarkListCopy,
mpOutliner->mpDrawDocument,
- static_cast<DrawViewShell*>(mpOutliner->mpViewShell),
+ mpOutliner->mpViewShell,
mpOutliner->mbDirectionIsForward,
aLocation);
else
// Search in the whole document.
return CreateDocumentIterator (
mpOutliner->mpDrawDocument,
- static_cast<DrawViewShell*>(mpOutliner->mpViewShell),
+ mpOutliner->mpViewShell,
mpOutliner->mbDirectionIsForward,
aLocation);
}
@@ -232,10 +232,12 @@ Iterator OutlinerContainer::CreateIterator (IteratorLocation aLocation)
Iterator OutlinerContainer::CreateSelectionIterator (
const ::std::vector<SdrObjectWeakRef>& rObjectList,
SdDrawDocument* pDocument,
- DrawViewShell* pViewShell,
+ const ::boost::shared_ptr<ViewShell>& rpViewShell,
bool bDirectionIsForward,
IteratorLocation aLocation)
{
+ OSL_ASSERT(rpViewShell.get());
+
sal_Int32 nObjectIndex;
if (bDirectionIsForward)
@@ -264,86 +266,111 @@ Iterator OutlinerContainer::CreateSelectionIterator (
}
return Iterator (new SelectionIteratorImpl (
- rObjectList, nObjectIndex, pDocument, pViewShell, bDirectionIsForward));
+ rObjectList, nObjectIndex, pDocument, rpViewShell, bDirectionIsForward));
}
Iterator OutlinerContainer::CreateViewIterator (
SdDrawDocument* pDocument,
- DrawViewShell* pViewShell,
+ const ::boost::shared_ptr<ViewShell>& rpViewShell,
bool bDirectionIsForward,
IteratorLocation aLocation)
{
- sal_Int32 nPageIndex = GetPageIndex (pDocument, pViewShell,
- pViewShell->GetPageKind(), pViewShell->GetEditMode(),
- bDirectionIsForward, aLocation);
+ OSL_ASSERT(rpViewShell.get());
+
+ const ::boost::shared_ptr<DrawViewShell> pDrawViewShell(
+ ::boost::dynamic_pointer_cast<DrawViewShell>(rpViewShell));
+ sal_Int32 nPageIndex = GetPageIndex (
+ pDocument,
+ rpViewShell,
+ pDrawViewShell.get() ? pDrawViewShell->GetPageKind() : PK_STANDARD,
+ pDrawViewShell.get() ? pDrawViewShell->GetEditMode() : EM_PAGE,
+ bDirectionIsForward,
+ aLocation);
return Iterator (new ViewIteratorImpl (
- nPageIndex, pDocument, pViewShell, bDirectionIsForward));
+ nPageIndex, pDocument, rpViewShell, bDirectionIsForward));
}
Iterator OutlinerContainer::CreateDocumentIterator (
SdDrawDocument* pDocument,
- DrawViewShell* pViewShell,
+ const ::boost::shared_ptr<ViewShell>& rpViewShell,
bool bDirectionIsForward,
IteratorLocation aLocation)
{
+ OSL_ASSERT(rpViewShell.get());
+
PageKind ePageKind;
EditMode eEditMode;
- if (bDirectionIsForward)
- switch (aLocation)
- {
- case BEGIN:
- default:
+ switch (aLocation)
+ {
+ case BEGIN:
+ default:
+ if (bDirectionIsForward)
+ {
ePageKind = PK_STANDARD;
eEditMode = EM_PAGE;
- break;
- case END:
+ }
+ else
+ {
ePageKind = PK_HANDOUT;
eEditMode = EM_MASTERPAGE;
- break;
- case CURRENT:
- ePageKind = pViewShell->GetPageKind();
- eEditMode = pViewShell->GetEditMode();
- break;
- }
- else
- switch (aLocation)
- {
- case BEGIN:
- default:
+ }
+ break;
+
+ case END:
+ if (bDirectionIsForward)
+ {
ePageKind = PK_HANDOUT;
eEditMode = EM_MASTERPAGE;
- break;
- case END:
+ }
+ else
+ {
ePageKind = PK_STANDARD;
eEditMode = EM_PAGE;
- break;
- case CURRENT:
- ePageKind = pViewShell->GetPageKind();
- eEditMode = pViewShell->GetEditMode();
- break;
- }
+ }
+ break;
+
+ case CURRENT:
+ const ::boost::shared_ptr<DrawViewShell> pDrawViewShell(
+ ::boost::dynamic_pointer_cast<DrawViewShell>(rpViewShell));
+ if (pDrawViewShell.get())
+ {
+ ePageKind = pDrawViewShell->GetPageKind();
+ eEditMode = pDrawViewShell->GetEditMode();
+ }
+ else
+ {
+ ePageKind = PK_STANDARD;
+ eEditMode = EM_PAGE;
+ }
+ break;
+ }
- sal_Int32 nPageIndex = GetPageIndex (pDocument, pViewShell,
+ sal_Int32 nPageIndex = GetPageIndex (pDocument, rpViewShell,
ePageKind, eEditMode, bDirectionIsForward, aLocation);
return Iterator (
new DocumentIteratorImpl (nPageIndex, ePageKind, eEditMode,
- pDocument, pViewShell, bDirectionIsForward));
+ pDocument, rpViewShell, bDirectionIsForward));
}
sal_Int32 OutlinerContainer::GetPageIndex (
SdDrawDocument* pDocument,
- DrawViewShell* pViewShell,
+ const ::boost::shared_ptr<ViewShell>& rpViewShell,
PageKind ePageKind,
EditMode eEditMode,
bool bDirectionIsForward,
IteratorLocation aLocation)
{
+ OSL_ASSERT(rpViewShell);
+
sal_Int32 nPageIndex;
sal_Int32 nPageCount;
+ const ::boost::shared_ptr<DrawViewShell> pDrawViewShell(
+ ::boost::dynamic_pointer_cast<DrawViewShell>(rpViewShell));
+
switch (eEditMode)
{
case EM_PAGE:
@@ -356,34 +383,36 @@ sal_Int32 OutlinerContainer::GetPageIndex (
nPageCount = 0;
}
- if (bDirectionIsForward)
- switch (aLocation)
- {
- case CURRENT:
- nPageIndex = pViewShell->GetCurPageId() - 1;
- break;
- case BEGIN:
- default:
+ switch (aLocation)
+ {
+ case CURRENT:
+ if (pDrawViewShell.get())
+ nPageIndex = pDrawViewShell->GetCurPageId() - 1;
+ else
+ {
+ const SdPage* pPage = rpViewShell->GetActualPage();
+ if (pPage != NULL)
+ nPageIndex = (pPage->GetPageNum()-1)/2;
+ else
+ nPageIndex = 0;
+ }
+ break;
+
+ case BEGIN:
+ default:
+ if (bDirectionIsForward)
nPageIndex = 0;
- break;
- case END:
- nPageIndex = nPageCount;
- break;
- }
- else
- switch (aLocation)
- {
- case CURRENT:
- nPageIndex = pViewShell->GetCurPageId() - 1;
- break;
- case BEGIN:
- default:
+ else
nPageIndex = nPageCount-1;
- break;
- case END:
+ break;
+
+ case END:
+ if (bDirectionIsForward)
+ nPageIndex = nPageCount;
+ else
nPageIndex = -1;
- break;
- }
+ break;
+ }
return nPageIndex;
}
@@ -393,20 +422,36 @@ sal_Int32 OutlinerContainer::GetPageIndex (
//===== IteratorImplBase ====================================================
-IteratorImplBase::IteratorImplBase(SdDrawDocument* pDocument, DrawViewShell* pViewShell, bool bDirectionIsForward)
+IteratorImplBase::IteratorImplBase(SdDrawDocument* pDocument,
+ const ::boost::weak_ptr<ViewShell>& rpViewShellWeak,
+ bool bDirectionIsForward)
: maPosition()
, mpDocument (pDocument)
-, mpViewShell (pViewShell)
+, mpViewShellWeak (rpViewShellWeak)
, mbDirectionIsForward (bDirectionIsForward)
{
- maPosition.mePageKind = pViewShell->GetPageKind();
- maPosition.meEditMode = pViewShell->GetEditMode();
+ ::boost::shared_ptr<DrawViewShell> pDrawViewShell;
+ if ( ! mpViewShellWeak.expired())
+ pDrawViewShell = ::boost::dynamic_pointer_cast<DrawViewShell>(rpViewShellWeak.lock());
+
+ if (pDrawViewShell.get())
+ {
+ maPosition.mePageKind = pDrawViewShell->GetPageKind();
+ maPosition.meEditMode = pDrawViewShell->GetEditMode();
+ }
+ else
+ {
+ maPosition.mePageKind = PK_STANDARD;
+ maPosition.meEditMode = EM_PAGE;
+ }
}
-IteratorImplBase::IteratorImplBase( SdDrawDocument* pDocument, DrawViewShell* pViewShell,bool bDirectionIsForward, PageKind ePageKind, EditMode eEditMode)
+IteratorImplBase::IteratorImplBase( SdDrawDocument* pDocument,
+ const ::boost::weak_ptr<ViewShell>& rpViewShellWeak,
+ bool bDirectionIsForward, PageKind ePageKind, EditMode eEditMode)
: maPosition()
, mpDocument (pDocument)
-, mpViewShell (pViewShell)
+, mpViewShellWeak (rpViewShellWeak)
, mbDirectionIsForward (bDirectionIsForward)
{
maPosition.mePageKind = ePageKind;
@@ -443,7 +488,7 @@ IteratorImplBase* IteratorImplBase::Clone (IteratorImplBase* pObject) const
{
pObject->maPosition = maPosition;
pObject->mpDocument = mpDocument;
- pObject->mpViewShell = mpViewShell;
+ pObject->mpViewShellWeak = mpViewShellWeak;
pObject->mbDirectionIsForward = mbDirectionIsForward;
}
return pObject;
@@ -464,12 +509,13 @@ SelectionIteratorImpl::SelectionIteratorImpl (
const ::std::vector<SdrObjectWeakRef>& rObjectList,
sal_Int32 nObjectIndex,
SdDrawDocument* pDocument,
- DrawViewShell* pViewShell,
+ const ::boost::weak_ptr<ViewShell>& rpViewShellWeak,
bool bDirectionIsForward)
- : IteratorImplBase (pDocument, pViewShell, bDirectionIsForward),
+ : IteratorImplBase (pDocument, rpViewShellWeak, bDirectionIsForward),
mrObjectList(rObjectList),
mnObjectIndex(nObjectIndex)
-{}
+{
+}
SelectionIteratorImpl::~SelectionIteratorImpl (void)
{}
@@ -479,7 +525,7 @@ IteratorImplBase* SelectionIteratorImpl::Clone (IteratorImplBase* pObject) const
SelectionIteratorImpl* pIterator = static_cast<SelectionIteratorImpl*>(pObject);
if (pIterator == NULL)
pIterator = new SelectionIteratorImpl (
- mrObjectList, mnObjectIndex, mpDocument, mpViewShell, mbDirectionIsForward);
+ mrObjectList, mnObjectIndex, mpDocument, mpViewShellWeak, mbDirectionIsForward);
return pIterator;
}
@@ -570,9 +616,9 @@ bool SelectionIteratorImpl::IsEqual (
ViewIteratorImpl::ViewIteratorImpl (
sal_Int32 nPageIndex,
SdDrawDocument* pDocument,
- DrawViewShell* pViewShell,
+ const ::boost::weak_ptr<ViewShell>& rpViewShellWeak,
bool bDirectionIsForward)
- : IteratorImplBase (pDocument, pViewShell, bDirectionIsForward),
+ : IteratorImplBase (pDocument, rpViewShellWeak, bDirectionIsForward),
mbPageChangeOccured(false),
mpPage(NULL),
mpObjectIterator(NULL)
@@ -586,11 +632,11 @@ ViewIteratorImpl::ViewIteratorImpl (
ViewIteratorImpl::ViewIteratorImpl (
sal_Int32 nPageIndex,
SdDrawDocument* pDocument,
- DrawViewShell* pViewShell,
+ const ::boost::weak_ptr<ViewShell>& rpViewShellWeak,
bool bDirectionIsForward,
PageKind ePageKind,
EditMode eEditMode)
- : IteratorImplBase (pDocument, pViewShell, bDirectionIsForward, ePageKind, eEditMode),
+ : IteratorImplBase (pDocument, rpViewShellWeak, bDirectionIsForward, ePageKind, eEditMode),
mbPageChangeOccured(false),
mpPage(NULL),
mpObjectIterator(NULL)
@@ -614,7 +660,7 @@ IteratorImplBase* ViewIteratorImpl::Clone (IteratorImplBase* pObject) const
ViewIteratorImpl* pIterator = static_cast<ViewIteratorImpl*>(pObject);
if (pIterator == NULL)
pIterator = new ViewIteratorImpl (
- maPosition.mnPageIndex, mpDocument, mpViewShell, mbDirectionIsForward);
+ maPosition.mnPageIndex, mpDocument, mpViewShellWeak, mbDirectionIsForward);
IteratorImplBase::Clone (pObject);
@@ -772,9 +818,10 @@ void ViewIteratorImpl::Reverse (void)
DocumentIteratorImpl::DocumentIteratorImpl (
sal_Int32 nPageIndex,
PageKind ePageKind, EditMode eEditMode,
- SdDrawDocument* pDocument, DrawViewShell* pViewShell,
+ SdDrawDocument* pDocument,
+ const ::boost::weak_ptr<ViewShell>& rpViewShellWeak,
bool bDirectionIsForward)
- : ViewIteratorImpl (nPageIndex, pDocument, pViewShell, bDirectionIsForward,
+ : ViewIteratorImpl (nPageIndex, pDocument, rpViewShellWeak, bDirectionIsForward,
ePageKind, eEditMode)
{
if (eEditMode == EM_PAGE)
@@ -798,7 +845,7 @@ IteratorImplBase* DocumentIteratorImpl::Clone (IteratorImplBase* pObject) const
if (pIterator == NULL)
pIterator = new DocumentIteratorImpl (
maPosition.mnPageIndex, maPosition.mePageKind, maPosition.meEditMode,
- mpDocument, mpViewShell, mbDirectionIsForward);
+ mpDocument, mpViewShellWeak, mbDirectionIsForward);
// Finish the cloning.
return ViewIteratorImpl::Clone (pIterator);
}
diff --git a/sd/source/ui/view/drtxtob1.cxx b/sd/source/ui/view/drtxtob1.cxx
index bde39e18189d..8c14b57fe286 100644
--- a/sd/source/ui/view/drtxtob1.cxx
+++ b/sd/source/ui/view/drtxtob1.cxx
@@ -163,36 +163,42 @@ void TextObjectBar::Execute( SfxRequest &rReq )
}
for( ULONG nPara = nStartPara; nPara <= nEndPara; nPara++ )
{
- SfxItemSet aAttr( pOLV->GetOutliner()->GetStyleSheet( nPara )->GetItemSet() );
- SfxItemSet aTmpSet( pOLV->GetOutliner()->GetParaAttribs( (USHORT) nPara ) );
- aAttr.Put( aTmpSet, FALSE ); // FALSE= InvalidItems nicht als Default, sondern als "Loecher" betrachten
- const SvxULSpaceItem& rItem = (const SvxULSpaceItem&) aAttr.Get( EE_PARA_ULSPACE );
- SvxULSpaceItem* pNewItem = (SvxULSpaceItem*) rItem.Clone();
-
- long nUpper = pNewItem->GetUpper();
- if( nSlot == SID_PARASPACE_INCREASE )
- nUpper += 100;
- else
+ SfxStyleSheet* pStyleSheet = NULL;
+ if (pOLV->GetOutliner() != NULL)
+ pStyleSheet = pOLV->GetOutliner()->GetStyleSheet(nPara);
+ if (pStyleSheet != NULL)
{
- nUpper -= 100;
- nUpper = Max( (long) nUpper, 0L );
- }
- pNewItem->SetUpper( (USHORT) nUpper );
+ SfxItemSet aAttr( pStyleSheet->GetItemSet() );
+ SfxItemSet aTmpSet( pOLV->GetOutliner()->GetParaAttribs( (USHORT) nPara ) );
+ aAttr.Put( aTmpSet, FALSE ); // FALSE= InvalidItems nicht als Default, sondern als "Loecher" betrachten
+ const SvxULSpaceItem& rItem = (const SvxULSpaceItem&) aAttr.Get( EE_PARA_ULSPACE );
+ SvxULSpaceItem* pNewItem = (SvxULSpaceItem*) rItem.Clone();
+
+ long nUpper = pNewItem->GetUpper();
+ if( nSlot == SID_PARASPACE_INCREASE )
+ nUpper += 100;
+ else
+ {
+ nUpper -= 100;
+ nUpper = Max( (long) nUpper, 0L );
+ }
+ pNewItem->SetUpper( (USHORT) nUpper );
- long nLower = pNewItem->GetLower();
- if( nSlot == SID_PARASPACE_INCREASE )
- nLower += 100;
- else
- {
- nLower -= 100;
- nLower = Max( (long) nLower, 0L );
- }
- pNewItem->SetLower( (USHORT) nLower );
+ long nLower = pNewItem->GetLower();
+ if( nSlot == SID_PARASPACE_INCREASE )
+ nLower += 100;
+ else
+ {
+ nLower -= 100;
+ nLower = Max( (long) nLower, 0L );
+ }
+ pNewItem->SetLower( (USHORT) nLower );
- SfxItemSet aNewAttrs( aAttr );
- aNewAttrs.Put( *pNewItem );
- delete pNewItem;
- pOLV->GetOutliner()->SetParaAttribs( (USHORT)nPara, aNewAttrs );
+ SfxItemSet aNewAttrs( aAttr );
+ aNewAttrs.Put( *pNewItem );
+ delete pNewItem;
+ pOLV->GetOutliner()->SetParaAttribs( (USHORT)nPara, aNewAttrs );
+ }
}
}
else
diff --git a/sd/uiconfig/sdraw/menubar/menubar.xml b/sd/uiconfig/sdraw/menubar/menubar.xml
index acd0b4ddfb0d..cccca6974eb4 100644
--- a/sd/uiconfig/sdraw/menubar/menubar.xml
+++ b/sd/uiconfig/sdraw/menubar/menubar.xml
@@ -1,327 +1,327 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<menu:menubar xmlns:menu="http://openoffice.org/2001/menu" menu:id="menubar">
- <menu:menu menu:id=".uno:PickList">
- <menu:menupopup>
- <menu:menuitem menu:id=".uno:AddDirect"/>
- <menu:menuitem menu:id=".uno:Open"/>
- <menu:menuitem menu:id=".uno:RecentFileList"/>
- <menu:menuseparator/>
- <menu:menuitem menu:id=".uno:AutoPilotMenu"/>
- <menu:menuseparator/>
- <menu:menuitem menu:id=".uno:CloseDoc"/>
- <menu:menuitem menu:id=".uno:Save"/>
- <menu:menuitem menu:id=".uno:SaveAs"/>
- <menu:menuitem menu:id=".uno:SaveAll"/>
- <menu:menuseparator/>
- <menu:menuitem menu:id=".uno:Reload"/>
- <menu:menuitem menu:id=".uno:VersionDialog"/>
- <menu:menuseparator/>
- <menu:menuitem menu:id=".uno:ExportTo"/>
- <menu:menuitem menu:id=".uno:ExportToPDF"/>
- <menu:menu menu:id=".uno:SendMenu">
- <menu:menupopup>
- <menu:menuitem menu:id=".uno:SendMail"/>
- <menu:menuitem menu:id=".uno:SendMailDocAsPDF"/>
- </menu:menupopup>
- </menu:menu>
- <menu:menuseparator/>
- <menu:menuitem menu:id=".uno:SetDocumentProperties"/>
- <menu:menuitem menu:id=".uno:Signature"/>
- <menu:menu menu:id=".uno:TemplateMenu">
- <menu:menupopup>
- <menu:menuitem menu:id=".uno:Organizer"/>
- <menu:menuitem menu:id=".uno:AddressBookSource"/>
- <menu:menuitem menu:id=".uno:SaveAsTemplate"/>
- <menu:menuitem menu:id=".uno:OpenTemplate"/>
- </menu:menupopup>
- </menu:menu>
- <menu:menuseparator/>
- <menu:menuitem menu:id=".uno:WebHtml"/>
- <menu:menuseparator/>
- <menu:menuitem menu:id=".uno:Print"/>
- <menu:menuitem menu:id=".uno:PrinterSetup"/>
- <menu:menuseparator/>
- <menu:menuitem menu:id=".uno:Quit"/>
- </menu:menupopup>
- </menu:menu>
- <menu:menu menu:id=".uno:EditMenu">
- <menu:menupopup>
- <menu:menuitem menu:id=".uno:Undo"/>
- <menu:menuitem menu:id=".uno:Redo"/>
- <menu:menuseparator/>
- <menu:menuitem menu:id=".uno:Cut"/>
- <menu:menuitem menu:id=".uno:Copy"/>
- <menu:menuitem menu:id=".uno:Paste"/>
- <menu:menuitem menu:id=".uno:PasteClipboard"/>
- <menu:menuitem menu:id=".uno:SelectAll"/>
- <menu:menuseparator/>
- <menu:menuitem menu:id=".uno:SearchDialog"/>
- <menu:menuseparator/>
- <menu:menuitem menu:id=".uno:CopyObjects"/>
- <menu:menuseparator/>
- <menu:menuitem menu:id=".uno:ToggleObjectBezierMode"/>
- <menu:menuitem menu:id=".uno:GlueEditMode"/>
- <menu:menuseparator/>
- <menu:menuitem menu:id=".uno:Morphing"/>
- <menu:menuitem menu:id=".uno:ModifyField"/>
- <menu:menuitem menu:id=".uno:DeletePage"/>
- <menu:menuseparator/>
- <menu:menuitem menu:id=".uno:ManageLinks"/>
- <menu:menuitem menu:id=".uno:PlugInsActive"/>
- <menu:menuitem menu:id=".uno:ImageMapDialog"/>
- <menu:menuitem menu:id=".uno:ObjectMenue"/>
- <menu:menuitem menu:id=".uno:EditHyperlink"/>
- </menu:menupopup>
- </menu:menu>
- <menu:menu menu:id=".uno:ViewMenu">
- <menu:menupopup>
- <menu:menuitem menu:id=".uno:PageMode"/>
- <menu:menuitem menu:id=".uno:MasterPage"/>
- <menu:menuseparator/>
- <menu:menu menu:id=".uno:DisplayQualityMenu">
- <menu:menupopup>
- <menu:menuitem menu:id=".uno:OutputQualityColor"/>
- <menu:menuitem menu:id=".uno:OutputQualityGrayscale"/>
- <menu:menuitem menu:id=".uno:OutputQualityBlackWhite"/>
- </menu:menupopup>
- </menu:menu>
- <menu:menuseparator/>
- <menu:menuitem menu:id=".uno:LeftPaneDraw"/>
- <menu:menuitem menu:id=".uno:AvailableToolbars"/>
- <menu:menuitem menu:id=".uno:StatusBarVisible"/>
- <menu:menuitem menu:id=".uno:ShowImeStatusWindow"/>
- <menu:menuitem menu:id=".uno:ShowRuler"/>
- <menu:menu menu:id=".uno:GridMenu">
- <menu:menupopup>
- <menu:menuitem menu:id=".uno:GridVisible"/>
- <menu:menuitem menu:id=".uno:GridUse"/>
- <menu:menuitem menu:id=".uno:GridFront"/>
- </menu:menupopup>
- </menu:menu>
- <menu:menu menu:id=".uno:SnapLinesMenu">
- <menu:menupopup>
- <menu:menuitem menu:id=".uno:HelplinesVisible"/>
- <menu:menuitem menu:id=".uno:HelplinesUse"/>
- <menu:menuitem menu:id=".uno:HelplinesFront"/>
- </menu:menupopup>
- </menu:menu>
- <menu:menuseparator/>
- <menu:menuitem menu:id=".uno:Navigator"/>
- <menu:menuseparator/>
- <menu:menuitem menu:id=".uno:Zoom"/>
- </menu:menupopup>
- </menu:menu>
- <menu:menu menu:id=".uno:InsertMenu">
- <menu:menupopup>
- <menu:menuitem menu:id=".uno:InsertPage"/>
- <menu:menuitem menu:id=".uno:DuplicatePage"/>
- <menu:menuitem menu:id=".uno:InsertLayer"/>
- <menu:menuitem menu:id=".uno:CapturePoint"/>
- <menu:menu menu:id=".uno:FieldMenu">
- <menu:menupopup>
- <menu:menuitem menu:id=".uno:InsertDateFieldFix"/>
- <menu:menuitem menu:id=".uno:InsertDateFieldVar"/>
- <menu:menuitem menu:id=".uno:InsertTimeFieldFix"/>
- <menu:menuitem menu:id=".uno:InsertTimeFieldVar"/>
- <menu:menuseparator/>
- <menu:menuitem menu:id=".uno:InsertAuthorField"/>
- <menu:menuitem menu:id=".uno:InsertPageField"/>
- <menu:menuitem menu:id=".uno:InsertFileField"/>
- </menu:menupopup>
- </menu:menu>
- <menu:menuitem menu:id=".uno:Bullet"/>
- <menu:menu menu:id=".uno:FormattingMarkMenu">
- <menu:menupopup>
- <menu:menuitem menu:id=".uno:InsertNonBreakingSpace"/>
- <menu:menuitem menu:id=".uno:InsertHardHyphen"/>
- <menu:menuitem menu:id=".uno:InsertSoftHyphen"/>
- <menu:menuitem menu:id=".uno:InsertZWSP"/>
- <menu:menuitem menu:id=".uno:InsertZWNBSP"/>
- <menu:menuitem menu:id=".uno:InsertLRM"/>
- <menu:menuitem menu:id=".uno:InsertRLM"/>
- </menu:menupopup>
- </menu:menu>
- <menu:menuitem menu:id=".uno:HyperlinkDialog"/>
- <menu:menuseparator/>
- <menu:menu menu:id=".uno:GraphicMenu">
- <menu:menupopup>
- <menu:menuitem menu:id=".uno:InsertGraphic"/>
- <menu:menu menu:id=".uno:Scan">
- <menu:menupopup>
- <menu:menuitem menu:id=".uno:TwainSelect"/>
- <menu:menuitem menu:id=".uno:TwainTransfer"/>
- </menu:menupopup>
- </menu:menu>
- </menu:menupopup>
- </menu:menu>
- <menu:menuitem menu:id=".uno:InsertTable"/>
- <menu:menuitem menu:id=".uno:InsertAVMedia"/>
- <menu:menu menu:id=".uno:ObjectMenu">
- <menu:menupopup>
- <menu:menuitem menu:id=".uno:InsertObject"/>
- <menu:menuitem menu:id=".uno:InsertPlugin"/>
- <menu:menuitem menu:id=".uno:InsertSound"/>
- <menu:menuitem menu:id=".uno:InsertVideo"/>
- <menu:menuitem menu:id=".uno:InsertMath"/>
- </menu:menupopup>
- </menu:menu>
- <menu:menuitem menu:id=".uno:InsertObjectChart"/>
- <menu:menuitem menu:id=".uno:InsertObjectFloatingFrame"/>
- <menu:menuseparator/>
- <menu:menuitem menu:id=".uno:ImportFromFile"/>
- </menu:menupopup>
- </menu:menu>
- <menu:menu menu:id=".uno:FormatMenu">
- <menu:menupopup>
- <menu:menuitem menu:id=".uno:SetDefault"/>
- <menu:menuseparator/>
- <menu:menuitem menu:id=".uno:FontDialog"/>
- <menu:menuitem menu:id=".uno:ParagraphDialog"/>
- <menu:menuitem menu:id=".uno:OutlineBullet"/>
- <menu:menuitem menu:id=".uno:PageSetup"/>
- <menu:menuseparator/>
- <menu:menu menu:id=".uno:TransliterateMenu">
- <menu:menupopup>
- <menu:menuitem menu:id=".uno:ChangeCaseToUpper"/>
- <menu:menuitem menu:id=".uno:ChangeCaseToLower"/>
- <menu:menuitem menu:id=".uno:ChangeCaseToHalfWidth"/>
- <menu:menuitem menu:id=".uno:ChangeCaseToFullWidth"/>
- <menu:menuitem menu:id=".uno:ChangeCaseToHiragana"/>
- <menu:menuitem menu:id=".uno:ChangeCaseToKatakana"/>
- </menu:menupopup>
- </menu:menu>
- <menu:menuseparator/>
- <menu:menuitem menu:id=".uno:TransformDialog"/>
- <menu:menuitem menu:id=".uno:FormatLine"/>
- <menu:menuitem menu:id=".uno:FormatArea"/>
- <menu:menuitem menu:id=".uno:TextAttributes"/>
- <menu:menuitem menu:id=".uno:GrafAttrCrop"/>
- <menu:menuseparator/>
- <menu:menuitem menu:id=".uno:ModifyLayer"/>
- <menu:menuitem menu:id=".uno:DesignerDialog"/>
- </menu:menupopup>
- </menu:menu>
- <menu:menu menu:id=".uno:ToolsMenu">
- <menu:menupopup>
- <menu:menuitem menu:id=".uno:SpellDialog"/>
- <menu:menu menu:id=".uno:LanguageMenu">
- <menu:menupopup>
- <menu:menuitem menu:id=".uno:HangulHanjaConversion"/>
- <menu:menuitem menu:id=".uno:ChineseConversion"/>
- <menu:menuitem menu:id=".uno:Thesaurus"/>
- <menu:menuitem menu:id=".uno:Hyphenation"/>
- <menu:menuseparator/>
- <menu:menuitem menu:id=".uno:MoreDictionaries"/>
- </menu:menupopup>
- </menu:menu>
- <menu:menuseparator/>
- <menu:menuitem menu:id=".uno:Gallery"/>
- <menu:menuitem menu:id=".uno:BmpMask"/>
- <menu:menuitem menu:id=".uno:AVMediaPlayer"/>
- <menu:menuseparator/>
- <menu:menu menu:id=".uno:MacrosMenu">
- <menu:menupopup>
- <menu:menuitem menu:id=".uno:MacroRecorder"/>
- <menu:menuitem menu:id=".uno:RunMacro"/>
- <menu:menu menu:id=".uno:ScriptOrganizer"/>
- <menu:menuitem menu:id=".uno:MacroSignature"/>
- <menu:menuseparator/>
- <menu:menuitem menu:id=".uno:MacroOrganizer?TabId:short=1"/>
- </menu:menupopup>
- </menu:menu>
-
- <menu:menuitem menu:id="service:com.sun.star.deployment.ui.PackageManagerDialog"/>
- <menu:menuitem menu:id=".uno:OpenXMLFilterSettings"/>
- <menu:menuitem menu:id=".uno:AutoCorrectDlg"/>
- <menu:menuitem menu:id=".uno:ConfigureDialog"/>
- <menu:menuitem menu:id=".uno:OptionsTreeDialog"/>
- </menu:menupopup>
- </menu:menu>
- <menu:menu menu:id=".uno:ModifyMenu">
- <menu:menupopup>
- <menu:menuitem menu:id=".uno:ToggleObjectRotateMode"/>
- <menu:menu menu:id=".uno:MirrorMenu">
- <menu:menupopup>
- <menu:menuitem menu:id=".uno:MirrorVert"/>
- <menu:menuitem menu:id=".uno:MirrorHorz"/>
- </menu:menupopup>
- </menu:menu>
- <menu:menu menu:id=".uno:ConvertMenu">
- <menu:menupopup>
- <menu:menuitem menu:id=".uno:ChangeBezier"/>
- <menu:menuitem menu:id=".uno:ChangePolygon"/>
- <menu:menuitem menu:id=".uno:convert_to_contour"/>
- <menu:menuitem menu:id=".uno:ConvertInto3D"/>
- <menu:menuitem menu:id=".uno:ConvertInto3DLatheFast"/>
- <menu:menuitem menu:id=".uno:ConvertIntoBitmap"/>
- <menu:menuitem menu:id=".uno:ConvertIntoMetaFile"/>
- </menu:menupopup>
- </menu:menu>
- <menu:menuseparator/>
- <menu:menu menu:id=".uno:ArrangeMenu">
- <menu:menupopup>
- <menu:menuitem menu:id=".uno:BringToFront"/>
- <menu:menuitem menu:id=".uno:Forward"/>
- <menu:menuitem menu:id=".uno:Backward"/>
- <menu:menuitem menu:id=".uno:SendToBack"/>
- <menu:menuseparator/>
- <menu:menuitem menu:id=".uno:BeforeObject"/>
- <menu:menuitem menu:id=".uno:BehindObject"/>
- <menu:menuseparator/>
- <menu:menuitem menu:id=".uno:ReverseOrder"/>
- </menu:menupopup>
- </menu:menu>
- <menu:menu menu:id=".uno:ObjectAlign">
- <menu:menupopup>
- <menu:menuitem menu:id=".uno:ObjectAlignLeft"/>
- <menu:menuitem menu:id=".uno:AlignCenter"/>
- <menu:menuitem menu:id=".uno:ObjectAlignRight"/>
- <menu:menuseparator/>
- <menu:menuitem menu:id=".uno:AlignUp"/>
- <menu:menuitem menu:id=".uno:AlignMiddle"/>
- <menu:menuitem menu:id=".uno:AlignDown"/>
- </menu:menupopup>
- </menu:menu>
- <menu:menuitem menu:id=".uno:DistributeSelection"/>
- <menu:menuseparator/>
- <menu:menuitem menu:id=".uno:ObjectTitleDescription"/>
- <menu:menuitem menu:id=".uno:NameGroup"/>
- <menu:menuseparator/>
- <menu:menuitem menu:id=".uno:FormatGroup"/>
- <menu:menuitem menu:id=".uno:FormatUngroup"/>
- <menu:menuitem menu:id=".uno:EnterGroup"/>
- <menu:menuitem menu:id=".uno:LeaveGroup"/>
- <menu:menuseparator/>
- <menu:menuitem menu:id=".uno:Combine"/>
- <menu:menuitem menu:id=".uno:Dismantle"/>
- <menu:menu menu:id=".uno:PolyFormen">
- <menu:menupopup>
- <menu:menuitem menu:id=".uno:Merge"/>
- <menu:menuitem menu:id=".uno:Substract"/>
- <menu:menuitem menu:id=".uno:Intersect"/>
- </menu:menupopup>
- </menu:menu>
- <menu:menuseparator/>
- <menu:menuitem menu:id=".uno:Connect"/>
- <menu:menuitem menu:id=".uno:Break"/>
- </menu:menupopup>
- </menu:menu>
- <menu:menu menu:id=".uno:WindowList">
- <menu:menupopup>
- <menu:menuitem menu:id=".uno:NewWindow"/>
- <menu:menuitem menu:id=".uno:CloseWin"/>
- <menu:menuseparator/>
- </menu:menupopup>
- </menu:menu>
- <menu:menu menu:id=".uno:HelpMenu">
- <menu:menupopup>
- <menu:menuitem menu:id=".uno:HelpIndex"/>
- <menu:menuitem menu:id=".uno:ExtendedHelp"/>
- <menu:menuseparator/>
- <menu:menuitem menu:id=".uno:HelpSupport"/>
- <menu:menuitem menu:id=".uno:OnlineRegistrationDlg"/>
- <menu:menuseparator/>
- <menu:menuitem menu:id=".uno:About"/>
- </menu:menupopup>
- </menu:menu>
-</menu:menubar>
+<?xml version="1.0" encoding="UTF-8"?>
+<menu:menubar xmlns:menu="http://openoffice.org/2001/menu" menu:id="menubar">
+ <menu:menu menu:id=".uno:PickList">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:AddDirect"/>
+ <menu:menuitem menu:id=".uno:Open"/>
+ <menu:menuitem menu:id=".uno:RecentFileList"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:AutoPilotMenu"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:CloseDoc"/>
+ <menu:menuitem menu:id=".uno:Save"/>
+ <menu:menuitem menu:id=".uno:SaveAs"/>
+ <menu:menuitem menu:id=".uno:SaveAll"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:Reload"/>
+ <menu:menuitem menu:id=".uno:VersionDialog"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:ExportTo"/>
+ <menu:menuitem menu:id=".uno:ExportToPDF"/>
+ <menu:menu menu:id=".uno:SendMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:SendMail"/>
+ <menu:menuitem menu:id=".uno:SendMailDocAsPDF"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:SetDocumentProperties"/>
+ <menu:menuitem menu:id=".uno:Signature"/>
+ <menu:menu menu:id=".uno:TemplateMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:Organizer"/>
+ <menu:menuitem menu:id=".uno:AddressBookSource"/>
+ <menu:menuitem menu:id=".uno:SaveAsTemplate"/>
+ <menu:menuitem menu:id=".uno:OpenTemplate"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:WebHtml"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:Print"/>
+ <menu:menuitem menu:id=".uno:PrinterSetup"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:Quit"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:EditMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:Undo"/>
+ <menu:menuitem menu:id=".uno:Redo"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:Cut"/>
+ <menu:menuitem menu:id=".uno:Copy"/>
+ <menu:menuitem menu:id=".uno:Paste"/>
+ <menu:menuitem menu:id=".uno:PasteClipboard"/>
+ <menu:menuitem menu:id=".uno:SelectAll"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:SearchDialog"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:CopyObjects"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:ToggleObjectBezierMode"/>
+ <menu:menuitem menu:id=".uno:GlueEditMode"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:Morphing"/>
+ <menu:menuitem menu:id=".uno:ModifyField"/>
+ <menu:menuitem menu:id=".uno:DeletePage"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:ManageLinks"/>
+ <menu:menuitem menu:id=".uno:PlugInsActive"/>
+ <menu:menuitem menu:id=".uno:ImageMapDialog"/>
+ <menu:menuitem menu:id=".uno:ObjectMenue"/>
+ <menu:menuitem menu:id=".uno:EditHyperlink"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:ViewMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:PageMode"/>
+ <menu:menuitem menu:id=".uno:MasterPage"/>
+ <menu:menuseparator/>
+ <menu:menu menu:id=".uno:DisplayQualityMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:OutputQualityColor"/>
+ <menu:menuitem menu:id=".uno:OutputQualityGrayscale"/>
+ <menu:menuitem menu:id=".uno:OutputQualityBlackWhite"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:LeftPaneDraw"/>
+ <menu:menuitem menu:id=".uno:AvailableToolbars"/>
+ <menu:menuitem menu:id=".uno:StatusBarVisible"/>
+ <menu:menuitem menu:id=".uno:ShowImeStatusWindow"/>
+ <menu:menuitem menu:id=".uno:ShowRuler"/>
+ <menu:menu menu:id=".uno:GridMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:GridVisible"/>
+ <menu:menuitem menu:id=".uno:GridUse"/>
+ <menu:menuitem menu:id=".uno:GridFront"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:SnapLinesMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:HelplinesVisible"/>
+ <menu:menuitem menu:id=".uno:HelplinesUse"/>
+ <menu:menuitem menu:id=".uno:HelplinesFront"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:Navigator"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:Zoom"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:InsertMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:InsertPage"/>
+ <menu:menuitem menu:id=".uno:DuplicatePage"/>
+ <menu:menuitem menu:id=".uno:InsertLayer"/>
+ <menu:menuitem menu:id=".uno:CapturePoint"/>
+ <menu:menu menu:id=".uno:FieldMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:InsertDateFieldFix"/>
+ <menu:menuitem menu:id=".uno:InsertDateFieldVar"/>
+ <menu:menuitem menu:id=".uno:InsertTimeFieldFix"/>
+ <menu:menuitem menu:id=".uno:InsertTimeFieldVar"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:InsertAuthorField"/>
+ <menu:menuitem menu:id=".uno:InsertPageField"/>
+ <menu:menuitem menu:id=".uno:InsertFileField"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuitem menu:id=".uno:Bullet"/>
+ <menu:menu menu:id=".uno:FormattingMarkMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:InsertNonBreakingSpace"/>
+ <menu:menuitem menu:id=".uno:InsertHardHyphen"/>
+ <menu:menuitem menu:id=".uno:InsertSoftHyphen"/>
+ <menu:menuitem menu:id=".uno:InsertZWSP"/>
+ <menu:menuitem menu:id=".uno:InsertZWNBSP"/>
+ <menu:menuitem menu:id=".uno:InsertLRM"/>
+ <menu:menuitem menu:id=".uno:InsertRLM"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuitem menu:id=".uno:HyperlinkDialog"/>
+ <menu:menuseparator/>
+ <menu:menu menu:id=".uno:GraphicMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:InsertGraphic"/>
+ <menu:menu menu:id=".uno:Scan">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:TwainSelect"/>
+ <menu:menuitem menu:id=".uno:TwainTransfer"/>
+ </menu:menupopup>
+ </menu:menu>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuitem menu:id=".uno:InsertTable"/>
+ <menu:menuitem menu:id=".uno:InsertAVMedia"/>
+ <menu:menu menu:id=".uno:ObjectMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:InsertObject"/>
+ <menu:menuitem menu:id=".uno:InsertPlugin"/>
+ <menu:menuitem menu:id=".uno:InsertSound"/>
+ <menu:menuitem menu:id=".uno:InsertVideo"/>
+ <menu:menuitem menu:id=".uno:InsertMath"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuitem menu:id=".uno:InsertObjectChart"/>
+ <menu:menuitem menu:id=".uno:InsertObjectFloatingFrame"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:ImportFromFile"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:FormatMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:SetDefault"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:FontDialog"/>
+ <menu:menuitem menu:id=".uno:ParagraphDialog"/>
+ <menu:menuitem menu:id=".uno:OutlineBullet"/>
+ <menu:menuitem menu:id=".uno:PageSetup"/>
+ <menu:menuseparator/>
+ <menu:menu menu:id=".uno:TransliterateMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:ChangeCaseToUpper"/>
+ <menu:menuitem menu:id=".uno:ChangeCaseToLower"/>
+ <menu:menuitem menu:id=".uno:ChangeCaseToHalfWidth"/>
+ <menu:menuitem menu:id=".uno:ChangeCaseToFullWidth"/>
+ <menu:menuitem menu:id=".uno:ChangeCaseToHiragana"/>
+ <menu:menuitem menu:id=".uno:ChangeCaseToKatakana"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:TransformDialog"/>
+ <menu:menuitem menu:id=".uno:FormatLine"/>
+ <menu:menuitem menu:id=".uno:FormatArea"/>
+ <menu:menuitem menu:id=".uno:TextAttributes"/>
+ <menu:menuitem menu:id=".uno:GrafAttrCrop"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:ModifyLayer"/>
+ <menu:menuitem menu:id=".uno:DesignerDialog"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:ToolsMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:SpellDialog"/>
+ <menu:menu menu:id=".uno:LanguageMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:HangulHanjaConversion"/>
+ <menu:menuitem menu:id=".uno:ChineseConversion"/>
+ <menu:menuitem menu:id=".uno:Thesaurus"/>
+ <menu:menuitem menu:id=".uno:Hyphenation"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:MoreDictionaries"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:Gallery"/>
+ <menu:menuitem menu:id=".uno:BmpMask"/>
+ <menu:menuitem menu:id=".uno:AVMediaPlayer"/>
+ <menu:menuseparator/>
+ <menu:menu menu:id=".uno:MacrosMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:MacroRecorder"/>
+ <menu:menuitem menu:id=".uno:RunMacro"/>
+ <menu:menu menu:id=".uno:ScriptOrganizer"/>
+ <menu:menuitem menu:id=".uno:MacroSignature"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:MacroOrganizer?TabId:short=1"/>
+ </menu:menupopup>
+ </menu:menu>
+
+ <menu:menuitem menu:id="service:com.sun.star.deployment.ui.PackageManagerDialog"/>
+ <menu:menuitem menu:id=".uno:OpenXMLFilterSettings"/>
+ <menu:menuitem menu:id=".uno:AutoCorrectDlg"/>
+ <menu:menuitem menu:id=".uno:ConfigureDialog"/>
+ <menu:menuitem menu:id=".uno:OptionsTreeDialog"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:ModifyMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:ToggleObjectRotateMode"/>
+ <menu:menu menu:id=".uno:MirrorMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:MirrorVert"/>
+ <menu:menuitem menu:id=".uno:MirrorHorz"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:ConvertMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:ChangeBezier"/>
+ <menu:menuitem menu:id=".uno:ChangePolygon"/>
+ <menu:menuitem menu:id=".uno:convert_to_contour"/>
+ <menu:menuitem menu:id=".uno:ConvertInto3D"/>
+ <menu:menuitem menu:id=".uno:ConvertInto3DLatheFast"/>
+ <menu:menuitem menu:id=".uno:ConvertIntoBitmap"/>
+ <menu:menuitem menu:id=".uno:ConvertIntoMetaFile"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuseparator/>
+ <menu:menu menu:id=".uno:ArrangeMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:BringToFront"/>
+ <menu:menuitem menu:id=".uno:Forward"/>
+ <menu:menuitem menu:id=".uno:Backward"/>
+ <menu:menuitem menu:id=".uno:SendToBack"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:BeforeObject"/>
+ <menu:menuitem menu:id=".uno:BehindObject"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:ReverseOrder"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:ObjectAlign">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:ObjectAlignLeft"/>
+ <menu:menuitem menu:id=".uno:AlignCenter"/>
+ <menu:menuitem menu:id=".uno:ObjectAlignRight"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:AlignUp"/>
+ <menu:menuitem menu:id=".uno:AlignMiddle"/>
+ <menu:menuitem menu:id=".uno:AlignDown"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuitem menu:id=".uno:DistributeSelection"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:ObjectTitleDescription"/>
+ <menu:menuitem menu:id=".uno:NameGroup"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:FormatGroup"/>
+ <menu:menuitem menu:id=".uno:FormatUngroup"/>
+ <menu:menuitem menu:id=".uno:EnterGroup"/>
+ <menu:menuitem menu:id=".uno:LeaveGroup"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:Combine"/>
+ <menu:menuitem menu:id=".uno:Dismantle"/>
+ <menu:menu menu:id=".uno:PolyFormen">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:Merge"/>
+ <menu:menuitem menu:id=".uno:Substract"/>
+ <menu:menuitem menu:id=".uno:Intersect"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:Connect"/>
+ <menu:menuitem menu:id=".uno:Break"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:WindowList">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:NewWindow"/>
+ <menu:menuitem menu:id=".uno:CloseWin"/>
+ <menu:menuseparator/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:HelpMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:HelpIndex"/>
+ <menu:menuitem menu:id=".uno:ExtendedHelp"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:HelpSupport"/>
+ <menu:menuitem menu:id=".uno:OnlineRegistrationDlg"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:About"/>
+ </menu:menupopup>
+ </menu:menu>
+</menu:menubar>
diff --git a/sd/uiconfig/simpress/menubar/menubar.xml b/sd/uiconfig/simpress/menubar/menubar.xml
index e775e2a099f7..6f3fa7703cff 100644
--- a/sd/uiconfig/simpress/menubar/menubar.xml
+++ b/sd/uiconfig/simpress/menubar/menubar.xml
@@ -1,302 +1,302 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<menu:menubar xmlns:menu="http://openoffice.org/2001/menu" menu:id="menubar">
- <menu:menu menu:id=".uno:PickList">
- <menu:menupopup>
- <menu:menuitem menu:id=".uno:AddDirect"/>
- <menu:menuitem menu:id=".uno:Open"/>
- <menu:menuitem menu:id=".uno:RecentFileList"/>
- <menu:menuseparator/>
- <menu:menuitem menu:id=".uno:AutoPilotMenu"/>
- <menu:menuseparator/>
- <menu:menuitem menu:id=".uno:CloseDoc"/>
- <menu:menuitem menu:id=".uno:Save"/>
- <menu:menuitem menu:id=".uno:SaveAs"/>
- <menu:menuitem menu:id=".uno:SaveAll"/>
- <menu:menuseparator/>
- <menu:menuitem menu:id=".uno:Reload"/>
- <menu:menuitem menu:id=".uno:VersionDialog"/>
- <menu:menuseparator/>
- <menu:menuitem menu:id=".uno:ExportTo"/>
- <menu:menuitem menu:id=".uno:ExportToPDF"/>
- <menu:menu menu:id=".uno:SendMenu">
- <menu:menupopup>
- <menu:menuitem menu:id=".uno:SendMail"/>
- <menu:menuitem menu:id=".uno:SendMailDocAsOOo"/>
- <menu:menuitem menu:id=".uno:SendMailDocAsMS"/>
- <menu:menuitem menu:id=".uno:SendMailDocAsPDF"/>
- </menu:menupopup>
- </menu:menu>
- <menu:menuseparator/>
- <menu:menuitem menu:id=".uno:SetDocumentProperties"/>
- <menu:menuitem menu:id=".uno:Signature"/>
- <menu:menu menu:id=".uno:TemplateMenu">
- <menu:menupopup>
- <menu:menuitem menu:id=".uno:Organizer"/>
- <menu:menuitem menu:id=".uno:AddressBookSource"/>
- <menu:menuitem menu:id=".uno:SaveAsTemplate"/>
- <menu:menuitem menu:id=".uno:OpenTemplate"/>
- </menu:menupopup>
- </menu:menu>
- <menu:menuseparator/>
- <menu:menuitem menu:id=".uno:WebHtml"/>
- <menu:menuseparator/>
- <menu:menuitem menu:id=".uno:Print"/>
- <menu:menuitem menu:id=".uno:PrinterSetup"/>
- <menu:menuseparator/>
- <menu:menuitem menu:id=".uno:Quit"/>
- </menu:menupopup>
- </menu:menu>
- <menu:menu menu:id=".uno:EditMenu">
- <menu:menupopup>
- <menu:menuitem menu:id=".uno:Undo"/>
- <menu:menuitem menu:id=".uno:Redo"/>
- <menu:menuseparator/>
- <menu:menuitem menu:id=".uno:Cut"/>
- <menu:menuitem menu:id=".uno:Copy"/>
- <menu:menuitem menu:id=".uno:Paste"/>
- <menu:menuitem menu:id=".uno:PasteClipboard"/>
- <menu:menuitem menu:id=".uno:SelectAll"/>
- <menu:menuseparator/>
- <menu:menuitem menu:id=".uno:SearchDialog"/>
- <menu:menuseparator/>
- <menu:menuitem menu:id=".uno:CopyObjects"/>
- <menu:menuseparator/>
- <menu:menuitem menu:id=".uno:ToggleObjectBezierMode"/>
- <menu:menuitem menu:id=".uno:GlueEditMode"/>
- <menu:menuseparator/>
- <menu:menuitem menu:id=".uno:ModifyField"/>
- <menu:menuitem menu:id=".uno:DeletePage"/>
- <menu:menuseparator/>
- <menu:menuitem menu:id=".uno:ManageLinks"/>
- <menu:menuitem menu:id=".uno:PlugInsActive"/>
- <menu:menuitem menu:id=".uno:ImageMapDialog"/>
- <menu:menuitem menu:id=".uno:ObjectMenue"/>
- <menu:menuitem menu:id=".uno:EditHyperlink"/>
- </menu:menupopup>
- </menu:menu>
- <menu:menu menu:id=".uno:ViewMenu">
- <menu:menupopup>
- <menu:menuitem menu:id=".uno:NormalMultiPaneGUI"/>
- <menu:menuitem menu:id=".uno:OutlineMode"/>
- <menu:menuitem menu:id=".uno:DiaMode"/>
- <menu:menuitem menu:id=".uno:Presentation"/>
- <menu:menuitem menu:id=".uno:NotesMode"/>
- <menu:menuitem menu:id=".uno:HandoutMode"/>
- <menu:menuseparator/>
- <menu:menu menu:id=".uno:MasterPageMenu">
- <menu:menupopup>
- <menu:menuitem menu:id=".uno:SlideMasterPage"/>
- <menu:menuitem menu:id=".uno:NotesMasterPage"/>
- <menu:menuseparator/>
- <menu:menuitem menu:id=".uno:MasterLayouts"/>
- </menu:menupopup>
- </menu:menu>
- <menu:menu menu:id=".uno:DisplayQualityMenu">
- <menu:menupopup>
- <menu:menuitem menu:id=".uno:OutputQualityColor"/>
- <menu:menuitem menu:id=".uno:OutputQualityGrayscale"/>
- <menu:menuitem menu:id=".uno:OutputQualityBlackWhite"/>
- </menu:menupopup>
- </menu:menu>
- <menu:menuseparator/>
- <menu:menuitem menu:id=".uno:RightPane"/>
- <menu:menuitem menu:id=".uno:LeftPaneImpress"/>
- <menu:menuitem menu:id=".uno:AvailableToolbars"/>
- <menu:menuitem menu:id=".uno:StatusBarVisible"/>
- <menu:menuitem menu:id=".uno:ShowImeStatusWindow"/>
- <menu:menuitem menu:id=".uno:ShowRuler"/>
- <menu:menu menu:id=".uno:GridMenu">
- <menu:menupopup>
- <menu:menuitem menu:id=".uno:GridVisible"/>
- <menu:menuitem menu:id=".uno:GridUse"/>
- <menu:menuitem menu:id=".uno:GridFront"/>
- </menu:menupopup>
- </menu:menu>
- <menu:menu menu:id=".uno:SnapLinesMenu">
- <menu:menupopup>
- <menu:menuitem menu:id=".uno:HelplinesVisible"/>
- <menu:menuitem menu:id=".uno:HelplinesUse"/>
- <menu:menuitem menu:id=".uno:HelplinesFront"/>
- </menu:menupopup>
- </menu:menu>
- <menu:menuseparator/>
- <menu:menuitem menu:id=".uno:Navigator"/>
- <menu:menuseparator/>
- <menu:menuitem menu:id=".uno:HeaderAndFooter"/>
- <menu:menuitem menu:id=".uno:Zoom"/>
- </menu:menupopup>
- </menu:menu>
- <menu:menu menu:id=".uno:InsertMenu">
- <menu:menupopup>
- <menu:menuitem menu:id=".uno:InsertPage"/>
- <menu:menuitem menu:id=".uno:DuplicatePage"/>
- <menu:menuitem menu:id=".uno:ExpandPage"/>
- <menu:menuitem menu:id=".uno:SummaryPage"/>
- <menu:menuitem menu:id=".uno:InsertPageNumber"/>
- <menu:menuitem menu:id=".uno:InsertDateAndTime"/>
- <menu:menu menu:id=".uno:FieldMenu">
- <menu:menupopup>
- <menu:menuitem menu:id=".uno:InsertDateFieldFix"/>
- <menu:menuitem menu:id=".uno:InsertDateFieldVar"/>
- <menu:menuitem menu:id=".uno:InsertTimeFieldFix"/>
- <menu:menuitem menu:id=".uno:InsertTimeFieldVar"/>
- <menu:menuseparator/>
- <menu:menuitem menu:id=".uno:InsertAuthorField"/>
- <menu:menuitem menu:id=".uno:InsertPageField"/>
- <menu:menuitem menu:id=".uno:InsertFileField"/>
- </menu:menupopup>
- </menu:menu>
- <menu:menuitem menu:id=".uno:Bullet"/>
- <menu:menu menu:id=".uno:FormattingMarkMenu">
- <menu:menupopup>
- <menu:menuitem menu:id=".uno:InsertNonBreakingSpace"/>
- <menu:menuitem menu:id=".uno:InsertHardHyphen"/>
- <menu:menuitem menu:id=".uno:InsertSoftHyphen"/>
- <menu:menuitem menu:id=".uno:InsertZWSP"/>
- <menu:menuitem menu:id=".uno:InsertZWNBSP"/>
- <menu:menuitem menu:id=".uno:InsertLRM"/>
- <menu:menuitem menu:id=".uno:InsertRLM"/>
- </menu:menupopup>
- </menu:menu>
- <menu:menuitem menu:id=".uno:HyperlinkDialog"/>
- <menu:menuitem menu:id=".uno:AnimationObjects"/>
- <menu:menuseparator/>
- <menu:menu menu:id=".uno:GraphicMenu">
- <menu:menupopup>
- <menu:menuitem menu:id=".uno:InsertGraphic"/>
- <menu:menu menu:id=".uno:Scan">
- <menu:menupopup>
- <menu:menuitem menu:id=".uno:TwainSelect"/>
- <menu:menuitem menu:id=".uno:TwainTransfer"/>
- </menu:menupopup>
- </menu:menu>
- </menu:menupopup>
- </menu:menu>
- <menu:menuitem menu:id=".uno:InsertTable"/>
- <menu:menuitem menu:id=".uno:InsertAVMedia"/>
- <menu:menu menu:id=".uno:ObjectMenu">
- <menu:menupopup>
- <menu:menuitem menu:id=".uno:InsertObject"/>
- <menu:menuitem menu:id=".uno:InsertPlugin"/>
- <menu:menuitem menu:id=".uno:InsertSound"/>
- <menu:menuitem menu:id=".uno:InsertVideo"/>
- <menu:menuitem menu:id=".uno:InsertMath"/>
- </menu:menupopup>
- </menu:menu>
- <menu:menuitem menu:id=".uno:InsertObjectChart"/>
- <menu:menuitem menu:id=".uno:InsertObjectFloatingFrame"/>
- <menu:menuseparator/>
- <menu:menuitem menu:id=".uno:ImportFromFile"/>
- </menu:menupopup>
- </menu:menu>
- <menu:menu menu:id=".uno:FormatMenu">
- <menu:menupopup>
- <menu:menuitem menu:id=".uno:SetDefault"/>
- <menu:menuseparator/>
- <menu:menuitem menu:id=".uno:FontDialog"/>
- <menu:menuitem menu:id=".uno:ParagraphDialog"/>
- <menu:menuitem menu:id=".uno:OutlineBullet"/>
- <menu:menuitem menu:id=".uno:PageSetup"/>
- <menu:menuseparator/>
- <menu:menu menu:id=".uno:TransliterateMenu">
- <menu:menupopup>
- <menu:menuitem menu:id=".uno:ChangeCaseToUpper"/>
- <menu:menuitem menu:id=".uno:ChangeCaseToLower"/>
- <menu:menuitem menu:id=".uno:ChangeCaseToHalfWidth"/>
- <menu:menuitem menu:id=".uno:ChangeCaseToFullWidth"/>
- <menu:menuitem menu:id=".uno:ChangeCaseToHiragana"/>
- <menu:menuitem menu:id=".uno:ChangeCaseToKatakana"/>
- </menu:menupopup>
- </menu:menu>
- <menu:menuseparator/>
- <menu:menuitem menu:id=".uno:TransformDialog"/>
- <menu:menuitem menu:id=".uno:FormatLine"/>
- <menu:menuitem menu:id=".uno:FormatArea"/>
- <menu:menuitem menu:id=".uno:TextAttributes"/>
- <menu:menuitem menu:id=".uno:GrafAttrCrop"/>
- <menu:menuseparator/>
- <menu:menuitem menu:id=".uno:PresentationLayout"/>
- <menu:menuitem menu:id=".uno:ModifyPage"/>
- <menu:menuitem menu:id=".uno:DesignerDialog"/>
- <menu:menuseparator/>
- <menu:menu menu:id=".uno:GroupMenu">
- <menu:menupopup>
- <menu:menuitem menu:id=".uno:FormatGroup"/>
- <menu:menuitem menu:id=".uno:FormatUngroup"/>
- <menu:menuitem menu:id=".uno:EnterGroup"/>
- <menu:menuitem menu:id=".uno:LeaveGroup"/>
- </menu:menupopup>
- </menu:menu>
- </menu:menupopup>
- </menu:menu>
- <menu:menu menu:id=".uno:ToolsMenu">
- <menu:menupopup>
- <menu:menuitem menu:id=".uno:SpellDialog"/>
- <menu:menu menu:id=".uno:LanguageMenu">
- <menu:menupopup>
- <menu:menuitem menu:id=".uno:HangulHanjaConversion"/>
- <menu:menuitem menu:id=".uno:ChineseConversion"/>
- <menu:menuitem menu:id=".uno:Thesaurus"/>
- <menu:menuitem menu:id=".uno:Hyphenation"/>
- <menu:menuseparator/>
- <menu:menuitem menu:id=".uno:MoreDictionaries"/>
- </menu:menupopup>
- </menu:menu>
- <menu:menuseparator/>
- <menu:menuitem menu:id=".uno:Gallery"/>
- <menu:menuitem menu:id=".uno:BmpMask"/>
- <menu:menuitem menu:id=".uno:AVMediaPlayer"/>
- <menu:menuseparator/>
- <menu:menu menu:id=".uno:MacrosMenu">
- <menu:menupopup>
- <menu:menuitem menu:id=".uno:MacroRecorder"/>
- <menu:menuitem menu:id=".uno:RunMacro"/>
- <menu:menu menu:id=".uno:ScriptOrganizer"/>
- <menu:menuitem menu:id=".uno:MacroSignature"/>
- <menu:menuseparator/>
- <menu:menuitem menu:id=".uno:MacroOrganizer?TabId:short=1"/>
- </menu:menupopup>
- </menu:menu>
-
- <menu:menuitem menu:id="service:com.sun.star.deployment.ui.PackageManagerDialog"/>
- <menu:menuitem menu:id=".uno:OpenXMLFilterSettings"/>
- <menu:menuitem menu:id=".uno:AutoCorrectDlg"/>
- <menu:menuitem menu:id=".uno:ConfigureDialog"/>
- <menu:menuitem menu:id=".uno:OptionsTreeDialog"/>
- </menu:menupopup>
- </menu:menu>
- <menu:menu menu:id=".uno:SlideShowMenu">
- <menu:menupopup>
- <menu:menuitem menu:id=".uno:Presentation"/>
- <menu:menuitem menu:id=".uno:PresentationDialog"/>
- <menu:menuitem menu:id=".uno:RehearseTimings"/>
- <menu:menuseparator/>
- <menu:menuitem menu:id=".uno:AnimationEffects"/>
- <!--menu:menuitem menu:id=".uno:CustomAnimationSchemes" / -->
- <menu:menuitem menu:id=".uno:CustomAnimation"/>
- <menu:menuitem menu:id=".uno:SlideChangeWindow"/>
- <menu:menuseparator/>
- <menu:menuitem menu:id=".uno:ShowSlide"/>
- <menu:menuitem menu:id=".uno:HideSlide"/>
- <menu:menuitem menu:id=".uno:CustomShowDialog"/>
- </menu:menupopup>
- </menu:menu>
- <menu:menu menu:id=".uno:WindowList">
- <menu:menupopup>
- <menu:menuitem menu:id=".uno:NewWindow"/>
- <menu:menuitem menu:id=".uno:CloseWin"/>
- <menu:menuseparator/>
- </menu:menupopup>
- </menu:menu>
- <menu:menu menu:id=".uno:HelpMenu">
- <menu:menupopup>
- <menu:menuitem menu:id=".uno:HelpIndex"/>
- <menu:menuitem menu:id=".uno:ExtendedHelp"/>
- <menu:menuseparator/>
- <menu:menuitem menu:id=".uno:HelpSupport"/>
- <menu:menuitem menu:id=".uno:OnlineRegistrationDlg"/>
- <menu:menuseparator/>
- <menu:menuitem menu:id=".uno:About"/>
- </menu:menupopup>
- </menu:menu>
-</menu:menubar>
+<?xml version="1.0" encoding="UTF-8"?>
+<menu:menubar xmlns:menu="http://openoffice.org/2001/menu" menu:id="menubar">
+ <menu:menu menu:id=".uno:PickList">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:AddDirect"/>
+ <menu:menuitem menu:id=".uno:Open"/>
+ <menu:menuitem menu:id=".uno:RecentFileList"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:AutoPilotMenu"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:CloseDoc"/>
+ <menu:menuitem menu:id=".uno:Save"/>
+ <menu:menuitem menu:id=".uno:SaveAs"/>
+ <menu:menuitem menu:id=".uno:SaveAll"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:Reload"/>
+ <menu:menuitem menu:id=".uno:VersionDialog"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:ExportTo"/>
+ <menu:menuitem menu:id=".uno:ExportToPDF"/>
+ <menu:menu menu:id=".uno:SendMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:SendMail"/>
+ <menu:menuitem menu:id=".uno:SendMailDocAsOOo"/>
+ <menu:menuitem menu:id=".uno:SendMailDocAsMS"/>
+ <menu:menuitem menu:id=".uno:SendMailDocAsPDF"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:SetDocumentProperties"/>
+ <menu:menuitem menu:id=".uno:Signature"/>
+ <menu:menu menu:id=".uno:TemplateMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:Organizer"/>
+ <menu:menuitem menu:id=".uno:AddressBookSource"/>
+ <menu:menuitem menu:id=".uno:SaveAsTemplate"/>
+ <menu:menuitem menu:id=".uno:OpenTemplate"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:WebHtml"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:Print"/>
+ <menu:menuitem menu:id=".uno:PrinterSetup"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:Quit"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:EditMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:Undo"/>
+ <menu:menuitem menu:id=".uno:Redo"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:Cut"/>
+ <menu:menuitem menu:id=".uno:Copy"/>
+ <menu:menuitem menu:id=".uno:Paste"/>
+ <menu:menuitem menu:id=".uno:PasteClipboard"/>
+ <menu:menuitem menu:id=".uno:SelectAll"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:SearchDialog"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:CopyObjects"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:ToggleObjectBezierMode"/>
+ <menu:menuitem menu:id=".uno:GlueEditMode"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:ModifyField"/>
+ <menu:menuitem menu:id=".uno:DeletePage"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:ManageLinks"/>
+ <menu:menuitem menu:id=".uno:PlugInsActive"/>
+ <menu:menuitem menu:id=".uno:ImageMapDialog"/>
+ <menu:menuitem menu:id=".uno:ObjectMenue"/>
+ <menu:menuitem menu:id=".uno:EditHyperlink"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:ViewMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:NormalMultiPaneGUI"/>
+ <menu:menuitem menu:id=".uno:OutlineMode"/>
+ <menu:menuitem menu:id=".uno:DiaMode"/>
+ <menu:menuitem menu:id=".uno:Presentation"/>
+ <menu:menuitem menu:id=".uno:NotesMode"/>
+ <menu:menuitem menu:id=".uno:HandoutMode"/>
+ <menu:menuseparator/>
+ <menu:menu menu:id=".uno:MasterPageMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:SlideMasterPage"/>
+ <menu:menuitem menu:id=".uno:NotesMasterPage"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:MasterLayouts"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:DisplayQualityMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:OutputQualityColor"/>
+ <menu:menuitem menu:id=".uno:OutputQualityGrayscale"/>
+ <menu:menuitem menu:id=".uno:OutputQualityBlackWhite"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:RightPane"/>
+ <menu:menuitem menu:id=".uno:LeftPaneImpress"/>
+ <menu:menuitem menu:id=".uno:AvailableToolbars"/>
+ <menu:menuitem menu:id=".uno:StatusBarVisible"/>
+ <menu:menuitem menu:id=".uno:ShowImeStatusWindow"/>
+ <menu:menuitem menu:id=".uno:ShowRuler"/>
+ <menu:menu menu:id=".uno:GridMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:GridVisible"/>
+ <menu:menuitem menu:id=".uno:GridUse"/>
+ <menu:menuitem menu:id=".uno:GridFront"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:SnapLinesMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:HelplinesVisible"/>
+ <menu:menuitem menu:id=".uno:HelplinesUse"/>
+ <menu:menuitem menu:id=".uno:HelplinesFront"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:Navigator"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:HeaderAndFooter"/>
+ <menu:menuitem menu:id=".uno:Zoom"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:InsertMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:InsertPage"/>
+ <menu:menuitem menu:id=".uno:DuplicatePage"/>
+ <menu:menuitem menu:id=".uno:ExpandPage"/>
+ <menu:menuitem menu:id=".uno:SummaryPage"/>
+ <menu:menuitem menu:id=".uno:InsertPageNumber"/>
+ <menu:menuitem menu:id=".uno:InsertDateAndTime"/>
+ <menu:menu menu:id=".uno:FieldMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:InsertDateFieldFix"/>
+ <menu:menuitem menu:id=".uno:InsertDateFieldVar"/>
+ <menu:menuitem menu:id=".uno:InsertTimeFieldFix"/>
+ <menu:menuitem menu:id=".uno:InsertTimeFieldVar"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:InsertAuthorField"/>
+ <menu:menuitem menu:id=".uno:InsertPageField"/>
+ <menu:menuitem menu:id=".uno:InsertFileField"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuitem menu:id=".uno:Bullet"/>
+ <menu:menu menu:id=".uno:FormattingMarkMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:InsertNonBreakingSpace"/>
+ <menu:menuitem menu:id=".uno:InsertHardHyphen"/>
+ <menu:menuitem menu:id=".uno:InsertSoftHyphen"/>
+ <menu:menuitem menu:id=".uno:InsertZWSP"/>
+ <menu:menuitem menu:id=".uno:InsertZWNBSP"/>
+ <menu:menuitem menu:id=".uno:InsertLRM"/>
+ <menu:menuitem menu:id=".uno:InsertRLM"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuitem menu:id=".uno:HyperlinkDialog"/>
+ <menu:menuitem menu:id=".uno:AnimationObjects"/>
+ <menu:menuseparator/>
+ <menu:menu menu:id=".uno:GraphicMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:InsertGraphic"/>
+ <menu:menu menu:id=".uno:Scan">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:TwainSelect"/>
+ <menu:menuitem menu:id=".uno:TwainTransfer"/>
+ </menu:menupopup>
+ </menu:menu>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuitem menu:id=".uno:InsertTable"/>
+ <menu:menuitem menu:id=".uno:InsertAVMedia"/>
+ <menu:menu menu:id=".uno:ObjectMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:InsertObject"/>
+ <menu:menuitem menu:id=".uno:InsertPlugin"/>
+ <menu:menuitem menu:id=".uno:InsertSound"/>
+ <menu:menuitem menu:id=".uno:InsertVideo"/>
+ <menu:menuitem menu:id=".uno:InsertMath"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuitem menu:id=".uno:InsertObjectChart"/>
+ <menu:menuitem menu:id=".uno:InsertObjectFloatingFrame"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:ImportFromFile"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:FormatMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:SetDefault"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:FontDialog"/>
+ <menu:menuitem menu:id=".uno:ParagraphDialog"/>
+ <menu:menuitem menu:id=".uno:OutlineBullet"/>
+ <menu:menuitem menu:id=".uno:PageSetup"/>
+ <menu:menuseparator/>
+ <menu:menu menu:id=".uno:TransliterateMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:ChangeCaseToUpper"/>
+ <menu:menuitem menu:id=".uno:ChangeCaseToLower"/>
+ <menu:menuitem menu:id=".uno:ChangeCaseToHalfWidth"/>
+ <menu:menuitem menu:id=".uno:ChangeCaseToFullWidth"/>
+ <menu:menuitem menu:id=".uno:ChangeCaseToHiragana"/>
+ <menu:menuitem menu:id=".uno:ChangeCaseToKatakana"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:TransformDialog"/>
+ <menu:menuitem menu:id=".uno:FormatLine"/>
+ <menu:menuitem menu:id=".uno:FormatArea"/>
+ <menu:menuitem menu:id=".uno:TextAttributes"/>
+ <menu:menuitem menu:id=".uno:GrafAttrCrop"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:PresentationLayout"/>
+ <menu:menuitem menu:id=".uno:ModifyPage"/>
+ <menu:menuitem menu:id=".uno:DesignerDialog"/>
+ <menu:menuseparator/>
+ <menu:menu menu:id=".uno:GroupMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:FormatGroup"/>
+ <menu:menuitem menu:id=".uno:FormatUngroup"/>
+ <menu:menuitem menu:id=".uno:EnterGroup"/>
+ <menu:menuitem menu:id=".uno:LeaveGroup"/>
+ </menu:menupopup>
+ </menu:menu>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:ToolsMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:SpellDialog"/>
+ <menu:menu menu:id=".uno:LanguageMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:HangulHanjaConversion"/>
+ <menu:menuitem menu:id=".uno:ChineseConversion"/>
+ <menu:menuitem menu:id=".uno:Thesaurus"/>
+ <menu:menuitem menu:id=".uno:Hyphenation"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:MoreDictionaries"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:Gallery"/>
+ <menu:menuitem menu:id=".uno:BmpMask"/>
+ <menu:menuitem menu:id=".uno:AVMediaPlayer"/>
+ <menu:menuseparator/>
+ <menu:menu menu:id=".uno:MacrosMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:MacroRecorder"/>
+ <menu:menuitem menu:id=".uno:RunMacro"/>
+ <menu:menu menu:id=".uno:ScriptOrganizer"/>
+ <menu:menuitem menu:id=".uno:MacroSignature"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:MacroOrganizer?TabId:short=1"/>
+ </menu:menupopup>
+ </menu:menu>
+
+ <menu:menuitem menu:id="service:com.sun.star.deployment.ui.PackageManagerDialog"/>
+ <menu:menuitem menu:id=".uno:OpenXMLFilterSettings"/>
+ <menu:menuitem menu:id=".uno:AutoCorrectDlg"/>
+ <menu:menuitem menu:id=".uno:ConfigureDialog"/>
+ <menu:menuitem menu:id=".uno:OptionsTreeDialog"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:SlideShowMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:Presentation"/>
+ <menu:menuitem menu:id=".uno:PresentationDialog"/>
+ <menu:menuitem menu:id=".uno:RehearseTimings"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:AnimationEffects"/>
+ <!--menu:menuitem menu:id=".uno:CustomAnimationSchemes" / -->
+ <menu:menuitem menu:id=".uno:CustomAnimation"/>
+ <menu:menuitem menu:id=".uno:SlideChangeWindow"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:ShowSlide"/>
+ <menu:menuitem menu:id=".uno:HideSlide"/>
+ <menu:menuitem menu:id=".uno:CustomShowDialog"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:WindowList">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:NewWindow"/>
+ <menu:menuitem menu:id=".uno:CloseWin"/>
+ <menu:menuseparator/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:HelpMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:HelpIndex"/>
+ <menu:menuitem menu:id=".uno:ExtendedHelp"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:HelpSupport"/>
+ <menu:menuitem menu:id=".uno:OnlineRegistrationDlg"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:About"/>
+ </menu:menupopup>
+ </menu:menu>
+</menu:menubar>
diff --git a/sd/xml/transitions-ogl b/sd/xml/transitions-ogl.xml
index 8db94340611a..8db94340611a 100644
--- a/sd/xml/transitions-ogl
+++ b/sd/xml/transitions-ogl.xml