From 64cdf8072a79491903c5d1b107c6486b33da04d3 Mon Sep 17 00:00:00 2001 From: Radek Doulik Date: Fri, 22 Feb 2013 12:03:54 +0100 Subject: added EmbedFonts property, added File/Properties/Font tab Change-Id: Id2a812c4b5347e2851149a1bd46eaec4b40d0f12 --- sd/inc/drawdoc.hxx | 5 +++++ sd/source/core/drawdoc.cxx | 1 + sd/source/ui/docshell/docshel4.cxx | 13 +++++++++++++ sd/source/ui/inc/DrawDocShell.hxx | 2 ++ sd/source/ui/unoidl/UnoDocumentSettings.cxx | 21 ++++++++++++++++++++- 5 files changed, 41 insertions(+), 1 deletion(-) (limited to 'sd') diff --git a/sd/inc/drawdoc.hxx b/sd/inc/drawdoc.hxx index 2ab95ab67716..56bab28c8b23 100644 --- a/sd/inc/drawdoc.hxx +++ b/sd/inc/drawdoc.hxx @@ -188,6 +188,8 @@ private: std::vector< rtl::OUString > maAnnotationAuthors; + bool mbUseEmbedFonts; + protected: virtual ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > createUnoModel(); @@ -557,6 +559,9 @@ public: sal_uInt16 GetAnnotationAuthorIndex( const rtl::OUString& rAuthor ); + bool IsUsingEmbededFonts() { return mbUseEmbedFonts; } + void SetIsUsingEmbededFonts( bool bUse ) { mbUseEmbedFonts = bUse; } + private: /** This member stores the printer independent layout mode. Please refer to SetPrinterIndependentLayout() for its diff --git a/sd/source/core/drawdoc.cxx b/sd/source/core/drawdoc.cxx index 18a04bdd45fd..5b7d3e4aa2bf 100644 --- a/sd/source/core/drawdoc.cxx +++ b/sd/source/core/drawdoc.cxx @@ -163,6 +163,7 @@ SdDrawDocument::SdDrawDocument(DocumentType eType, SfxObjectShell* pDrDocSh) , mpLocale(NULL) , mpDrawPageListWatcher(0) , mpMasterPageListWatcher(0) +, mbUseEmbedFonts(false) { mpDrawPageListWatcher = ::std::auto_ptr( new ImpDrawPageListWatcher(*this)); diff --git a/sd/source/ui/docshell/docshel4.cxx b/sd/source/ui/docshell/docshel4.cxx index 936e86ed79fb..195ca1c72de3 100644 --- a/sd/source/ui/docshell/docshel4.cxx +++ b/sd/source/ui/docshell/docshel4.cxx @@ -29,6 +29,7 @@ #include #include #include +#include #include #include #include @@ -997,6 +998,18 @@ void DrawDocShell::OpenBookmark( const String& rBookmarkURL ) ( mpViewShell ? mpViewShell->GetViewFrame() : SfxViewFrame::Current() )->GetBindings().Execute( SID_OPENHYPERLINK, ppArgs ); } +SfxDocumentInfoDialog* DrawDocShell::CreateDocumentInfoDialog( ::Window *pParent, const SfxItemSet &rSet ) +{ + SfxDocumentInfoDialog* pDlg = new SfxDocumentInfoDialog( pParent, rSet ); + DrawDocShell* pDocSh = PTR_CAST(DrawDocShell,SfxObjectShell::Current()); + + if( pDocSh == this ) + { + pDlg->AddFontTabPage(); + } + return pDlg; +} + } // end of namespace sd /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sd/source/ui/inc/DrawDocShell.hxx b/sd/source/ui/inc/DrawDocShell.hxx index bcf7d4a8c4b1..eb75a3c48cba 100644 --- a/sd/source/ui/inc/DrawDocShell.hxx +++ b/sd/source/ui/inc/DrawDocShell.hxx @@ -98,6 +98,8 @@ public: virtual Size GetFirstPageSize(); virtual void FillClass(SvGlobalName* pClassName, sal_uInt32* pFormat, String* pAppName, String* pFullTypeName, String* pShortTypeName, sal_Int32 nFileFormat, sal_Bool bTemplate = sal_False ) const; virtual void SetModified( sal_Bool = sal_True ); + virtual SfxDocumentInfoDialog* CreateDocumentInfoDialog( ::Window *pParent, + const SfxItemSet &rSet ); using SotObject::GetInterface; using SfxObjectShell::GetVisArea; diff --git a/sd/source/ui/unoidl/UnoDocumentSettings.cxx b/sd/source/ui/unoidl/UnoDocumentSettings.cxx index c83a3f88ffa3..7c3ba8439b7d 100644 --- a/sd/source/ui/unoidl/UnoDocumentSettings.cxx +++ b/sd/source/ui/unoidl/UnoDocumentSettings.cxx @@ -141,7 +141,7 @@ enum SdDocumentSettingsPropertyHandles HANDLE_PRINTER_INDEPENDENT_LAYOUT // #i33095# ,HANDLE_LOAD_READONLY, HANDLE_SAVE_VERSION - ,HANDLE_SLIDESPERHANDOUT, HANDLE_HANDOUTHORIZONTAL + ,HANDLE_SLIDESPERHANDOUT, HANDLE_HANDOUTHORIZONTAL, HANDLE_EMBED_FONTS }; #define MID_PRINTER 1 @@ -202,6 +202,7 @@ enum SdDocumentSettingsPropertyHandles // --> #i33095# { MAP_LEN("LoadReadonly"), HANDLE_LOAD_READONLY, &::getBooleanCppuType(), 0, 0 }, { MAP_LEN("SaveVersionOnClose"), HANDLE_SAVE_VERSION, &::getBooleanCppuType(), 0, 0 }, + { MAP_LEN("EmbedFonts"), HANDLE_EMBED_FONTS, &::getBooleanCppuType(), 0, 0 }, { NULL, 0, 0, NULL, 0, 0 } }; @@ -902,6 +903,18 @@ void DocumentSettings::_setPropertyValues( const PropertyMapEntry** ppEntries, c } break; + case HANDLE_EMBED_FONTS: + { + sal_Bool bNewValue = sal_False; + if ( *pValues >>= bNewValue ) + { + bChanged = ( pDoc->IsUsingEmbededFonts() != bNewValue ); + pDoc->SetIsUsingEmbededFonts( bNewValue ); + bOk = true; + } + } + break; + default: throw UnknownPropertyException(); } @@ -1129,6 +1142,12 @@ void DocumentSettings::_getPropertyValues( const PropertyMapEntry** ppEntries, A } break; + case HANDLE_EMBED_FONTS: + { + *pValue <<= pDoc->IsUsingEmbededFonts(); + } + break; + default: throw UnknownPropertyException(); } -- cgit