diff options
author | Mathias Bauer <mba@openoffice.org> | 2010-01-13 22:25:07 +0100 |
---|---|---|
committer | Mathias Bauer <mba@openoffice.org> | 2010-01-13 22:25:07 +0100 |
commit | dd2fff67ae5c59de36a36480b9f6968122077706 (patch) | |
tree | adceabf2ef0de90733956542606d8dc5de579bfa /svx | |
parent | 7572bc9673bafdd5cdeb5a3df067529897f3364d (diff) |
#i107450#: move more code out of svx
Diffstat (limited to 'svx')
27 files changed, 31 insertions, 2051 deletions
diff --git a/svx/inc/linkmgr.hxx b/svx/inc/linkmgr.hxx deleted file mode 100644 index b65c91ce7ebd..000000000000 --- a/svx/inc/linkmgr.hxx +++ /dev/null @@ -1,101 +0,0 @@ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2008 by Sun Microsystems, Inc. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * $RCSfile: linkmgr.hxx,v $ - * $Revision: 1.7 $ - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ -#ifndef _SVXLINKMGR_HXX -#define _SVXLINKMGR_HXX - - -#include <sfx2/linkmgr.hxx> -#include "svx/svxdllapi.h" - -class Graphic; -class Size; - -// Damit der Link ueber den Status der zu ladenen Grafik informierten werden -// verschickt das FileObject ein SvData, mit der FormatId -// "RegisterStatusInfoId" und ein einem String als Datentraeger. Dieser -// enthaelt den folgenden enum. -enum LinkState -{ - STATE_LOAD_OK, - STATE_LOAD_ERROR, - STATE_LOAD_ABORT -}; - -class SVX_DLLPUBLIC SvxLinkManager : public ::sfx2::SvLinkManager -{ - SvxLinkManager( const SvxLinkManager& ); - SvxLinkManager& operator=( const SvxLinkManager& ); - -public: - SvxLinkManager( SfxObjectShell * pCacheCont ); - - // den Link mit einem PseudoObject verbinden und in die Liste eintragen - BOOL InsertFileLink( sfx2::SvBaseLink&, - USHORT nFileType, - const String& rTxt, - const String* pFilterNm = 0, - const String* pRange = 0 ); - - // falls am Link schon alles eingestellt ist ! - BOOL InsertFileLink( sfx2::SvBaseLink& ); - - // erfrage die Strings fuer den Dialog - virtual BOOL GetDisplayNames( const sfx2::SvBaseLink*, - String* pType, - String* pFile = 0, - String* pLink = 0, - String* pFilter = 0 ) const; - - virtual sfx2::SvLinkSourceRef CreateObj( sfx2::SvBaseLink * ); - - // eine Uebertragung wird abgebrochen, also alle DownloadMedien canceln - // (ist zur Zeit nur fuer die FileLinks interressant!) - void CancelTransfers(); - - static void SetTransferPriority( sfx2::SvBaseLink& rLink, USHORT nPrio ); - - // um Status Informationen aus dem FileObject an den BaseLink zu - // senden, gibt es eine eigene ClipBoardId. Das SvData-Object hat - // dann die entsprechenden Informationen als String. - // Wird zur Zeit fuer FileObject in Verbindung mit JavaScript benoetigt - // - das braucht Informationen ueber Load/Abort/Error - static ULONG RegisterStatusInfoId(); - - // if the mimetype says graphic/bitmap/gdimetafile then get the - // graphic from the Any. Return says no errors - static BOOL GetGraphicFromAny( const String& rMimeType, - const ::com::sun::star::uno::Any & rValue, - Graphic& rGrf ); - -}; - - -#endif - diff --git a/svx/inc/opengrf.hxx b/svx/inc/opengrf.hxx deleted file mode 100644 index e32ce7d1b243..000000000000 --- a/svx/inc/opengrf.hxx +++ /dev/null @@ -1,74 +0,0 @@ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2008 by Sun Microsystems, Inc. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * $RCSfile: opengrf.hxx,v $ - * $Revision: 1.9 $ - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ -#ifndef _SVX_OPENGRF_HXX -#define _SVX_OPENGRF_HXX - -#include <memory> // auto_ptr -#include <svtools/filter.hxx> -#include "svx/svxdllapi.h" - - -struct SvxOpenGrf_Impl; - -class SVX_DLLPUBLIC SvxOpenGraphicDialog -{ -public: - SvxOpenGraphicDialog ( const String& rTitle ); - ~SvxOpenGraphicDialog (); - - short Execute(); - - void SetPath( const String& rPath ); - void SetPath( const String& rPath, sal_Bool bLinkState ); - String GetPath() const; - - int GetGraphic(Graphic&) const; - - void EnableLink(sal_Bool); - void AsLink(sal_Bool); - sal_Bool IsAsLink() const; - - String GetCurrentFilter() const; - void SetCurrentFilter(const String&); - - /// Set dialog help id at FileDlgHelper - void SetControlHelpIds( const INT16* _pControlId, const INT32* _pHelpId ); - /// Set control help ids at FileDlgHelper - void SetDialogHelpId( const INT32 _nHelpId ); -private: - // disable copy and assignment - SVX_DLLPRIVATE SvxOpenGraphicDialog (const SvxOpenGraphicDialog&); - SVX_DLLPRIVATE SvxOpenGraphicDialog& operator = ( const SvxOpenGraphicDialog & ); - - const std::auto_ptr< SvxOpenGrf_Impl > mpImpl; -}; - -#endif // _SVX_OPENGRF_HXX - diff --git a/svx/inc/optextbr.hrc b/svx/inc/optextbr.hrc deleted file mode 100644 index 9524ab69fbb1..000000000000 --- a/svx/inc/optextbr.hrc +++ /dev/null @@ -1,59 +0,0 @@ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2008 by Sun Microsystems, Inc. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * $RCSfile: optextbr.hrc,v $ - * $Revision: 1.4 $ - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ -#ifndef _SVX_OPTEXTBR_HRC -#define _SVX_OPTEXTBR_HRC - -// defines --------------------------------------------------------------- - -#define CB_EXTBRW_ON 10 -#define FT_EXTBRW_EXCEPTION 11 -#define ED_EXTBRW_EXCEPTION 12 -#define LB_EXTBRW_EXCEPTION 13 -#define PB_EXTBRW_ADD 14 -#define PB_EXTBRW_DELETE 15 -#define PB_EXTBRW_IEOPTIONS 16 -#define CB_EXTBRW_NOHINT 17 -#define ED_EXTBRW_FILE 18 -#define PB_EXTBRW_FILE 19 -#define CB_EXTBRW_FILE 20 - -#define STR_EXTBRW_FILE 30 - -#define IMG_EXTBRW_WARNING 10 -#define FT_EXTBRW_WARNING 11 -#define CB_EXTBRW_DISABLE 12 -#define GB_EXTBRW_WARNING 13 -#define BTN_EXTBRW_YES 14 -#define BTN_EXTBRW_NO 15 - -#endif // #ifndef _SVX_OPTEXTBR_HRC - -// ******************************************************************* EOF - diff --git a/svx/inc/svx/dialogs.hrc b/svx/inc/svx/dialogs.hrc index faaecd816758..7f8556931fec 100644 --- a/svx/inc/svx/dialogs.hrc +++ b/svx/inc/svx/dialogs.hrc @@ -460,13 +460,6 @@ #define RID_SVXSTR_RULER_TAB_DECIMAL (RID_SVX_START + 247) #define RID_SVXSTR_RULER_TAB_CENTER (RID_SVX_START + 248) -// File-/Grafik-Link String, Dialog Name -#define RID_SVXSTR_FILELINK (RID_SVX_START + 255) -#define RID_SVXSTR_GRAFIKLINK (RID_SVX_START + 256) -#define RID_SVXSTR_EDITGRFLINK (RID_SVX_START + 257) -#define RID_SVXSTR_GRFLINKPROGRESS (RID_SVX_START + 258) -#define RID_SVXGRF_GRAPHICLOAD (RID_SVX_START + 259) - // Schlie"ssen (im TabDialog Line/Area) #define RID_SVXSTR_CLOSE (RID_SVX_START + 260) @@ -734,14 +727,6 @@ #define RID_SVXSTR_HATCH_START RID_SVXSTR_HATCH0 #define RID_SVXSTR_HATCH_END RID_SVXSTR_HATCH10 -// strings for error messsages of OpenGraphics dialog -#define RID_SVXSTR_GRFILTER_OPENERROR (RID_SVX_START + 683) -#define RID_SVXSTR_GRFILTER_IOERROR (RID_SVX_START + 684) -#define RID_SVXSTR_GRFILTER_FORMATERROR (RID_SVX_START + 685) -#define RID_SVXSTR_GRFILTER_VERSIONERROR (RID_SVX_START + 686) -#define RID_SVXSTR_GRFILTER_FILTERERROR (RID_SVX_START + 687) -#define RID_SVXSTR_GRFILTER_TOOBIG (RID_SVX_START + 688) - // Default-Bitmap-Names #define RID_SVXSTR_BMP0_DEF (RID_SVX_START + 691) #define RID_SVXSTR_BMP1_DEF (RID_SVX_START + 692) diff --git a/svx/inc/svx/svdmodel.hxx b/svx/inc/svx/svdmodel.hxx index a9abeac76fc2..cc8c8c7db211 100644 --- a/svx/inc/svx/svdmodel.hxx +++ b/svx/inc/svx/svdmodel.hxx @@ -37,9 +37,7 @@ #include <tools/link.hxx> #include <tools/contnr.hxx> #include <tools/weakbase.hxx> -#ifndef _MAPMOD_HXX //autogen #include <vcl/mapmod.hxx> -#endif #include <svl/brdcst.hxx> #include <tools/string.hxx> #include <tools/datetime.hxx> @@ -86,7 +84,6 @@ class SfxRepeatTarget; class SfxStyleSheet; class SfxUndoAction; class SfxUndoManager; -class SvxLinkManager; class XBitmapList; class XBitmapTable; class XColorTable; @@ -107,6 +104,9 @@ class SdrUndoFactory; namespace comphelper{ class IEmbeddedHelper; } +namespace sfx2{ + class LinkManager; +} //////////////////////////////////////////////////////////////////////////////////////////////////// #define SDR_SWAPGRAPHICSMODE_NONE 0x00000000 @@ -215,7 +215,7 @@ protected: ULONG nProgressOfs; // -Handler rtl::Reference< SfxStyleSheetBasePool > mxStyleSheetPool; SfxStyleSheet* pDefaultStyleSheet; - SvxLinkManager* pLinkManager; // LinkManager + sfx2::LinkManager* pLinkManager; // LinkManager Container* pUndoStack; Container* pRedoStack; SdrUndoGroup* pAktUndoGroup; // Fuer mehrstufige @@ -403,8 +403,8 @@ public: SfxStyleSheet* GetDefaultStyleSheet() const { return pDefaultStyleSheet; } void SetDefaultStyleSheet(SfxStyleSheet* pDefSS) { pDefaultStyleSheet = pDefSS; } - SvxLinkManager* GetLinkManager() { return pLinkManager; } - void SetLinkManager(SvxLinkManager* pLinkMgr) { pLinkManager = pLinkMgr; } + sfx2::LinkManager* GetLinkManager() { return pLinkManager; } + void SetLinkManager( sfx2::LinkManager* pLinkMgr ) { pLinkManager = pLinkMgr; } ::comphelper::IEmbeddedHelper* GetPersist() const { return m_pEmbeddedHelper; } void ClearPersist() { m_pEmbeddedHelper = 0; } diff --git a/svx/prj/build.lst b/svx/prj/build.lst index 5e7b2b8f93d2..cdd466abbe17 100644 --- a/svx/prj/build.lst +++ b/svx/prj/build.lst @@ -22,11 +22,9 @@ sx svx\source\smarttags nmake - all sx_smarttags sx_inc NULL sx svx\source\stbctrls nmake - all sx_stbc sx_inc NULL sx svx\source\mnuctrls nmake - all sx_mnuc sx_inc NULL sx svx\source\engine3d nmake - all sx_3deng sx_inc NULL -sx svx\source\svxlink nmake - all sx_link sx_inc NULL sx svx\source\form nmake - all sx_form sx_sdi sx_inc NULL sx svx\source\fmcomp nmake - all sx_fmcmp sx_sdi sx_inc NULL sx svx\source\tbxctrls nmake - all sx_tbxc sx_inc NULL -sx svx\source\options nmake - all sx_opt sx_inc NULL sx svx\source\dialog nmake - all sx_dlg sx_inc NULL sx svx\source\unodraw nmake - all sx_undrw sx_inc NULL sx svx\source\unogallery nmake - all sx_ungal sx_inc NULL @@ -35,5 +33,5 @@ sx svx\source\xml nmake - all sx_xml sx_inc NULL sx svx\source\accessibility nmake - all sx_accessibility sx_inc NULL sx svx\source\customshapes nmake - all sx_customshapes sx_inc NULL sx svx\source\toolbars nmake - all sx_toolbars sx_inc NULL -sx svx\util nmake - all sx_util sx_3deng sx_dlg sx_draw sx_attribute sx_properties sx_contact sx_event sx_animation sx_primitive2d sx_primitive3d sx_overlay sx_fmcmp sx_form sx_gall sx_items sx_link sx_mnuc sx_opt sx_sdi sx_stbc sx_tbxc sx_undrw sx_ungal sx_xml sx_xout sx_accessibility sx_intro sx_customshapes sx_toolbars sx_table sx_smarttags NULL +sx svx\util nmake - all sx_util sx_3deng sx_dlg sx_draw sx_attribute sx_properties sx_contact sx_event sx_animation sx_primitive2d sx_primitive3d sx_overlay sx_fmcmp sx_form sx_gall sx_items sx_mnuc sx_sdi sx_stbc sx_tbxc sx_undrw sx_ungal sx_xml sx_xout sx_accessibility sx_intro sx_customshapes sx_toolbars sx_table sx_smarttags NULL sx svx\source\gengal nmake - all sx_gengal sx_util NULL diff --git a/svx/source/dialog/hyprdlg.hxx b/svx/source/dialog/hyprdlg.hxx index 9400b674f510..1462a0623e03 100644 --- a/svx/source/dialog/hyprdlg.hxx +++ b/svx/source/dialog/hyprdlg.hxx @@ -35,7 +35,7 @@ #include <vcl/menu.hxx> #include <svtools/stdctrl.hxx> #include <sfx2/ctrlitem.hxx> -#include "srchcfg.hxx" +#include <svl/srchcfg.hxx> #include <sfx2/tbxctrl.hxx> class SvxHyperlinkDlg; diff --git a/svx/source/dialog/makefile.mk b/svx/source/dialog/makefile.mk index d80c1cb1d040..47844a022637 100644 --- a/svx/source/dialog/makefile.mk +++ b/svx/source/dialog/makefile.mk @@ -68,7 +68,8 @@ SRC1FILES = \ svxbmpnumvalueset.src \ swframeposstrings.src \ txenctab.src \ - ucsubset.src + ucsubset.src \ + optgrid.src SRS2NAME=drawdlgs SRC2FILES = \ @@ -81,7 +82,6 @@ LIB1OBJFILES= \ $(SLO)$/dlgutil.obj \ $(SLO)$/framelink.obj\ $(SLO)$/langbox.obj \ - $(SLO)$/opengrf.obj \ $(SLO)$/simptabl.obj \ $(SLO)$/svxdlg.obj \ $(SLO)$/stddlg.obj \ @@ -136,7 +136,9 @@ LIB2OBJFILES= \ $(SLO)$/txenctab.obj \ $(SLO)$/wrapfield.obj \ $(SLO)$/_bmpmask.obj \ - $(SLO)$/_contdlg.obj + $(SLO)$/_contdlg.obj \ + $(SLO)$/optgrid.obj + .IF "$(GUI)"=="UNX" LIB2OBJFILES += $(SLO)$/sendreportunx.obj diff --git a/svx/source/dialog/opengrf.cxx b/svx/source/dialog/opengrf.cxx deleted file mode 100644 index 432ca7cb46ea..000000000000 --- a/svx/source/dialog/opengrf.cxx +++ /dev/null @@ -1,305 +0,0 @@ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2008 by Sun Microsystems, Inc. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * $RCSfile: opengrf.cxx,v $ - * $Revision: 1.22 $ - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -// MARKER(update_precomp.py): autogen include statement, do not remove -#include "precompiled_svx.hxx" -#include <tools/urlobj.hxx> -#include <cppuhelper/implbase1.hxx> -#include <com/sun/star/uno/Reference.h> -#include <com/sun/star/lang/XInitialization.hpp> -#include <com/sun/star/ui/dialogs/CommonFilePickerElementIds.hpp> -#include <com/sun/star/ui/dialogs/ExecutableDialogResults.hpp> -#include <com/sun/star/ui/dialogs/ExtendedFilePickerElementIds.hpp> -#include <com/sun/star/ui/dialogs/FilePreviewImageFormats.hpp> -#include <com/sun/star/ui/dialogs/ListboxControlActions.hpp> -#include <com/sun/star/ui/dialogs/TemplateDescription.hpp> -#include <com/sun/star/ui/dialogs/XFilePickerControlAccess.hpp> -#include <com/sun/star/ui/dialogs/XFilePicker.hpp> -#include <com/sun/star/ui/dialogs/XFilePickerListener.hpp> -#include <com/sun/star/ui/dialogs/XFilePickerNotifier.hpp> -#include <com/sun/star/ui/dialogs/XFilePreview.hpp> -#include <com/sun/star/ui/dialogs/XFilterManager.hpp> -#include <svl/urihelper.hxx> -#ifndef _UNOTOOLS_UCBSTREAMHELPER_HXX -#include <unotools/ucbstreamhelper.hxx> -#endif -#include <svtools/transfer.hxx> -#include <svx/svdograf.hxx> -#include <sot/formats.hxx> -#ifndef _MSGBOX_HXX //autogen -#include <vcl/msgbox.hxx> -#endif -#include <sfx2/filedlghelper.hxx> -#include <sfx2/docfile.hxx> -#include <unotools/pathoptions.hxx> -#include <svx/dialmgr.hxx> -#include "opengrf.hxx" - -#include <svx/dialogs.hrc> -//#include "impgrf.hrc" - - -//----------------------------------------------------------------------------- - -using namespace ::com::sun::star; -using namespace ::com::sun::star::lang; -using namespace ::com::sun::star::ui::dialogs; -using namespace ::com::sun::star::uno; -using namespace ::rtl; -using namespace ::cppu; - - -//----------------------------------------------------------------------------- - -USHORT SvxOpenGrfErr2ResId( short err ) -{ - switch( err ) - { - case GRFILTER_OPENERROR: - return RID_SVXSTR_GRFILTER_OPENERROR; - case GRFILTER_IOERROR: - return RID_SVXSTR_GRFILTER_IOERROR; - case GRFILTER_VERSIONERROR: - return RID_SVXSTR_GRFILTER_VERSIONERROR; - case GRFILTER_FILTERERROR: - return RID_SVXSTR_GRFILTER_FILTERERROR; - case GRFILTER_FORMATERROR: - default: - return RID_SVXSTR_GRFILTER_FORMATERROR; - } -} - - -struct SvxOpenGrf_Impl -{ - SvxOpenGrf_Impl (); - - sfx2::FileDialogHelper aFileDlg; - uno::Reference < XFilePickerControlAccess > xCtrlAcc; -}; - - -SvxOpenGrf_Impl::SvxOpenGrf_Impl() : - aFileDlg(SFXWB_GRAPHIC) -{ - uno::Reference < XFilePicker > xFP = aFileDlg.GetFilePicker(); - xCtrlAcc = uno::Reference < XFilePickerControlAccess >(xFP, UNO_QUERY); -} - - -SvxOpenGraphicDialog::SvxOpenGraphicDialog( const String& rTitle ) : - mpImpl( new SvxOpenGrf_Impl ) -{ - mpImpl->aFileDlg.SetTitle(rTitle); -} - - -SvxOpenGraphicDialog::~SvxOpenGraphicDialog() -{ -} - - -short SvxOpenGraphicDialog::Execute() -{ - USHORT nImpRet; - BOOL bQuitLoop(FALSE); - - while( bQuitLoop == FALSE && - mpImpl->aFileDlg.Execute() == ERRCODE_NONE ) - { - if( GetPath().Len() ) - { - GraphicFilter* pFilter = GraphicFilter::GetGraphicFilter(); - INetURLObject aObj( GetPath() ); - - // check whether we can load the graphic - String aCurFilter( GetCurrentFilter() ); - USHORT nFormatNum = pFilter->GetImportFormatNumber( aCurFilter ); - USHORT nRetFormat = 0; - USHORT nFound = USHRT_MAX; - - // non-local? - if ( INET_PROT_FILE != aObj.GetProtocol() ) - { - SfxMedium aMed( aObj.GetMainURL( INetURLObject::NO_DECODE ), STREAM_READ, TRUE ); - aMed.DownLoad(); - SvStream* pStream = aMed.GetInStream(); - - if( pStream ) - nImpRet = pFilter->CanImportGraphic( aObj.GetMainURL( INetURLObject::NO_DECODE ), *pStream, nFormatNum, &nRetFormat ); - else - nImpRet = pFilter->CanImportGraphic( aObj, nFormatNum, &nRetFormat ); - - if ( GRFILTER_OK != nImpRet ) - { - if ( !pStream ) - nImpRet = pFilter->CanImportGraphic( aObj, GRFILTER_FORMAT_DONTKNOW, &nRetFormat ); - else - nImpRet = pFilter->CanImportGraphic( aObj.GetMainURL( INetURLObject::NO_DECODE ), *pStream, - GRFILTER_FORMAT_DONTKNOW, &nRetFormat ); - } - } - else - { - if( (nImpRet=pFilter->CanImportGraphic( aObj, nFormatNum, &nRetFormat )) != GRFILTER_OK ) - nImpRet = pFilter->CanImportGraphic( aObj, GRFILTER_FORMAT_DONTKNOW, &nRetFormat ); - } - - if ( GRFILTER_OK == nImpRet ) - nFound = nRetFormat; - - // could not load? - if ( nFound == USHRT_MAX ) - { - WarningBox aWarningBox( NULL, WB_3DLOOK | WB_RETRY_CANCEL, SVX_RESSTR( SvxOpenGrfErr2ResId(nImpRet) ) ); - bQuitLoop = aWarningBox.Execute()==RET_RETRY ? FALSE : TRUE; - } - else - { - // setup appropriate filter (so next time, it will work) - if( pFilter->GetImportFormatCount() ) - { - String aFormatName(pFilter->GetImportFormatName(nFound)); - SetCurrentFilter(aFormatName); - } - - return nImpRet; - } - } - } - - // cancel - return -1; -} - - -void SvxOpenGraphicDialog::SetPath( const String& rPath ) -{ - mpImpl->aFileDlg.SetDisplayDirectory(rPath); -} - -void SvxOpenGraphicDialog::SetPath( const String& rPath, sal_Bool bLinkState ) -{ - SetPath(rPath); - AsLink(bLinkState); -} - - -void SvxOpenGraphicDialog::EnableLink( sal_Bool state ) -{ - if( mpImpl->xCtrlAcc.is() ) - { - try - { - mpImpl->xCtrlAcc->enableControl( ExtendedFilePickerElementIds::CHECKBOX_LINK, state ); - } - catch(IllegalArgumentException) - { -#ifdef DBG_UTIL - DBG_ERROR( "Cannot enable \"link\" checkbox" ); -#endif - } - } -} - - -void SvxOpenGraphicDialog::AsLink(sal_Bool bState) -{ - if( mpImpl->xCtrlAcc.is() ) - { - try - { - Any aAny; aAny <<= bState; - mpImpl->xCtrlAcc->setValue( ExtendedFilePickerElementIds::CHECKBOX_LINK, 0, aAny ); - } - catch(IllegalArgumentException) - { -#ifdef DBG_UTIL - DBG_ERROR( "Cannot check \"link\" checkbox" ); -#endif - } - } -} - - -sal_Bool SvxOpenGraphicDialog::IsAsLink() const -{ - try - { - if( mpImpl->xCtrlAcc.is() ) - { - Any aVal = mpImpl->xCtrlAcc->getValue( ExtendedFilePickerElementIds::CHECKBOX_LINK, 0 ); - DBG_ASSERT(aVal.hasValue(), "Value CBX_INSERT_AS_LINK not found"); - return aVal.hasValue() ? *(sal_Bool*) aVal.getValue() : sal_False; - } - } - catch(IllegalArgumentException) - { -#ifdef DBG_UTIL - DBG_ERROR( "Cannot access \"link\" checkbox" ); -#endif - } - - return sal_False; -} - - -int SvxOpenGraphicDialog::GetGraphic(Graphic& rGraphic) const -{ - return mpImpl->aFileDlg.GetGraphic(rGraphic); -} - - -String SvxOpenGraphicDialog::GetPath() const -{ - return mpImpl->aFileDlg.GetPath(); -} - - -String SvxOpenGraphicDialog::GetCurrentFilter() const -{ - return mpImpl->aFileDlg.GetCurrentFilter(); -} - - -void SvxOpenGraphicDialog::SetCurrentFilter(const String& rStr) -{ - mpImpl->aFileDlg.SetCurrentFilter(rStr); -} - -void SvxOpenGraphicDialog::SetControlHelpIds( const INT16* _pControlId, const INT32* _pHelpId ) -{ - mpImpl->aFileDlg.SetControlHelpIds( _pControlId, _pHelpId ); -} - -void SvxOpenGraphicDialog::SetDialogHelpId( const INT32 _nHelpId ) -{ - mpImpl->aFileDlg.SetDialogHelpId( _nHelpId ); -} diff --git a/svx/source/options/optgrid.cxx b/svx/source/dialog/optgrid.cxx index d202d226fd9a..d202d226fd9a 100644 --- a/svx/source/options/optgrid.cxx +++ b/svx/source/dialog/optgrid.cxx diff --git a/svx/source/options/optgrid.hrc b/svx/source/dialog/optgrid.hrc index e891c8f1d39d..e891c8f1d39d 100644 --- a/svx/source/options/optgrid.hrc +++ b/svx/source/dialog/optgrid.hrc diff --git a/svx/source/options/optgrid.src b/svx/source/dialog/optgrid.src index b956c6704140..b956c6704140 100644 --- a/svx/source/options/optgrid.src +++ b/svx/source/dialog/optgrid.src diff --git a/svx/source/dialog/sdstring.src b/svx/source/dialog/sdstring.src index 4668e0c42fa0..eeafc74c87a7 100644 --- a/svx/source/dialog/sdstring.src +++ b/svx/source/dialog/sdstring.src @@ -367,32 +367,6 @@ String RID_SVXSTR_LINEJOINT_ROUND Text [ en-US ] = "Line joint round"; }; -String RID_SVXSTR_GRFILTER_OPENERROR -{ - Text [ en-US ] = "Graphics file cannot be opened" ; -}; -String RID_SVXSTR_GRFILTER_IOERROR -{ - Text [ en-US ] = "Graphics file cannot be read" ; -}; -String RID_SVXSTR_GRFILTER_FORMATERROR -{ - Text [ en-US ] = "Unknown graphics format" ; -}; -String RID_SVXSTR_GRFILTER_VERSIONERROR -{ - Text [ en-US ] = "This version of the graphics file is not supported" ; -}; -String RID_SVXSTR_GRFILTER_FILTERERROR -{ - Text [ en-US ] = "Graphics filter not found" ; -}; -String RID_SVXSTR_GRFILTER_TOOBIG -{ - Text [ en-US ] = "Not enough memory to insert graphic" ; -}; - - /////////////////////////////////////////////////////////////////////////////// // // Reference-strings for standardcolor-table diff --git a/svx/source/dialog/svxbmpnumvalueset.cxx b/svx/source/dialog/svxbmpnumvalueset.cxx index 81a6db032c85..f357f858c244 100644 --- a/svx/source/dialog/svxbmpnumvalueset.cxx +++ b/svx/source/dialog/svxbmpnumvalueset.cxx @@ -73,7 +73,7 @@ #include <com/sun/star/text/XNumberingTypeInfo.hpp> #include <algorithm> -#include "opengrf.hxx" +#include <sfx2/opengrf.hxx> using namespace com::sun::star::uno; using namespace com::sun::star::beans; diff --git a/svx/source/dialog/txencbox.cxx b/svx/source/dialog/txencbox.cxx index 8d69378838a1..c40dfcb9e926 100644 --- a/svx/source/dialog/txencbox.cxx +++ b/svx/source/dialog/txencbox.cxx @@ -181,7 +181,7 @@ void SvxTextEncodingBox::FillFromDbTextEncodingMap( void SvxTextEncodingBox::FillWithMimeAndSelectBest() { FillFromTextEncodingTable( sal_False, 0xffffffff, RTL_TEXTENCODING_INFO_MIME ); - rtl_TextEncoding nEnc = GetBestMimeEncoding(); + rtl_TextEncoding nEnc = SvtSysLocale::GetBestMimeEncoding(); SelectTextEncoding( nEnc ); } diff --git a/svx/source/options/makefile.mk b/svx/source/options/makefile.mk deleted file mode 100644 index 0b64dcf0329a..000000000000 --- a/svx/source/options/makefile.mk +++ /dev/null @@ -1,57 +0,0 @@ -#************************************************************************* -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -# -# Copyright 2008 by Sun Microsystems, Inc. -# -# OpenOffice.org - a multi-platform office productivity suite -# -# $RCSfile: makefile.mk,v $ -# -# $Revision: 1.31 $ -# -# This file is part of OpenOffice.org. -# -# OpenOffice.org is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License version 3 -# only, as published by the Free Software Foundation. -# -# OpenOffice.org is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License version 3 for more details -# (a copy is included in the LICENSE file that accompanied this code). -# -# You should have received a copy of the GNU Lesser General Public License -# version 3 along with OpenOffice.org. If not, see -# <http://www.openoffice.org/license.html> -# for a copy of the LGPLv3 License. -# -#************************************************************************* -PRJ=..$/.. - -PROJECTPCH4DLL=TRUE -PROJECTPCH=svxpch -PROJECTPCHSOURCE=$(PRJ)$/util\svxpch - -PRJNAME=svx -TARGET=options - -# --- Settings ----------------------------------------------------- - -.INCLUDE : settings.mk -.INCLUDE : $(PRJ)$/util$/makefile.pmk - -# --- Files -------------------------------------------------------- - -SRS1NAME=$(TARGET) -SRC1FILES=\ - optgrid.src - -SLOFILES= \ - $(SLO)$/optgrid.obj - -# --- Targets ------------------------------------------------------- - -.INCLUDE : target.mk - diff --git a/svx/source/svdraw/svdmodel.cxx b/svx/source/svdraw/svdmodel.cxx index 016ac49d5632..8b4d91cd3049 100644 --- a/svx/source/svdraw/svdmodel.cxx +++ b/svx/source/svdraw/svdmodel.cxx @@ -73,7 +73,7 @@ #include "svdoutlinercache.hxx" -#include "asiancfg.hxx" +#include <svl/asiancfg.hxx> #include "editeng/fontitem.hxx" #include <editeng/colritem.hxx> #include <editeng/fhgtitem.hxx> diff --git a/svx/source/svdraw/svdograf.cxx b/svx/source/svdraw/svdograf.cxx index 2a4103791363..4d7b51a073e5 100644 --- a/svx/source/svdraw/svdograf.cxx +++ b/svx/source/svdraw/svdograf.cxx @@ -47,7 +47,7 @@ #include <svtools/grfmgr.hxx> #include <vcl/svapp.hxx> -#include "linkmgr.hxx" +#include <sfx2/linkmgr.hxx> #include <svx/svdetc.hxx> #include "svdglob.hxx" #include "svdstr.hrc" @@ -124,14 +124,14 @@ void SdrGraphicLink::DataChanged( const String& rMimeType, const ::com::sun::star::uno::Any & rValue ) { SdrModel* pModel = pGrafObj ? pGrafObj->GetModel() : 0; - SvxLinkManager* pLinkManager= pModel ? pModel->GetLinkManager() : 0; + sfx2::LinkManager* pLinkManager= pModel ? pModel->GetLinkManager() : 0; if( pLinkManager && rValue.hasValue() ) { pLinkManager->GetDisplayNames( this, 0, &pGrafObj->aFileName, 0, &pGrafObj->aFilterName ); Graphic aGraphic; - if( SvxLinkManager::GetGraphicFromAny( rMimeType, rValue, aGraphic )) + if( sfx2::LinkManager::GetGraphicFromAny( rMimeType, rValue, aGraphic )) { GraphicType eOldGraphicType = pGrafObj->GetGraphicType(); // kein Hereinswappen const sal_Bool bIsChanged = pModel->IsChanged(); @@ -142,8 +142,7 @@ void SdrGraphicLink::DataChanged( const String& rMimeType, else pModel->SetChanged( bIsChanged ); } - else if( SotExchange::GetFormatIdFromMimeType( rMimeType ) != - SvxLinkManager::RegisterStatusInfoId() ) + else if( SotExchange::GetFormatIdFromMimeType( rMimeType ) != sfx2::LinkManager::RegisterStatusInfoId() ) { // only repaint, no objectchange pGrafObj->ActionChanged(); @@ -476,7 +475,7 @@ void SdrGrafObj::ForceSwapOut() const void SdrGrafObj::ImpLinkAnmeldung() { - SvxLinkManager* pLinkManager = pModel != NULL ? pModel->GetLinkManager() : NULL; + sfx2::LinkManager* pLinkManager = pModel != NULL ? pModel->GetLinkManager() : NULL; if( pLinkManager != NULL && pGraphicLink == NULL ) { @@ -493,7 +492,7 @@ void SdrGrafObj::ImpLinkAnmeldung() void SdrGrafObj::ImpLinkAbmeldung() { - SvxLinkManager* pLinkManager = pModel != NULL ? pModel->GetLinkManager() : NULL; + sfx2::LinkManager* pLinkManager = pModel != NULL ? pModel->GetLinkManager() : NULL; if( pLinkManager != NULL && pGraphicLink!=NULL) { diff --git a/svx/source/svdraw/svdogrp.cxx b/svx/source/svdraw/svdogrp.cxx index ea29c860e8ab..976d9349ee7c 100644 --- a/svx/source/svdraw/svdogrp.cxx +++ b/svx/source/svdraw/svdogrp.cxx @@ -30,7 +30,7 @@ // MARKER(update_precomp.py): autogen include statement, do not remove #include "precompiled_svx.hxx" -#include <linkmgr.hxx> +#include <sfx2/linkmgr.hxx> #include <ucbhelper/content.hxx> #include <ucbhelper/contentbroker.hxx> diff --git a/svx/source/svdraw/svdoole2.cxx b/svx/source/svdraw/svdoole2.cxx index 843a6fee9ab5..2b16b7749d31 100644 --- a/svx/source/svdraw/svdoole2.cxx +++ b/svx/source/svdraw/svdoole2.cxx @@ -69,7 +69,7 @@ #include <sot/clsids.hxx> #include <sot/formats.hxx> -#include <linkmgr.hxx> +#include <sfx2/linkmgr.hxx> #include <svtools/transfer.hxx> #include <cppuhelper/implbase5.hxx> @@ -937,7 +937,7 @@ sal_Bool SdrOle2Obj::UpdateLinkURL_Impl() if ( mpImpl->mpObjectLink ) { - SvxLinkManager* pLinkManager = pModel ? pModel->GetLinkManager() : NULL; + sfx2::LinkManager* pLinkManager = pModel ? pModel->GetLinkManager() : NULL; if ( pLinkManager ) { String aNewLinkURL; @@ -1028,7 +1028,7 @@ void SdrOle2Obj::BreakFileLink_Impl() void SdrOle2Obj::DisconnectFileLink_Impl() { - SvxLinkManager* pLinkManager = pModel ? pModel->GetLinkManager() : NULL; + sfx2::LinkManager* pLinkManager = pModel ? pModel->GetLinkManager() : NULL; if ( pLinkManager && mpImpl->mpObjectLink ) { pLinkManager->Remove( mpImpl->mpObjectLink ); @@ -1051,7 +1051,7 @@ void SdrOle2Obj::CheckFileLink_Impl() if ( aLinkURL.Len() ) { // this is a file link so the model link manager should handle it - SvxLinkManager* pLinkManager = pModel->GetLinkManager(); + sfx2::LinkManager* pLinkManager = pModel->GetLinkManager(); if ( pLinkManager ) { mpImpl->mpObjectLink = new SdrEmbedObjectLink( this ); diff --git a/svx/source/svdraw/svdotxln.cxx b/svx/source/svdraw/svdotxln.cxx index 9d28a0fdfa09..d7f60f5277fe 100644 --- a/svx/source/svdraw/svdotxln.cxx +++ b/svx/source/svdraw/svdotxln.cxx @@ -33,24 +33,16 @@ #include <unotools/ucbstreamhelper.hxx> #include <unotools/localfilehelper.hxx> - #include <ucbhelper/content.hxx> #include <ucbhelper/contentbroker.hxx> #include <unotools/datetime.hxx> - #include <svx/svdotext.hxx> #include "svditext.hxx" #include <svx/svdmodel.hxx> #include <editeng/editdata.hxx> - -#ifndef SVX_LIGHT -#ifndef _LNKBASE_HXX //autogen #include <sfx2/lnkbase.hxx> -#endif -#endif -#include <linkmgr.hxx> +#include <sfx2/linkmgr.hxx> #include <tools/urlobj.hxx> - #include <svl/urihelper.hxx> // #90477# @@ -114,7 +106,7 @@ void ImpSdrObjTextLink::DataChanged( const String& /*rMimeType*/, { FASTBOOL bForceReload=FALSE; SdrModel* pModel = pSdrObj ? pSdrObj->GetModel() : 0; - SvxLinkManager* pLinkManager= pModel ? pModel->GetLinkManager() : 0; + sfx2::LinkManager* pLinkManager= pModel ? pModel->GetLinkManager() : 0; if( pLinkManager ) { ImpSdrObjTextLinkUserData* pData=pSdrObj->GetLinkUserData(); @@ -331,9 +323,8 @@ ImpSdrObjTextLinkUserData* SdrTextObj::GetLinkUserData() const void SdrTextObj::ImpLinkAnmeldung() { -#ifndef SVX_LIGHT ImpSdrObjTextLinkUserData* pData=GetLinkUserData(); - SvxLinkManager* pLinkManager=pModel!=NULL ? pModel->GetLinkManager() : NULL; + sfx2::LinkManager* pLinkManager=pModel!=NULL ? pModel->GetLinkManager() : NULL; if (pLinkManager!=NULL && pData!=NULL && pData->pLink==NULL) { // Nicht 2x Anmelden pData->pLink=new ImpSdrObjTextLink(this); #ifdef GCC @@ -347,19 +338,16 @@ void SdrTextObj::ImpLinkAnmeldung() #endif pData->pLink->Connect(); } -#endif // SVX_LIGHT } void SdrTextObj::ImpLinkAbmeldung() { -#ifndef SVX_LIGHT ImpSdrObjTextLinkUserData* pData=GetLinkUserData(); - SvxLinkManager* pLinkManager=pModel!=NULL ? pModel->GetLinkManager() : NULL; + sfx2::LinkManager* pLinkManager=pModel!=NULL ? pModel->GetLinkManager() : NULL; if (pLinkManager!=NULL && pData!=NULL && pData->pLink!=NULL) { // Nicht 2x Abmelden // Bei Remove wird *pLink implizit deleted pLinkManager->Remove( pData->pLink ); pData->pLink=NULL; } -#endif // SVX_LIGHT } diff --git a/svx/source/svxlink/fileobj.cxx b/svx/source/svxlink/fileobj.cxx deleted file mode 100644 index a1b24e5440e5..000000000000 --- a/svx/source/svxlink/fileobj.cxx +++ /dev/null @@ -1,725 +0,0 @@ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2008 by Sun Microsystems, Inc. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * $RCSfile: fileobj.cxx,v $ - * $Revision: 1.24 $ - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -// MARKER(update_precomp.py): autogen include statement, do not remove -#include "precompiled_svx.hxx" -#include <vcl/wrkwin.hxx> -#include <vcl/msgbox.hxx> -#include <tools/urlobj.hxx> -#include <tools/stream.hxx> -#include <sot/formats.hxx> -#include <svtools/filter.hxx> -#include <sfx2/lnkbase.hxx> -#include <sfx2/app.hxx> -#include <sfx2/progress.hxx> -#ifndef _SFX_INTERNO_HXX -//#include <sfx2/interno.hxx> -#endif -#include <sfx2/docfilt.hxx> -#include <sfx2/filedlghelper.hxx> -#include <sot/exchange.hxx> -#include <com/sun/star/uno/Any.hxx> -#include <com/sun/star/uno/Sequence.hxx> -#include <sfx2/docfac.hxx> -#include <com/sun/star/document/XTypeDetection.hpp> -#include <comphelper/mediadescriptor.hxx> -#include <comphelper/processfactory.hxx> - -#include "fileobj.hxx" -#include "linkmgr.hxx" -#include <svx/dialmgr.hxx> -#include <svx/dialogs.hrc> -#include "xoutbmp.hxx" -#include "opengrf.hxx" - -namespace css = ::com::sun::star; - -#define FILETYPE_TEXT 1 -#define FILETYPE_GRF 2 -#define FILETYPE_OBJECT 3 - -struct Impl_DownLoadData -{ - Graphic aGrf; - Timer aTimer; - - Impl_DownLoadData( const Link& rLink ) - { - aTimer.SetTimeout( 100 ); - aTimer.SetTimeoutHdl( rLink ); - aGrf.SetDefaultType(); - } - ~Impl_DownLoadData() - { - aTimer.Stop(); - } -}; - -// -------------------------------------------------------------------------- - - -SvFileObject::SvFileObject() : - pDownLoadData( NULL ), pOldParent( NULL ), nType( FILETYPE_TEXT ) -{ - bLoadAgain = TRUE; - bSynchron = bLoadError = bWaitForData = bDataReady = bNativFormat = - bClearMedium = bStateChangeCalled = bInCallDownLoad = FALSE; -} - - -SvFileObject::~SvFileObject() -{ - if ( xMed.Is() ) - { - xMed->SetDataAvailableLink( Link() ); - xMed->SetDoneLink( Link() ); - xMed.Clear(); - } - delete pDownLoadData; -} - - -BOOL SvFileObject::GetData( ::com::sun::star::uno::Any & rData, - const String & rMimeType, - BOOL bGetSynchron ) -{ - ULONG nFmt = SotExchange::GetFormatStringId( rMimeType ); - switch( nType ) - { - case FILETYPE_TEXT: - if( FORMAT_FILE == nFmt ) - { - // das Medium muss in der Applikation geoffnet werden, um die - // relativen Datei Links aufzuloesen!!!! Wird ueber den - // LinkManager und damit von dessen Storage erledigt. - rData <<= rtl::OUString( sFileNm ); - } - break; - - case FILETYPE_GRF: - if( !bLoadError ) - { - SfxMediumRef xTmpMed; - - if( FORMAT_GDIMETAFILE == nFmt || FORMAT_BITMAP == nFmt || - SOT_FORMATSTR_ID_SVXB == nFmt ) - { - Graphic aGrf; - - //JP 15.07.98: Bug 52959 - // falls das Nativformat doch erwuenscht ist, muss am - // Ende das Flag zurueckgesetzt werden. -// wird einzig und allein im sw/ndgrf.cxx benutzt, wenn der Link vom -// GraphicNode entfernt wird. - BOOL bOldNativFormat = bNativFormat; -//!!?? bNativFormat = 0 != (ASPECT_ICON & pSvData->GetAspect()); - - // falls gedruckt werden soll, warten wir bis die - // Daten vorhanden sind - if( bGetSynchron ) - { - // testhalber mal ein LoadFile rufen um das nach- - // laden ueberahaupt anzustossen - if( !xMed.Is() ) - LoadFile_Impl(); - - if( !bInCallDownLoad ) - { - xTmpMed = xMed; - while( bWaitForData ) - Application::Reschedule(); - - xMed = xTmpMed; - bClearMedium = TRUE; - } - } - - if( pDownLoadData || - ( !bWaitForData && ( xMed.Is() || // wurde als URL geladen - ( bSynchron && LoadFile_Impl() && xMed.Is() ) )) ) - { - // falls - - // falls es uebers Internet gesogen wurde, nicht - // wieder versuchen - if( !bGetSynchron ) - bLoadAgain = !xMed->IsRemote(); - bLoadError = !GetGraphic_Impl( aGrf, xMed->GetInStream() ); - } - else if( !LoadFile_Impl() || - !GetGraphic_Impl( aGrf, xMed.Is() ? xMed->GetInStream() : 0 )) - { - if( !xMed.Is() ) - break; - aGrf.SetDefaultType(); - } - - if( SOT_FORMATSTR_ID_SVXB != nFmt ) - nFmt = (bLoadError || GRAPHIC_BITMAP == aGrf.GetType()) - ? FORMAT_BITMAP - : FORMAT_GDIMETAFILE; - - SvMemoryStream aMemStm( 0, 65535 ); - switch ( nFmt ) - { - case SOT_FORMATSTR_ID_SVXB: - if( GRAPHIC_NONE != aGrf.GetType() ) - { - aMemStm.SetVersion( SOFFICE_FILEFORMAT_50 ); - aMemStm << aGrf; - } - break; - - case FORMAT_BITMAP: - if( !aGrf.GetBitmap().IsEmpty()) - aMemStm << aGrf.GetBitmap(); - break; - - default: - if( aGrf.GetGDIMetaFile().GetActionCount() ) - { - GDIMetaFile aMeta( aGrf.GetGDIMetaFile() ); - aMeta.Write( aMemStm ); - } - } - rData <<= css::uno::Sequence< sal_Int8 >( (sal_Int8*) aMemStm.GetData(), - aMemStm.Seek( STREAM_SEEK_TO_END ) ); - - bNativFormat = bOldNativFormat; - - // alles fertig? - if( xMed.Is() && !bSynchron && bClearMedium ) - { - xMed.Clear(); - bClearMedium = FALSE; - } - } - } - break; - case FILETYPE_OBJECT: - // TODO/LATER: possibility to insert a new object - rData <<= rtl::OUString( sFileNm ); - break; - } - return sal_True/*0 != aTypeList.Count()*/; -} - - - - -BOOL SvFileObject::Connect( sfx2::SvBaseLink* pLink ) -{ - if( !pLink || !pLink->GetLinkManager() ) - return FALSE; - - // teste doch mal, ob nicht ein anderer Link mit der gleichen - // Verbindung schon existiert - pLink->GetLinkManager()->GetDisplayNames( pLink, 0, &sFileNm, 0, &sFilter ); - - if( OBJECT_CLIENT_GRF == pLink->GetObjType() ) - { - SfxObjectShellRef pShell = pLink->GetLinkManager()->GetPersist(); - if( pShell.Is() ) - { - if( pShell->IsAbortingImport() ) - return FALSE; - - if( pShell->GetMedium() ) - sReferer = pShell->GetMedium()->GetName(); - } - } - - switch( pLink->GetObjType() ) - { - case OBJECT_CLIENT_GRF: - nType = FILETYPE_GRF; - bSynchron = pLink->IsSynchron(); - break; - - case OBJECT_CLIENT_FILE: - nType = FILETYPE_TEXT; - break; - - case OBJECT_CLIENT_OLE: - nType = FILETYPE_OBJECT; - // TODO/LATER: introduce own type to be used for exchanging - break; - - default: - return FALSE; - } - - SetUpdateTimeout( 0 ); - - // und jetzt bei diesem oder gefundenem Pseudo-Object anmelden - AddDataAdvise( pLink, SotExchange::GetFormatMimeType( pLink->GetContentType()), 0 ); - return TRUE; -} - - -BOOL SvFileObject::LoadFile_Impl() -{ - // wir sind noch im Laden!! - if( bWaitForData || !bLoadAgain || xMed.Is() || pDownLoadData ) - return FALSE; - - // z.Z. nur auf die aktuelle DocShell - xMed = new SfxMedium( sFileNm, STREAM_STD_READ, TRUE ); - SvLinkSource::StreamToLoadFrom aStreamToLoadFrom = - getStreamToLoadFrom(); - xMed->setStreamToLoadFrom( - aStreamToLoadFrom.m_xInputStreamToLoadFrom, - aStreamToLoadFrom.m_bIsReadOnly); - // setStreamToLoadFrom(0,0); - // Keinen Eintrag im Roter Button Menu - xMed->SetDontCreateCancellable(); - if( sReferer.Len() ) - xMed->SetReferer( sReferer ); - - if( !bSynchron ) - { - bLoadAgain = bDataReady = bInNewData = FALSE; - bWaitForData = TRUE; - - SfxMediumRef xTmpMed = xMed; - xMed->SetDataAvailableLink( STATIC_LINK( this, SvFileObject, LoadGrfNewData_Impl ) ); - bInCallDownLoad = TRUE; - xMed->DownLoad( STATIC_LINK( this, SvFileObject, LoadGrfReady_Impl ) ); - bInCallDownLoad = FALSE; - - bClearMedium = !xMed.Is(); - if( bClearMedium ) - xMed = xTmpMed; // falls gleich im DownLoad schon schluss ist - return bDataReady; - } - - bWaitForData = TRUE; - bDataReady = bInNewData = FALSE; - xMed->DownLoad(); - bLoadAgain = !xMed->IsRemote(); - bWaitForData = FALSE; - - // Grafik ist fertig, also DataChanged von der Statusaederung schicken: - SendStateChg_Impl( xMed->GetInStream() && xMed->GetInStream()->GetError() - ? STATE_LOAD_ERROR : STATE_LOAD_OK ); - - return TRUE; -} - - -BOOL SvFileObject::GetGraphic_Impl( Graphic& rGrf, SvStream* pStream ) -{ - GraphicFilter* pGF = GraphicFilter::GetGraphicFilter(); - - const USHORT nFilter = sFilter.Len() && pGF->GetImportFormatCount() - ? pGF->GetImportFormatNumber( sFilter ) - : GRFILTER_FORMAT_DONTKNOW; - - String aEmptyStr; - int nRes; - - // vermeiden, dass ein native Link angelegt wird - if( ( !pStream || !pDownLoadData ) && !rGrf.IsLink() && - !rGrf.GetContext() && !bNativFormat ) - rGrf.SetLink( GfxLink() ); - - if( !pStream ) - nRes = xMed.Is() ? GRFILTER_OPENERROR - : pGF->ImportGraphic( rGrf, INetURLObject(sFileNm), - nFilter ); - else if( !pDownLoadData ) - { - pStream->Seek( STREAM_SEEK_TO_BEGIN ); - nRes = pGF->ImportGraphic( rGrf, aEmptyStr, *pStream, nFilter ); - } - else - { - nRes = pGF->ImportGraphic( pDownLoadData->aGrf, aEmptyStr, - *pStream, nFilter ); - - if( pDownLoadData ) - { - rGrf = pDownLoadData->aGrf; - if( GRAPHIC_NONE == rGrf.GetType() ) - rGrf.SetDefaultType(); - - - if( !pDownLoadData->aGrf.GetContext() ) - { - xMed->SetDataAvailableLink( Link() ); -// xMed->SetDoneLink( Link() ); - delete pDownLoadData, pDownLoadData = 0; - bDataReady = TRUE; - bWaitForData = FALSE; - } - else if( FALSE ) - { - // Timer aufsetzen, um zurueck zukehren - pDownLoadData->aTimer.Start(); - } - } - } - - if( pStream && ERRCODE_IO_PENDING == pStream->GetError() ) - pStream->ResetError(); - -#ifdef DBG_UTIL - if( nRes ) - { - if( xMed.Is() && !pStream ) - { - DBG_WARNING3( "GrafikFehler [%d] - [%s] URL[%s]", - nRes, - xMed->GetPhysicalName().GetBuffer(), - sFileNm.GetBuffer() ); - } - else - { - DBG_WARNING2( "GrafikFehler [%d] - [%s]", - nRes, sFileNm.GetBuffer() ); - } - } -#endif - - return GRFILTER_OK == nRes; -} - -/** detect the filter of the given file - - @param _rURL - specifies the URL of the file which filter is to detected.<br/> - If the URL doesn't denote a valid (existent and accessible) file, the - request is silently dropped. -*/ -String impl_getFilter( const String& _rURL ) -{ - String sFilter; - if ( _rURL.Len() == 0 ) - return sFilter; - - try - { - css::uno::Reference< ::com::sun::star::document::XTypeDetection > xTypeDetection( - ::comphelper::getProcessServiceFactory()->createInstance( - ::rtl::OUString::createFromAscii("com.sun.star.document.TypeDetection") ), - css::uno::UNO_QUERY ); - if ( xTypeDetection.is() ) - { - ::comphelper::MediaDescriptor aDescr; - aDescr[ ::comphelper::MediaDescriptor::PROP_URL() ] <<= ::rtl::OUString( _rURL ); - css::uno::Sequence< css::beans::PropertyValue > aDescrList = - aDescr.getAsConstPropertyValueList(); - ::rtl::OUString sType = xTypeDetection->queryTypeByDescriptor( aDescrList, sal_True ); - if ( sType.getLength() ) - { - css::uno::Reference< css::container::XNameAccess > xTypeCont( xTypeDetection, - css::uno::UNO_QUERY ); - if ( xTypeCont.is() ) - { - ::comphelper::SequenceAsHashMap lTypeProps( xTypeCont->getByName( sType ) ); - sFilter = lTypeProps.getUnpackedValueOrDefault( - ::rtl::OUString::createFromAscii("PreferredFilter"), ::rtl::OUString() ); - } - } - } - } - catch( const css::uno::Exception& ) - { - } - - return sFilter; -} - -void SvFileObject::Edit( Window* pParent, sfx2::SvBaseLink* pLink, const Link& rEndEditHdl ) -{ - aEndEditLink = rEndEditHdl; - String sFile, sRange, sTmpFilter; - if( pLink && pLink->GetLinkManager() ) - { - pLink->GetLinkManager()->GetDisplayNames( pLink, 0, &sFile, &sRange, &sTmpFilter ); - - switch( pLink->GetObjType() ) - { - case OBJECT_CLIENT_GRF: - { - nType = FILETYPE_GRF; // falls noch nicht gesetzt - - SvxOpenGraphicDialog aDlg(ResId(RID_SVXSTR_EDITGRFLINK, DIALOG_MGR())); - aDlg.EnableLink(sal_False); - aDlg.SetPath( sFile, sal_True ); - aDlg.SetCurrentFilter( sTmpFilter ); - - if( !aDlg.Execute() ) - { - sFile = aDlg.GetPath(); - sFile += ::sfx2::cTokenSeperator; - sFile += ::sfx2::cTokenSeperator; - sFile += aDlg.GetCurrentFilter(); - - if ( aEndEditLink.IsSet() ) - aEndEditLink.Call( &sFile ); - } - else - sFile.Erase(); - } - break; - - case OBJECT_CLIENT_OLE: - { - nType = FILETYPE_OBJECT; // if not set already - pOldParent = Application::GetDefDialogParent(); - Application::SetDefDialogParent( pParent ); - - ::sfx2::FileDialogHelper* pFileDlg = - pLink->GetFileDialog( (SFXWB_INSERT | WB_3DLOOK), String() ); - pFileDlg->StartExecuteModal( LINK( this, SvFileObject, DialogClosedHdl ) ); - } - break; - - case OBJECT_CLIENT_FILE: - { - nType = FILETYPE_TEXT; // if not set already - pOldParent = Application::GetDefDialogParent(); - Application::SetDefDialogParent( pParent ); - - String sFactory; - SfxObjectShell* pShell = pLink->GetLinkManager()->GetPersist(); - if ( pShell ) - sFactory = pShell->GetFactory().GetFactoryName(); - - ::sfx2::FileDialogHelper* pFileDlg = - pLink->GetFileDialog( (SFXWB_INSERT | WB_3DLOOK), sFactory ); - pFileDlg->StartExecuteModal( LINK( this, SvFileObject, DialogClosedHdl ) ); - } - break; - - default: - sFile.Erase(); - } - } -} - -IMPL_STATIC_LINK( SvFileObject, LoadGrfReady_Impl, void*, EMPTYARG ) -{ - // wenn wir von hier kommen, kann es kein Fehler mehr sein - pThis->bLoadError = FALSE; - pThis->bWaitForData = FALSE; - pThis->bInCallDownLoad = FALSE; - - if( !pThis->bInNewData && !pThis->bDataReady ) - { - // Grafik ist fertig, also DataChanged von der Status- - // aederung schicken: - pThis->bDataReady = TRUE; - pThis->SendStateChg_Impl( STATE_LOAD_OK ); - - // und dann nochmal die Daten senden - pThis->NotifyDataChanged(); - } - - if( pThis->bDataReady ) - { - pThis->bLoadAgain = TRUE; - if( pThis->xMed.Is() ) - { - pThis->xMed->SetDataAvailableLink( Link() ); - pThis->xMed->SetDoneLink( Link() ); - - Application::PostUserEvent( - STATIC_LINK( pThis, SvFileObject, DelMedium_Impl ), - new SfxMediumRef( pThis->xMed )); - pThis->xMed.Clear(); - } - if( pThis->pDownLoadData ) - delete pThis->pDownLoadData, pThis->pDownLoadData = 0; - } - - return 0; -} - -IMPL_STATIC_LINK( SvFileObject, DelMedium_Impl, SfxMediumRef*, pDelMed ) -{ - (void)pThis; - delete pDelMed; - return 0; -} - -IMPL_STATIC_LINK( SvFileObject, LoadGrfNewData_Impl, void*, EMPTYARG ) -{ - // wenn wir von hier kommen, kann es kein Fehler mehr sein - if( pThis->bInNewData ) - return 0; - - pThis->bInNewData = TRUE; - pThis->bLoadError = FALSE; - - if( !pThis->pDownLoadData ) - { - pThis->pDownLoadData = new Impl_DownLoadData( - STATIC_LINK( pThis, SvFileObject, LoadGrfNewData_Impl ) ); - - // Null-Link setzen, damit keine temporaeren Grafiken - // rausgeswapt werden; der Filter prueft, ob schon - // ein Link gesetzt ist => falls dies zutrifft, wird - // _kein_ neuer Link gesetzt; der Link muss hier gesetzt werden, - // (bevor das erste Mal gefiltert wird), um zu verhindern, - // dass der Kontext zurueckgesetzt wird (aynchrones Laden) - if( !pThis->bNativFormat ) - { - static GfxLink aDummyLink; - pThis->pDownLoadData->aGrf.SetLink( aDummyLink ); - } - } - - pThis->NotifyDataChanged(); - - SvStream* pStrm = pThis->xMed.Is() ? pThis->xMed->GetInStream() : 0; - if( pStrm && pStrm->GetError() ) - { - if( ERRCODE_IO_PENDING == pStrm->GetError() ) - pStrm->ResetError(); - - // im DataChanged ein DataReady? - else if( pThis->bWaitForData && pThis->pDownLoadData ) - { - pThis->bLoadError = TRUE; - } - } - - if( pThis->bDataReady ) - { - // Grafik ist fertig, also DataChanged von der Status- - // aederung schicken: - pThis->SendStateChg_Impl( pStrm->GetError() ? STATE_LOAD_ERROR - : STATE_LOAD_OK ); - } - - pThis->bInNewData = FALSE; - return 0; -} - -IMPL_LINK( SvFileObject, DialogClosedHdl, sfx2::FileDialogHelper*, _pFileDlg ) -{ - String sFile; - Application::SetDefDialogParent( pOldParent ); - - if ( FILETYPE_TEXT == nType || FILETYPE_OBJECT == nType ) - { - if ( _pFileDlg && _pFileDlg->GetError() == ERRCODE_NONE ) - { - String sURL( _pFileDlg->GetPath() ); - sFile = sURL; - sFile += ::sfx2::cTokenSeperator; - sFile += ::sfx2::cTokenSeperator; - sFile += impl_getFilter( sURL ); - } - } - else - { - DBG_ERRORFILE( "SvFileObject::DialogClosedHdl(): wrong file type" ); - } - - if ( aEndEditLink.IsSet() ) - aEndEditLink.Call( &sFile ); - return 0; -} - -/* [Beschreibung] - - Die Methode stellt fest, ob aus einem DDE-Object die Daten gelesen - werden kann. - Zurueckgegeben wird: - ERRCODE_NONE wenn sie komplett gelesen wurde - ERRCODE_SO_PENDING wenn sie noch nicht komplett gelesen wurde - ERRCODE_SO_FALSE sonst -*/ -BOOL SvFileObject::IsPending() const -{ - return FILETYPE_GRF == nType && !bLoadError && - ( pDownLoadData || bWaitForData ); -} -BOOL SvFileObject::IsDataComplete() const -{ - BOOL bRet = FALSE; - if( FILETYPE_GRF != nType ) - bRet = TRUE; - else if( !bLoadError && ( !bWaitForData && !pDownLoadData )) - { - SvFileObject* pThis = (SvFileObject*)this; - if( bDataReady || - ( bSynchron && pThis->LoadFile_Impl() && xMed.Is() ) ) - bRet = TRUE; - else - { - INetURLObject aUrl( sFileNm ); - if( aUrl.HasError() || - INET_PROT_NOT_VALID == aUrl.GetProtocol() ) - bRet = TRUE; - } - } - return bRet; -} - - - -void SvFileObject::CancelTransfers() -{ - if( xMed.Is() ) - xMed->CancelTransfers(); - - // und aus dem Cache austragen, wenn man mitten im Laden ist - if( !bDataReady ) - { - // nicht noch mal aufsetzen - bLoadAgain = FALSE; - bDataReady = bLoadError = bWaitForData = TRUE; - SendStateChg_Impl( STATE_LOAD_ABORT ); - } -} - - -void SvFileObject::SetTransferPriority( USHORT ) -{ -} - - -void SvFileObject::SendStateChg_Impl( LinkState nState ) -{ - if( !bStateChangeCalled && HasDataLinks() ) - { - css::uno::Any aAny; - aAny <<= rtl::OUString::valueOf( (sal_Int32)nState ); - DataChanged( SotExchange::GetFormatName( - SvxLinkManager::RegisterStatusInfoId()), aAny ); - bStateChangeCalled = TRUE; - } -} - - diff --git a/svx/source/svxlink/fileobj.hxx b/svx/source/svxlink/fileobj.hxx deleted file mode 100644 index 78dbe84dfdc3..000000000000 --- a/svx/source/svxlink/fileobj.hxx +++ /dev/null @@ -1,99 +0,0 @@ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2008 by Sun Microsystems, Inc. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * $RCSfile: fileobj.hxx,v $ - * $Revision: 1.9 $ - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ -#ifndef _FILEOBJ_HXX -#define _FILEOBJ_HXX - -#include <tools/string.hxx> -#include <sfx2/linksrc.hxx> -#include <sfx2/docfile.hxx> -#include "linkmgr.hxx" - -class Graphic; -struct Impl_DownLoadData; -namespace sfx2 { class FileDialogHelper; } - -class SvFileObject : public sfx2::SvLinkSource -{ - String sFileNm; - String sFilter; - String sReferer; - Link aEndEditLink; - SfxMediumRef xMed; - Impl_DownLoadData* pDownLoadData; - Window* pOldParent; - - BYTE nType; - - BOOL bLoadAgain : 1; - BOOL bSynchron : 1; - BOOL bLoadError : 1; - BOOL bWaitForData : 1; - BOOL bInNewData : 1; - BOOL bDataReady : 1; - BOOL bMedUseCache : 1; - BOOL bNativFormat : 1; - BOOL bClearMedium : 1; - BOOL bStateChangeCalled : 1; - BOOL bInCallDownLoad : 1; - - BOOL GetGraphic_Impl( Graphic&, SvStream* pStream = 0 ); - BOOL LoadFile_Impl(); - void SendStateChg_Impl( LinkState nState ); - - DECL_STATIC_LINK( SvFileObject, DelMedium_Impl, SfxMediumRef* ); - DECL_STATIC_LINK( SvFileObject, LoadGrfReady_Impl, void* ); - DECL_STATIC_LINK( SvFileObject, LoadGrfNewData_Impl, void* ); - DECL_LINK( DialogClosedHdl, sfx2::FileDialogHelper* ); - -protected: - virtual ~SvFileObject(); - -public: - SvFileObject(); - - virtual BOOL GetData( ::com::sun::star::uno::Any & rData /*out param*/, - const String & rMimeType, - BOOL bSynchron = FALSE ); - - virtual BOOL Connect( sfx2::SvBaseLink* ); - virtual void Edit( Window *, sfx2::SvBaseLink *, const Link& rEndEditHdl ); - - // erfrage ob das man direkt auf die Daten zugreifen kann oder ob das - // erst angestossen werden muss - virtual BOOL IsPending() const; - virtual BOOL IsDataComplete() const; - - void CancelTransfers(); - void SetTransferPriority( USHORT nPrio ); -}; - - -#endif - diff --git a/svx/source/svxlink/linkmgr.cxx b/svx/source/svxlink/linkmgr.cxx deleted file mode 100644 index 7b1d7dca42d8..000000000000 --- a/svx/source/svxlink/linkmgr.cxx +++ /dev/null @@ -1,390 +0,0 @@ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2008 by Sun Microsystems, Inc. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * $RCSfile: linkmgr.cxx,v $ - * $Revision: 1.34 $ - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -// MARKER(update_precomp.py): autogen include statement, do not remove -#include "precompiled_svx.hxx" -#include <com/sun/star/document/UpdateDocMode.hpp> -#include <com/sun/star/uno/Sequence.h> -#include <sot/formats.hxx> -#include <sot/exchange.hxx> -#include <vcl/graph.hxx> -#include <sfx2/lnkbase.hxx> -#include <tools/urlobj.hxx> -#include <svl/stritem.hxx> -#include <svl/eitem.hxx> -#include <svl/intitem.hxx> -#include <svl/rectitem.hxx> -#include <sfx2/app.hxx> -#include <sfx2/request.hxx> -#include <sfx2/objsh.hxx> -#ifndef _SFX_INTERNO_HXX //autogen -//#include <sfx2/interno.hxx> -#endif -#include <sfx2/dispatch.hxx> -#include <unotools/charclass.hxx> -#include <unotools/localfilehelper.hxx> -#include <svl/itemset.hxx> -#include <svl/urihelper.hxx> -#include <com/sun/star/datatransfer/DataFlavor.hpp> - -#include "linkmgr.hxx" -#include "fileobj.hxx" -#include <svx/dialmgr.hxx> -#include <svx/dialogs.hrc> -#include "editeng/unolingu.hxx" - -class SvxInternalLink : public sfx2::SvLinkSource -{ -public: - SvxInternalLink() {} - - virtual BOOL Connect( sfx2::SvBaseLink* ); -}; - -SvxLinkManager::SvxLinkManager( SfxObjectShell* _pPersist ) -{ - SvLinkManager::SetPersist( _pPersist ); -} - -sfx2::SvLinkSourceRef SvxLinkManager::CreateObj( sfx2::SvBaseLink * pLink ) -{ - switch( pLink->GetObjType() ) - { - case OBJECT_CLIENT_FILE: - case OBJECT_CLIENT_GRF: - case OBJECT_CLIENT_OLE: - return new SvFileObject; - - case OBJECT_INTERN: - return new SvxInternalLink(); - } - return SvLinkManager::CreateObj( pLink ); -} - - -BOOL SvxLinkManager::InsertFileLink( sfx2::SvBaseLink& rLink, - USHORT nFileType, - const String& rFileNm, - const String* pFilterNm, - const String* pRange ) -{ - if( !( OBJECT_CLIENT_SO & rLink.GetObjType() )) - return FALSE; - - String sCmd( rFileNm ); - sCmd += ::sfx2::cTokenSeperator; - if( pRange ) - sCmd += *pRange; - if( pFilterNm ) - ( sCmd += ::sfx2::cTokenSeperator ) += *pFilterNm; - - return SvLinkManager::InsertLink( &rLink, nFileType, - sfx2::LINKUPDATE_ONCALL, &sCmd ); -} - -BOOL SvxLinkManager::InsertFileLink( sfx2::SvBaseLink& rLink ) -{ - if( OBJECT_CLIENT_FILE == ( OBJECT_CLIENT_FILE & rLink.GetObjType() )) - return SvLinkManager::InsertLink( &rLink, rLink.GetObjType(), - sfx2::LINKUPDATE_ONCALL ); - return FALSE; -} - - // erfrage die Strings fuer den Dialog -BOOL SvxLinkManager::GetDisplayNames( const sfx2::SvBaseLink* pBaseLink, - String* pType, - String* pFile, - String* pLink, - String* pFilter ) const -{ - BOOL bRet = FALSE; - const String sLNm( pBaseLink->GetLinkSourceName() ); - if( sLNm.Len() ) - switch( pBaseLink->GetObjType() ) - { - case OBJECT_CLIENT_FILE: - case OBJECT_CLIENT_GRF: - case OBJECT_CLIENT_OLE: - { - USHORT nPos = 0; - String sFile( sLNm.GetToken( 0, ::sfx2::cTokenSeperator, nPos ) ); - String sRange( sLNm.GetToken( 0, ::sfx2::cTokenSeperator, nPos ) ); - - if( pFile ) - *pFile = sFile; - if( pLink ) - *pLink = sRange; - if( pFilter ) - *pFilter = sLNm.Copy( nPos ); - - if( pType ) - { - sal_uInt16 nObjType = pBaseLink->GetObjType(); - *pType = String( ResId( - ( OBJECT_CLIENT_FILE == nObjType || OBJECT_CLIENT_OLE == nObjType ) - ? RID_SVXSTR_FILELINK - : RID_SVXSTR_GRAFIKLINK - , DIALOG_MGR() )); - } - bRet = TRUE; - } - break; - default: - bRet = SvLinkManager::GetDisplayNames( pBaseLink, pType, pFile, - pLink, pFilter ); - break; - } - return bRet; -} - -// eine Uebertragung wird abgebrochen, also alle DownloadMedien canceln -// (ist zur Zeit nur fuer die FileLinks interressant!) -void SvxLinkManager::CancelTransfers() -{ - SvFileObject* pFileObj; - sfx2::SvBaseLink* pLnk; - - const sfx2::SvBaseLinks& rLnks = GetLinks(); - for( USHORT n = rLnks.Count(); n; ) - if( 0 != ( pLnk = &(*rLnks[ --n ])) && - OBJECT_CLIENT_FILE == (OBJECT_CLIENT_FILE & pLnk->GetObjType()) && - 0 != ( pFileObj = (SvFileObject*)pLnk->GetObj() ) ) -// 0 != ( pFileObj = (SvFileObject*)SvFileObject::ClassFactory()-> -// CastAndAddRef( pLnk->GetObj() )) ) - pFileObj->CancelTransfers(); -} - -void SvxLinkManager::SetTransferPriority( sfx2::SvBaseLink& /*rLink*/, USHORT /*nPrio*/ ) -{ -// SvFileObject* pFileObj = -// (SvFileObject*)SvFileObject::ClassFactory()-> -// CastAndAddRef( rLink.GetObj() ); -// OBJECT_CLIENT_FILE == (OBJECT_CLIENT_FILE & rLink.GetObjType()) ? -// (SvFileObject*)rLink.GetObj() : 0; -} - - - // um Status Informationen aus dem FileObject an den BaseLink zu - // senden, gibt es eine eigene ClipBoardId. Das SvData-Object hat - // dann die entsprechenden Informationen als String. - // Wird zur Zeit fuer FileObject in Verbindung mit JavaScript benoetigt - // - das braucht Informationen ueber Load/Abort/Error -ULONG SvxLinkManager::RegisterStatusInfoId() -{ - static ULONG nFormat = 0; - - if( !nFormat ) - { -// wie sieht die neue Schnittstelle aus? -// nFormat = Exchange::RegisterFormatName( "StatusInfo vom SvxInternalLink" ); - nFormat = SotExchange::RegisterFormatName( - String::CreateFromAscii( RTL_CONSTASCII_STRINGPARAM( - "StatusInfo vom SvxInternalLink" ))); - } - return nFormat; -} - -// ---------------------------------------------------------------------- - -BOOL SvxLinkManager::GetGraphicFromAny( const String& rMimeType, - const ::com::sun::star::uno::Any & rValue, - Graphic& rGrf ) -{ - BOOL bRet = FALSE; - ::com::sun::star::uno::Sequence< sal_Int8 > aSeq; - if( rValue.hasValue() && ( rValue >>= aSeq ) ) - { - SvMemoryStream aMemStm( (void*)aSeq.getConstArray(), aSeq.getLength(), - STREAM_READ ); - aMemStm.Seek( 0 ); - - switch( SotExchange::GetFormatIdFromMimeType( rMimeType ) ) - { - case SOT_FORMATSTR_ID_SVXB: - { - aMemStm >> rGrf; - bRet = TRUE; - } - break; - case FORMAT_GDIMETAFILE: - { - GDIMetaFile aMtf; - aMtf.Read( aMemStm ); - rGrf = aMtf; - bRet = TRUE; - } - break; - case FORMAT_BITMAP: - { - Bitmap aBmp; - aMemStm >> aBmp; - rGrf = aBmp; - bRet = TRUE; - } - break; - } - } - return bRet; -} - - -// ---------------------------------------------------------------------- -String lcl_DDE_RelToAbs( const String& rTopic, const String& rBaseURL ) -{ - String sRet; - INetURLObject aURL( rTopic ); - if( INET_PROT_NOT_VALID == aURL.GetProtocol() ) - utl::LocalFileHelper::ConvertSystemPathToURL( rTopic, rBaseURL, sRet ); - if( !sRet.Len() ) - sRet = URIHelper::SmartRel2Abs( INetURLObject(rBaseURL), rTopic, URIHelper::GetMaybeFileHdl(), true ); - return sRet; -} - -BOOL SvxInternalLink::Connect( sfx2::SvBaseLink* pLink ) -{ - SfxObjectShell* pFndShell = 0; - USHORT nUpdateMode = com::sun::star::document::UpdateDocMode::NO_UPDATE; - String sTopic, sItem, sReferer; - if( pLink->GetLinkManager() && - pLink->GetLinkManager()->GetDisplayNames( pLink, 0, &sTopic, &sItem ) - && sTopic.Len() ) - { - // erstmal nur ueber die DocumentShells laufen und die mit dem - // Namen heraussuchen: - - CharClass aCC( SvxCreateLocale( LANGUAGE_SYSTEM )); - String sNm( sTopic ), sTmp; - aCC.toLower( sNm ); - - TypeId aType( TYPE(SfxObjectShell) ); - - BOOL bFirst = TRUE; - SfxObjectShell* pShell = pLink->GetLinkManager()->GetPersist(); - if( pShell && pShell->GetMedium() ) - { - sReferer = pShell->GetMedium()->GetBaseURL(); - SFX_ITEMSET_ARG( pShell->GetMedium()->GetItemSet(), pItem, SfxUInt16Item, SID_UPDATEDOCMODE, sal_False ); - if ( pItem ) - nUpdateMode = pItem->GetValue(); - } - - String sNmURL( lcl_DDE_RelToAbs( sTopic, sReferer ) ); - aCC.toLower( sNmURL ); - - if ( !pShell ) - { - bFirst = FALSE; - pShell = SfxObjectShell::GetFirst( &aType, sal_False ); - } - - while( pShell ) - { - if( !sTmp.Len() ) - { - sTmp = pShell->GetTitle( SFX_TITLE_FULLNAME ); - sTmp = lcl_DDE_RelToAbs(sTmp, sReferer ); - } - - - aCC.toLower( sTmp ); - if( sTmp == sNmURL ) // die wollen wir haben - { - pFndShell = pShell; - break; - } - - if( bFirst ) - { - bFirst = FALSE; - pShell = SfxObjectShell::GetFirst( &aType, sal_False ); - } - else - pShell = SfxObjectShell::GetNext( *pShell, &aType, sal_False ); - - sTmp.Erase(); - } - } - - // empty topics are not allowed - which document is it - if( !sTopic.Len() ) - return FALSE; - - if( !pFndShell ) - { - // dann versuche die Datei zu laden: - INetURLObject aURL( sTopic ); - INetProtocol eOld = aURL.GetProtocol(); - aURL.SetURL( sTopic = lcl_DDE_RelToAbs( sTopic, sReferer ) ); - if( INET_PROT_NOT_VALID != eOld || - INET_PROT_HTTP != aURL.GetProtocol() ) - { - SfxStringItem aName( SID_FILE_NAME, sTopic ); - SfxBoolItem aMinimized(SID_MINIMIZED, TRUE); - SfxBoolItem aHidden(SID_HIDDEN, TRUE); - SfxStringItem aTarget( SID_TARGETNAME, String::CreateFromAscii("_blank") ); - SfxStringItem aReferer( SID_REFERER, sReferer ); - SfxUInt16Item aUpdate( SID_UPDATEDOCMODE, nUpdateMode ); - SfxBoolItem aReadOnly(SID_DOC_READONLY, TRUE); - - // #i14200# (DDE-link crashes wordprocessor) - SfxAllItemSet aArgs( SFX_APP()->GetPool() ); - aArgs.Put(aReferer); - aArgs.Put(aTarget); - aArgs.Put(aHidden); - aArgs.Put(aMinimized); - aArgs.Put(aName); - aArgs.Put(aUpdate); - aArgs.Put(aReadOnly); - pFndShell = SfxObjectShell::CreateAndLoadObject( aArgs ); - } - } - - BOOL bRet = FALSE; - if( pFndShell ) - { - sfx2::SvLinkSource* pNewSrc = pFndShell->DdeCreateLinkSource( sItem ); - if( pNewSrc ) - { - bRet = TRUE; - - ::com::sun::star::datatransfer::DataFlavor aFl; - SotExchange::GetFormatDataFlavor( pLink->GetContentType(), aFl ); - - pLink->SetObj( pNewSrc ); - pNewSrc->AddDataAdvise( pLink, aFl.MimeType, - sfx2::LINKUPDATE_ONCALL == pLink->GetUpdateMode() - ? ADVISEMODE_ONLYONCE - : 0 ); - } - } - return bRet; -} - - diff --git a/svx/source/svxlink/linkmgr.src b/svx/source/svxlink/linkmgr.src deleted file mode 100644 index 91de23427e1d..000000000000 --- a/svx/source/svxlink/linkmgr.src +++ /dev/null @@ -1,86 +0,0 @@ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2008 by Sun Microsystems, Inc. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * $RCSfile: linkmgr.src,v $ - * $Revision: 1.25 $ - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include <svx/dialogs.hrc> -String RID_SVXSTR_FILELINK -{ - Text [ en-US ] = "Document" ; -}; -String RID_SVXSTR_GRAFIKLINK -{ - Text [ en-US ] = "Graphic" ; -}; -String RID_SVXSTR_EDITGRFLINK -{ - /* ### ACHTUNG: Neuer Text in Resource? Grafik Verknpfen : Grafik Verknpfen */ - /* ### ACHTUNG: Neuer Text in Resource? Grafik Verknpfen : Grafik Verknpfen */ - Text [ en-US ] = "Link graphics" ; -}; -String RID_SVXSTR_GRFLINKPROGRESS -{ - Text [ en-US ] = "Importing graphic..." ; -}; -Bitmap RID_SVXGRF_GRAPHICLOAD -{ - File = "grfload.bmp" ; -}; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/svx/source/svxlink/makefile.mk b/svx/source/svxlink/makefile.mk deleted file mode 100644 index 4494b1dccec8..000000000000 --- a/svx/source/svxlink/makefile.mk +++ /dev/null @@ -1,65 +0,0 @@ -#************************************************************************* -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -# -# Copyright 2008 by Sun Microsystems, Inc. -# -# OpenOffice.org - a multi-platform office productivity suite -# -# $RCSfile: makefile.mk,v $ -# -# $Revision: 1.5 $ -# -# This file is part of OpenOffice.org. -# -# OpenOffice.org is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License version 3 -# only, as published by the Free Software Foundation. -# -# OpenOffice.org is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License version 3 for more details -# (a copy is included in the LICENSE file that accompanied this code). -# -# You should have received a copy of the GNU Lesser General Public License -# version 3 along with OpenOffice.org. If not, see -# <http://www.openoffice.org/license.html> -# for a copy of the LGPLv3 License. -# -#************************************************************************* - -PRJ=..$/.. - -PROJECTPCH=svxpch -PROJECTPCHSOURCE=$(PRJ)$/util$/svxpch - -PRJNAME=svx -TARGET=svxlink -AUTOSEG=true -ENABLE_EXCEPTIONS=TRUE - -# --- Settings ----------------------------------------------------- - -.INCLUDE : settings.mk -.INCLUDE : $(PRJ)$/util$/makefile.pmk - -# --- Files -------------------------------------------------------- - -SLOFILES=\ - $(SLO)$/linkmgr.obj \ - $(SLO)$/fileobj.obj - -SRS1NAME=$(TARGET) -SRC1FILES= \ - linkmgr.src - -.IF "$(GUI)" == "WNT" -NOOPTFILES=\ - $(SLO)$/fileobj.obj -.ENDIF - -# ========================================================================== - -.INCLUDE : target.mk - diff --git a/svx/util/makefile.mk b/svx/util/makefile.mk index f02a5f9c0514..e22781a096d5 100644 --- a/svx/util/makefile.mk +++ b/svx/util/makefile.mk @@ -65,13 +65,11 @@ SHL1LIBS= \ $(SLB)$/form-core.lib \ $(SLB)$/gal.lib \ $(SLB)$/items-core.lib \ - $(SLB)$/options-core.lib \ $(SLB)$/overlay.lib \ $(SLB)$/primitive2d.lib \ $(SLB)$/primitive3d.lib \ $(SLB)$/properties.lib \ $(SLB)$/svdraw-core.lib \ - $(SLB)$/svxlink.lib \ $(SLB)$/table-core.lib \ $(SLB)$/tbxctrls-core.lib \ $(SLB)$/toolbars.lib \ @@ -122,7 +120,6 @@ SHL2LIBS= \ $(SLB)$/items.lib \ $(SLB)$/dialogs.lib \ $(SLB)$/mnuctrls.lib \ - $(SLB)$/options.lib \ $(SLB)$/stbctrls.lib \ $(SLB)$/tbxctrls.lib \ $(SLB)$/smarttags.lib \ @@ -185,13 +182,11 @@ SRSFILELIST=\ $(SRS)$/mnuctrls.srs \ $(SRS)$/stbctrls.srs \ $(SRS)$/tbxctrls.srs \ - $(SRS)$/options.srs \ $(SRS)$/svxitems.srs \ $(SRS)$/form.srs \ $(SRS)$/fmcomp.srs \ $(SRS)$/engine3d.srs \ $(SRS)$/unodraw.srs \ - $(SRS)$/svxlink.srs \ $(SRS)$/accessibility.srs \ $(SRS)$/table.srs \ $(SRS)$/toolbars.srs \ |