diff options
author | Cédric Bosdonnat <cedric.bosdonnat@free.fr> | 2012-12-03 10:30:57 +0100 |
---|---|---|
committer | Cédric Bosdonnat <cedric.bosdonnat@free.fr> | 2012-12-03 10:37:15 +0100 |
commit | 3a5f4018d85d20d0a8ddcf8c3ab6792be239a4ab (patch) | |
tree | f4f3c13bc1af4a59832a98dd3601610758c1f539 /sfx2 | |
parent | Upload libvisio-0.0.23, fixing regression fdo#48601 (diff) | |
download | core-3a5f4018d85d20d0a8ddcf8c3ab6792be239a4ab.tar.gz core-3a5f4018d85d20d0a8ddcf8c3ab6792be239a4ab.zip |
New template manager out of experimental features
Change-Id: Ieb6b590060b1ca7a497049e974909c9661f1cc14
Diffstat (limited to 'sfx2')
-rw-r--r-- | sfx2/source/appl/appopen.cxx | 37 | ||||
-rw-r--r-- | sfx2/source/doc/objserv.cxx | 89 |
2 files changed, 12 insertions, 114 deletions
diff --git a/sfx2/source/appl/appopen.cxx b/sfx2/source/appl/appopen.cxx index e7c0f6da1e62..6e11151071ae 100644 --- a/sfx2/source/appl/appopen.cxx +++ b/sfx2/source/appl/appopen.cxx @@ -566,37 +566,16 @@ void SfxApplication::NewDocExec_Impl( SfxRequest& rReq ) sal_Bool bNewWin = sal_False; Window* pTopWin = GetTopWindow(); - SvtMiscOptions aMiscOptions; - if ( !aMiscOptions.IsExperimentalMode() ) + SfxTemplateManagerDlg aTemplDlg(NULL); + int nRet = aTemplDlg.Execute(); + if ( nRet == RET_OK ) { - SvtDocumentTemplateDialog* pDocTemplDlg = new SvtDocumentTemplateDialog( NULL ); - int nRet = pDocTemplDlg->Execute(); - if ( nRet == RET_OK ) + rReq.Done(); + if ( pTopWin != GetTopWindow() ) { - rReq.Done(); - if ( pTopWin != GetTopWindow() ) - { - // the dialogue opens a document -> a new TopWindow appears - pTopWin = GetTopWindow(); - bNewWin = sal_True; - } - } - - delete pDocTemplDlg; - } - else - { - SfxTemplateManagerDlg aTemplDlg(NULL); - int nRet = aTemplDlg.Execute(); - if ( nRet == RET_OK ) - { - rReq.Done(); - if ( pTopWin != GetTopWindow() ) - { - // the dialogue opens a document -> a new TopWindow appears - pTopWin = GetTopWindow(); - bNewWin = sal_True; - } + // the dialogue opens a document -> a new TopWindow appears + pTopWin = GetTopWindow(); + bNewWin = sal_True; } } diff --git a/sfx2/source/doc/objserv.cxx b/sfx2/source/doc/objserv.cxx index 61bb81a42ba3..722c00fb42b4 100644 --- a/sfx2/source/doc/objserv.cxx +++ b/sfx2/source/doc/objserv.cxx @@ -863,91 +863,10 @@ void SfxObjectShell::ExecFile_Impl(SfxRequest &rReq) case SID_DOCTEMPLATE: { // save as document templates - SvtMiscOptions aMiscOptions; - if ( aMiscOptions.IsExperimentalMode() ) - { - SfxTemplateManagerDlg aDlg(NULL); - aDlg.setDocumentModel(GetModel()); - aDlg.setSaveMode(true); - aDlg.Execute(); - } - else - { - SfxDocumentTemplateDlg *pDlg = 0; - SfxErrorContext aEc(ERRCTX_SFX_DOCTEMPLATE,GetTitle()); - SfxDocumentTemplates *pTemplates = new SfxDocumentTemplates; - - if ( !rReq.GetArgs() ) - { - pDlg = new SfxDocumentTemplateDlg(0, pTemplates); - if ( RET_OK == pDlg->Execute() && pDlg->GetTemplateName().Len()) - { - rReq.AppendItem(SfxStringItem( - SID_TEMPLATE_NAME, pDlg->GetTemplateName())); - rReq.AppendItem(SfxStringItem( - SID_TEMPLATE_REGIONNAME, pDlg->GetRegionName())); - } - else - { - delete pDlg; - rReq.Ignore(); - return; - } - } - - SFX_REQUEST_ARG(rReq, pRegionItem, SfxStringItem, SID_TEMPLATE_REGIONNAME, sal_False); - SFX_REQUEST_ARG(rReq, pNameItem, SfxStringItem, SID_TEMPLATE_NAME, sal_False); - SFX_REQUEST_ARG(rReq, pRegionNrItem, SfxUInt16Item, SID_TEMPLATE_REGION, sal_False); - if ( (!pRegionItem && !pRegionNrItem ) || !pNameItem ) - { - DBG_ASSERT( rReq.IsAPI(), "non-API call without Arguments" ); - #ifndef DISABLE_SCRIPTING - SbxBase::SetError( SbxERR_WRONG_ARGS ); - #endif - rReq.Ignore(); - return; - } - - ::rtl::OUString aTemplateName = pNameItem->GetValue(); - ::rtl::OUString aTemplateGroup; - if ( pRegionItem ) - aTemplateGroup = pRegionItem->GetValue(); - else - // pRegionNrItem must not be NULL, it was just checked - aTemplateGroup = pTemplates->GetFullRegionName( pRegionNrItem->GetValue() ); - // check Group and Name - delete pTemplates; - - sal_Bool bOk = sal_False; - try - { - uno::Reference< frame::XStorable > xStorable( GetModel(), uno::UNO_QUERY_THROW ); - uno::Reference< frame::XDocumentTemplates > xTemplates( - frame::DocumentTemplates::create(comphelper::getProcessComponentContext()) ); - - bOk = xTemplates->storeTemplate( aTemplateGroup, aTemplateName, xStorable ); - } - catch( uno::Exception& ) - { - } - - DELETEX(pDlg); - - rReq.SetReturnValue( SfxBoolItem( 0, bOk ) ); - if ( bOk ) - { - // update the Organizer runtime cache from the template - // component if the cache has already been created - // TODO/LATER: get rid of this cache duplication - SfxDocumentTemplates aTemplates; - aTemplates.ReInitFromComponent(); - } - else - { - ErrorHandler::HandleError( ERRCODE_IO_GENERAL ); - return; - } - } + SfxTemplateManagerDlg aDlg(NULL); + aDlg.setDocumentModel(GetModel()); + aDlg.setSaveMode(true); + aDlg.Execute(); break; } |