summaryrefslogtreecommitdiff
path: root/sw/source/ui
diff options
context:
space:
mode:
authorCarsten Driesner <cd@openoffice.org>2011-01-21 17:18:37 +0100
committerCarsten Driesner <cd@openoffice.org>2011-01-21 17:18:37 +0100
commit6ef1b591fcb2b6787497310a43a59061eb52abdb (patch)
tree9edccfd0cc9cae1b7390aff37941b412ba1cb670 /sw/source/ui
parentad25e1071ddbde4ff88dc68b1da36bad53497fe9 (diff)
parent1379283b49bd1acf89269ee569a2eb3aafd25376 (diff)
removetooltypes01: Rebase to DEV300m98
Diffstat (limited to 'sw/source/ui')
-rw-r--r--sw/source/ui/app/appenv.cxx2
-rw-r--r--sw/source/ui/app/apphdl.cxx2
-rw-r--r--sw/source/ui/app/applab.cxx2
-rw-r--r--sw/source/ui/app/docsh.cxx23
-rw-r--r--sw/source/ui/app/docsh2.cxx2
-rw-r--r--sw/source/ui/app/docshini.cxx41
-rw-r--r--sw/source/ui/config/optdlg.src15
-rw-r--r--sw/source/ui/config/optpage.cxx62
-rw-r--r--sw/source/ui/dbui/dbmgr.cxx22
-rw-r--r--sw/source/ui/dbui/mmoutputpage.cxx6
-rw-r--r--sw/source/ui/dialog/ascfldlg.cxx20
-rw-r--r--sw/source/ui/dochdl/swdtflvr.cxx12
-rw-r--r--sw/source/ui/inc/pview.hxx1
-rw-r--r--sw/source/ui/inc/swdtflvr.hxx2
-rw-r--r--sw/source/ui/inc/uitool.hxx2
-rw-r--r--sw/source/ui/inc/uivwimp.hxx7
-rw-r--r--sw/source/ui/inc/unotxvw.hxx2
-rw-r--r--sw/source/ui/inc/usrpref.hxx2
-rw-r--r--sw/source/ui/inc/view.hxx10
-rw-r--r--sw/source/ui/uiview/pview.cxx13
-rw-r--r--sw/source/ui/uiview/view.cxx9
-rw-r--r--sw/source/ui/uiview/view2.cxx5
-rw-r--r--sw/source/ui/uiview/viewfunc.hxx2
-rw-r--r--sw/source/ui/uiview/viewprt.cxx37
-rw-r--r--sw/source/ui/uno/unomailmerge.cxx1
-rw-r--r--sw/source/ui/uno/unotxdoc.cxx10
-rw-r--r--sw/source/ui/uno/unotxvw.cxx4
-rw-r--r--sw/source/ui/wrtsh/wrtsh1.cxx26
28 files changed, 143 insertions, 199 deletions
diff --git a/sw/source/ui/app/appenv.cxx b/sw/source/ui/app/appenv.cxx
index 6be2c5b5c3dd..0a2cf67d62ae 100644
--- a/sw/source/ui/app/appenv.cxx
+++ b/sw/source/ui/app/appenv.cxx
@@ -189,7 +189,7 @@ static sal_uInt16 nTitleNo = 0;
pOldSh = pMyDocSh ? pMyDocSh->GetWrtShell() : 0;
// Neues Dokument erzeugen (kein Show!)
- SfxObjectShellRef xDocSh( new SwDocShell( SFX_CREATE_MODE_STANDARD ) );
+ SfxObjectShellLock xDocSh( new SwDocShell( SFX_CREATE_MODE_STANDARD ) );
xDocSh->DoInitNew( 0 );
pFrame = SfxViewFrame::LoadHiddenDocument( *xDocSh, 0 );
pNewView = (SwView*) pFrame->GetViewShell();
diff --git a/sw/source/ui/app/apphdl.cxx b/sw/source/ui/app/apphdl.cxx
index 9ed011cdad78..df6e9af0eca3 100644
--- a/sw/source/ui/app/apphdl.cxx
+++ b/sw/source/ui/app/apphdl.cxx
@@ -968,7 +968,7 @@ void NewXForms( SfxRequest& rReq )
// copied & excerpted from SwModule::InsertLab(..)
// create new document
- SfxObjectShellRef xDocSh( new SwDocShell( SFX_CREATE_MODE_STANDARD) );
+ SfxObjectShellLock xDocSh( new SwDocShell( SFX_CREATE_MODE_STANDARD) );
xDocSh->DoInitNew( 0 );
// initialize XForms
diff --git a/sw/source/ui/app/applab.cxx b/sw/source/ui/app/applab.cxx
index 41f055f86050..1bbdfc71eeb4 100644
--- a/sw/source/ui/app/applab.cxx
+++ b/sw/source/ui/app/applab.cxx
@@ -209,7 +209,7 @@ static sal_uInt16 nBCTitleNo = 0;
aLabCfg.Commit();
// Neues Dokument erzeugen.
- SfxObjectShellRef xDocSh( new SwDocShell( SFX_CREATE_MODE_STANDARD));
+ SfxObjectShellLock xDocSh( new SwDocShell( SFX_CREATE_MODE_STANDARD));
xDocSh->DoInitNew( 0 );
// Drucker
diff --git a/sw/source/ui/app/docsh.cxx b/sw/source/ui/app/docsh.cxx
index b30b0f1198c5..4143f316dd05 100644
--- a/sw/source/ui/app/docsh.cxx
+++ b/sw/source/ui/app/docsh.cxx
@@ -468,7 +468,9 @@ sal_Bool SwDocShell::SaveAs( SfxMedium& rMedium )
// will set the wrong class id.
SvGlobalName aClassName;
String aAppName, aLongUserName, aUserName;
- SfxObjectShellRef xDocSh =
+
+ // The document is closed explicitly, but using SfxObjectShellLock is still more correct here
+ SfxObjectShellLock xDocSh =
new SwGlobalDocShell( SFX_CREATE_MODE_INTERNAL );
// the global document can not be a template
xDocSh->SetupStorage( xStor, SotStorage::GetVersion( xStor ), sal_False );
@@ -701,25 +703,6 @@ sal_Bool SwDocShell::ConvertTo( SfxMedium& rMedium )
GetDoc()->set(IDocumentSettingAccess::GLOBAL_DOCUMENT_SAVE_LINKS, bIsGlblDocSaveLinksSave);
}
- if( bRet && nMyType != nSaveType )
- {
- SvGlobalName aClassName;
- String aAppName, aLongUserName, aUserName;
- SfxObjectShellRef xDocSh;
- switch( nSaveType )
- {
- case 0:
- xDocSh = new SwDocShell( SFX_CREATE_MODE_INTERNAL );
- break;
- case 1:
- xDocSh = new SwWebDocShell( SFX_CREATE_MODE_INTERNAL );
- break;
- case 2:
- xDocSh = new SwGlobalDocShell( SFX_CREATE_MODE_INTERNAL );
- break;
- }
- }
-
return bRet;
}
diff --git a/sw/source/ui/app/docsh2.cxx b/sw/source/ui/app/docsh2.cxx
index c053d21538e3..e4b5b6ab3700 100644
--- a/sw/source/ui/app/docsh2.cxx
+++ b/sw/source/ui/app/docsh2.cxx
@@ -1013,7 +1013,7 @@ void SwDocShell::Execute(SfxRequest& rReq)
sal_uInt8 nLevel = pDlg->GetLevel();
sal_uInt8 nPara = pDlg->GetPara();
SwDoc* pSmryDoc = new SwDoc();
- SfxObjectShellRef xDocSh( new SwDocShell( pSmryDoc, SFX_CREATE_MODE_STANDARD));
+ SfxObjectShellLock xDocSh( new SwDocShell( pSmryDoc, SFX_CREATE_MODE_STANDARD));
xDocSh->DoInitNew( 0 );
sal_Bool bImpress = FN_ABSTRACT_STARIMPRESS == nWhich;
diff --git a/sw/source/ui/app/docshini.cxx b/sw/source/ui/app/docshini.cxx
index f39cbca5f305..6c8e73931105 100644
--- a/sw/source/ui/app/docshini.cxx
+++ b/sw/source/ui/app/docshini.cxx
@@ -210,21 +210,15 @@ sal_Bool SwDocShell::InitNew( const uno::Reference < embed::XStorage >& xStor )
if(!pStdFont->IsFontDefault(nFontId))
{
sEntry = pStdFont->GetFontFor(nFontId);
- sal_Bool bDelete = sal_False;
- const SfxFont* pFnt = pPrt ? pPrt->GetFontByName(sEntry): 0;
- if(!pFnt)
- {
- pFnt = new SfxFont( FAMILY_DONTKNOW, sEntry, PITCH_DONTKNOW,
- ::gsl_getSystemTextEncoding() );
- bDelete = sal_True;
- }
- pFontItem = new SvxFontItem(pFnt->GetFamily(), pFnt->GetName(),
- aEmptyStr, pFnt->GetPitch(), pFnt->GetCharSet(), nFontWhich);
- if(bDelete)
+
+ Font aFont( sEntry, Size( 0, 10 ) );
+ if( pPrt )
{
- delete (SfxFont*) pFnt;
- bDelete = sal_False;
+ aFont = pPrt->GetFontMetric( aFont );
}
+
+ pFontItem = new SvxFontItem(aFont.GetFamily(), aFont.GetName(),
+ aEmptyStr, aFont.GetPitch(), aFont.GetCharSet(), nFontWhich);
}
else
{
@@ -303,25 +297,18 @@ sal_Bool SwDocShell::InitNew( const uno::Reference < embed::XStorage >& xStor )
if(!pStdFont->IsFontDefault(aFontIdPoolId[nIdx]))
{
sEntry = pStdFont->GetFontFor(aFontIdPoolId[nIdx]);
- sal_Bool bDelete = sal_False;
- const SfxFont* pFnt = pPrt ? pPrt->GetFontByName(sEntry): 0;
- if(!pFnt)
- {
- pFnt = new SfxFont( FAMILY_DONTKNOW, sEntry, PITCH_DONTKNOW,
- ::gsl_getSystemTextEncoding() );
- bDelete = sal_True;
- }
+
+ Font aFont( sEntry, Size( 0, 10 ) );
+ if( pPrt )
+ aFont = pPrt->GetFontMetric( aFont );
+
pColl = pDoc->GetTxtCollFromPool(aFontIdPoolId[nIdx + 1]);
if( !bHTMLTemplSet ||
SFX_ITEM_SET != pColl->GetAttrSet().GetItemState(
nFontWhich, sal_False ) )
{
- pColl->SetFmtAttr(SvxFontItem(pFnt->GetFamily(), pFnt->GetName(),
- aEmptyStr, pFnt->GetPitch(), pFnt->GetCharSet(), nFontWhich));
- }
- if(bDelete)
- {
- delete (SfxFont*) pFnt;
+ pColl->SetFmtAttr(SvxFontItem(aFont.GetFamily(), aFont.GetName(),
+ aEmptyStr, aFont.GetPitch(), aFont.GetCharSet(), nFontWhich));
}
}
sal_Int32 nFontHeight = pStdFont->GetFontHeight( static_cast< sal_Int8 >(aFontIdPoolId[nIdx]), 0, eLanguage );
diff --git a/sw/source/ui/config/optdlg.src b/sw/source/ui/config/optdlg.src
index 0f0eddc5d9ed..400b3439b795 100644
--- a/sw/source/ui/config/optdlg.src
+++ b/sw/source/ui/config/optdlg.src
@@ -1035,7 +1035,6 @@ TabPage TP_OPTSHDWCRSR
};
};
-
StringArray STR_PRINTOPTUI
{
ItemList [en-US] =
@@ -1043,47 +1042,33 @@ StringArray STR_PRINTOPTUI
< "%PRODUCTNAME %s"; >;
< "Contents"; >;
< "Page ba~ckground"; >;
- < "Specifies whether to include colors and objects that are inserted to the background of the page (Format - Page - Background) in the printed document."; >;
< "P~ictures and other graphic objects"; >;
- < "Specifies whether the graphics and drawing or OLE objects of your text document are printed"; >;
< "Hidden te~xt"; >;
- < "Enable this option to print text that is marked as hidden."; >;
< "~Text placeholders"; >;
- < "Enable this option to print text placeholders. Disable this option to leave the text placeholders blank in the printout."; >;
< "Form control~s"; >;
- < "Specifies whether the form control fields of the text document are printed"; >;
< "Color"; >;
< "Print text in blac~k"; >;
- < "Specifies whether to always print text in black."; >;
< "Pages"; >;
< "Print ~automatically inserted blank pages"; >;
- < "If this option is enabled automatically inserted blank pages are printed. This is best if you are printing double-sided. For example, in a book, a \"chapter\" paragraph style has been set to always start with an odd numbered page. If the previous chapter ends on an odd page, %PRODUCTNAME inserts an even numbered blank page. This option controls whether to print that even numbered page or not"; >;
< "~Use only paper tray from printer preferences"; >;
- < "For printers with multiple trays this option specifies whether the paper tray used is specified by the system settings of the printer."; >;
< "Print"; >;
< "None (document only)"; >;
< "Comments only"; >;
< "Place at end of document"; >;
< "Place at end of page"; >;
- < "Specify where to print comments (if any)."; >;
< "~Comments"; >;
< "Page sides";>;
< "All pages"; >;
< "Back sides / left pages"; >;
< "Front sides / right pages"; >;
- < "Specify which pages to include in the output"; >;
< "Include"; >;
< "Broch~ure"; >;
- < "Select the Brochure option to print the document in brochure format."; >;
< "Left-to-right script"; >;
< "Right-to-left script"; >;
< "Range and copies"; >;
< "~All pages"; >;
- < "Print the whole document."; >;
< "Pa~ges"; >;
- < "Print a range of pages of the document."; >;
< "~Selection"; >;
- < "Print only the selected parts of the document"; >;
};
};
diff --git a/sw/source/ui/config/optpage.cxx b/sw/source/ui/config/optpage.cxx
index 285caa238731..56a2ced0eabd 100644
--- a/sw/source/ui/config/optpage.cxx
+++ b/sw/source/ui/config/optpage.cxx
@@ -726,20 +726,12 @@ void lcl_SetColl(SwWrtShell* pWrtShell, sal_uInt16 nType,
SfxPrinter* pPrt, const String& rStyle,
sal_uInt16 nFontWhich)
{
- sal_Bool bDelete = sal_False;
- const SfxFont* pFnt = pPrt ? pPrt->GetFontByName(rStyle): 0;
- if(!pFnt)
- {
- pFnt = new SfxFont(FAMILY_DONTKNOW, rStyle);
- bDelete = sal_True;
- }
+ Font aFont( rStyle, Size( 0, 10 ) );
+ if( pPrt )
+ aFont = pPrt->GetFontMetric( aFont );
SwTxtFmtColl *pColl = pWrtShell->GetTxtCollFromPool(nType);
- pColl->SetFmtAttr(SvxFontItem(pFnt->GetFamily(), pFnt->GetName(),
- aEmptyStr, pFnt->GetPitch(), pFnt->GetCharSet(), nFontWhich));
- if(bDelete)
- {
- delete (SfxFont*) pFnt;
- }
+ pColl->SetFmtAttr(SvxFontItem(aFont.GetFamily(), aFont.GetName(),
+ aEmptyStr, aFont.GetPitch(), aFont.GetCharSet(), nFontWhich));
}
/*-- 11.10.2005 15:47:52---------------------------------------------------
@@ -822,22 +814,13 @@ sal_Bool SwStdFontTabPage::FillItemSet( SfxItemSet& )
FONT_GROUP_CJK == nFontGroup ? RES_CHRATR_CJK_FONTSIZE : RES_CHRATR_CTL_FONTSIZE);
if(sStandard != sShellStd)
{
- sal_Bool bDelete = sal_False;
- const SfxFont* pFnt = pPrinter ? pPrinter->GetFontByName(sStandard): 0;
- if(!pFnt)
- {
- pFnt = new SfxFont(FAMILY_DONTKNOW, sStandard);
- bDelete = sal_True;
- }
- pWrtShell->SetDefault(SvxFontItem(pFnt->GetFamily(), pFnt->GetName(),
- aEmptyStr, pFnt->GetPitch(), pFnt->GetCharSet(), nFontWhich));
+ Font aFont( sStandard, Size( 0, 10 ) );
+ if( pPrinter )
+ aFont = pPrinter->GetFontMetric( aFont );
+ pWrtShell->SetDefault(SvxFontItem(aFont.GetFamily(), aFont.GetName(),
+ aEmptyStr, aFont.GetPitch(), aFont.GetCharSet(), nFontWhich));
SwTxtFmtColl *pColl = pWrtShell->GetTxtCollFromPool(RES_POOLCOLL_STANDARD);
pColl->ResetFmtAttr(nFontWhich);
- if(bDelete)
- {
- delete (SfxFont*) pFnt;
- bDelete = sal_False;
- }
// lcl_SetColl(pWrtShell, RES_POOLCOLL_STANDARD, pPrinter, sStandard);
bMod = sal_True;
}
@@ -943,15 +926,24 @@ void SwStdFontTabPage::Reset( const SfxItemSet& rSet)
// #i94536# prevent duplication of font entries when 'reset' button is pressed
if( !aStandardBox.GetEntryCount() )
{
- const sal_uInt16 nCount = pPrt->GetFontCount();
- for (sal_uInt16 i = 0; i < nCount; ++i)
+ // get the set of disctinct available family names
+ std::set< String > aFontNames;
+ int nFontNames = pPrt->GetDevFontCount();
+ for( int i = 0; i < nFontNames; i++ )
+ {
+ FontInfo aInf( pPrt->GetDevFont( i ) );
+ aFontNames.insert( aInf.GetName() );
+ }
+
+ // insert to listboxes
+ for( std::set< String >::const_iterator it = aFontNames.begin();
+ it != aFontNames.end(); ++it )
{
- const String &rString = pPrt->GetFont(i)->GetName();
- aStandardBox.InsertEntry( rString );
- aTitleBox .InsertEntry( rString );
- aListBox .InsertEntry( rString );
- aLabelBox .InsertEntry( rString );
- aIdxBox .InsertEntry( rString );
+ aStandardBox.InsertEntry( *it );
+ aTitleBox .InsertEntry( *it );
+ aListBox .InsertEntry( *it );
+ aLabelBox .InsertEntry( *it );
+ aIdxBox .InsertEntry( *it );
}
}
if(SFX_ITEM_SET == rSet.GetItemState(FN_PARAM_STDFONTS, sal_False, &pItem))
diff --git a/sw/source/ui/dbui/dbmgr.cxx b/sw/source/ui/dbui/dbmgr.cxx
index 89c8617d9bdb..57b8072aa831 100644
--- a/sw/source/ui/dbui/dbmgr.cxx
+++ b/sw/source/ui/dbui/dbmgr.cxx
@@ -938,7 +938,11 @@ sal_Bool SwNewDBMgr::MergeMailFiles(SwWrtShell* pSourceShell,
// in case of creating a single resulting file this has to be created here
SwWrtShell* pTargetShell = 0;
- SfxObjectShellRef xTargetDocShell;
+
+ // the shell will be explicitly closed at the end of the method, but it is
+ // still more safe to use SfxObjectShellLock here
+ SfxObjectShellLock xTargetDocShell;
+
SwView* pTargetView = 0;
std::auto_ptr< utl::TempFile > aTempFile;
String sModifiedStartingPageDesc;
@@ -1062,8 +1066,9 @@ sal_Bool SwNewDBMgr::MergeMailFiles(SwWrtShell* pSourceShell,
for (sal_uInt16 i = 0; i < 10; i++)
Application::Reschedule();
- // Neues Dokument erzeugen und speichern
- SfxObjectShellRef xWorkDocSh( new SwDocShell( SFX_CREATE_MODE_INTERNAL ));
+ // Create and save new document
+ // The SfxObjectShell will be closed explicitly later but it is more safe to use SfxObjectShellLock here
+ SfxObjectShellLock xWorkDocSh( new SwDocShell( SFX_CREATE_MODE_INTERNAL ));
SfxMedium* pWorkMed = new SfxMedium( sSourceDocumentURL, STREAM_STD_READ, sal_True );
pWorkMed->SetFilter( pSfxFlt );
@@ -1503,7 +1508,8 @@ sal_uLong SwNewDBMgr::GetColumnFmt( uno::Reference< XDataSource> xSource,
if(!xSource.is())
{
uno::Reference<XChild> xChild(xConnection, UNO_QUERY);
- xSource = uno::Reference<XDataSource>(xChild->getParent(), UNO_QUERY);
+ if ( xChild.is() )
+ xSource = uno::Reference<XDataSource>(xChild->getParent(), UNO_QUERY);
}
if(xSource.is() && xConnection.is() && xColumn.is() && pNFmtr)
{
@@ -2543,6 +2549,7 @@ void SwNewDBMgr::ExecuteFormLetter( SwWrtShell& rSh,
if(xResSet.is())
aDescriptor[daCursor] <<= xResSet;
+ // SfxObjectShellRef is ok, since there should be no control over the document lifetime here
SfxObjectShellRef xDocShell = rSh.GetView().GetViewFrame()->GetObjectShell();
SFX_APP()->NotifyEvent(SfxEventHint(SW_EVENT_MAIL_MERGE, SwDocShell::GetEventName(STR_SW_EVENT_MAIL_MERGE), xDocShell));
{
@@ -2573,7 +2580,9 @@ void SwNewDBMgr::ExecuteFormLetter( SwWrtShell& rSh,
}
else
{
- SfxObjectShellRef xWorkDocSh( new SwDocShell( SFX_CREATE_MODE_INTERNAL ));
+ // the shell will be explicitly closed, but it is more safe to use SfxObjectShellLock here
+ // especially for the case that the loading has failed
+ SfxObjectShellLock xWorkDocSh( new SwDocShell( SFX_CREATE_MODE_INTERNAL ));
SfxMedium* pWorkMed = new SfxMedium( sTempURL, STREAM_STD_READ, sal_True );
pWorkMed->SetFilter( pSfxFlt );
if( xWorkDocSh->DoLoad(pWorkMed) )
@@ -2916,7 +2925,8 @@ sal_Int32 SwNewDBMgr::MergeDocuments( SwMailMergeConfigItem& rMMConfig,
}
// copy the source document
- SfxObjectShellRef xWorkDocSh;
+ // the copy will be closed later, but it is more safe to use SfxObjectShellLock here
+ SfxObjectShellLock xWorkDocSh;
if(nDocNo == 1 )
{
uno::Reference< util::XCloneable > xClone( rSourceView.GetDocShell()->GetModel(), uno::UNO_QUERY);
diff --git a/sw/source/ui/dbui/mmoutputpage.cxx b/sw/source/ui/dbui/mmoutputpage.cxx
index 4a112e29b871..3bfc22da0310 100644
--- a/sw/source/ui/dbui/mmoutputpage.cxx
+++ b/sw/source/ui/dbui/mmoutputpage.cxx
@@ -853,7 +853,8 @@ IMPL_LINK(SwMailMergeOutputPage, SaveOutputHdl_Impl, PushButton*, pButton)
aSaveMonitor.aPrintInfo.SetText(sStat);
//now extract a document from the target document
- SfxObjectShellRef xTempDocShell( new SwDocShell( SFX_CREATE_MODE_STANDARD ) );
+ // the shell will be closed at the end, but it is more safe to use SfxObjectShellLock here
+ SfxObjectShellLock xTempDocShell( new SwDocShell( SFX_CREATE_MODE_STANDARD ) );
xTempDocShell->DoInitNew( 0 );
SfxViewFrame* pTempFrame = SfxViewFrame::LoadHiddenDocument( *xTempDocShell, 0 );
// pTempFrame->GetFrame().Appear();
@@ -1271,7 +1272,8 @@ IMPL_LINK(SwMailMergeOutputPage, SendDocumentsHdl_Impl, PushButton*, pButton)
SwDocMergeInfo& rInfo = rConfigItem.GetDocumentMergeInfo(nDoc);
//now extract a document from the target document
- SfxObjectShellRef xTempDocShell( new SwDocShell( SFX_CREATE_MODE_STANDARD ) );
+ // the shell will be closed at the end, but it is more safe to use SfxObjectShellLock here
+ SfxObjectShellLock xTempDocShell( new SwDocShell( SFX_CREATE_MODE_STANDARD ) );
xTempDocShell->DoInitNew( 0 );
SfxViewFrame* pTempFrame = SfxViewFrame::LoadHiddenDocument( *xTempDocShell, 0 );
// pTempFrame->GetFrame().Appear();
diff --git a/sw/source/ui/dialog/ascfldlg.cxx b/sw/source/ui/dialog/ascfldlg.cxx
index 0e804d5dca9b..f1661b4865c4 100644
--- a/sw/source/ui/dialog/ascfldlg.cxx
+++ b/sw/source/ui/dialog/ascfldlg.cxx
@@ -58,6 +58,8 @@
#include <ascfldlg.hrc>
#endif
+#include "vcl/metric.hxx"
+
using namespace ::com::sun::star;
@@ -180,11 +182,21 @@ SwAsciiFilterDlg::SwAsciiFilterDlg( Window* pParent, SwDocShell& rDocSh,
bDelPrinter = sal_True;
}
- const sal_uInt16 nCount = pPrt->GetFontCount();
- for (sal_uInt16 i = 0; i < nCount; ++i)
+
+ // get the set of disctinct available family names
+ std::set< String > aFontNames;
+ int nFontNames = pPrt->GetDevFontCount();
+ for( int i = 0; i < nFontNames; i++ )
+ {
+ FontInfo aInf( pPrt->GetDevFont( i ) );
+ aFontNames.insert( aInf.GetName() );
+ }
+
+ // insert to listbox
+ for( std::set< String >::const_iterator it = aFontNames.begin();
+ it != aFontNames.end(); ++it )
{
- const String &rStr = pPrt->GetFont(i)->GetName();
- aFontLB.InsertEntry( rStr );
+ aFontLB.InsertEntry( *it );
}
if( !aOpt.GetFontName().Len() )
diff --git a/sw/source/ui/dochdl/swdtflvr.cxx b/sw/source/ui/dochdl/swdtflvr.cxx
index beb296272af5..21dc2866ecda 100644
--- a/sw/source/ui/dochdl/swdtflvr.cxx
+++ b/sw/source/ui/dochdl/swdtflvr.cxx
@@ -454,14 +454,14 @@ sal_Bool SwTransferable::GetData( const DATA_FLAVOR& rFlavor )
pClpDocFac = new SwDocFac;
SwDoc *const pTmpDoc = lcl_GetDoc(*pClpDocFac);
- pTmpDoc->SetRefForDocShell( boost::addressof(aDocShellRef) );
pTmpDoc->LockExpFlds(); // nie die Felder updaten - Text so belassen
pWrtShell->Copy( pTmpDoc );
// es wurde in der CORE eine neu angelegt (OLE-Objekte kopiert!)
+ aDocShellRef = pTmpDoc->GetTmpDocShell();
if( aDocShellRef.Is() )
SwTransferable::InitOle( aDocShellRef, *pTmpDoc );
- pTmpDoc->SetRefForDocShell( 0 );
+ pTmpDoc->SetTmpDocShell( (SfxObjectShell*)NULL );
if( nSelectionType & nsSelectionType::SEL_TXT && !pWrtShell->HasMark() )
{
@@ -869,7 +869,6 @@ int SwTransferable::PrepareForCopy( sal_Bool bIsCut )
SwDoc *const pTmpDoc = lcl_GetDoc(*pClpDocFac);
- pTmpDoc->SetRefForDocShell( boost::addressof(aDocShellRef) );
pTmpDoc->LockExpFlds(); // nie die Felder updaten - Text so belassen
pWrtShell->Copy( pTmpDoc );
@@ -892,9 +891,10 @@ int SwTransferable::PrepareForCopy( sal_Bool bIsCut )
}
// es wurde in der CORE eine neu angelegt (OLE-Objekte kopiert!)
+ aDocShellRef = pTmpDoc->GetTmpDocShell();
if( aDocShellRef.Is() )
SwTransferable::InitOle( aDocShellRef, *pTmpDoc );
- pTmpDoc->SetRefForDocShell( 0 );
+ pTmpDoc->SetTmpDocShell( (SfxObjectShell*)NULL );
if( pWrtShell->IsObjSelected() )
eBufferType = TRNSFR_DRAWING;
@@ -1052,15 +1052,15 @@ int SwTransferable::CopyGlossary( SwTextBlocks& rGlossary,
SwCntntNode* pCNd = rNds.GoNext( &aNodeIdx ); // gehe zum 1. ContentNode
SwPaM aPam( *pCNd );
- pCDoc->SetRefForDocShell( boost::addressof(aDocShellRef) );
pCDoc->LockExpFlds(); // nie die Felder updaten - Text so belassen
pCDoc->InsertGlossary( rGlossary, rStr, aPam, 0 );
// es wurde in der CORE eine neu angelegt (OLE-Objekte kopiert!)
+ aDocShellRef = pCDoc->GetTmpDocShell();
if( aDocShellRef.Is() )
SwTransferable::InitOle( aDocShellRef, *pCDoc );
- pCDoc->SetRefForDocShell( 0 );
+ pCDoc->SetTmpDocShell( (SfxObjectShell*)NULL );
eBufferType = TRNSFR_DOCUMENT;
diff --git a/sw/source/ui/inc/pview.hxx b/sw/source/ui/inc/pview.hxx
index a500610139d7..35146bcc1ae0 100644
--- a/sw/source/ui/inc/pview.hxx
+++ b/sw/source/ui/inc/pview.hxx
@@ -223,7 +223,6 @@ class SW_DLLPUBLIC SwPagePreView: public SfxViewShell
SW_DLLPRIVATE virtual sal_uInt16 SetPrinter( SfxPrinter *pNewPrinter, sal_uInt16 nDiffFlags = SFX_PRINTER_ALL, bool bIsAPI=false );
SW_DLLPRIVATE virtual SfxTabPage* CreatePrintOptionsPage( Window *pParent,
const SfxItemSet &rOptions );
- SW_DLLPRIVATE virtual PrintDialog* CreatePrintDialog( Window *pParent );
SW_DLLPRIVATE void CalcAndSetBorderPixel( SvBorder &rToFill, sal_Bool bInner );
diff --git a/sw/source/ui/inc/swdtflvr.hxx b/sw/source/ui/inc/swdtflvr.hxx
index 2206802fb05a..25a0871c9944 100644
--- a/sw/source/ui/inc/swdtflvr.hxx
+++ b/sw/source/ui/inc/swdtflvr.hxx
@@ -65,7 +65,7 @@ namespace nsTransferBufferType
class SwTransferable : public TransferableHelper
{
friend class SwView_Impl;
- SfxObjectShellRef aDocShellRef;
+ SfxObjectShellLock aDocShellRef;
TransferableDataHelper aOleData;
TransferableObjectDescriptor aObjDesc;
::sfx2::SvBaseLinkRef refDdeLink;
diff --git a/sw/source/ui/inc/uitool.hxx b/sw/source/ui/inc/uitool.hxx
index 3b2672e1063a..07d9054438c7 100644
--- a/sw/source/ui/inc/uitool.hxx
+++ b/sw/source/ui/inc/uitool.hxx
@@ -27,7 +27,7 @@
#ifndef _UITOOL_HXX
#define _UITOOL_HXX
-#include <vcl/wintypes.hxx>
+#include <tools/wintypes.hxx>
#include <vcl/field.hxx>
#include <swtypes.hxx>
#include "swdllapi.h"
diff --git a/sw/source/ui/inc/uivwimp.hxx b/sw/source/ui/inc/uivwimp.hxx
index 9c35c26c2002..1e68678cdb72 100644
--- a/sw/source/ui/inc/uivwimp.hxx
+++ b/sw/source/ui/inc/uivwimp.hxx
@@ -111,8 +111,7 @@ class SwView_Impl
// temporary document for printing text of selection / multi selection
// in PDF export.
- SfxObjectShellRef xTmpSelDocSh;
- SfxObjectShellRef aEmbeddedObjRef;
+ SfxObjectShellLock xTmpSelDocSh;
SwView* pView;
SwScannerEventListener* pScanEvtLstnr;
@@ -148,9 +147,7 @@ public:
void AddClipboardListener();
- SfxObjectShellRef & GetTmpSelectionDoc() { return xTmpSelDocSh; }
-
- SfxObjectShellRef& GetEmbeddedObjRef() { return *boost::addressof(aEmbeddedObjRef); }
+ SfxObjectShellLock& GetTmpSelectionDoc() { return xTmpSelDocSh; }
void AddTransferable(SwTransferable& rTransferable);
diff --git a/sw/source/ui/inc/unotxvw.hxx b/sw/source/ui/inc/unotxvw.hxx
index be3c0a993d8f..8a0d2b2662af 100644
--- a/sw/source/ui/inc/unotxvw.hxx
+++ b/sw/source/ui/inc/unotxvw.hxx
@@ -156,7 +156,7 @@ public:
void Invalidate();
// temporary document used for PDF export of selections/multi-selections
- SfxObjectShellRef BuildTmpSelectionDoc();
+ SfxObjectShellLock BuildTmpSelectionDoc();
};
/* -----------------17.09.98 12:52-------------------
diff --git a/sw/source/ui/inc/usrpref.hxx b/sw/source/ui/inc/usrpref.hxx
index e001abe24d85..d9abd8193c2b 100644
--- a/sw/source/ui/inc/usrpref.hxx
+++ b/sw/source/ui/inc/usrpref.hxx
@@ -32,7 +32,7 @@
#include <unotools/configitem.hxx>
#include <fldupde.hxx>
#include "viewopt.hxx"
-#include <vcl/fldunit.hxx>
+#include <tools/fldunit.hxx>
/* -----------------------------28.09.00 09:45--------------------------------
diff --git a/sw/source/ui/inc/view.hxx b/sw/source/ui/inc/view.hxx
index 720a54d4b251..2516c3e6c011 100644
--- a/sw/source/ui/inc/view.hxx
+++ b/sw/source/ui/inc/view.hxx
@@ -32,7 +32,7 @@
#include <svtools/htmlcfg.hxx>
#include <sfx2/viewfac.hxx>
#include <sfx2/viewsh.hxx>
-#include <sfx2/objsh.hxx> // SfxObjectShellRef <-> SV_DECL_REF(SfxObjectShell)
+#include <sfx2/objsh.hxx>
#include <editeng/svxenum.hxx>
#include <svx/zoomitem.hxx>
#include <editeng/editstat.hxx>
@@ -57,7 +57,6 @@ class SvxRuler;
class SvxLRSpaceItem;
class SwDocShell;
class SwScrollbar;
-class PrintDialog;
class SvxVCBrowser;
class SvBorder;
class Ruler;
@@ -354,8 +353,7 @@ class SW_DLLPUBLIC SwView: public SfxViewShell
{ bCenterCrsr = bOn; bAllwaysShowSel = bOn; }
// Methoden fuers Printing
- SW_DLLPRIVATE virtual SfxPrinter* GetPrinter( sal_Bool bCreate = sal_False );
- SW_DLLPRIVATE virtual PrintDialog* CreatePrintDialog( Window* pParent );
+ SW_DLLPRIVATE virtual SfxPrinter* GetPrinter( sal_Bool bCreate = FALSE );
SfxTabPage* CreatePrintOptionsPage( Window* pParent,
const SfxItemSet& rSet);
// fuer Readonly-Umschaltung
@@ -643,8 +641,8 @@ public:
void NotifyDBChanged();
- SfxObjectShellRef & GetTmpSelectionDoc();
- SfxObjectShellRef & GetOrCreateTmpSelectionDoc();
+ SfxObjectShellLock & GetTmpSelectionDoc();
+ SfxObjectShellLock & GetOrCreateTmpSelectionDoc();
void AddTransferable(SwTransferable& rTransferable);
diff --git a/sw/source/ui/uiview/pview.cxx b/sw/source/ui/uiview/pview.cxx
index 4dd3e50ce27b..b69f2edca327 100644
--- a/sw/source/ui/uiview/pview.cxx
+++ b/sw/source/ui/uiview/pview.cxx
@@ -35,7 +35,6 @@
#include <vcl/help.hxx>
#include <vcl/cmdevt.hxx>
#include <vcl/button.hxx>
-#include <svtools/printdlg.hxx>
#include <svl/whiter.hxx>
#include <svl/stritem.hxx>
#include <svl/eitem.hxx>
@@ -1985,18 +1984,6 @@ SfxTabPage* SwPagePreView::CreatePrintOptionsPage( Window *pParent,
--------------------------------------------------------------------*/
-PrintDialog* SwPagePreView::CreatePrintDialog( Window *pParent )
-{
- PrintDialog *pDlg = ::CreatePrintDialog( pParent, 1, 0 );
- pDlg->DisableRange( PRINTDIALOG_SELECTION );
- return pDlg;
-}
-
-/*--------------------------------------------------------------------
- Beschreibung:
- --------------------------------------------------------------------*/
-
-
// OD 18.12.2002 #103492# - no longer needed ??
Size SwPagePreView::GetOptimalSizePixel() const
{
diff --git a/sw/source/ui/uiview/view.cxx b/sw/source/ui/uiview/view.cxx
index 39446bfb743d..e53f7317e318 100644
--- a/sw/source/ui/uiview/view.cxx
+++ b/sw/source/ui/uiview/view.cxx
@@ -39,7 +39,6 @@
#include <svl/eitem.hxx>
#include <unotools/undoopt.hxx>
#include <unotools/lingucfg.hxx>
-#include <svtools/printdlg.hxx>
#include <unotools/useroptions.hxx>
#include <sfx2/dispatch.hxx>
#include <sfx2/request.hxx>
@@ -183,7 +182,7 @@ void SwView::ImpSetVerb( int nSelType )
}
if ( bResetVerbs )
{
- SetVerbs( 0 );
+ SetVerbs( Sequence< embed::VerbDescriptor >() );
bVerbsActive = sal_False;
}
}
@@ -1898,16 +1897,16 @@ void SwView::NotifyDBChanged()
/* -----------------------------28.10.02 13:25--------------------------------
---------------------------------------------------------------------------*/
-SfxObjectShellRef & SwView::GetTmpSelectionDoc()
+SfxObjectShellLock & SwView::GetTmpSelectionDoc()
{
return GetViewImpl()->GetTmpSelectionDoc();
}
/* -----------------------------31.10.02 13:25--------------------------------
---------------------------------------------------------------------------*/
-SfxObjectShellRef & SwView::GetOrCreateTmpSelectionDoc()
+SfxObjectShellLock & SwView::GetOrCreateTmpSelectionDoc()
{
- SfxObjectShellRef &rxTmpDoc = GetViewImpl()->GetTmpSelectionDoc();
+ SfxObjectShellLock &rxTmpDoc = GetViewImpl()->GetTmpSelectionDoc();
if (!rxTmpDoc.Is())
{
SwXTextView *pImpl = GetViewImpl()->GetUNOObject_Impl();
diff --git a/sw/source/ui/uiview/view2.cxx b/sw/source/ui/uiview/view2.cxx
index 640a27532949..cd79109f5723 100644
--- a/sw/source/ui/uiview/view2.cxx
+++ b/sw/source/ui/uiview/view2.cxx
@@ -2142,14 +2142,15 @@ long SwView::InsertMedium( sal_uInt16 nSlotId, SfxMedium* pMedium, sal_Int16 nVe
else
{
SfxObjectShellRef xDocSh;
+ SfxObjectShellLock xLockRef;
-extern int lcl_FindDocShell( SfxObjectShellRef& xDocSh,
+extern int lcl_FindDocShell( SfxObjectShellRef& xDocSh, SfxObjectShellLock& xLockRef,
const String& rFileName, const String& rPasswd,
String& rFilter, sal_Int16 nVersion,
SwDocShell* pDestSh );
String sFltNm;
- int nRet = lcl_FindDocShell( xDocSh, pMedium->GetName(), aEmptyStr,
+ int nRet = lcl_FindDocShell( xDocSh, xLockRef, pMedium->GetName(), aEmptyStr,
sFltNm, nVersion, pDocSh );
if( nRet )
{
diff --git a/sw/source/ui/uiview/viewfunc.hxx b/sw/source/ui/uiview/viewfunc.hxx
index 2dbe1aee0fb6..2ac704db114f 100644
--- a/sw/source/ui/uiview/viewfunc.hxx
+++ b/sw/source/ui/uiview/viewfunc.hxx
@@ -30,7 +30,6 @@
class ImageButton;
class Point;
-class PrintDialog;
class SfxItemSet;
class SfxPrinter;
class SfxTabPage;
@@ -42,7 +41,6 @@ class Window;
class SwWrtShell;
// folgende Funktionen stehen im viewprt.cxx
-PrintDialog* CreatePrintDialog( Window* , sal_uInt16, SwWrtShell* );
void SetPrinter( IDocumentDeviceAccess*, SfxPrinter*, sal_Bool bWeb );
SfxTabPage* CreatePrintOptionsPage( Window*, const SfxItemSet& );
void SetAppPrintOptions( ViewShell* pSh, sal_Bool bWeb );
diff --git a/sw/source/ui/uiview/viewprt.cxx b/sw/source/ui/uiview/viewprt.cxx
index c463e3841072..f830806ee165 100644
--- a/sw/source/ui/uiview/viewprt.cxx
+++ b/sw/source/ui/uiview/viewprt.cxx
@@ -49,7 +49,6 @@
#include <svl/flagitem.hxx>
#include <vcl/msgbox.hxx>
#include <vcl/oldprintadaptor.hxx>
-#include <svtools/printdlg.hxx>
#include <sfx2/printer.hxx>
#include <sfx2/prnmon.hxx>
#include <editeng/paperinf.hxx>
@@ -183,42 +182,6 @@ SfxTabPage* __EXPORT SwView::CreatePrintOptionsPage(Window* pParent,
}
/*--------------------------------------------------------------------
- Beschreibung: Druckerdialog
- --------------------------------------------------------------------*/
-
-PrintDialog* CreatePrintDialog( Window* pParent, sal_uInt16 nPg, SwWrtShell* pSh )
-{
- PrintDialog *pDlg = new PrintDialog( pParent, false );
-// pDlg->ChangeFirstPage( 1 );
-
- if ( !nPg )
- nPg = 1;
-// pDlg->ChangeLastPage( nPg );
-// pDlg->ChangeMaxPage( 9999 );
- pDlg->EnableRange( PRINTDIALOG_FROMTO );
-
- if (pSh && (pSh->IsSelection() || pSh->IsFrmSelected() || pSh->IsObjSelected()))
- pDlg->EnableRange( PRINTDIALOG_SELECTION );
-
- pDlg->SetRangeText( String::CreateFromInt32(nPg) );
- pDlg->EnableRange( PRINTDIALOG_RANGE );
- pDlg->EnableCollate();
- return pDlg;
-}
-
-/*--------------------------------------------------------------------
- Beschreibung:
- --------------------------------------------------------------------*/
-
-PrintDialog* __EXPORT SwView::CreatePrintDialog( Window* pParent )
-{
- // AMA: Hier sollte vielleicht die virtuelle Seitennummer angezeigt werden,
- // aber nur, wenn das Drucken virtuelle Seitennummern und nicht wie
- // bisher (auch beim SWG 2.0) physikalische beachtet werden.
- return ::CreatePrintDialog( pParent, GetWrtShell().GetPhyPageNum(), &GetWrtShell() );
-}
-
-/*--------------------------------------------------------------------
Beschreibung: Print-Dispatcher
--------------------------------------------------------------------*/
diff --git a/sw/source/ui/uno/unomailmerge.cxx b/sw/source/ui/uno/unomailmerge.cxx
index 0051d98324a7..2cfc6785b963 100644
--- a/sw/source/ui/uno/unomailmerge.cxx
+++ b/sw/source/ui/uno/unomailmerge.cxx
@@ -201,6 +201,7 @@ static sal_Bool LoadFromURL_impl(
}
else
{
+ // SfxObjectShellRef is ok here, since the document will be explicitly closed
SfxObjectShellRef xTmpDocSh = pTmpDocShell;
CloseModelAndDocSh( xTmpModel, xTmpDocSh );
}
diff --git a/sw/source/ui/uno/unotxdoc.cxx b/sw/source/ui/uno/unotxdoc.cxx
index 549988b106a3..cc59ae786cdb 100644
--- a/sw/source/ui/uno/unotxdoc.cxx
+++ b/sw/source/ui/uno/unotxdoc.cxx
@@ -2591,7 +2591,7 @@ SwDoc * SwXTextDocument::GetRenderDoc(
const TypeId aSwViewTypeId = TYPE(SwView);
if (rpView && rpView->IsA(aSwViewTypeId))
{
- SfxObjectShellRef xDocSh(((SwView*)rpView)->GetOrCreateTmpSelectionDoc());
+ SfxObjectShellLock xDocSh(((SwView*)rpView)->GetOrCreateTmpSelectionDoc());
if (xDocSh.Is())
{
pDoc = ((SwDocShell*)&xDocSh)->GetDoc();
@@ -3170,8 +3170,12 @@ uno::Reference< util::XCloneable > SwXTextDocument::createClone( ) throw (uno::
::vos::OGuard aGuard(Application::GetSolarMutex());
if(!IsValid())
throw RuntimeException();
- //create a new document - hidden - copy the storage and return it
- SfxObjectShell* pShell = pDocShell->GetDoc()->CreateCopy(false);
+
+ // create a new document - hidden - copy the storage and return it
+ // SfxObjectShellRef is used here, since the model should control object lifetime after creation
+ // and thus SfxObjectShellLock is not allowed here
+ // the model holds reference to the shell, so the shell will not destructed at the end of method
+ SfxObjectShellRef pShell = pDocShell->GetDoc()->CreateCopy(false);
uno::Reference< frame::XModel > xNewModel = pShell->GetModel();
uno::Reference< embed::XStorage > xNewStorage = ::comphelper::OStorageHelper::GetTemporaryStorage( );
uno::Sequence< beans::PropertyValue > aTempMediaDescriptor;
diff --git a/sw/source/ui/uno/unotxvw.cxx b/sw/source/ui/uno/unotxvw.cxx
index 5e977275dfd8..788fd4cce9cb 100644
--- a/sw/source/ui/uno/unotxvw.cxx
+++ b/sw/source/ui/uno/unotxvw.cxx
@@ -903,12 +903,12 @@ void SAL_CALL SwXTextView::setRubyList(
/*-- 29.12.02 15:45:29---------------------------------------------------
-----------------------------------------------------------------------*/
-SfxObjectShellRef SwXTextView::BuildTmpSelectionDoc()
+SfxObjectShellLock SwXTextView::BuildTmpSelectionDoc()
{
SwWrtShell& rOldSh = m_pView->GetWrtShell();
SfxPrinter *pPrt = rOldSh.getIDocumentDeviceAccess()->getPrinter( false );
SwDocShell* pDocSh;
- SfxObjectShellRef xDocSh( pDocSh = new SwDocShell( /*pPrtDoc, */SFX_CREATE_MODE_STANDARD ) );
+ SfxObjectShellLock xDocSh( pDocSh = new SwDocShell( /*pPrtDoc, */SFX_CREATE_MODE_STANDARD ) );
xDocSh->DoInitNew( 0 );
SwDoc *const pTempDoc( pDocSh->GetDoc() );
// #i103634#, #i112425#: do not expand numbering and fields on PDF export
diff --git a/sw/source/ui/wrtsh/wrtsh1.cxx b/sw/source/ui/wrtsh/wrtsh1.cxx
index 701bdc3d7e79..674332335ca2 100644
--- a/sw/source/ui/wrtsh/wrtsh1.cxx
+++ b/sw/source/ui/wrtsh/wrtsh1.cxx
@@ -35,6 +35,7 @@
#include <com/sun/star/beans/XPropertySet.hpp>
#include <com/sun/star/embed/NoVisualAreaSizeException.hpp>
#include <com/sun/star/chart2/XChartDocument.hpp>
+#include <com/sun/star/util/XModifiable.hpp>
#if STLPORT_VERSION>=321
#include <math.h> // prevent conflict between exception and std::exception
@@ -604,6 +605,31 @@ sal_Bool SwWrtShell::InsertOleObject( const svt::EmbeddedObjectRef& xRef, SwFlyF
if (pFlyFrmFmt)
*pFlyFrmFmt = pFmt;
+ if ( SotExchange::IsChart( aCLSID ) )
+ {
+ uno::Reference< embed::XEmbeddedObject > xEmbeddedObj( xRef.GetObject(), uno::UNO_QUERY );
+ if ( xEmbeddedObj.is() )
+ {
+ bool bDisableDataTableDialog = false;
+ svt::EmbeddedObjectRef::TryRunningState( xEmbeddedObj );
+ uno::Reference< beans::XPropertySet > xProps( xEmbeddedObj->getComponent(), uno::UNO_QUERY );
+ if ( xProps.is() &&
+ ( xProps->getPropertyValue( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "DisableDataTableDialog" ) ) ) >>= bDisableDataTableDialog ) &&
+ bDisableDataTableDialog )
+ {
+ xProps->setPropertyValue( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "DisableDataTableDialog" ) ),
+ uno::makeAny( sal_False ) );
+ xProps->setPropertyValue( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "DisableComplexChartTypes" ) ),
+ uno::makeAny( sal_False ) );
+ uno::Reference< util::XModifiable > xModifiable( xProps, uno::UNO_QUERY );
+ if ( xModifiable.is() )
+ {
+ xModifiable->setModified( sal_True );
+ }
+ }
+ }
+ }
+
EndAllAction();
GetView().AutoCaption(OLE_CAP, &aCLSID);