diff options
226 files changed, 676 insertions, 644 deletions
diff --git a/basctl/source/basicide/baside2b.cxx b/basctl/source/basicide/baside2b.cxx index ebb67bfb641c..698ee0448481 100644 --- a/basctl/source/basicide/baside2b.cxx +++ b/basctl/source/basicide/baside2b.cxx @@ -663,8 +663,8 @@ void EditorWindow::DataChanged(DataChangedEvent const & rDCEvt) && (rDCEvt.GetFlags() & SETTINGS_STYLE) != 0) { Color aColor(GetSettings().GetStyleSettings().GetFieldColor()); - if (aColor - != rDCEvt.GetOldSettings()->GetStyleSettings().GetFieldColor()) + const AllSettings* pOldSettings = rDCEvt.GetOldSettings(); + if (!pOldSettings || aColor != pOldSettings->GetStyleSettings().GetFieldColor()) { SetBackground(Wallpaper(aColor)); Invalidate(); @@ -672,8 +672,8 @@ void EditorWindow::DataChanged(DataChangedEvent const & rDCEvt) if (pEditEngine != 0) { aColor = GetSettings().GetStyleSettings().GetFieldTextColor(); - if (aColor != rDCEvt.GetOldSettings()-> - GetStyleSettings().GetFieldTextColor()) + if (!pOldSettings || aColor != + pOldSettings-> GetStyleSettings().GetFieldTextColor()) { Font aFont(pEditEngine->GetFont()); aFont.SetColor(aColor); @@ -1164,8 +1164,8 @@ void BreakPointWindow::DataChanged(DataChangedEvent const & rDCEvt) && (rDCEvt.GetFlags() & SETTINGS_STYLE) != 0) { Color aColor(GetSettings().GetStyleSettings().GetFieldColor()); - if (aColor - != rDCEvt.GetOldSettings()->GetStyleSettings().GetFieldColor()) + const AllSettings* pOldSettings = rDCEvt.GetOldSettings(); + if (!pOldSettings || aColor != pOldSettings->GetStyleSettings().GetFieldColor()) { setBackgroundColor(aColor); Invalidate(); @@ -1720,8 +1720,8 @@ void ComplexEditorWindow::DataChanged(DataChangedEvent const & rDCEvt) && (rDCEvt.GetFlags() & SETTINGS_STYLE) != 0) { Color aColor(GetSettings().GetStyleSettings().GetFaceColor()); - if (aColor - != rDCEvt.GetOldSettings()->GetStyleSettings().GetFaceColor()) + const AllSettings* pOldSettings = rDCEvt.GetOldSettings(); + if (!pOldSettings || aColor != pOldSettings->GetStyleSettings().GetFaceColor()) { SetBackground(Wallpaper(aColor)); Invalidate(); diff --git a/basctl/source/basicide/linenumberwindow.cxx b/basctl/source/basicide/linenumberwindow.cxx index 052e2a3f4f75..47ea752a5e5e 100644 --- a/basctl/source/basicide/linenumberwindow.cxx +++ b/basctl/source/basicide/linenumberwindow.cxx @@ -94,7 +94,8 @@ void LineNumberWindow::DataChanged(DataChangedEvent const & rDCEvt) && (rDCEvt.GetFlags() & SETTINGS_STYLE) != 0) { Color aColor(GetSettings().GetStyleSettings().GetFieldColor()); - if (aColor != rDCEvt.GetOldSettings()->GetStyleSettings().GetFieldColor()) + const AllSettings* pOldSettings = rDCEvt.GetOldSettings(); + if (!pOldSettings || aColor != pOldSettings->GetStyleSettings().GetFieldColor()) { SetBackground(Wallpaper(aColor)); Invalidate(); diff --git a/cppcanvas/source/mtfrenderer/emfplus.cxx b/cppcanvas/source/mtfrenderer/emfplus.cxx index e95d37ef7a30..d19d496c6b33 100644 --- a/cppcanvas/source/mtfrenderer/emfplus.cxx +++ b/cppcanvas/source/mtfrenderer/emfplus.cxx @@ -28,7 +28,7 @@ #include <tools/stream.hxx> #include <vcl/metaact.hxx> -#include <svtools/filter.hxx> +#include <vcl/graphicfilter.hxx> #include <basegfx/tools/canvastools.hxx> #include <basegfx/tools/gradienttools.hxx> #include <basegfx/tools/tools.hxx> diff --git a/cui/source/dialogs/SpellDialog.cxx b/cui/source/dialogs/SpellDialog.cxx index eec15d57a630..dfc7e9be87f7 100644 --- a/cui/source/dialogs/SpellDialog.cxx +++ b/cui/source/dialogs/SpellDialog.cxx @@ -39,7 +39,7 @@ #include <svl/undo.hxx> #include <unotools/lingucfg.hxx> #include <svtools/textdata.hxx> -#include <svtools/filter.hxx> +#include <vcl/graphicfilter.hxx> #include <editeng/unolingu.hxx> #include <editeng/splwrap.hxx> #include <linguistic/lngprops.hxx> diff --git a/cui/source/dialogs/about.cxx b/cui/source/dialogs/about.cxx index 65f6bdd9f6ea..c1ba67b2645a 100644 --- a/cui/source/dialogs/about.cxx +++ b/cui/source/dialogs/about.cxx @@ -37,7 +37,7 @@ #include <unotools/bootstrap.hxx> #include <com/sun/star/uno/Any.h> #include <vcl/graph.hxx> -#include <svtools/filter.hxx> +#include <vcl/graphicfilter.hxx> #include <svtools/langhelp.hxx> #include "com/sun/star/system/SystemShellExecuteFlags.hpp" diff --git a/cui/source/dialogs/cuigaldlg.cxx b/cui/source/dialogs/cuigaldlg.cxx index db1369decbb3..47308e53fb74 100644 --- a/cui/source/dialogs/cuigaldlg.cxx +++ b/cui/source/dialogs/cuigaldlg.cxx @@ -38,7 +38,7 @@ #include <avmedia/mediawindow.hxx> #include <unotools/pathoptions.hxx> #include <sfx2/opengrf.hxx> -#include <svtools/filter.hxx> +#include <vcl/graphicfilter.hxx> #include <svx/gallery1.hxx> #include <svx/galtheme.hxx> #include "cuigaldlg.hxx" diff --git a/cui/source/dialogs/thesdlg.cxx b/cui/source/dialogs/thesdlg.cxx index 17db9233e6ef..ade9db20ae79 100644 --- a/cui/source/dialogs/thesdlg.cxx +++ b/cui/source/dialogs/thesdlg.cxx @@ -34,7 +34,7 @@ #include <tools/shl.hxx> #include <svl/lngmisc.hxx> -#include <svtools/filter.hxx> +#include <vcl/graphicfilter.hxx> #include <svtools/svlbitm.hxx> #include <svtools/svtreebx.hxx> #include <vcl/wrkwin.hxx> diff --git a/desktop/source/app/app.cxx b/desktop/source/app/app.cxx index 001eac7bee07..b71940a6e448 100644 --- a/desktop/source/app/app.cxx +++ b/desktop/source/app/app.cxx @@ -97,7 +97,7 @@ #include <svtools/fontsubstconfig.hxx> #include <svtools/accessibilityoptions.hxx> #include <svtools/apearcfg.hxx> -#include <svtools/filter.hxx> +#include <vcl/graphicfilter.hxx> #include "langselect.hxx" diff --git a/desktop/source/splash/splash.cxx b/desktop/source/splash/splash.cxx index 48510b19172c..20a5e7d02249 100644 --- a/desktop/source/splash/splash.cxx +++ b/desktop/source/splash/splash.cxx @@ -47,7 +47,7 @@ #include <vcl/graph.hxx> #include <vcl/introwin.hxx> #include <vcl/virdev.hxx> -#include <svtools/filter.hxx> +#include <vcl/graphicfilter.hxx> #define NOT_LOADED ((long)-1) diff --git a/editeng/source/editeng/editview.cxx b/editeng/source/editeng/editview.cxx index dccb777d689c..fd8d48e48dcc 100644 --- a/editeng/source/editeng/editview.cxx +++ b/editeng/source/editeng/editview.cxx @@ -40,7 +40,7 @@ #include <svl/languageoptions.hxx> #include <svtools/ctrltool.hxx> #include <svtools/langtab.hxx> -#include <svtools/filter.hxx> +#include <vcl/graphicfilter.hxx> #include <svl/srchitem.hxx> diff --git a/editeng/source/items/frmitems.cxx b/editeng/source/items/frmitems.cxx index da4ca7dba164..dbcde63d82a9 100644 --- a/editeng/source/items/frmitems.cxx +++ b/editeng/source/items/frmitems.cxx @@ -65,7 +65,7 @@ #include <svtools/borderhelper.hxx> #include <rtl/ustring.hxx> #include <rtl/ustrbuf.hxx> -#include <svtools/filter.hxx> +#include <vcl/graphicfilter.hxx> #define _SVX_FRMITEMS_CXX diff --git a/editeng/source/rtf/rtfgrf.cxx b/editeng/source/rtf/rtfgrf.cxx index d6572be69cab..a0bd5cd1c046 100644 --- a/editeng/source/rtf/rtfgrf.cxx +++ b/editeng/source/rtf/rtfgrf.cxx @@ -35,8 +35,8 @@ #include <vcl/svapp.hxx> #include <svtools/rtfkeywd.hxx> #include <svtools/rtftoken.h> -#include <svtools/filter.hxx> -#include <svtools/wmf.hxx> +#include <vcl/graphicfilter.hxx> +#include <vcl/wmf.hxx> #include <editeng/svxrtf.hxx> diff --git a/filter/qa/cppunit/filters-tga-test.cxx b/filter/qa/cppunit/filters-tga-test.cxx index c0eba97d41f6..1cde0c8f5e44 100644 --- a/filter/qa/cppunit/filters-tga-test.cxx +++ b/filter/qa/cppunit/filters-tga-test.cxx @@ -29,7 +29,7 @@ #include <unotest/filters-test.hxx> #include <test/bootstrapfixture.hxx> -#include <svtools/FilterConfigItem.hxx> +#include <vcl/FilterConfigItem.hxx> #include <tools/stream.hxx> #include <vcl/graph.hxx> diff --git a/filter/qa/cppunit/filters-tiff-test.cxx b/filter/qa/cppunit/filters-tiff-test.cxx index 942ad1609290..d878fce3a36e 100644 --- a/filter/qa/cppunit/filters-tiff-test.cxx +++ b/filter/qa/cppunit/filters-tiff-test.cxx @@ -29,7 +29,7 @@ #include <unotest/filters-test.hxx> #include <test/bootstrapfixture.hxx> -#include <svtools/FilterConfigItem.hxx> +#include <vcl/FilterConfigItem.hxx> #include <tools/stream.hxx> #include <vcl/graph.hxx> diff --git a/filter/source/flash/impswfdialog.hxx b/filter/source/flash/impswfdialog.hxx index f05fa6ecc568..474255e3826d 100644 --- a/filter/source/flash/impswfdialog.hxx +++ b/filter/source/flash/impswfdialog.hxx @@ -38,7 +38,7 @@ #include <vcl/fixed.hxx> #include <vcl/field.hxx> -#include <svtools/FilterConfigItem.hxx> +#include <vcl/FilterConfigItem.hxx> // ---------------- // - ImpSWFDialog - diff --git a/filter/source/flash/swfexporter.cxx b/filter/source/flash/swfexporter.cxx index 5b9dbcdd2b56..4429a99f8034 100644 --- a/filter/source/flash/swfexporter.cxx +++ b/filter/source/flash/swfexporter.cxx @@ -41,8 +41,8 @@ #include <osl/diagnose.h> #include <osl/file.hxx> #include <vcl/metaact.hxx> -#include <svtools/wmf.hxx> -#include <svtools/filter.hxx> +#include <vcl/wmf.hxx> +#include <vcl/graphicfilter.hxx> #include "swfexporter.hxx" #include "swfwriter.hxx" diff --git a/filter/source/flash/swfwriter1.cxx b/filter/source/flash/swfwriter1.cxx index dfc7edf05b93..ca56de39de40 100644 --- a/filter/source/flash/swfwriter1.cxx +++ b/filter/source/flash/swfwriter1.cxx @@ -37,7 +37,7 @@ #include <vcl/virdev.hxx> #include <vcl/metric.hxx> #include <basegfx/matrix/b2dhommatrixtools.hxx> -#include <svtools/filter.hxx> +#include <vcl/graphicfilter.hxx> #include <vcl/graphictools.hxx> #include <vcl/rendergraphicrasterizer.hxx> diff --git a/filter/source/graphicfilter/egif/egif.cxx b/filter/source/graphicfilter/egif/egif.cxx index fa4044e44e2e..b3bbd9011b79 100644 --- a/filter/source/graphicfilter/egif/egif.cxx +++ b/filter/source/graphicfilter/egif/egif.cxx @@ -33,7 +33,7 @@ #include <vcl/window.hxx> #include <svl/solar.hrc> #include <svtools/fltcall.hxx> -#include <svtools/FilterConfigItem.hxx> +#include <vcl/FilterConfigItem.hxx> #include "giflzwc.hxx" // ------------- diff --git a/filter/source/graphicfilter/epbm/epbm.cxx b/filter/source/graphicfilter/epbm/epbm.cxx index f25b1b50b9bc..ca22eb2df4c9 100644 --- a/filter/source/graphicfilter/epbm/epbm.cxx +++ b/filter/source/graphicfilter/epbm/epbm.cxx @@ -33,7 +33,7 @@ #include <vcl/msgbox.hxx> #include <svl/solar.hrc> #include <svtools/fltcall.hxx> -#include <svtools/FilterConfigItem.hxx> +#include <vcl/FilterConfigItem.hxx> //============================ PBMWriter ================================== diff --git a/filter/source/graphicfilter/epgm/epgm.cxx b/filter/source/graphicfilter/epgm/epgm.cxx index fd1e89c0604f..8ca0ba6baff1 100644 --- a/filter/source/graphicfilter/epgm/epgm.cxx +++ b/filter/source/graphicfilter/epgm/epgm.cxx @@ -33,7 +33,7 @@ #include <vcl/msgbox.hxx> #include <svl/solar.hrc> #include <svtools/fltcall.hxx> -#include <svtools/FilterConfigItem.hxx> +#include <vcl/FilterConfigItem.hxx> //============================ PGMWriter ================================== diff --git a/filter/source/graphicfilter/epict/epict.cxx b/filter/source/graphicfilter/epict/epict.cxx index 1b6158589072..f80a1e433ca1 100644 --- a/filter/source/graphicfilter/epict/epict.cxx +++ b/filter/source/graphicfilter/epict/epict.cxx @@ -28,7 +28,7 @@ #include <vcl/metaact.hxx> -#include <svtools/filter.hxx> +#include <vcl/graphicfilter.hxx> #include <svl/solar.hrc> #include <svtools/fltcall.hxx> diff --git a/filter/source/graphicfilter/eppm/eppm.cxx b/filter/source/graphicfilter/eppm/eppm.cxx index e65343aff2da..e0b9da533929 100644 --- a/filter/source/graphicfilter/eppm/eppm.cxx +++ b/filter/source/graphicfilter/eppm/eppm.cxx @@ -33,7 +33,7 @@ #include <vcl/msgbox.hxx> #include <svl/solar.hrc> #include <svtools/fltcall.hxx> -#include <svtools/FilterConfigItem.hxx> +#include <vcl/FilterConfigItem.hxx> //============================ PPMWriter ================================== diff --git a/filter/source/graphicfilter/eps/eps.cxx b/filter/source/graphicfilter/eps/eps.cxx index dbe973e47b4a..16f351c9b58f 100644 --- a/filter/source/graphicfilter/eps/eps.cxx +++ b/filter/source/graphicfilter/eps/eps.cxx @@ -44,7 +44,7 @@ #include <unotools/configmgr.hxx> #include <svl/solar.hrc> #include <svtools/fltcall.hxx> -#include <svtools/FilterConfigItem.hxx> +#include <vcl/FilterConfigItem.hxx> #include <vcl/graphictools.hxx> #include <vcl/rendergraphicrasterizer.hxx> #include "strings.hrc" diff --git a/filter/source/graphicfilter/eras/eras.cxx b/filter/source/graphicfilter/eras/eras.cxx index a22c1b49528d..559315e877d2 100644 --- a/filter/source/graphicfilter/eras/eras.cxx +++ b/filter/source/graphicfilter/eras/eras.cxx @@ -30,7 +30,7 @@ #include <vcl/graph.hxx> #include <vcl/bmpacc.hxx> #include <svtools/fltcall.hxx> -#include <svtools/FilterConfigItem.hxx> +#include <vcl/FilterConfigItem.hxx> //============================ RASWriter ================================== diff --git a/filter/source/graphicfilter/etiff/etiff.cxx b/filter/source/graphicfilter/etiff/etiff.cxx index efd69b641324..43e8db99c65c 100644 --- a/filter/source/graphicfilter/etiff/etiff.cxx +++ b/filter/source/graphicfilter/etiff/etiff.cxx @@ -33,7 +33,7 @@ #include <vcl/bmpacc.hxx> #include <svl/solar.hrc> #include <svtools/fltcall.hxx> -#include <svtools/FilterConfigItem.hxx> +#include <vcl/FilterConfigItem.hxx> #define NewSubfileType 254 #define ImageWidth 256 diff --git a/filter/source/graphicfilter/ipcd/ipcd.cxx b/filter/source/graphicfilter/ipcd/ipcd.cxx index 8d4070e9b0f6..a24cf2638978 100644 --- a/filter/source/graphicfilter/ipcd/ipcd.cxx +++ b/filter/source/graphicfilter/ipcd/ipcd.cxx @@ -33,7 +33,7 @@ #include <vcl/svapp.hxx> #include <svtools/fltcall.hxx> #include <svl/solar.hrc> -#include <svtools/FilterConfigItem.hxx> +#include <vcl/FilterConfigItem.hxx> //============================ PCDReader ================================== diff --git a/filter/source/msfilter/escherex.cxx b/filter/source/msfilter/escherex.cxx index 022a966bad2e..5cd03428cca2 100644 --- a/filter/source/msfilter/escherex.cxx +++ b/filter/source/msfilter/escherex.cxx @@ -42,7 +42,7 @@ #include <tools/zcodec.hxx> #include <svx/svdopath.hxx> #include <stdlib.h> -#include <svtools/filter.hxx> +#include <vcl/graphicfilter.hxx> #include "svx/EnhancedCustomShapeTypeNames.hxx" #include "svx/EnhancedCustomShapeGeometry.hxx" #include <svx/EnhancedCustomShapeFunctionParser.hxx> diff --git a/filter/source/msfilter/msdffimp.cxx b/filter/source/msfilter/msdffimp.cxx index b5c27bd5b4b1..23c82c164c17 100644 --- a/filter/source/msfilter/msdffimp.cxx +++ b/filter/source/msfilter/msdffimp.cxx @@ -44,6 +44,7 @@ #include <sot/exchange.hxx> #include <sot/storinfo.hxx> #include <vcl/cvtgrf.hxx> +#include <vcl/wmf.hxx> #include "viscache.hxx" // SvxItem-Mapping. Wird benoetigt um die SvxItem-Header erfolgreich zu includen @@ -65,7 +66,7 @@ #include <com/sun/star/drawing/XShapes.hpp> #include <editeng/charscaleitem.hxx> #include <editeng/kernitem.hxx> -#include <svtools/filter.hxx> +#include <vcl/graphicfilter.hxx> #include <tools/string.hxx> #include <tools/urlobj.hxx> #include <vcl/virdev.hxx> diff --git a/filter/source/pdf/impdialog.hxx b/filter/source/pdf/impdialog.hxx index f3330c08b684..8c65d2456de1 100644 --- a/filter/source/pdf/impdialog.hxx +++ b/filter/source/pdf/impdialog.hxx @@ -41,7 +41,7 @@ #include "vcl/group.hxx" #include "vcl/pdfwriter.hxx" -#include "svtools/FilterConfigItem.hxx" +#include <vcl/FilterConfigItem.hxx> #include "sfx2/tabdlg.hxx" diff --git a/filter/source/pdf/pdfexport.cxx b/filter/source/pdf/pdfexport.cxx index db93010d1ee1..3d21af243205 100644 --- a/filter/source/pdf/pdfexport.cxx +++ b/filter/source/pdf/pdfexport.cxx @@ -44,8 +44,8 @@ #include "vcl/svapp.hxx" #include "toolkit/awt/vclxdevice.hxx" #include "unotools/localfilehelper.hxx" -#include "svtools/FilterConfigItem.hxx" -#include "svtools/filter.hxx" +#include <vcl/FilterConfigItem.hxx> +#include <vcl/graphicfilter.hxx> #include "svl/solar.hrc" #include "comphelper/string.hxx" #include "comphelper/storagehelper.hxx" diff --git a/filter/source/pdf/pdffilter.cxx b/filter/source/pdf/pdffilter.cxx index ef8120b0b93b..53fc8437a13d 100644 --- a/filter/source/pdf/pdffilter.cxx +++ b/filter/source/pdf/pdffilter.cxx @@ -32,7 +32,7 @@ #include <vcl/svapp.hxx> #include <vcl/window.hxx> #include <svl/outstrm.hxx> -#include <svtools/FilterConfigItem.hxx> +#include <vcl/FilterConfigItem.hxx> // ------------- // - PDFFilter - diff --git a/filter/source/svg/impsvgdialog.hxx b/filter/source/svg/impsvgdialog.hxx index 6a7e13a0a064..0a776d70abd8 100644 --- a/filter/source/svg/impsvgdialog.hxx +++ b/filter/source/svg/impsvgdialog.hxx @@ -44,7 +44,7 @@ #include <vcl/fixed.hxx> #include <vcl/field.hxx> #include <svtools/stdctrl.hxx> -#include <svtools/FilterConfigItem.hxx> +#include <vcl/FilterConfigItem.hxx> #define SVG_EXPORTFILTER_CONFIGPATH "Office.Common/Filter/SVG/Export/" #define SVG_PROP_TINYPROFILE "TinyMode" diff --git a/filter/source/svg/svgreader.cxx b/filter/source/svg/svgreader.cxx index d8aee5525230..fbc4c50a25bd 100644 --- a/filter/source/svg/svgreader.cxx +++ b/filter/source/svg/svgreader.cxx @@ -57,7 +57,7 @@ #include <vcl/graph.hxx> #include <vcl/virdev.hxx> #include <vcl/gradient.hxx> -#include <svtools/filter.hxx> +#include <vcl/graphicfilter.hxx> #include <tools/zcodec.hxx> #include <boost/bind.hpp> diff --git a/forms/source/component/imgprod.cxx b/forms/source/component/imgprod.cxx index be2843044899..d169d8d4003d 100644 --- a/forms/source/component/imgprod.cxx +++ b/forms/source/component/imgprod.cxx @@ -33,7 +33,7 @@ #include <vcl/cvtgrf.hxx> #include <vcl/svapp.hxx> #include <unotools/ucbstreamhelper.hxx> -#include <svtools/filter.hxx> +#include <vcl/graphicfilter.hxx> #include <com/sun/star/io/XInputStream.hpp> #include "svtools/imageresourceaccess.hxx" diff --git a/framework/source/fwe/classes/addonsoptions.cxx b/framework/source/fwe/classes/addonsoptions.cxx index f284d77688a4..eab54676a56a 100644 --- a/framework/source/fwe/classes/addonsoptions.cxx +++ b/framework/source/fwe/classes/addonsoptions.cxx @@ -44,7 +44,7 @@ #include <rtl/uri.hxx> #include <comphelper/processfactory.hxx> #include <vcl/graph.hxx> -#include <svtools/filter.hxx> +#include <vcl/graphicfilter.hxx> #include <boost/unordered_map.hpp> #include <algorithm> diff --git a/framework/source/uielement/buttontoolbarcontroller.cxx b/framework/source/uielement/buttontoolbarcontroller.cxx index 7061386a398b..b5c41df5d947 100644 --- a/framework/source/uielement/buttontoolbarcontroller.cxx +++ b/framework/source/uielement/buttontoolbarcontroller.cxx @@ -59,7 +59,7 @@ #include <vcl/window.hxx> #include <vcl/graph.hxx> #include <vcl/bitmap.hxx> -#include <svtools/filter.hxx> +#include <vcl/graphicfilter.hxx> #include <svtools/miscopt.hxx> using namespace ::com::sun::star; diff --git a/framework/source/uielement/imagebuttontoolbarcontroller.cxx b/framework/source/uielement/imagebuttontoolbarcontroller.cxx index 3d47d4c4d2c8..0796a4f6031c 100644 --- a/framework/source/uielement/imagebuttontoolbarcontroller.cxx +++ b/framework/source/uielement/imagebuttontoolbarcontroller.cxx @@ -59,7 +59,7 @@ #include <vcl/window.hxx> #include <vcl/graph.hxx> #include <vcl/bitmap.hxx> -#include <svtools/filter.hxx> +#include <vcl/graphicfilter.hxx> #include <svtools/miscopt.hxx> using namespace ::com::sun::star; diff --git a/framework/source/uielement/togglebuttontoolbarcontroller.cxx b/framework/source/uielement/togglebuttontoolbarcontroller.cxx index e10291836956..3afc1b9f9f99 100644 --- a/framework/source/uielement/togglebuttontoolbarcontroller.cxx +++ b/framework/source/uielement/togglebuttontoolbarcontroller.cxx @@ -59,7 +59,7 @@ #include <vcl/window.hxx> #include <vcl/graph.hxx> #include <vcl/bitmap.hxx> -#include <svtools/filter.hxx> +#include <vcl/graphicfilter.hxx> #include <svtools/miscopt.hxx> using namespace ::com::sun::star; diff --git a/oox/source/helper/graphichelper.cxx b/oox/source/helper/graphichelper.cxx index edcb19855f45..9672cf45e726 100644 --- a/oox/source/helper/graphichelper.cxx +++ b/oox/source/helper/graphichelper.cxx @@ -40,7 +40,7 @@ #include <com/sun/star/graphic/XGraphicProvider.hpp> #include <com/sun/star/util/MeasureUnit.hpp> #include <comphelper/seqstream.hxx> -#include <svtools/wmf.hxx> +#include <vcl/wmf.hxx> #include "oox/helper/containerhelper.hxx" #include "oox/helper/propertyset.hxx" #include "oox/token/properties.hxx" diff --git a/sc/source/filter/excel/excimp8.cxx b/sc/source/filter/excel/excimp8.cxx index 91d5a018cee8..5f4064af22eb 100644 --- a/sc/source/filter/excel/excimp8.cxx +++ b/sc/source/filter/excel/excimp8.cxx @@ -36,7 +36,7 @@ #include <comphelper/mediadescriptor.hxx> #include <unotools/fltrcfg.hxx> -#include <svtools/wmf.hxx> +#include <vcl/wmf.hxx> #include <editeng/eeitem.hxx> diff --git a/sc/source/filter/excel/xiescher.cxx b/sc/source/filter/excel/xiescher.cxx index 894016791a2f..4d284e3873da 100644 --- a/sc/source/filter/excel/xiescher.cxx +++ b/sc/source/filter/excel/xiescher.cxx @@ -54,7 +54,7 @@ #include <sfx2/objsh.hxx> #include <unotools/moduleoptions.hxx> #include <unotools/fltrcfg.hxx> -#include <svtools/wmf.hxx> +#include <vcl/wmf.hxx> #include <comphelper/types.hxx> #include <comphelper/classids.hxx> #include <toolkit/helper/vclunohelper.hxx> diff --git a/sc/source/filter/html/htmlpars.cxx b/sc/source/filter/html/htmlpars.cxx index 0566f66c3826..70d103d14964 100644 --- a/sc/source/filter/html/htmlpars.cxx +++ b/sc/source/filter/html/htmlpars.cxx @@ -49,7 +49,7 @@ #include <sfx2/objsh.hxx> #include <svl/eitem.hxx> #include <svl/intitem.hxx> -#include <svtools/filter.hxx> +#include <vcl/graphicfilter.hxx> #include <svtools/parhtml.hxx> #include <svtools/htmlkywd.hxx> #include <svtools/htmltokn.h> diff --git a/sc/source/ui/drawfunc/fuins1.cxx b/sc/source/ui/drawfunc/fuins1.cxx index 22671a4b6b28..98251344720e 100644 --- a/sc/source/ui/drawfunc/fuins1.cxx +++ b/sc/source/ui/drawfunc/fuins1.cxx @@ -34,7 +34,7 @@ #include <svx/svdpagv.hxx> #include <svx/svdview.hxx> #include <svx/linkwarn.hxx> -#include <svtools/filter.hxx> +#include <vcl/graphicfilter.hxx> #include <svl/stritem.hxx> #include <svtools/miscopt.hxx> #include <vcl/msgbox.hxx> diff --git a/sc/source/ui/view/viewfun4.cxx b/sc/source/ui/view/viewfun4.cxx index 8192b4269324..e0eae473db4d 100644 --- a/sc/source/ui/view/viewfun4.cxx +++ b/sc/source/ui/view/viewfun4.cxx @@ -48,7 +48,7 @@ #include <sfx2/docfile.hxx> #include <sfx2/fcontnr.hxx> #include <svtools/langtab.hxx> -#include <svtools/filter.hxx> +#include <vcl/graphicfilter.hxx> #include <svl/stritem.hxx> #include <svtools/transfer.hxx> #include <svl/urlbmk.hxx> diff --git a/sd/source/filter/eppt/eppt.cxx b/sd/source/filter/eppt/eppt.cxx index d041683c61eb..b22f5b18d4a0 100644 --- a/sd/source/filter/eppt/eppt.cxx +++ b/sd/source/filter/eppt/eppt.cxx @@ -55,7 +55,7 @@ #include <sot/storinfo.hxx> #include <filter/msfilter/msoleexp.hxx> #include <vcl/virdev.hxx> -#include <svtools/wmf.hxx> +#include <vcl/wmf.hxx> #include <filter/msfilter/msdffimp.hxx> #include <filter/msfilter/svxmsbas.hxx> #include <editeng/flditem.hxx> diff --git a/sd/source/filter/eppt/pptx-epptbase.cxx b/sd/source/filter/eppt/pptx-epptbase.cxx index d2d2a899a03d..93f34acb5ddd 100644 --- a/sd/source/filter/eppt/pptx-epptbase.cxx +++ b/sd/source/filter/eppt/pptx-epptbase.cxx @@ -42,7 +42,7 @@ #include <rtl/ustring.hxx> #include <rtl/strbuf.hxx> #include <svtools/fltcall.hxx> -#include <svtools/wmf.hxx> +#include <vcl/wmf.hxx> #include <sfx2/docfile.hxx> #include <sfx2/docinf.hxx> #include <svx/unoapi.hxx> diff --git a/sd/source/filter/grf/sdgrffilter.cxx b/sd/source/filter/grf/sdgrffilter.cxx index 2ad8a7abafdb..1b7c5a42916c 100644 --- a/sd/source/filter/grf/sdgrffilter.cxx +++ b/sd/source/filter/grf/sdgrffilter.cxx @@ -64,7 +64,7 @@ #include <com/sun/star/ui/dialogs/TemplateDescription.hpp> #include <sfx2/filedlghelper.hxx> #include <tools/urlobj.hxx> -#include <svtools/filter.hxx> +#include <vcl/graphicfilter.hxx> #include <svx/xoutbmp.hxx> // -- diff --git a/sd/source/filter/html/htmlex.cxx b/sd/source/filter/html/htmlex.cxx index cc4573a64819..3a69771dfb01 100644 --- a/sd/source/filter/html/htmlex.cxx +++ b/sd/source/filter/html/htmlex.cxx @@ -37,7 +37,7 @@ #include <osl/file.hxx> #include <tools/fsys.hxx> #include <unotools/pathoptions.hxx> -#include <svtools/FilterConfigItem.hxx> +#include <vcl/FilterConfigItem.hxx> #include <unotools/ucbstreamhelper.hxx> #include <unotools/localfilehelper.hxx> #include <com/sun/star/frame/XStorable.hpp> @@ -58,7 +58,7 @@ #include <sfx2/docfile.hxx> #include <vcl/cvtgrf.hxx> #include <svtools/colorcfg.hxx> -#include <svtools/filter.hxx> +#include <vcl/graphicfilter.hxx> #include <editeng/colritem.hxx> #include <editeng/editeng.hxx> #include <editeng/wghtitem.hxx> diff --git a/sd/source/filter/html/pubdlg.cxx b/sd/source/filter/html/pubdlg.cxx index b799fed753da..93b58cf882f3 100644 --- a/sd/source/filter/html/pubdlg.cxx +++ b/sd/source/filter/html/pubdlg.cxx @@ -33,7 +33,7 @@ #include <com/sun/star/beans/PropertyValue.hpp> #include <unotools/ucbstreamhelper.hxx> #include <vcl/lstbox.hxx> -#include <svtools/FilterConfigItem.hxx> +#include <vcl/FilterConfigItem.hxx> #include <vcl/button.hxx> #include <vcl/fixed.hxx> #include <vcl/combobox.hxx> diff --git a/sd/source/filter/html/sdhtmlfilter.cxx b/sd/source/filter/html/sdhtmlfilter.cxx index 74dd7c4965ff..db87c37bd7b5 100644 --- a/sd/source/filter/html/sdhtmlfilter.cxx +++ b/sd/source/filter/html/sdhtmlfilter.cxx @@ -32,7 +32,7 @@ #include <vcl/msgbox.hxx> #include <vcl/metaact.hxx> #include <vcl/virdev.hxx> -#include <svtools/FilterConfigItem.hxx> +#include <vcl/FilterConfigItem.hxx> #include <sfx2/docfile.hxx> #include <sfx2/docfilt.hxx> #include <sfx2/frame.hxx> diff --git a/sd/source/ui/app/sddll.cxx b/sd/source/ui/app/sddll.cxx index dad91d7c00fe..e45a352bcacc 100644 --- a/sd/source/ui/app/sddll.cxx +++ b/sd/source/ui/app/sddll.cxx @@ -48,7 +48,7 @@ #include <sfx2/docfilt.hxx> #include <sfx2/docfile.hxx> #include <sfx2/fcontnr.hxx> -#include <svtools/FilterConfigItem.hxx> +#include <vcl/FilterConfigItem.hxx> #include <com/sun/star/util/XArchiver.hpp> #include <comphelper/processfactory.hxx> diff --git a/sd/source/ui/dlg/filedlg.cxx b/sd/source/ui/dlg/filedlg.cxx index 44df98dfd0c5..a1024136332b 100644 --- a/sd/source/ui/dlg/filedlg.cxx +++ b/sd/source/ui/dlg/filedlg.cxx @@ -49,7 +49,7 @@ #include "filedlg.hxx" #include "sdresid.hxx" #include "strings.hrc" -#include <svtools/filter.hxx> +#include <vcl/graphicfilter.hxx> //----------------------------------------------------------------------------- diff --git a/sd/source/ui/docshell/docshell.cxx b/sd/source/ui/docshell/docshell.cxx index 2f8bf12a4d1f..3b14e16edbe2 100644 --- a/sd/source/ui/docshell/docshell.cxx +++ b/sd/source/ui/docshell/docshell.cxx @@ -46,7 +46,7 @@ #include <svl/whiter.hxx> #include <svl/itempool.hxx> #include <svtools/ctrltool.hxx> -#include <svtools/filter.hxx> +#include <vcl/graphicfilter.hxx> #include <sot/clsids.hxx> #include <svl/cjkoptions.hxx> #include <svl/visitem.hxx> diff --git a/sd/source/ui/presenter/PresenterHelper.hxx b/sd/source/ui/presenter/PresenterHelper.hxx index b3c7a336824a..5d5395dcfabe 100644 --- a/sd/source/ui/presenter/PresenterHelper.hxx +++ b/sd/source/ui/presenter/PresenterHelper.hxx @@ -34,7 +34,7 @@ #include <com/sun/star/uno/XComponentContext.hpp> #include <cppuhelper/basemutex.hxx> #include <cppuhelper/compbase2.hxx> -#include <svtools/filter.hxx> +#include <vcl/graphicfilter.hxx> #include <boost/noncopyable.hpp> #include <boost/scoped_ptr.hpp> diff --git a/sd/source/ui/unoidl/sddetect.cxx b/sd/source/ui/unoidl/sddetect.cxx index 1a5da08b3d6f..74a7d16578b2 100644 --- a/sd/source/ui/unoidl/sddetect.cxx +++ b/sd/source/ui/unoidl/sddetect.cxx @@ -47,7 +47,7 @@ #include <com/sun/star/packages/zip/ZipIOException.hpp> #include <toolkit/helper/vclunohelper.hxx> #include <ucbhelper/simpleinteractionrequest.hxx> -#include <svtools/filter.hxx> +#include <vcl/graphicfilter.hxx> #include <rtl/ustring.h> #include <rtl/logfile.hxx> #include <svl/itemset.hxx> @@ -67,7 +67,7 @@ #include <sfx2/docfilt.hxx> #include <sfx2/fcontnr.hxx> #include <sfx2/brokenpackageint.hxx> -#include <svtools/FilterConfigItem.hxx> +#include <vcl/FilterConfigItem.hxx> #include <sot/storage.hxx> #include <unotools/moduleoptions.hxx> #include <com/sun/star/util/XArchiver.hpp> diff --git a/sd/source/ui/unoidl/unopage.cxx b/sd/source/ui/unoidl/unopage.cxx index f9c06690eab1..1f9ee388055a 100644 --- a/sd/source/ui/unoidl/unopage.cxx +++ b/sd/source/ui/unoidl/unopage.cxx @@ -65,7 +65,7 @@ #include <comphelper/extract.hxx> #include <list> #include <svx/svditer.hxx> -#include <svtools/wmf.hxx> +#include <vcl/wmf.hxx> #include <svx/svdoole2.hxx> #include <svx/svdpool.hxx> #include <svx/svdview.hxx> diff --git a/sd/source/ui/view/sdview4.cxx b/sd/source/ui/view/sdview4.cxx index ed1a87c0de27..64dd8feb9b56 100644 --- a/sd/source/ui/view/sdview4.cxx +++ b/sd/source/ui/view/sdview4.cxx @@ -47,7 +47,7 @@ #include <avmedia/mediawindow.hxx> #include <svtools/ehdl.hxx> #include <svtools/sfxecode.hxx> -#include <svtools/filter.hxx> +#include <vcl/graphicfilter.hxx> #include "app.hrc" #include "Window.hxx" #include "DrawDocShell.hxx" diff --git a/sfx2/inc/sfx2/opengrf.hxx b/sfx2/inc/sfx2/opengrf.hxx index e2ff526f8bf3..9bc2851f89d1 100644 --- a/sfx2/inc/sfx2/opengrf.hxx +++ b/sfx2/inc/sfx2/opengrf.hxx @@ -29,7 +29,7 @@ #define _SFX2_OPENGRF_HXX #include <memory> // auto_ptr -#include <svtools/filter.hxx> +#include <vcl/graphicfilter.hxx> #include <sfx2/dllapi.h> struct SvxOpenGrf_Impl; diff --git a/sfx2/source/appl/appmisc.cxx b/sfx2/source/appl/appmisc.cxx index 1e62b634e6b5..d7e158e3b510 100644 --- a/sfx2/source/appl/appmisc.cxx +++ b/sfx2/source/appl/appmisc.cxx @@ -32,7 +32,7 @@ #include <svl/stritem.hxx> #include <svl/intitem.hxx> #include <svl/eitem.hxx> -#include <svtools/filter.hxx> +#include <vcl/graphicfilter.hxx> #include <unotools/internaloptions.hxx> #include <unotools/pathoptions.hxx> #include <com/sun/star/registry/InvalidRegistryException.hpp> diff --git a/sfx2/source/appl/fileobj.cxx b/sfx2/source/appl/fileobj.cxx index ae648c1c877e..cf8d3f4d95f6 100644 --- a/sfx2/source/appl/fileobj.cxx +++ b/sfx2/source/appl/fileobj.cxx @@ -32,7 +32,7 @@ #include <tools/urlobj.hxx> #include <tools/stream.hxx> #include <sot/formats.hxx> -#include <svtools/filter.hxx> +#include <vcl/graphicfilter.hxx> #include <sfx2/lnkbase.hxx> #include <sfx2/app.hxx> #include <sfx2/progress.hxx> diff --git a/sfx2/source/dialog/filedlghelper.cxx b/sfx2/source/dialog/filedlghelper.cxx index fe35177e86b2..547e25e1e87a 100644 --- a/sfx2/source/dialog/filedlghelper.cxx +++ b/sfx2/source/dialog/filedlghelper.cxx @@ -76,7 +76,7 @@ #include <svl/eitem.hxx> #include <svl/intitem.hxx> #include <svl/stritem.hxx> -#include <svtools/filter.hxx> +#include <vcl/graphicfilter.hxx> #include <unotools/viewoptions.hxx> #include <unotools/moduleoptions.hxx> #include <svtools/helpid.hrc> diff --git a/sfx2/source/menu/mnumgr.cxx b/sfx2/source/menu/mnumgr.cxx index c9a66e748084..1841a81ac8a1 100644 --- a/sfx2/source/menu/mnumgr.cxx +++ b/sfx2/source/menu/mnumgr.cxx @@ -51,7 +51,7 @@ #include <toolkit/helper/vclunohelper.hxx> #include <osl/file.hxx> #include <vcl/graph.hxx> -#include <svtools/filter.hxx> +#include <vcl/graphicfilter.hxx> #include <svl/lngmisc.hxx> #include <sfx2/mnumgr.hxx> diff --git a/sfx2/source/menu/thessubmenu.cxx b/sfx2/source/menu/thessubmenu.cxx index c5665c7a59f3..0a4c1ed78435 100644 --- a/sfx2/source/menu/thessubmenu.cxx +++ b/sfx2/source/menu/thessubmenu.cxx @@ -36,7 +36,7 @@ #include <svl/stritem.hxx> #include <tools/debug.hxx> #include <vcl/graph.hxx> -#include <svtools/filter.hxx> +#include <vcl/graphicfilter.hxx> #include <vector> diff --git a/svtools/Library_svt.mk b/svtools/Library_svt.mk index 139e632cbf07..2dae9c966e86 100644 --- a/svtools/Library_svt.mk +++ b/svtools/Library_svt.mk @@ -70,7 +70,6 @@ $(eval $(call gb_Library_use_libraries,svt,\ $(eval $(call gb_Library_use_externals,svt,\ icuuc \ - jpeg \ )) $(eval $(call gb_Library_add_exception_objects,svt,\ @@ -156,27 +155,8 @@ $(eval $(call gb_Library_add_exception_objects,svt,\ svtools/source/edit/textwindowpeer \ svtools/source/edit/txtattr \ svtools/source/edit/xtextedt \ - svtools/source/filter/FilterConfigCache \ - svtools/source/filter/FilterConfigItem \ svtools/source/filter/SvFilterOptionsDialog \ svtools/source/filter/exportdialog \ - svtools/source/filter/filter \ - svtools/source/filter/filter2 \ - svtools/source/filter/sgfbram \ - svtools/source/filter/sgvmain \ - svtools/source/filter/sgvspln \ - svtools/source/filter/sgvtext \ - svtools/source/filter/igif/decode \ - svtools/source/filter/igif/gifread \ - svtools/source/filter/ixbm/xbmread \ - svtools/source/filter/ixpm/xpmread \ - svtools/source/filter/jpeg/jpeg \ - svtools/source/filter/wmf/emfwr \ - svtools/source/filter/wmf/enhwmf \ - svtools/source/filter/wmf/winmtf \ - svtools/source/filter/wmf/winwmf \ - svtools/source/filter/wmf/wmf \ - svtools/source/filter/wmf/wmfwr \ svtools/source/graphic/descriptor \ svtools/source/graphic/graphic \ svtools/source/graphic/graphicunofactory \ @@ -269,10 +249,6 @@ $(eval $(call gb_Library_add_exception_objects,svt,\ svtools/source/urlobj/inetimg \ )) -$(eval $(call gb_Library_add_cobjects,svt,\ - svtools/source/filter/jpeg/jpegc \ -)) - ifeq ($(OS),WNT) $(eval $(call gb_Library_use_libraries,svt,\ advapi32 \ diff --git a/svtools/Module_svtools.mk b/svtools/Module_svtools.mk index c7f1122b3b4e..87116465943c 100644 --- a/svtools/Module_svtools.mk +++ b/svtools/Module_svtools.mk @@ -50,10 +50,6 @@ endif endif -$(eval $(call gb_Module_add_check_targets,svtools,\ - CppunitTest_svtools_filters_test \ -)) - $(eval $(call gb_Module_add_subsequentcheck_targets,svtools,\ JunitTest_svtools_unoapi \ )) diff --git a/svtools/Package_inc.mk b/svtools/Package_inc.mk index 0dfc219c581a..d120891258bd 100644 --- a/svtools/Package_inc.mk +++ b/svtools/Package_inc.mk @@ -29,7 +29,6 @@ $(eval $(call gb_Package_Package,svtools_inc,$(SRCDIR)/svtools/inc)) $(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/AccessibleBrowseBoxObjType.hxx,svtools/AccessibleBrowseBoxObjType.hxx)) $(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/DocumentInfoPreview.hxx,svtools/DocumentInfoPreview.hxx)) -$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/FilterConfigItem.hxx,svtools/FilterConfigItem.hxx)) $(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/QueryFolderName.hxx,svtools/QueryFolderName.hxx)) $(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/acceleratorexecute.hxx,svtools/acceleratorexecute.hxx)) $(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/accessibilityoptions.hxx,svtools/accessibilityoptions.hxx)) @@ -68,7 +67,6 @@ $(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/filedlg.hxx,svtools/fi $(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/filedlg2.hrc,svtools/filedlg2.hrc)) $(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/fileurlbox.hxx,svtools/fileurlbox.hxx)) $(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/fileview.hxx,svtools/fileview.hxx)) -$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/filter.hxx,svtools/filter.hxx)) $(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/filechangedchecker.hxx,svtools/filechangedchecker.hxx)) $(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/fixedhyper.hxx,svtools/fixedhyper.hxx)) $(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/fltcall.hxx,svtools/fltcall.hxx)) @@ -184,7 +182,6 @@ $(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/valueset.hxx,svtools/v $(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/wallitem.hxx,svtools/wallitem.hxx)) $(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/wizardmachine.hxx,svtools/wizardmachine.hxx)) $(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/wizdlg.hxx,svtools/wizdlg.hxx)) -$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/wmf.hxx,svtools/wmf.hxx)) $(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/xtextedt.hxx,svtools/xtextedt.hxx)) $(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/xwindowitem.hxx,svtools/xwindowitem.hxx)) diff --git a/svtools/bmpmaker/g2g.cxx b/svtools/bmpmaker/g2g.cxx index 6773a0f5d3ac..7caedbc841e5 100644 --- a/svtools/bmpmaker/g2g.cxx +++ b/svtools/bmpmaker/g2g.cxx @@ -35,7 +35,7 @@ #include <tools/fsys.hxx> #include <tools/stream.hxx> #include <vcl/svapp.hxx> -#include "svtools/filter.hxx" +#include <vcl/graphicfilter.hxx> #define EXIT_NOERROR 0x00000000 #define EXIT_COMMONERROR 0x00000001 diff --git a/svtools/inc/svtools/FilterConfigItem.hxx b/svtools/inc/svtools/FilterConfigItem.hxx deleted file mode 100644 index ea235a3a518b..000000000000 --- a/svtools/inc/svtools/FilterConfigItem.hxx +++ /dev/null @@ -1,95 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * 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 _FILTER_CONFIG_ITEM_HXX_ -#define _FILTER_CONFIG_ITEM_HXX_ - -#include "svtools/svtdllapi.h" -#include <tools/string.hxx> -#include <com/sun/star/awt/Size.hpp> -#include <com/sun/star/uno/Any.h> -#include <com/sun/star/uno/Reference.h> -#include <com/sun/star/uno/XInterface.hpp> -#include <com/sun/star/beans/XPropertySet.hpp> -#include <com/sun/star/beans/XPropertyAccess.hpp> -#include <com/sun/star/task/XStatusIndicator.hpp> - -class SVT_DLLPUBLIC FilterConfigItem -{ - ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > xUpdatableView; - ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > xPropSet; - ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue > aFilterData; - - sal_Bool bModified; - - SVT_DLLPRIVATE sal_Bool ImplGetPropertyValue( ::com::sun::star::uno::Any& rAny, - const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& rXPropSet, - const ::rtl::OUString& rPropName, - sal_Bool bTestPropertyAvailability ); - - SVT_DLLPRIVATE void ImpInitTree( const String& rTree ); - - - SVT_DLLPRIVATE static ::com::sun::star::beans::PropertyValue* GetPropertyValue( - ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& rPropSeq, - const ::rtl::OUString& rName ); - SVT_DLLPRIVATE static sal_Bool WritePropertyValue( - ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& rPropSeq, - const ::com::sun::star::beans::PropertyValue& rPropValue ); - - public : - - FilterConfigItem( const ::rtl::OUString& rSubTree ); - FilterConfigItem( ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >* pFilterData ); - FilterConfigItem( const ::rtl::OUString& rSubTree, ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >* pFilterData ); - ~FilterConfigItem(); - - // all read methods are trying to return values in following order: - // 1. FilterData PropertySequence - // 2. configuration - // 3. given default - sal_Bool ReadBool( const ::rtl::OUString& rKey, sal_Bool bDefault ); - sal_Int32 ReadInt32( const ::rtl::OUString& rKey, sal_Int32 nDefault ); - ::rtl::OUString - ReadString( const ::rtl::OUString& rKey, const ::rtl::OUString& rDefault ); - - // try to store to configuration - // and always stores into the FilterData sequence - void WriteBool( const ::rtl::OUString& rKey, sal_Bool bValue ); - void WriteInt32( const ::rtl::OUString& rKey, sal_Int32 nValue ); - - ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue > GetFilterData() const; - - // GetStatusIndicator is returning the "StatusIndicator" property of the FilterData sequence - ::com::sun::star::uno::Reference< ::com::sun::star::task::XStatusIndicator > GetStatusIndicator() const; -}; - -#endif // _FILTER_CONFIG_ITEM_HXX_ - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/svtools/inc/svtools/fltcall.hxx b/svtools/inc/svtools/fltcall.hxx index a3bc298cc106..acb521e5bcc5 100644 --- a/svtools/inc/svtools/fltcall.hxx +++ b/svtools/inc/svtools/fltcall.hxx @@ -32,7 +32,7 @@ #include <vcl/field.hxx> #include <com/sun/star/uno/Sequence.h> #include <com/sun/star/beans/PropertyValue.hpp> -#include <svtools/FilterConfigItem.hxx> +#include <vcl/FilterConfigItem.hxx> class FilterConfigItem; class SvStream; diff --git a/svtools/source/filter/FilterConfigCache.hxx b/svtools/source/filter/FilterConfigCache.hxx deleted file mode 100644 index 66e55c28c6d3..000000000000 --- a/svtools/source/filter/FilterConfigCache.hxx +++ /dev/null @@ -1,144 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * 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 _FILTER_CONFIG_CACHE_HXX_ -#define _FILTER_CONFIG_CACHE_HXX_ - -#include <tools/string.hxx> -#include <com/sun/star/uno/Sequence.h> -#include <com/sun/star/uno/Reference.h> -#include <com/sun/star/beans/PropertyValue.hpp> -#include <com/sun/star/container/XNameAccess.hpp> - -#ifndef INCLUDED_VECTOR -#include <vector> -#define INCLUDED_VECTOR -#endif - -class FilterConfigCache -{ - struct FilterConfigCacheEntry - { - ::rtl::OUString sInternalFilterName; - ::rtl::OUString sType; - ::com::sun::star::uno::Sequence< ::rtl::OUString > lExtensionList; - ::rtl::OUString sUIName; - ::rtl::OUString sDocumentService; - ::rtl::OUString sFilterService; - ::rtl::OUString sTemplateName; - - ::rtl::OUString sMediaType; - ::rtl::OUString sFilterType; - - sal_Int32 nFlags; - sal_Int32 nFileFormatVersion; - - // user data - String sFilterName; - sal_Bool bHasDialog : 1; - sal_Bool bIsInternalFilter : 1; - sal_Bool bIsPixelFormat : 1; - - sal_Bool CreateFilterName( const ::rtl::OUString& rUserDataEntry ); - String GetShortName( ); - - static const char* InternalPixelFilterNameList[]; - static const char* InternalVectorFilterNameList[]; - static const char* ExternalPixelFilterNameList[]; - }; - - typedef std::vector< FilterConfigCacheEntry > CacheVector; - - - CacheVector aImport; - CacheVector aExport; - sal_Bool bUseConfig; - - static sal_Bool bInitialized; - static sal_Int32 nIndType; - static sal_Int32 nIndUIName; - static sal_Int32 nIndDocumentService; - static sal_Int32 nIndFilterService; - static sal_Int32 nIndFlags; - static sal_Int32 nIndUserData; - static sal_Int32 nIndFileFormatVersion; - static sal_Int32 nIndTemplateName; - - static const char* InternalFilterListForSvxLight[]; - - void ImplInit(); - void ImplInitSmart(); - - public : - - sal_uInt16 GetImportFormatCount() const - { return sal::static_int_cast< sal_uInt16 >(aImport.size()); }; - sal_uInt16 GetImportFormatNumber( const String& rFormatName ); - sal_uInt16 GetImportFormatNumberForMediaType( const String& rMediaType ); - sal_uInt16 GetImportFormatNumberForShortName( const String& rShortName ); - sal_uInt16 GetImportFormatNumberForTypeName( const String& rType ); - String GetImportFilterName( sal_uInt16 nFormat ); - String GetImportFormatName( sal_uInt16 nFormat ); - String GetImportFormatExtension( sal_uInt16 nFormat, sal_Int32 nEntry = 0); - String GetImportFormatMediaType( sal_uInt16 nFormat ); - String GetImportFormatShortName( sal_uInt16 nFormat ); - String GetImportWildcard( sal_uInt16 nFormat, sal_Int32 nEntry ); - String GetImportFilterType( sal_uInt16 nFormat ); - String GetImportFilterTypeName( sal_uInt16 nFormat ); - - sal_Bool IsImportInternalFilter( sal_uInt16 nFormat ); - sal_Bool IsImportPixelFormat( sal_uInt16 nFormat ); - - sal_uInt16 GetExportFormatCount() const - { return sal::static_int_cast< sal_uInt16 >(aExport.size()); }; - sal_uInt16 GetExportFormatNumber( const String& rFormatName ); - sal_uInt16 GetExportFormatNumberForMediaType( const String& rMediaType ); - sal_uInt16 GetExportFormatNumberForShortName( const String& rShortName ); - sal_uInt16 GetExportFormatNumberForTypeName( const String& rType ); - String GetExportFilterName( sal_uInt16 nFormat ); - String GetExportFormatName( sal_uInt16 nFormat ); - String GetExportFormatExtension( sal_uInt16 nFormat, sal_Int32 nEntry = 0 ); - String GetExportFormatMediaType( sal_uInt16 nFormat ); - String GetExportFormatShortName( sal_uInt16 nFormat ); - String GetExportWildcard( sal_uInt16 nFormat, sal_Int32 nEntry ); - String GetExportFilterTypeName( sal_uInt16 nFormat ); - String GetExportInternalFilterName( sal_uInt16 nFormat ); - - sal_Bool IsExportInternalFilter( sal_uInt16 nFormat ); - sal_Bool IsExportPixelFormat( sal_uInt16 nFormat ); - sal_Bool IsExportDialog( sal_uInt16 nFormat ); - - FilterConfigCache( sal_Bool bUseConfig ); - ~FilterConfigCache(); - -}; - -#endif // _FILTER_CONFIG_CACHE_HXX_ - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/svtools/source/filter/SvFilterOptionsDialog.cxx b/svtools/source/filter/SvFilterOptionsDialog.cxx index b762c2fcd030..c9a76e3440b4 100644 --- a/svtools/source/filter/SvFilterOptionsDialog.cxx +++ b/svtools/source/filter/SvFilterOptionsDialog.cxx @@ -28,9 +28,8 @@ #include "SvFilterOptionsDialog.hxx" -#include <svtools/FilterConfigItem.hxx> -#include <svtools/filter.hxx> -#include "FilterConfigCache.hxx" +#include <vcl/FilterConfigItem.hxx> +#include <vcl/graphicfilter.hxx> #include <osl/file.hxx> #include <osl/module.hxx> #include <svl/solar.hrc> @@ -206,10 +205,10 @@ sal_Int16 SvFilterOptionsDialog::execute() { GraphicFilter aGraphicFilter( sal_True ); - sal_uInt16 nFormat, nFilterCount = aGraphicFilter.pConfig->GetExportFormatCount(); + sal_uInt16 nFormat, nFilterCount = aGraphicFilter.GetExportFormatCount(); for ( nFormat = 0; nFormat < nFilterCount; nFormat++ ) { - if ( aGraphicFilter.pConfig->GetExportInternalFilterName( nFormat ) == aInternalFilterName ) + if ( aGraphicFilter.GetExportInternalFilterName( nFormat ) == aInternalFilterName ) break; } if ( nFormat < nFilterCount ) @@ -222,8 +221,8 @@ sal_Int16 SvFilterOptionsDialog::execute() pResMgr = ResMgr::CreateResMgr( "svt", Application::GetSettings().GetUILocale() ); aFltCallDlgPara.pResMgr = pResMgr; - aFltCallDlgPara.aFilterExt = aGraphicFilter.pConfig->GetExportFormatShortName( nFormat ); - sal_Bool bIsPixelFormat( aGraphicFilter.pConfig->IsExportPixelFormat( nFormat ) ); + aFltCallDlgPara.aFilterExt = aGraphicFilter.GetExportFormatShortName( nFormat ); + sal_Bool bIsPixelFormat( aGraphicFilter.IsExportPixelFormat( nFormat ) ); if ( ExportDialog( aFltCallDlgPara, mxMgr, mxSourceDocument, mbExportSelection, bIsPixelFormat ).Execute() == RET_OK ) nRet = ui::dialogs::ExecutableDialogResults::OK; diff --git a/svtools/source/filter/exportdialog.cxx b/svtools/source/filter/exportdialog.cxx index 9fc8ecd0eb71..56034fce83e5 100644 --- a/svtools/source/filter/exportdialog.cxx +++ b/svtools/source/filter/exportdialog.cxx @@ -32,8 +32,8 @@ #endif #include <tools/stream.hxx> -#include <svtools/filter.hxx> -#include <svtools/FilterConfigItem.hxx> +#include <vcl/graphicfilter.hxx> +#include <vcl/FilterConfigItem.hxx> #include <com/sun/star/io/XStream.hpp> #include <com/sun/star/awt/Size.hpp> #include <com/sun/star/view/XSelectionSupplier.hpp> diff --git a/svtools/source/graphic/descriptor.cxx b/svtools/source/graphic/descriptor.cxx index e5ee32d7a909..e91101e302c2 100644 --- a/svtools/source/graphic/descriptor.cxx +++ b/svtools/source/graphic/descriptor.cxx @@ -31,7 +31,7 @@ #include <osl/mutex.hxx> #include <unotools/ucbstreamhelper.hxx> -#include <svtools/filter.hxx> +#include <vcl/graphicfilter.hxx> #include <svl/itemprop.hxx> #include <comphelper/servicehelper.hxx> diff --git a/svtools/source/graphic/provider.cxx b/svtools/source/graphic/provider.cxx index 9b8c7757f550..989e78d7d200 100644 --- a/svtools/source/graphic/provider.cxx +++ b/svtools/source/graphic/provider.cxx @@ -37,8 +37,8 @@ #include <tools/resid.hxx> #include <tools/resmgr.hxx> #include <unotools/ucbstreamhelper.hxx> -#include <svtools/filter.hxx> -#include <svtools/wmf.hxx> +#include <vcl/graphicfilter.hxx> +#include <vcl/wmf.hxx> #include <svl/solar.hrc> #include <vcl/salbtype.hxx> #include <vcl/virdev.hxx> diff --git a/svtools/source/misc/embedhlp.cxx b/svtools/source/misc/embedhlp.cxx index 135ad3055500..9fb189d7cd0e 100644 --- a/svtools/source/misc/embedhlp.cxx +++ b/svtools/source/misc/embedhlp.cxx @@ -28,7 +28,7 @@ #include <svtools/embedhlp.hxx> -#include <svtools/filter.hxx> +#include <vcl/graphicfilter.hxx> #include <svtools/svtools.hrc> #include <svtools/svtresid.hxx> diff --git a/svtools/source/misc/transfer.cxx b/svtools/source/misc/transfer.cxx index 373df6d754ed..647752b1e9f7 100644 --- a/svtools/source/misc/transfer.cxx +++ b/svtools/source/misc/transfer.cxx @@ -60,7 +60,7 @@ #include "svl/urlbmk.hxx" #include "inetimg.hxx" -#include <svtools/wmf.hxx> +#include <vcl/wmf.hxx> #include <svtools/imap.hxx> #include <svtools/transfer.hxx> #include <rtl/strbuf.hxx> diff --git a/svx/source/gallery2/galbrws2.cxx b/svx/source/gallery2/galbrws2.cxx index 70cd6578be37..f23eef6c3894 100644 --- a/svx/source/gallery2/galbrws2.cxx +++ b/svx/source/gallery2/galbrws2.cxx @@ -39,7 +39,7 @@ #include <sfx2/dispatch.hxx> #include <sfx2/viewfrm.hxx> #include <sfx2/sfxsids.hrc> -#include "svtools/filter.hxx" +#include <vcl/graphicfilter.hxx> #include <editeng/brshitem.hxx> #include "helpid.hrc" #include "svx/gallery.hxx" diff --git a/svx/source/gallery2/galctrl.cxx b/svx/source/gallery2/galctrl.cxx index 2a00e5cdd2b7..c600d4ff44f5 100644 --- a/svx/source/gallery2/galctrl.cxx +++ b/svx/source/gallery2/galctrl.cxx @@ -41,7 +41,7 @@ #include "galobj.hxx" #include <avmedia/mediawindow.hxx> #include "gallery.hrc" -#include <svtools/filter.hxx> +#include <vcl/graphicfilter.hxx> // ----------- // - Defines - diff --git a/svx/source/gallery2/galmisc.cxx b/svx/source/gallery2/galmisc.cxx index 00ee9b709f19..a8574d6f9bce 100644 --- a/svx/source/gallery2/galmisc.cxx +++ b/svx/source/gallery2/galmisc.cxx @@ -36,13 +36,13 @@ #include <tools/urlobj.hxx> #include <svl/solar.hrc> #include <svl/urihelper.hxx> -#include <svtools/filter.hxx> +#include <vcl/graphicfilter.hxx> #include <svl/itempool.hxx> #include <sfx2/docfile.hxx> #include <avmedia/mediawindow.hxx> #include <vcl/svapp.hxx> -#include "svtools/filter.hxx" +#include <vcl/graphicfilter.hxx> #include <svx/svdpage.hxx> #include <svx/svdograf.hxx> #include <svx/fmmodel.hxx> diff --git a/svx/source/svdraw/svdograf.cxx b/svx/source/svdraw/svdograf.cxx index d82f72cda713..5187a7e1fb2e 100644 --- a/svx/source/svdraw/svdograf.cxx +++ b/svx/source/svdraw/svdograf.cxx @@ -39,7 +39,7 @@ #include <unotools/ucbstreamhelper.hxx> #include <unotools/localfilehelper.hxx> #include <svl/style.hxx> -#include <svtools/filter.hxx> +#include <vcl/graphicfilter.hxx> #include <svl/urihelper.hxx> #include <svtools/grfmgr.hxx> #include <vcl/svapp.hxx> @@ -56,7 +56,7 @@ #include <svx/svdpagv.hxx> #include "svx/svdviter.hxx" #include <svx/svdview.hxx> -#include "svtools/filter.hxx" +#include <vcl/graphicfilter.hxx> #include <svx/svdograf.hxx> #include <svx/svdogrp.hxx> #include <svx/xbitmap.hxx> diff --git a/svx/source/svdraw/svdoole2.cxx b/svx/source/svdraw/svdoole2.cxx index 8c111dce9133..3d9a9aaa3cf7 100644 --- a/svx/source/svdraw/svdoole2.cxx +++ b/svx/source/svdraw/svdoole2.cxx @@ -51,7 +51,7 @@ #include <toolkit/awt/vclxwindow.hxx> #include <toolkit/helper/convert.hxx> -#include <svtools/filter.hxx> +#include <vcl/graphicfilter.hxx> #include <svtools/embedhlp.hxx> #include <sfx2/objsh.hxx> diff --git a/svx/source/unodraw/UnoGraphicExporter.cxx b/svx/source/unodraw/UnoGraphicExporter.cxx index 46220ea115fc..6a3c4aa38551 100644 --- a/svx/source/unodraw/UnoGraphicExporter.cxx +++ b/svx/source/unodraw/UnoGraphicExporter.cxx @@ -55,7 +55,7 @@ #include <vcl/metaact.hxx> #include <vcl/svapp.hxx> #include <vcl/virdev.hxx> -#include <svtools/FilterConfigItem.hxx> +#include <vcl/FilterConfigItem.hxx> #include <svl/outstrm.hxx> #include <svx/sdr/contact/objectcontactofobjlistpainter.hxx> #include <svx/sdr/contact/viewobjectcontact.hxx> @@ -66,7 +66,7 @@ #include <svx/svdpagv.hxx> #include <svx/svdograf.hxx> #include "svx/xoutbmp.hxx" -#include "svtools/filter.hxx" +#include <vcl/graphicfilter.hxx> #include "svx/unoapi.hxx" #include <svx/svdpage.hxx> #include <svx/svdmodel.hxx> diff --git a/svx/source/unodraw/unoshap2.cxx b/svx/source/unodraw/unoshap2.cxx index 9fab3b72eada..7fccb30df7e7 100644 --- a/svx/source/unodraw/unoshap2.cxx +++ b/svx/source/unodraw/unoshap2.cxx @@ -43,7 +43,7 @@ #include <vcl/svapp.hxx> #include <osl/mutex.hxx> #include <svtools/fltcall.hxx> -#include <svtools/filter.hxx> +#include <vcl/graphicfilter.hxx> #include <boost/scoped_ptr.hpp> #include <svx/svdpool.hxx> @@ -70,7 +70,7 @@ #include <basegfx/tools/unotools.hxx> #include <comphelper/servicehelper.hxx> -#include <svtools/wmf.hxx> +#include <vcl/wmf.hxx> using ::rtl::OUString; using namespace ::osl; diff --git a/svx/source/unodraw/unoshap4.cxx b/svx/source/unodraw/unoshap4.cxx index 3fe75fc23e55..db5636e11afa 100644 --- a/svx/source/unodraw/unoshap4.cxx +++ b/svx/source/unodraw/unoshap4.cxx @@ -48,7 +48,7 @@ #include <sot/storage.hxx> #include <sot/exchange.hxx> -#include <svtools/FilterConfigItem.hxx> +#include <vcl/FilterConfigItem.hxx> #include <svx/svdmodel.hxx> #include "shapeimpl.hxx" @@ -60,7 +60,7 @@ #include "svx/svdview.hxx" #include "svx/svdglob.hxx" #include "svx/svdstr.hrc" -#include <svtools/wmf.hxx> +#include <vcl/wmf.hxx> /////////////////////////////////////////////////////////////////////// diff --git a/svx/source/unodraw/unoshape.cxx b/svx/source/unodraw/unoshape.cxx index 28b00a72d909..4107df1a3136 100644 --- a/svx/source/unodraw/unoshape.cxx +++ b/svx/source/unodraw/unoshape.cxx @@ -102,7 +102,7 @@ #include "svx/extrud3d.hxx" #include <boost/bind.hpp> -#include <svtools/wmf.hxx> +#include <vcl/wmf.hxx> using ::rtl::OUString; using namespace ::osl; diff --git a/svx/source/xml/xmlgrhlp.cxx b/svx/source/xml/xmlgrhlp.cxx index bd4954a6d348..d7545f5e4836 100644 --- a/svx/source/xml/xmlgrhlp.cxx +++ b/svx/source/xml/xmlgrhlp.cxx @@ -48,7 +48,7 @@ #include <vcl/metaact.hxx> #include <tools/zcodec.hxx> -#include "svtools/filter.hxx" +#include <vcl/graphicfilter.hxx> #include "svx/xmlgrhlp.hxx" #include "svx/xmleohlp.hxx" diff --git a/svx/source/xoutdev/_xoutbmp.cxx b/svx/source/xoutdev/_xoutbmp.cxx index 1bb0b38e0e21..8da5c99e687c 100644 --- a/svx/source/xoutdev/_xoutbmp.cxx +++ b/svx/source/xoutdev/_xoutbmp.cxx @@ -36,8 +36,8 @@ #include <sfx2/docfile.hxx> #include <sfx2/app.hxx> #include "svx/xoutbmp.hxx" -#include <svtools/FilterConfigItem.hxx> -#include <svtools/filter.hxx> +#include <vcl/FilterConfigItem.hxx> +#include <vcl/graphicfilter.hxx> // ----------- // - Defines - diff --git a/sw/source/core/graphic/ndgrf.cxx b/sw/source/core/graphic/ndgrf.cxx index 151d79528810..9922fce90dfe 100644 --- a/sw/source/core/graphic/ndgrf.cxx +++ b/sw/source/core/graphic/ndgrf.cxx @@ -32,7 +32,7 @@ #include <svl/undo.hxx> #include <svl/fstathelper.hxx> #include <svtools/imap.hxx> -#include <svtools/filter.hxx> +#include <vcl/graphicfilter.hxx> #include <sot/storage.hxx> #include <sfx2/linkmgr.hxx> #include <editeng/boxitem.hxx> diff --git a/sw/source/core/ole/ndole.cxx b/sw/source/core/ole/ndole.cxx index 89d53d089ade..289d5ec9cc02 100644 --- a/sw/source/core/ole/ndole.cxx +++ b/sw/source/core/ole/ndole.cxx @@ -60,7 +60,7 @@ #include <vcl/graph.hxx> #include <sot/formats.hxx> #include <unotools/ucbstreamhelper.hxx> -#include <svtools/filter.hxx> +#include <vcl/graphicfilter.hxx> #include <comcore.hrc> using rtl::OUString; diff --git a/sw/source/filter/writer/writer.cxx b/sw/source/filter/writer/writer.cxx index 9702d17badc5..a38c60fc7764 100644 --- a/sw/source/filter/writer/writer.cxx +++ b/sw/source/filter/writer/writer.cxx @@ -31,7 +31,7 @@ #include <sot/storage.hxx> #include <sfx2/docfile.hxx> #include <svl/urihelper.hxx> -#include <svtools/filter.hxx> +#include <vcl/graphicfilter.hxx> #include <editeng/fontitem.hxx> #include <editeng/eeitem.hxx> #include <shellio.hxx> diff --git a/sw/source/filter/ww1/fltshell.cxx b/sw/source/filter/ww1/fltshell.cxx index 41c63362faf4..ad388cb4c85b 100644 --- a/sw/source/filter/ww1/fltshell.cxx +++ b/sw/source/filter/ww1/fltshell.cxx @@ -30,7 +30,7 @@ #include <ctype.h> #include <hintids.hxx> #include <hints.hxx> -#include <svtools/filter.hxx> +#include <vcl/graphicfilter.hxx> #include <vcl/graph.hxx> #include <svl/urihelper.hxx> diff --git a/sw/source/filter/ww1/w1filter.cxx b/sw/source/filter/ww1/w1filter.cxx index 458a6c09bb6e..53783c29e398 100644 --- a/sw/source/filter/ww1/w1filter.cxx +++ b/sw/source/filter/ww1/w1filter.cxx @@ -31,8 +31,9 @@ #include <tools/solar.h> #include <comphelper/string.hxx> #include <editeng/paperinf.hxx> -#include <svtools/filter.hxx> +#include <vcl/graphicfilter.hxx> #include <vcl/graph.hxx> +#include <vcl/wmf.hxx> #include <editeng/fontitem.hxx> #include <editeng/lrspitem.hxx> #include <editeng/ulspitem.hxx> diff --git a/sw/source/filter/ww8/wrtw8esh.cxx b/sw/source/filter/ww8/wrtw8esh.cxx index 88055d2774b2..ccf753e8e0ac 100644 --- a/sw/source/filter/ww8/wrtw8esh.cxx +++ b/sw/source/filter/ww8/wrtw8esh.cxx @@ -36,7 +36,7 @@ #include <com/sun/star/drawing/XShape.hpp> #include <vcl/svapp.hxx> #include <sot/storage.hxx> -#include <svtools/filter.hxx> +#include <vcl/graphicfilter.hxx> #include <svl/itemiter.hxx> #include <svx/svdobj.hxx> #include <svx/svdotext.hxx> diff --git a/sw/source/filter/ww8/wrtww8gr.cxx b/sw/source/filter/ww8/wrtww8gr.cxx index c0008d7ec734..19a7c9be4992 100644 --- a/sw/source/filter/ww8/wrtww8gr.cxx +++ b/sw/source/filter/ww8/wrtww8gr.cxx @@ -31,7 +31,8 @@ #include <com/sun/star/embed/Aspects.hpp> #include <com/sun/star/embed/ElementModes.hpp> #include <rtl/math.hxx> -#include <svtools/filter.hxx> +#include <vcl/graphicfilter.hxx> +#include <vcl/wmf.hxx> #include <svl/itemiter.hxx> #include "svl/urihelper.hxx" diff --git a/sw/source/filter/ww8/ww8graf2.cxx b/sw/source/filter/ww8/ww8graf2.cxx index 93ef5e7a1198..5885ddc807c9 100644 --- a/sw/source/filter/ww8/ww8graf2.cxx +++ b/sw/source/filter/ww8/ww8graf2.cxx @@ -54,7 +54,8 @@ #include "ww8par.hxx" // class SwWWImplReader #include "ww8par2.hxx" // struct WWFlyPara #include "ww8graf.hxx" -#include <svtools/filter.hxx> +#include <vcl/graphicfilter.hxx> +#include <vcl/wmf.hxx> using namespace ::com::sun::star; using namespace sw::types; diff --git a/sw/source/filter/ww8/ww8par4.cxx b/sw/source/filter/ww8/ww8par4.cxx index 083fbd276456..4f42a6b6e7aa 100644 --- a/sw/source/filter/ww8/ww8par4.cxx +++ b/sw/source/filter/ww8/ww8par4.cxx @@ -56,7 +56,8 @@ #include <shellio.hxx> #include <ndole.hxx> -#include <svtools/filter.hxx> +#include <vcl/graphicfilter.hxx> +#include <vcl/wmf.hxx> #include "ww8scan.hxx" #include "ww8par.hxx" diff --git a/sw/source/ui/dochdl/swdtflvr.cxx b/sw/source/ui/dochdl/swdtflvr.cxx index f3f90d50d66b..e60058eee6d1 100644 --- a/sw/source/ui/dochdl/swdtflvr.cxx +++ b/sw/source/ui/dochdl/swdtflvr.cxx @@ -79,7 +79,7 @@ #include <sfx2/docfile.hxx> #include <unotools/transliterationwrapper.hxx> #include <unotools/streamwrap.hxx> -#include <svtools/filter.hxx> +#include <vcl/graphicfilter.hxx> #include <svx/unomodel.hxx> #include <fmturl.hxx> diff --git a/sw/source/ui/docvw/extedit.cxx b/sw/source/ui/docvw/extedit.cxx index 98dc6aa495d6..a271a759d9eb 100644 --- a/sw/source/ui/docvw/extedit.cxx +++ b/sw/source/ui/docvw/extedit.cxx @@ -31,7 +31,7 @@ #include <osl/thread.hxx> #include <osl/process.h> #include <osl/time.h> -#include <svtools/filter.hxx> +#include <vcl/graphicfilter.hxx> #include <svtools/filechangedchecker.hxx> #include <svx/xoutbmp.hxx> #include <unotools/ucbstreamhelper.hxx> diff --git a/sw/source/ui/docvw/romenu.cxx b/sw/source/ui/docvw/romenu.cxx index 068ec3e36935..f93d3884da6b 100644 --- a/sw/source/ui/docvw/romenu.cxx +++ b/sw/source/ui/docvw/romenu.cxx @@ -36,7 +36,7 @@ #include <svl/eitem.hxx> #include <svl/stritem.hxx> #include <unotools/pathoptions.hxx> -#include <svtools/filter.hxx> +#include <vcl/graphicfilter.hxx> #include <svtools/imap.hxx> #include <svtools/inetimg.hxx> #include <svtools/transfer.hxx> diff --git a/sw/source/ui/frmdlg/frmpage.cxx b/sw/source/ui/frmdlg/frmpage.cxx index 19110e02fe5e..5cc9fba9abaa 100644 --- a/sw/source/ui/frmdlg/frmpage.cxx +++ b/sw/source/ui/frmdlg/frmpage.cxx @@ -78,7 +78,7 @@ #include <com/sun/star/ui/dialogs/XFilePicker.hpp> #include <com/sun/star/ui/dialogs/XFilePickerControlAccess.hpp> #include <com/sun/star/ui/dialogs/ExtendedFilePickerElementIds.hpp> -#include <svtools/filter.hxx> +#include <vcl/graphicfilter.hxx> using namespace ::com::sun::star; using ::rtl::OUString; diff --git a/sw/source/ui/lingu/olmenu.cxx b/sw/source/ui/lingu/olmenu.cxx index 5e27687b25a9..42db3f05cae3 100644 --- a/sw/source/ui/lingu/olmenu.cxx +++ b/sw/source/ui/lingu/olmenu.cxx @@ -66,7 +66,7 @@ #include <linguistic/misc.hxx> #include <osl/file.hxx> #include <rtl/string.hxx> -#include <svtools/filter.hxx> +#include <vcl/graphicfilter.hxx> #include <sfx2/dispatch.hxx> #include <sfx2/imagemgr.hxx> #include <sfx2/request.hxx> diff --git a/sw/source/ui/shells/basesh.cxx b/sw/source/ui/shells/basesh.cxx index f74f99ea57d1..31d25aa37157 100644 --- a/sw/source/ui/shells/basesh.cxx +++ b/sw/source/ui/shells/basesh.cxx @@ -43,7 +43,7 @@ #include <svl/whiter.hxx> #include <svl/visitem.hxx> #include <sfx2/objitem.hxx> -#include <svtools/filter.hxx> +#include <vcl/graphicfilter.hxx> #include <svx/gallery.hxx> #include <editeng/langitem.hxx> #include <svx/clipfmtitem.hxx> diff --git a/sw/source/ui/shells/grfshex.cxx b/sw/source/ui/shells/grfshex.cxx index 474809ca73bd..e7d4d2d94d77 100644 --- a/sw/source/ui/shells/grfshex.cxx +++ b/sw/source/ui/shells/grfshex.cxx @@ -36,7 +36,7 @@ #include <shells.hrc> #include <caption.hxx> #include <svl/svstdarr.hxx> -#include <svtools/filter.hxx> +#include <vcl/graphicfilter.hxx> #include <svx/htmlmode.hxx> #include <doc.hxx> #include <docsh.hxx> diff --git a/sw/source/ui/shells/textsh.cxx b/sw/source/ui/shells/textsh.cxx index 07b562214fdb..389353a1c579 100644 --- a/sw/source/ui/shells/textsh.cxx +++ b/sw/source/ui/shells/textsh.cxx @@ -59,7 +59,7 @@ #include <editeng/sizeitem.hxx> #include <editeng/svxacorr.hxx> #include <editeng/scripttypeitem.hxx> -#include <svtools/filter.hxx> +#include <vcl/graphicfilter.hxx> #include <svx/htmlmode.hxx> #include <svx/pfiledlg.hxx> #include <svtools/htmlcfg.hxx> diff --git a/sw/source/ui/uiview/view2.cxx b/sw/source/ui/uiview/view2.cxx index b70670aa597c..70b6bd965772 100644 --- a/sw/source/ui/uiview/view2.cxx +++ b/sw/source/ui/uiview/view2.cxx @@ -29,7 +29,7 @@ #include <com/sun/star/util/SearchOptions.hpp> #include <com/sun/star/util/SearchFlags.hpp> #include <com/sun/star/i18n/TransliterationModules.hpp> -#include <svtools/filter.hxx> +#include <vcl/graphicfilter.hxx> #include <com/sun/star/ui/dialogs/XFilePickerControlAccess.hpp> #include <com/sun/star/ui/dialogs/ExtendedFilePickerElementIds.hpp> #include <com/sun/star/ui/dialogs/ListboxControlActions.hpp> diff --git a/sw/source/ui/uno/swdetect.cxx b/sw/source/ui/uno/swdetect.cxx index caac2d5bd726..c35e10e2b3f9 100644 --- a/sw/source/ui/uno/swdetect.cxx +++ b/sw/source/ui/uno/swdetect.cxx @@ -62,7 +62,7 @@ #include <sfx2/docfilt.hxx> #include <sfx2/fcontnr.hxx> #include <sfx2/brokenpackageint.hxx> -#include <svtools/FilterConfigItem.hxx> +#include <vcl/FilterConfigItem.hxx> #include <unotools/moduleoptions.hxx> #include <com/sun/star/util/XArchiver.hpp> #include <comphelper/ihwrapnofilter.hxx> diff --git a/sw/source/ui/utlui/glbltree.cxx b/sw/source/ui/utlui/glbltree.cxx index 79a1c869afa2..66ded8706a6b 100644 --- a/sw/source/ui/utlui/glbltree.cxx +++ b/sw/source/ui/utlui/glbltree.cxx @@ -38,7 +38,7 @@ #include <sot/filelist.hxx> #include <svl/eitem.hxx> #include <svl/urlbmk.hxx> -#include <svtools/filter.hxx> +#include <vcl/graphicfilter.hxx> #include <sfx2/docinsert.hxx> #include <sfx2/filedlghelper.hxx> diff --git a/sw/source/ui/utlui/navipi.cxx b/sw/source/ui/utlui/navipi.cxx index f53b4f77bdc1..c04f6f9c7f1c 100644 --- a/sw/source/ui/utlui/navipi.cxx +++ b/sw/source/ui/utlui/navipi.cxx @@ -32,7 +32,7 @@ #include <string> #include <svl/urlbmk.hxx> #include <svl/stritem.hxx> -#include <svtools/filter.hxx> +#include <vcl/graphicfilter.hxx> #include <svl/urihelper.hxx> #include <sot/formats.hxx> #include <sot/filelist.hxx> diff --git a/test/source/bootstrapfixture.cxx b/test/source/bootstrapfixture.cxx index edb7b63b30a0..1ae628bfd79b 100644 --- a/test/source/bootstrapfixture.cxx +++ b/test/source/bootstrapfixture.cxx @@ -41,6 +41,7 @@ #include <vcl/svapp.hxx> #include <tools/resmgr.hxx> +#include <vcl/graphicfilter.hxx> #include <unotools/syslocaleoptions.hxx> using namespace ::com::sun::star; diff --git a/svtools/CppunitTest_svtools_filters_test.mk b/vcl/CppunitTest_vcl_filters_test.mk index f2669fbb1fbf..0908c71ef980 100644 --- a/svtools/CppunitTest_svtools_filters_test.mk +++ b/vcl/CppunitTest_vcl_filters_test.mk @@ -25,13 +25,19 @@ # in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable # instead of those above. -$(eval $(call gb_CppunitTest_CppunitTest,svtools_filters_test)) +$(eval $(call gb_CppunitTest_CppunitTest,vcl_filters_test)) -$(eval $(call gb_CppunitTest_add_exception_objects,svtools_filters_test, \ - svtools/qa/cppunit/filters-test \ +$(eval $(call gb_CppunitTest_add_exception_objects,vcl_filters_test, \ + vcl/qa/cppunit/graphicfilter/filters-test \ )) -$(eval $(call gb_CppunitTest_use_libraries,svtools_filters_test, \ +ifeq ($(DISABLE_CVE_TESTS),TRUE) +$(eval $(call gb_CppunitTest_add_defs,vcl_filters_test,\ + -DDISABLE_CVE_TESTS \ +)) +endif + +$(eval $(call gb_CppunitTest_use_libraries,vcl_filters_test, \ comphelper \ cppu \ cppuhelper \ @@ -44,17 +50,17 @@ $(eval $(call gb_CppunitTest_use_libraries,svtools_filters_test, \ $(gb_STDLIBS) \ )) -$(eval $(call gb_CppunitTest_use_api,svtools_filters_test,\ +$(eval $(call gb_CppunitTest_use_api,vcl_filters_test,\ udkapi \ offapi \ )) -$(eval $(call gb_CppunitTest_use_ure,svtools_filters_test)) +$(eval $(call gb_CppunitTest_use_ure,vcl_filters_test)) -$(eval $(call gb_CppunitTest_use_components,svtools_filters_test,\ +$(eval $(call gb_CppunitTest_use_components,vcl_filters_test,\ configmgr/source/configmgr \ )) -$(eval $(call gb_CppunitTest_use_configuration,svtools_filters_test)) +$(eval $(call gb_CppunitTest_use_configuration,vcl_filters_test)) # vim: set noet sw=4 ts=4: diff --git a/vcl/Library_vcl.mk b/vcl/Library_vcl.mk index 53f9d4ae807f..e10df96f9834 100644 --- a/vcl/Library_vcl.mk +++ b/vcl/Library_vcl.mk @@ -70,6 +70,10 @@ $(eval $(call gb_Library_use_api,vcl,\ udkapi \ )) +$(eval $(call gb_Library_use_externals,vcl,\ + jpeg \ +)) + $(eval $(call gb_Library_use_libraries,vcl,\ tl \ utl \ @@ -148,6 +152,25 @@ $(eval $(call gb_Library_add_exception_objects,vcl,\ vcl/source/control/spinfld \ vcl/source/control/tabctrl \ vcl/source/control/throbber \ + vcl/source/filter/FilterConfigCache \ + vcl/source/filter/FilterConfigItem \ + vcl/source/filter/graphicfilter \ + vcl/source/filter/graphicfilter2 \ + vcl/source/filter/sgfbram \ + vcl/source/filter/sgvmain \ + vcl/source/filter/sgvspln \ + vcl/source/filter/sgvtext \ + vcl/source/filter/igif/decode \ + vcl/source/filter/igif/gifread \ + vcl/source/filter/ixbm/xbmread \ + vcl/source/filter/ixpm/xpmread \ + vcl/source/filter/jpeg/jpeg \ + vcl/source/filter/wmf/emfwr \ + vcl/source/filter/wmf/enhwmf \ + vcl/source/filter/wmf/winmtf \ + vcl/source/filter/wmf/winwmf \ + vcl/source/filter/wmf/wmf \ + vcl/source/filter/wmf/wmfwr \ vcl/source/fontsubset/cff \ vcl/source/fontsubset/fontsubset \ vcl/source/fontsubset/gsub \ @@ -277,6 +300,10 @@ $(eval $(call gb_Library_add_exception_objects,vcl,\ vcl/source/window/wrkwin \ )) +$(eval $(call gb_Library_add_cobjects,vcl,\ + vcl/source/filter/jpeg/jpegc \ +)) + # optional parts ## handle Graphite diff --git a/vcl/Module_vcl.mk b/vcl/Module_vcl.mk index 8789813084f5..cc57850552e1 100644 --- a/vcl/Module_vcl.mk +++ b/vcl/Module_vcl.mk @@ -89,4 +89,8 @@ $(eval $(call gb_Module_add_targets,vcl,\ )) endif +$(eval $(call gb_Module_add_check_targets,vcl,\ + CppunitTest_vcl_filters_test \ +)) + # vim: set noet sw=4 ts=4: diff --git a/vcl/Package_inc.mk b/vcl/Package_inc.mk index 18d6ff98d2ff..fddd6ebc387c 100644 --- a/vcl/Package_inc.mk +++ b/vcl/Package_inc.mk @@ -27,6 +27,7 @@ #************************************************************************* $(eval $(call gb_Package_Package,vcl_inc,$(SRCDIR)/vcl/inc)) +$(eval $(call gb_Package_add_file,vcl_inc,inc/vcl/FilterConfigItem.hxx,vcl/FilterConfigItem.hxx)) $(eval $(call gb_Package_add_file,vcl_inc,inc/vcl/abstdlg.hxx,vcl/abstdlg.hxx)) $(eval $(call gb_Package_add_file,vcl_inc,inc/vcl/accel.hxx,vcl/accel.hxx)) $(eval $(call gb_Package_add_file,vcl_inc,inc/vcl/alpha.hxx,vcl/alpha.hxx)) @@ -73,6 +74,7 @@ $(eval $(call gb_Package_add_file,vcl_inc,inc/vcl/gfxlink.hxx,vcl/gfxlink.hxx)) $(eval $(call gb_Package_add_file,vcl_inc,inc/vcl/gradient.hxx,vcl/gradient.hxx)) $(eval $(call gb_Package_add_file,vcl_inc,inc/vcl/graph.h,vcl/graph.h)) $(eval $(call gb_Package_add_file,vcl_inc,inc/vcl/graph.hxx,vcl/graph.hxx)) +$(eval $(call gb_Package_add_file,vcl_inc,inc/vcl/graphicfilter.hxx,vcl/graphicfilter.hxx)) $(eval $(call gb_Package_add_file,vcl_inc,inc/vcl/graphictools.hxx,vcl/graphictools.hxx)) $(eval $(call gb_Package_add_file,vcl_inc,inc/vcl/group.hxx,vcl/group.hxx)) $(eval $(call gb_Package_add_file,vcl_inc,inc/vcl/hatch.hxx,vcl/hatch.hxx)) @@ -167,6 +169,7 @@ $(eval $(call gb_Package_add_file,vcl_inc,inc/vcl/virdev.hxx,vcl/virdev.hxx)) $(eval $(call gb_Package_add_file,vcl_inc,inc/vcl/waitobj.hxx,vcl/waitobj.hxx)) $(eval $(call gb_Package_add_file,vcl_inc,inc/vcl/wall.hxx,vcl/wall.hxx)) $(eval $(call gb_Package_add_file,vcl_inc,inc/vcl/window.hxx,vcl/window.hxx)) +$(eval $(call gb_Package_add_file,vcl_inc,inc/vcl/wmf.hxx,vcl/wmf.hxx)) $(eval $(call gb_Package_add_file,vcl_inc,inc/vcl/wrkwin.hxx,vcl/wrkwin.hxx)) # vim: set noet sw=4 ts=4: diff --git a/vcl/inc/vcl/FilterConfigItem.hxx b/vcl/inc/vcl/FilterConfigItem.hxx new file mode 100644 index 000000000000..3d800d56ba09 --- /dev/null +++ b/vcl/inc/vcl/FilterConfigItem.hxx @@ -0,0 +1,96 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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 _FILTER_CONFIG_ITEM_HXX_ +#define _FILTER_CONFIG_ITEM_HXX_ + +#include <vcl/dllapi.h> + +#include <tools/string.hxx> +#include <com/sun/star/awt/Size.hpp> +#include <com/sun/star/uno/Any.h> +#include <com/sun/star/uno/Reference.h> +#include <com/sun/star/uno/XInterface.hpp> +#include <com/sun/star/beans/XPropertySet.hpp> +#include <com/sun/star/beans/XPropertyAccess.hpp> +#include <com/sun/star/task/XStatusIndicator.hpp> + +class VCL_DLLPUBLIC FilterConfigItem +{ + ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > xUpdatableView; + ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > xPropSet; + ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue > aFilterData; + + sal_Bool bModified; + + sal_Bool ImplGetPropertyValue( ::com::sun::star::uno::Any& rAny, + const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& rXPropSet, + const rtl::OUString& rPropName, + sal_Bool bTestPropertyAvailability ); + + void ImpInitTree( const String& rTree ); + + + static ::com::sun::star::beans::PropertyValue* GetPropertyValue( + ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& rPropSeq, + const rtl::OUString& rName ); + static sal_Bool WritePropertyValue( + ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& rPropSeq, + const ::com::sun::star::beans::PropertyValue& rPropValue ); + +public : + + FilterConfigItem( const rtl::OUString& rSubTree ); + FilterConfigItem( ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >* pFilterData ); + FilterConfigItem( const rtl::OUString& rSubTree, ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >* pFilterData ); + ~FilterConfigItem(); + + // all read methods are trying to return values in following order: + // 1. FilterData PropertySequence + // 2. configuration + // 3. given default + sal_Bool ReadBool( const rtl::OUString& rKey, sal_Bool bDefault ); + sal_Int32 ReadInt32( const rtl::OUString& rKey, sal_Int32 nDefault ); + rtl::OUString + ReadString( const rtl::OUString& rKey, const rtl::OUString& rDefault ); + + // try to store to configuration + // and always stores into the FilterData sequence + void WriteBool( const rtl::OUString& rKey, sal_Bool bValue ); + void WriteInt32( const rtl::OUString& rKey, sal_Int32 nValue ); + + ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue > GetFilterData() const; + + // GetStatusIndicator is returning the "StatusIndicator" property of the FilterData sequence + ::com::sun::star::uno::Reference< ::com::sun::star::task::XStatusIndicator > GetStatusIndicator() const; +}; + +#endif // _FILTER_CONFIG_ITEM_HXX_ + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/svtools/inc/svtools/filter.hxx b/vcl/inc/vcl/graphicfilter.hxx index 526ef933753d..921408b26fb1 100644 --- a/svtools/inc/svtools/filter.hxx +++ b/vcl/inc/vcl/graphicfilter.hxx @@ -29,29 +29,19 @@ #ifndef _FILTER_HXX #define _FILTER_HXX -#include <svtools/fltcall.hxx> -#include "svtools/svtdllapi.h" -#include <tools/stream.hxx> -#include <vcl/graph.hxx> #include <tools/gen.hxx> +#include <tools/stream.hxx> #include <tools/urlobj.hxx> +#include <vcl/dllapi.h> #include <vcl/field.hxx> +#include <vcl/graph.hxx> + #include <com/sun/star/uno/Sequence.h> #include <com/sun/star/beans/PropertyValue.hpp> +class FilterConfigCache; struct WMF_EXTERNALHEADER; -// ----------------------- -// - GraphicFilter-Types - -// ----------------------- - -struct ImplDirEntryHelper -{ - static sal_Bool Exists( const INetURLObject& rObj ); - static void Kill( const String& rStr ); -}; - -class Window; -class Graphic; +struct ConvertData; #define OPT_FILTERSECTION "Graphic" @@ -143,7 +133,7 @@ class Graphic; // - GraphicDescriptor - // --------------------- -class SVT_DLLPUBLIC GraphicDescriptor +class VCL_DLLPUBLIC GraphicDescriptor { SvStream* pFileStm; @@ -235,10 +225,7 @@ public: static String GetImportFormatShortName( sal_uInt16 nFormat ); }; -// ----------------- -// - GraphicFilter - -// ----------------- - +/** Information about errors during the GraphicFilter operation. */ struct FilterErrorEx { sal_uLong nFilterError; @@ -251,11 +238,8 @@ struct FilterErrorEx FilterErrorEx() : nFilterError( 0UL ), nStreamError( 0UL ) {} }; -// ----------------------------------------------------------------------------- - -struct ConvertData; -class FilterConfigCache; -class SVT_DLLPUBLIC GraphicFilter +/** Class to import and export graphic formats. */ +class VCL_DLLPUBLIC GraphicFilter { friend class SvFilterOptionsDialog; @@ -307,6 +291,7 @@ public: sal_uInt16 GetExportFormatNumber( const String& rFormatName ); sal_uInt16 GetExportFormatNumberForMediaType( const String& rShortName ); sal_uInt16 GetExportFormatNumberForShortName( const String& rShortName ); + String GetExportInternalFilterName( sal_uInt16 nFormat ); sal_uInt16 GetExportFormatNumberForTypeName( const String& rType ); String GetExportFormatName( sal_uInt16 nFormat ); String GetExportFormatTypeName( sal_uInt16 nFormat ); @@ -316,10 +301,6 @@ public: String GetExportWildcard( sal_uInt16 nFormat, sal_Int32 nEntry = 0 ); sal_Bool IsExportPixelFormat( sal_uInt16 nFormat ); - sal_Bool HasExportDialog( sal_uInt16 nFormat ); - sal_Bool DoExportDialog( Window* pWindow, sal_uInt16 nFormat ); - sal_Bool DoExportDialog( Window* pWindow, sal_uInt16 nFormat, FieldUnit eFieldUnit ); - sal_uInt16 ExportGraphic( const Graphic& rGraphic, const INetURLObject& rPath, sal_uInt16 nFormat = GRFILTER_FORMAT_DONTKNOW, const com::sun::star::uno::Sequence< com::sun::star::beans::PropertyValue >* pFilterData = NULL ); @@ -353,8 +334,6 @@ public: com::sun::star::uno::Sequence< com::sun::star::beans::PropertyValue >* pFilterData, WMF_EXTERNALHEADER *pExtHeader = NULL ); - sal_Bool Setup( sal_uInt16 nFormat ); - void Abort() { bAbort = sal_True; } const FilterErrorEx& GetLastError() const; @@ -368,13 +347,6 @@ public: sal_uInt16* pDeterminedFormat = NULL ); }; -// ------------------------------------ -// - Windows Metafile Lesen/Schreiben - -// ------------------------------------ - -SVT_DLLPUBLIC sal_Bool ReadWindowMetafile( SvStream& rStream, GDIMetaFile& rMTF, FilterConfigItem* pConfigItem ); -SVT_DLLPUBLIC sal_Bool WriteWindowMetafileBits( SvStream& rStream, const GDIMetaFile& rMTF ); - #endif //_FILTER_HXX /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/vcl/inc/vcl/settings.hxx b/vcl/inc/vcl/settings.hxx index a3399e14925d..09cda0361250 100644 --- a/vcl/inc/vcl/settings.hxx +++ b/vcl/inc/vcl/settings.hxx @@ -32,6 +32,7 @@ #include "vcl/sv.h" #include "vcl/dllapi.h" #include "tools/color.hxx" +#include "vcl/bitmapex.hxx" #include "vcl/font.hxx" #include "vcl/accel.hxx" #include "vcl/wall.hxx" @@ -326,6 +327,11 @@ private: sal_Bool mnAcceleratorsInContextMenus; Wallpaper maWorkspaceGradient; const void* mpFontOptions; + + rtl::OUString maPersonaHeaderFooter; ///< Cache the settings to detect changes. + + BitmapEx maPersonaHeaderBitmap; ///< Cache the header bitmap. + BitmapEx maPersonaFooterBitmap; ///< Cache the footer bitmap. }; #define DEFAULT_WORKSPACE_GRADIENT_START_COLOR Color( 0xa3, 0xae, 0xb8 ) @@ -831,6 +837,9 @@ public: void SetWorkspaceGradient( const Wallpaper& rWall ) { CopyData(); mpData->maWorkspaceGradient = rWall; } + const BitmapEx GetPersonaHeader() const; + const BitmapEx GetPersonaFooter() const; + void SetStandardStyles(); const StyleSettings& operator =( const StyleSettings& rSet ); diff --git a/svtools/inc/svtools/wmf.hxx b/vcl/inc/vcl/wmf.hxx index 986ccfb0d785..9bbdddb2908b 100644 --- a/svtools/inc/svtools/wmf.hxx +++ b/vcl/inc/vcl/wmf.hxx @@ -29,8 +29,11 @@ #ifndef _WMF_HXX #define _WMF_HXX -#include "svtools/svtdllapi.h" -#include <svtools/fltcall.hxx> +#include <vcl/dllapi.h> + +class FilterConfigItem; +class GDIMetaFile; +class SvStream; struct WMF_EXTERNALHEADER { @@ -63,13 +66,13 @@ struct WMF_EXTERNALHEADER sal_Bool ConvertWMFToGDIMetaFile( SvStream & rStreamWMF, GDIMetaFile & rGDIMetaFile, FilterConfigItem* pConfigItem = NULL, WMF_EXTERNALHEADER *pExtHeader = NULL ); -SVT_DLLPUBLIC sal_Bool ReadWindowMetafile( SvStream& rStream, GDIMetaFile& rMTF, FilterConfigItem* pConfigItem ); +VCL_DLLPUBLIC sal_Bool ReadWindowMetafile( SvStream& rStream, GDIMetaFile& rMTF, FilterConfigItem* pConfigItem ); -SVT_DLLPUBLIC sal_Bool ConvertGDIMetaFileToWMF( const GDIMetaFile & rMTF, SvStream & rTargetStream, FilterConfigItem* pConfigItem = NULL, sal_Bool bPlaceable = sal_True ); +VCL_DLLPUBLIC sal_Bool ConvertGDIMetaFileToWMF( const GDIMetaFile & rMTF, SvStream & rTargetStream, FilterConfigItem* pConfigItem = NULL, sal_Bool bPlaceable = sal_True ); sal_Bool ConvertGDIMetaFileToEMF( const GDIMetaFile & rMTF, SvStream & rTargetStream, FilterConfigItem* pConfigItem = NULL ); -SVT_DLLPUBLIC sal_Bool WriteWindowMetafileBits( SvStream& rStream, const GDIMetaFile& rMTF ); +VCL_DLLPUBLIC sal_Bool WriteWindowMetafileBits( SvStream& rStream, const GDIMetaFile& rMTF ); #endif diff --git a/svtools/qa/cppunit/data/README b/vcl/qa/cppunit/graphicfilter/data/README index 2cc9fb3cb58f..2cc9fb3cb58f 100644 --- a/svtools/qa/cppunit/data/README +++ b/vcl/qa/cppunit/graphicfilter/data/README diff --git a/svtools/qa/cppunit/data/emf/fail/.gitignore b/vcl/qa/cppunit/graphicfilter/data/bmp/fail/.gitignore index e69de29bb2d1..e69de29bb2d1 100644 --- a/svtools/qa/cppunit/data/emf/fail/.gitignore +++ b/vcl/qa/cppunit/graphicfilter/data/bmp/fail/.gitignore diff --git a/svtools/qa/cppunit/data/wmf/indeterminate/.gitignore b/vcl/qa/cppunit/graphicfilter/data/bmp/indeterminate/.gitignore index 583b009c7c60..583b009c7c60 100644 --- a/svtools/qa/cppunit/data/wmf/indeterminate/.gitignore +++ b/vcl/qa/cppunit/graphicfilter/data/bmp/indeterminate/.gitignore diff --git a/svtools/qa/cppunit/data/emf/indeterminate/.gitignore b/vcl/qa/cppunit/graphicfilter/data/bmp/pass/.gitignore index e69de29bb2d1..e69de29bb2d1 100644 --- a/svtools/qa/cppunit/data/emf/indeterminate/.gitignore +++ b/vcl/qa/cppunit/graphicfilter/data/bmp/pass/.gitignore diff --git a/vcl/qa/cppunit/graphicfilter/data/bmp/pass/CVE-2004-0691-1.bmp b/vcl/qa/cppunit/graphicfilter/data/bmp/pass/CVE-2004-0691-1.bmp Binary files differnew file mode 100644 index 000000000000..d77db5782972 --- /dev/null +++ b/vcl/qa/cppunit/graphicfilter/data/bmp/pass/CVE-2004-0691-1.bmp diff --git a/vcl/qa/cppunit/graphicfilter/data/bmp/pass/CVE-2006-0006-1.bmp b/vcl/qa/cppunit/graphicfilter/data/bmp/pass/CVE-2006-0006-1.bmp Binary files differnew file mode 100644 index 000000000000..4cfbdfff8358 --- /dev/null +++ b/vcl/qa/cppunit/graphicfilter/data/bmp/pass/CVE-2006-0006-1.bmp diff --git a/vcl/qa/cppunit/graphicfilter/data/bmp/pass/CVE-2007-2244-1.bmp b/vcl/qa/cppunit/graphicfilter/data/bmp/pass/CVE-2007-2244-1.bmp Binary files differnew file mode 100644 index 000000000000..289cf8c0e964 --- /dev/null +++ b/vcl/qa/cppunit/graphicfilter/data/bmp/pass/CVE-2007-2244-1.bmp diff --git a/svtools/qa/cppunit/data/emf/pass/.gitignore b/vcl/qa/cppunit/graphicfilter/data/emf/fail/.gitignore index e69de29bb2d1..e69de29bb2d1 100644 --- a/svtools/qa/cppunit/data/emf/pass/.gitignore +++ b/vcl/qa/cppunit/graphicfilter/data/emf/fail/.gitignore diff --git a/svtools/qa/cppunit/data/emf/fail/CVE-2004-0209-1.emf b/vcl/qa/cppunit/graphicfilter/data/emf/fail/CVE-2004-0209-1.emf Binary files differindex a511da43add5..a511da43add5 100644 --- a/svtools/qa/cppunit/data/emf/fail/CVE-2004-0209-1.emf +++ b/vcl/qa/cppunit/graphicfilter/data/emf/fail/CVE-2004-0209-1.emf diff --git a/svtools/qa/cppunit/data/emf/fail/CVE-2008-1083-1.emf b/vcl/qa/cppunit/graphicfilter/data/emf/fail/CVE-2008-1083-1.emf Binary files differindex dd57d9102cd1..dd57d9102cd1 100644 --- a/svtools/qa/cppunit/data/emf/fail/CVE-2008-1083-1.emf +++ b/vcl/qa/cppunit/graphicfilter/data/emf/fail/CVE-2008-1083-1.emf diff --git a/svtools/qa/cppunit/data/emf/fail/CVE-2009-1217-1.emf b/vcl/qa/cppunit/graphicfilter/data/emf/fail/CVE-2009-1217-1.emf Binary files differindex 8fa6e9377938..8fa6e9377938 100644 --- a/svtools/qa/cppunit/data/emf/fail/CVE-2009-1217-1.emf +++ b/vcl/qa/cppunit/graphicfilter/data/emf/fail/CVE-2009-1217-1.emf diff --git a/svtools/qa/cppunit/data/gif/fail/.gitignore b/vcl/qa/cppunit/graphicfilter/data/emf/indeterminate/.gitignore index e69de29bb2d1..e69de29bb2d1 100644 --- a/svtools/qa/cppunit/data/gif/fail/.gitignore +++ b/vcl/qa/cppunit/graphicfilter/data/emf/indeterminate/.gitignore diff --git a/svtools/qa/cppunit/data/gif/indeterminate/.gitignore b/vcl/qa/cppunit/graphicfilter/data/emf/pass/.gitignore index e69de29bb2d1..e69de29bb2d1 100644 --- a/svtools/qa/cppunit/data/gif/indeterminate/.gitignore +++ b/vcl/qa/cppunit/graphicfilter/data/emf/pass/.gitignore diff --git a/svtools/qa/cppunit/data/emf/pass/CVE-2008-1087-1.emf b/vcl/qa/cppunit/graphicfilter/data/emf/pass/CVE-2008-1087-1.emf Binary files differindex c71739a50b99..c71739a50b99 100644 --- a/svtools/qa/cppunit/data/emf/pass/CVE-2008-1087-1.emf +++ b/vcl/qa/cppunit/graphicfilter/data/emf/pass/CVE-2008-1087-1.emf diff --git a/svtools/qa/cppunit/data/emf/pass/CVE-2008-2245-1.emf b/vcl/qa/cppunit/graphicfilter/data/emf/pass/CVE-2008-2245-1.emf Binary files differindex 746e85e847b4..746e85e847b4 100644 --- a/svtools/qa/cppunit/data/emf/pass/CVE-2008-2245-1.emf +++ b/vcl/qa/cppunit/graphicfilter/data/emf/pass/CVE-2008-2245-1.emf diff --git a/svtools/qa/cppunit/data/emf/pass/fdo38580-3.emf b/vcl/qa/cppunit/graphicfilter/data/emf/pass/fdo38580-3.emf Binary files differindex 0af6c749bde4..0af6c749bde4 100644 --- a/svtools/qa/cppunit/data/emf/pass/fdo38580-3.emf +++ b/vcl/qa/cppunit/graphicfilter/data/emf/pass/fdo38580-3.emf diff --git a/svtools/qa/cppunit/data/gif/pass/.gitignore b/vcl/qa/cppunit/graphicfilter/data/gif/fail/.gitignore index e69de29bb2d1..e69de29bb2d1 100644 --- a/svtools/qa/cppunit/data/gif/pass/.gitignore +++ b/vcl/qa/cppunit/graphicfilter/data/gif/fail/.gitignore diff --git a/svtools/qa/cppunit/data/gif/fail/CVE-2007-3958-1.gif b/vcl/qa/cppunit/graphicfilter/data/gif/fail/CVE-2007-3958-1.gif Binary files differindex 7e84566e94b0..7e84566e94b0 100644 --- a/svtools/qa/cppunit/data/gif/fail/CVE-2007-3958-1.gif +++ b/vcl/qa/cppunit/graphicfilter/data/gif/fail/CVE-2007-3958-1.gif diff --git a/vcl/qa/cppunit/graphicfilter/data/gif/fail/CVE-2008-5937-1.gif b/vcl/qa/cppunit/graphicfilter/data/gif/fail/CVE-2008-5937-1.gif new file mode 100644 index 000000000000..cbefd0162510 --- /dev/null +++ b/vcl/qa/cppunit/graphicfilter/data/gif/fail/CVE-2008-5937-1.gif @@ -0,0 +1 @@ +””&‡VâusØ[eë21oæX
\ No newline at end of file diff --git a/svtools/qa/cppunit/data/jpg/fail/.gitignore b/vcl/qa/cppunit/graphicfilter/data/gif/indeterminate/.gitignore index e69de29bb2d1..e69de29bb2d1 100644 --- a/svtools/qa/cppunit/data/jpg/fail/.gitignore +++ b/vcl/qa/cppunit/graphicfilter/data/gif/indeterminate/.gitignore diff --git a/svtools/qa/cppunit/data/jpg/indeterminate/.gitignore b/vcl/qa/cppunit/graphicfilter/data/gif/pass/.gitignore index e69de29bb2d1..e69de29bb2d1 100644 --- a/svtools/qa/cppunit/data/jpg/indeterminate/.gitignore +++ b/vcl/qa/cppunit/graphicfilter/data/gif/pass/.gitignore diff --git a/svtools/qa/cppunit/data/gif/pass/CVE-2007-6715-1.gif b/vcl/qa/cppunit/graphicfilter/data/gif/pass/CVE-2007-6715-1.gif Binary files differindex 63426f9d80c2..63426f9d80c2 100644 --- a/svtools/qa/cppunit/data/gif/pass/CVE-2007-6715-1.gif +++ b/vcl/qa/cppunit/graphicfilter/data/gif/pass/CVE-2007-6715-1.gif diff --git a/svtools/qa/cppunit/data/gif/pass/CVE-2008-3013-1.gif b/vcl/qa/cppunit/graphicfilter/data/gif/pass/CVE-2008-3013-1.gif Binary files differindex e92a316e4b11..e92a316e4b11 100644 --- a/svtools/qa/cppunit/data/gif/pass/CVE-2008-3013-1.gif +++ b/vcl/qa/cppunit/graphicfilter/data/gif/pass/CVE-2008-3013-1.gif diff --git a/svtools/qa/cppunit/data/gif/pass/CVE-2011-2131-1.gif b/vcl/qa/cppunit/graphicfilter/data/gif/pass/CVE-2011-2131-1.gif Binary files differindex 190c7b0791a7..190c7b0791a7 100644 --- a/svtools/qa/cppunit/data/gif/pass/CVE-2011-2131-1.gif +++ b/vcl/qa/cppunit/graphicfilter/data/gif/pass/CVE-2011-2131-1.gif diff --git a/vcl/qa/cppunit/graphicfilter/data/gif/pass/CVE-2012-0282-1.gif b/vcl/qa/cppunit/graphicfilter/data/gif/pass/CVE-2012-0282-1.gif Binary files differnew file mode 100644 index 000000000000..cf4f30c21b91 --- /dev/null +++ b/vcl/qa/cppunit/graphicfilter/data/gif/pass/CVE-2012-0282-1.gif diff --git a/svtools/qa/cppunit/data/jpg/pass/.gitignore b/vcl/qa/cppunit/graphicfilter/data/jpg/fail/.gitignore index e69de29bb2d1..e69de29bb2d1 100644 --- a/svtools/qa/cppunit/data/jpg/pass/.gitignore +++ b/vcl/qa/cppunit/graphicfilter/data/jpg/fail/.gitignore diff --git a/svtools/qa/cppunit/data/jpg/fail/CVE-2004-0200-1.jpg b/vcl/qa/cppunit/graphicfilter/data/jpg/fail/CVE-2004-0200-1.jpg Binary files differindex 3d9481aca908..3d9481aca908 100644 --- a/svtools/qa/cppunit/data/jpg/fail/CVE-2004-0200-1.jpg +++ b/vcl/qa/cppunit/graphicfilter/data/jpg/fail/CVE-2004-0200-1.jpg diff --git a/svtools/qa/cppunit/data/jpg/fail/CVE-2004-0200-4.jpg b/vcl/qa/cppunit/graphicfilter/data/jpg/fail/CVE-2004-0200-4.jpg Binary files differindex 9d26db0050bb..9d26db0050bb 100644 --- a/svtools/qa/cppunit/data/jpg/fail/CVE-2004-0200-4.jpg +++ b/vcl/qa/cppunit/graphicfilter/data/jpg/fail/CVE-2004-0200-4.jpg diff --git a/svtools/qa/cppunit/data/jpg/fail/CVE-2008-5314-1.jpg b/vcl/qa/cppunit/graphicfilter/data/jpg/fail/CVE-2008-5314-1.jpg Binary files differindex 33bbe9b5f9e1..33bbe9b5f9e1 100644 --- a/svtools/qa/cppunit/data/jpg/fail/CVE-2008-5314-1.jpg +++ b/vcl/qa/cppunit/graphicfilter/data/jpg/fail/CVE-2008-5314-1.jpg diff --git a/svtools/qa/cppunit/data/png/fail/.gitignore b/vcl/qa/cppunit/graphicfilter/data/jpg/indeterminate/.gitignore index e69de29bb2d1..e69de29bb2d1 100644 --- a/svtools/qa/cppunit/data/png/fail/.gitignore +++ b/vcl/qa/cppunit/graphicfilter/data/jpg/indeterminate/.gitignore diff --git a/svtools/qa/cppunit/data/png/indeterminate/.gitignore b/vcl/qa/cppunit/graphicfilter/data/jpg/pass/.gitignore index e69de29bb2d1..e69de29bb2d1 100644 --- a/svtools/qa/cppunit/data/png/indeterminate/.gitignore +++ b/vcl/qa/cppunit/graphicfilter/data/jpg/pass/.gitignore diff --git a/svtools/qa/cppunit/data/jpg/pass/CVE-2004-0200-2.jpg b/vcl/qa/cppunit/graphicfilter/data/jpg/pass/CVE-2004-0200-2.jpg Binary files differindex 5eb27ffb5250..5eb27ffb5250 100644 --- a/svtools/qa/cppunit/data/jpg/pass/CVE-2004-0200-2.jpg +++ b/vcl/qa/cppunit/graphicfilter/data/jpg/pass/CVE-2004-0200-2.jpg diff --git a/svtools/qa/cppunit/data/jpg/pass/CVE-2004-0200-3.jpg b/vcl/qa/cppunit/graphicfilter/data/jpg/pass/CVE-2004-0200-3.jpg Binary files differindex 4917f207f35f..4917f207f35f 100644 --- a/svtools/qa/cppunit/data/jpg/pass/CVE-2004-0200-3.jpg +++ b/vcl/qa/cppunit/graphicfilter/data/jpg/pass/CVE-2004-0200-3.jpg diff --git a/svtools/qa/cppunit/data/jpg/pass/CVE-2004-0200-5.jpg b/vcl/qa/cppunit/graphicfilter/data/jpg/pass/CVE-2004-0200-5.jpg Binary files differindex bc668d3e3f31..bc668d3e3f31 100644 --- a/svtools/qa/cppunit/data/jpg/pass/CVE-2004-0200-5.jpg +++ b/vcl/qa/cppunit/graphicfilter/data/jpg/pass/CVE-2004-0200-5.jpg diff --git a/svtools/qa/cppunit/data/png/pass/.gitignore b/vcl/qa/cppunit/graphicfilter/data/png/fail/.gitignore index e69de29bb2d1..e69de29bb2d1 100644 --- a/svtools/qa/cppunit/data/png/pass/.gitignore +++ b/vcl/qa/cppunit/graphicfilter/data/png/fail/.gitignore diff --git a/svtools/qa/cppunit/data/png/fail/CVE-2004-0597-1.png b/vcl/qa/cppunit/graphicfilter/data/png/fail/CVE-2004-0597-1.png index fa90a296f9fa..fa90a296f9fa 100644 --- a/svtools/qa/cppunit/data/png/fail/CVE-2004-0597-1.png +++ b/vcl/qa/cppunit/graphicfilter/data/png/fail/CVE-2004-0597-1.png diff --git a/svtools/qa/cppunit/data/png/fail/CVE-2005-0633-1.png b/vcl/qa/cppunit/graphicfilter/data/png/fail/CVE-2005-0633-1.png Binary files differindex d0644d139749..d0644d139749 100644 --- a/svtools/qa/cppunit/data/png/fail/CVE-2005-0633-1.png +++ b/vcl/qa/cppunit/graphicfilter/data/png/fail/CVE-2005-0633-1.png diff --git a/svtools/qa/cppunit/data/png/fail/CVE-2006-7210-1.png b/vcl/qa/cppunit/graphicfilter/data/png/fail/CVE-2006-7210-1.png Binary files differindex 9b30cc38c7db..9b30cc38c7db 100644 --- a/svtools/qa/cppunit/data/png/fail/CVE-2006-7210-1.png +++ b/vcl/qa/cppunit/graphicfilter/data/png/fail/CVE-2006-7210-1.png diff --git a/svtools/qa/cppunit/data/png/fail/CVE-2007-2365-1.png b/vcl/qa/cppunit/graphicfilter/data/png/fail/CVE-2007-2365-1.png Binary files differindex b9ff67bb8b81..b9ff67bb8b81 100644 --- a/svtools/qa/cppunit/data/png/fail/CVE-2007-2365-1.png +++ b/vcl/qa/cppunit/graphicfilter/data/png/fail/CVE-2007-2365-1.png diff --git a/svtools/qa/cppunit/data/png/fail/CVE-2009-1511-1.png b/vcl/qa/cppunit/graphicfilter/data/png/fail/CVE-2009-1511-1.png index 592fda10aa9e..592fda10aa9e 100644 --- a/svtools/qa/cppunit/data/png/fail/CVE-2009-1511-1.png +++ b/vcl/qa/cppunit/graphicfilter/data/png/fail/CVE-2009-1511-1.png diff --git a/svtools/qa/cppunit/data/sgv/fail/.gitignore b/vcl/qa/cppunit/graphicfilter/data/png/indeterminate/.gitignore index e69de29bb2d1..e69de29bb2d1 100644 --- a/svtools/qa/cppunit/data/sgv/fail/.gitignore +++ b/vcl/qa/cppunit/graphicfilter/data/png/indeterminate/.gitignore diff --git a/svtools/qa/cppunit/data/sgv/indeterminate/.gitignore b/vcl/qa/cppunit/graphicfilter/data/png/pass/.gitignore index e69de29bb2d1..e69de29bb2d1 100644 --- a/svtools/qa/cppunit/data/sgv/indeterminate/.gitignore +++ b/vcl/qa/cppunit/graphicfilter/data/png/pass/.gitignore diff --git a/svtools/qa/cppunit/data/png/pass/black.png b/vcl/qa/cppunit/graphicfilter/data/png/pass/black.png Binary files differindex cbba93bedd81..cbba93bedd81 100644 --- a/svtools/qa/cppunit/data/png/pass/black.png +++ b/vcl/qa/cppunit/graphicfilter/data/png/pass/black.png diff --git a/svtools/qa/cppunit/data/sgv/pass/.gitignore b/vcl/qa/cppunit/graphicfilter/data/sgv/fail/.gitignore index e69de29bb2d1..e69de29bb2d1 100644 --- a/svtools/qa/cppunit/data/sgv/pass/.gitignore +++ b/vcl/qa/cppunit/graphicfilter/data/sgv/fail/.gitignore diff --git a/svtools/qa/cppunit/data/wmf/fail/.gitignore b/vcl/qa/cppunit/graphicfilter/data/sgv/indeterminate/.gitignore index e69de29bb2d1..e69de29bb2d1 100644 --- a/svtools/qa/cppunit/data/wmf/fail/.gitignore +++ b/vcl/qa/cppunit/graphicfilter/data/sgv/indeterminate/.gitignore diff --git a/svtools/qa/cppunit/data/wmf/pass/.gitignore b/vcl/qa/cppunit/graphicfilter/data/sgv/pass/.gitignore index e69de29bb2d1..e69de29bb2d1 100644 --- a/svtools/qa/cppunit/data/wmf/pass/.gitignore +++ b/vcl/qa/cppunit/graphicfilter/data/sgv/pass/.gitignore diff --git a/svtools/qa/cppunit/data/sgv/pass/SaveAsPicture.sgv b/vcl/qa/cppunit/graphicfilter/data/sgv/pass/SaveAsPicture.sgv Binary files differindex 0fe908e91c98..0fe908e91c98 100755 --- a/svtools/qa/cppunit/data/sgv/pass/SaveAsPicture.sgv +++ b/vcl/qa/cppunit/graphicfilter/data/sgv/pass/SaveAsPicture.sgv diff --git a/svtools/qa/cppunit/data/sgv/pass/faxpfeil.sgv b/vcl/qa/cppunit/graphicfilter/data/sgv/pass/faxpfeil.sgv Binary files differindex c8317c62e152..c8317c62e152 100755 --- a/svtools/qa/cppunit/data/sgv/pass/faxpfeil.sgv +++ b/vcl/qa/cppunit/graphicfilter/data/sgv/pass/faxpfeil.sgv diff --git a/vcl/qa/cppunit/graphicfilter/data/wmf/fail/.gitignore b/vcl/qa/cppunit/graphicfilter/data/wmf/fail/.gitignore new file mode 100644 index 000000000000..e69de29bb2d1 --- /dev/null +++ b/vcl/qa/cppunit/graphicfilter/data/wmf/fail/.gitignore diff --git a/svtools/qa/cppunit/data/wmf/fail/CVE-2005-2123-1.wmf-0.009-676 b/vcl/qa/cppunit/graphicfilter/data/wmf/fail/CVE-2005-2123-1.wmf-0.009-676 Binary files differindex 49d3ddf28b02..49d3ddf28b02 100644 --- a/svtools/qa/cppunit/data/wmf/fail/CVE-2005-2123-1.wmf-0.009-676 +++ b/vcl/qa/cppunit/graphicfilter/data/wmf/fail/CVE-2005-2123-1.wmf-0.009-676 diff --git a/svtools/qa/cppunit/data/wmf/fail/CVE-2005-2124-1.wmf b/vcl/qa/cppunit/graphicfilter/data/wmf/fail/CVE-2005-2124-1.wmf Binary files differindex ac546ce5b14c..ac546ce5b14c 100644 --- a/svtools/qa/cppunit/data/wmf/fail/CVE-2005-2124-1.wmf +++ b/vcl/qa/cppunit/graphicfilter/data/wmf/fail/CVE-2005-2124-1.wmf diff --git a/svtools/qa/cppunit/data/wmf/fail/CVE-2005-4560-1.wmf b/vcl/qa/cppunit/graphicfilter/data/wmf/fail/CVE-2005-4560-1.wmf Binary files differindex aab34004e927..aab34004e927 100644 --- a/svtools/qa/cppunit/data/wmf/fail/CVE-2005-4560-1.wmf +++ b/vcl/qa/cppunit/graphicfilter/data/wmf/fail/CVE-2005-4560-1.wmf diff --git a/svtools/qa/cppunit/data/wmf/fail/CVE-2006-0143-1.wmf b/vcl/qa/cppunit/graphicfilter/data/wmf/fail/CVE-2006-0143-1.wmf index b68b7403c338..b68b7403c338 100644 --- a/svtools/qa/cppunit/data/wmf/fail/CVE-2006-0143-1.wmf +++ b/vcl/qa/cppunit/graphicfilter/data/wmf/fail/CVE-2006-0143-1.wmf diff --git a/svtools/qa/cppunit/data/wmf/fail/CVE-2006-0143-2.wmf b/vcl/qa/cppunit/graphicfilter/data/wmf/fail/CVE-2006-0143-2.wmf Binary files differindex 370abe0e249d..370abe0e249d 100644 --- a/svtools/qa/cppunit/data/wmf/fail/CVE-2006-0143-2.wmf +++ b/vcl/qa/cppunit/graphicfilter/data/wmf/fail/CVE-2006-0143-2.wmf diff --git a/vcl/qa/cppunit/graphicfilter/data/wmf/indeterminate/.gitignore b/vcl/qa/cppunit/graphicfilter/data/wmf/indeterminate/.gitignore new file mode 100644 index 000000000000..583b009c7c60 --- /dev/null +++ b/vcl/qa/cppunit/graphicfilter/data/wmf/indeterminate/.gitignore @@ -0,0 +1 @@ +*.wmf-* diff --git a/vcl/qa/cppunit/graphicfilter/data/wmf/pass/.gitignore b/vcl/qa/cppunit/graphicfilter/data/wmf/pass/.gitignore new file mode 100644 index 000000000000..e69de29bb2d1 --- /dev/null +++ b/vcl/qa/cppunit/graphicfilter/data/wmf/pass/.gitignore diff --git a/svtools/qa/cppunit/data/wmf/pass/CVE-2005-2123-1.wmf b/vcl/qa/cppunit/graphicfilter/data/wmf/pass/CVE-2005-2123-1.wmf Binary files differindex e70664e64aa0..e70664e64aa0 100644 --- a/svtools/qa/cppunit/data/wmf/pass/CVE-2005-2123-1.wmf +++ b/vcl/qa/cppunit/graphicfilter/data/wmf/pass/CVE-2005-2123-1.wmf diff --git a/svtools/qa/cppunit/data/wmf/pass/CVE-2006-4071-1.wmf b/vcl/qa/cppunit/graphicfilter/data/wmf/pass/CVE-2006-4071-1.wmf index cdb09c6b21e2..cdb09c6b21e2 100644 --- a/svtools/qa/cppunit/data/wmf/pass/CVE-2006-4071-1.wmf +++ b/vcl/qa/cppunit/graphicfilter/data/wmf/pass/CVE-2006-4071-1.wmf diff --git a/svtools/qa/cppunit/data/wmf/pass/CVE-2007-1090-1.wmf b/vcl/qa/cppunit/graphicfilter/data/wmf/pass/CVE-2007-1090-1.wmf Binary files differindex 7864da572ca2..7864da572ca2 100644 --- a/svtools/qa/cppunit/data/wmf/pass/CVE-2007-1090-1.wmf +++ b/vcl/qa/cppunit/graphicfilter/data/wmf/pass/CVE-2007-1090-1.wmf diff --git a/svtools/qa/cppunit/data/wmf/pass/CVE-2007-1238-1.wmf b/vcl/qa/cppunit/graphicfilter/data/wmf/pass/CVE-2007-1238-1.wmf Binary files differindex 10da32742570..10da32742570 100644 --- a/svtools/qa/cppunit/data/wmf/pass/CVE-2007-1238-1.wmf +++ b/vcl/qa/cppunit/graphicfilter/data/wmf/pass/CVE-2007-1238-1.wmf diff --git a/svtools/qa/cppunit/data/wmf/pass/CVE-2007-1245-1.wmf b/vcl/qa/cppunit/graphicfilter/data/wmf/pass/CVE-2007-1245-1.wmf Binary files differindex 10da32742570..10da32742570 100644 --- a/svtools/qa/cppunit/data/wmf/pass/CVE-2007-1245-1.wmf +++ b/vcl/qa/cppunit/graphicfilter/data/wmf/pass/CVE-2007-1245-1.wmf diff --git a/svtools/qa/cppunit/filters-test.cxx b/vcl/qa/cppunit/graphicfilter/filters-test.cxx index 483a72bcc313..7dbcfb7a7c45 100644 --- a/svtools/qa/cppunit/filters-test.cxx +++ b/vcl/qa/cppunit/graphicfilter/filters-test.cxx @@ -33,18 +33,18 @@ #include <osl/file.hxx> #include <osl/process.h> -#include <svtools/filter.hxx> +#include <vcl/graphicfilter.hxx> using namespace ::com::sun::star; /* Implementation of Filters test */ -class SvtoolsFiltersTest +class VclFiltersTest : public test::FiltersTest , public test::BootstrapFixture { public: - SvtoolsFiltersTest() : BootstrapFixture(true, false) {} + VclFiltersTest() : BootstrapFixture(true, false) {} virtual bool load(const rtl::OUString &, const rtl::OUString &rURL, const rtl::OUString &); @@ -53,12 +53,12 @@ public: */ void testCVEs(); - CPPUNIT_TEST_SUITE(SvtoolsFiltersTest); + CPPUNIT_TEST_SUITE(VclFiltersTest); CPPUNIT_TEST(testCVEs); CPPUNIT_TEST_SUITE_END(); }; -bool SvtoolsFiltersTest::load(const rtl::OUString &, +bool VclFiltersTest::load(const rtl::OUString &, const rtl::OUString &rURL, const rtl::OUString &) { GraphicFilter aGraphicFilter(false); @@ -67,34 +67,40 @@ bool SvtoolsFiltersTest::load(const rtl::OUString &, return aGraphicFilter.ImportGraphic(aGraphic, rURL, aFileStream) == 0; } -void SvtoolsFiltersTest::testCVEs() +void VclFiltersTest::testCVEs() { +#ifndef DISABLE_CVE_TESTS testDir(rtl::OUString(), - getURLFromSrc("/svtools/qa/cppunit/data/wmf/"), + getURLFromSrc("/vcl/qa/cppunit/graphicfilter/data/wmf/"), rtl::OUString()); testDir(rtl::OUString(), - getURLFromSrc("/svtools/qa/cppunit/data/emf/"), + getURLFromSrc("/vcl/qa/cppunit/graphicfilter/data/emf/"), rtl::OUString()); testDir(rtl::OUString(), - getURLFromSrc("/svtools/qa/cppunit/data/sgv/"), + getURLFromSrc("/vcl/qa/cppunit/graphicfilter/data/sgv/"), rtl::OUString()); testDir(rtl::OUString(), - getURLFromSrc("/svtools/qa/cppunit/data/png/"), + getURLFromSrc("/vcl/qa/cppunit/graphicfilter/data/png/"), rtl::OUString()); testDir(rtl::OUString(), - getURLFromSrc("/svtools/qa/cppunit/data/jpg/"), + getURLFromSrc("/vcl/qa/cppunit/graphicfilter/data/jpg/"), rtl::OUString()); testDir(rtl::OUString(), - getURLFromSrc("/svtools/qa/cppunit/data/gif/"), + getURLFromSrc("/vcl/qa/cppunit/graphicfilter/data/gif/"), rtl::OUString()); + + testDir(rtl::OUString(), + getURLFromSrc("/vcl/qa/cppunit/graphicfilter/data/bmp/"), + rtl::OUString()); +#endif } -CPPUNIT_TEST_SUITE_REGISTRATION(SvtoolsFiltersTest); +CPPUNIT_TEST_SUITE_REGISTRATION(VclFiltersTest); CPPUNIT_PLUGIN_IMPLEMENT(); diff --git a/vcl/source/app/settings.cxx b/vcl/source/app/settings.cxx index dfdfa9554d3c..c0325ceadf7c 100644 --- a/vcl/source/app/settings.cxx +++ b/vcl/source/app/settings.cxx @@ -26,8 +26,13 @@ * ************************************************************************/ +#include <officecfg/Office/Common.hxx> + #include <svsys.h> +#include "comphelper/processfactory.hxx" +#include <rtl/bootstrap.hxx> #include "tools/debug.hxx" +#include <vcl/graphicfilter.hxx> #include "i18npool/mslangid.hxx" @@ -38,7 +43,6 @@ #include "vcl/configsettings.hxx" #include "vcl/gradient.hxx" #include "vcl/unohelp.hxx" -#include "vcl/bitmapex.hxx" #include "unotools/fontcfg.hxx" #include "unotools/localedatawrapper.hxx" @@ -46,7 +50,7 @@ #include "unotools/confignode.hxx" #include "unotools/syslocaleoptions.hxx" -using ::rtl::OUString; +using namespace ::com::sun::star; #include "svdata.hxx" #include "impimagetree.hxx" @@ -206,7 +210,10 @@ sal_Bool MouseSettings::operator ==( const MouseSettings& rSet ) const // ======================================================================= -ImplStyleData::ImplStyleData() +ImplStyleData::ImplStyleData() : + maPersonaHeaderFooter(), + maPersonaHeaderBitmap(), + maPersonaFooterBitmap() { mnRefCount = 1; mnScrollBarSize = 16; @@ -302,7 +309,10 @@ ImplStyleData::ImplStyleData( const ImplStyleData& rData ) : maFieldFont( rData.maFieldFont ), maIconFont( rData.maIconFont ), maGroupFont( rData.maGroupFont ), - maWorkspaceGradient( rData.maWorkspaceGradient ) + maWorkspaceGradient( rData.maWorkspaceGradient ), + maPersonaHeaderFooter( rData.maPersonaHeaderFooter ), + maPersonaHeaderBitmap( rData.maPersonaHeaderBitmap ), + maPersonaFooterBitmap( rData.maPersonaFooterBitmap ) { mnRefCount = 1; mnBorderSize = rData.mnBorderSize; @@ -678,6 +688,60 @@ sal_Bool StyleSettings::GetUseImagesInMenus() const // ----------------------------------------------------------------------- +static BitmapEx readBitmapEx( const rtl::OUString& rPath ) +{ + rtl::OUString aPath( rPath ); + rtl::Bootstrap::expandMacros( aPath ); + + // import the image + Graphic aGraphic; + if ( GraphicFilter::LoadGraphic( aPath, String(), aGraphic ) != GRFILTER_OK ) + return BitmapEx(); + + return aGraphic.GetBitmapEx(); +} + +enum WhichPersona { PERSONA_HEADER, PERSONA_FOOTER }; + +/** Update the setting of the Persona header / footer in ImplStyleData */ +static void setupPersonaHeaderFooter( WhichPersona eWhich, rtl::OUString& /*rHeaderFooter*/, BitmapEx& rHeaderFooterBitmap ) +{ + rtl::OUString aName; + switch ( eWhich ) { + case PERSONA_HEADER: aName = "header.jpg"; break; + case PERSONA_FOOTER: aName = "footer.jpg"; break; + } + + if ( !aName.isEmpty() ) + { + // try the gallery first, then edition, and the program path if + // everything else fails + rtl::OUString gallery = "${$BRAND_BASE_DIR/program/" SAL_CONFIGFILE( "bootstrap") "::UserInstallation}"; + rtl::Bootstrap::expandMacros( gallery ); + gallery += "/user/gallery/personas/"; + + if ( rHeaderFooterBitmap.IsEmpty() ) + rHeaderFooterBitmap = readBitmapEx( "$BRAND_BASE_DIR/program/edition/" + aName ); + + if ( rHeaderFooterBitmap.IsEmpty() ) + rHeaderFooterBitmap = readBitmapEx( "$BRAND_BASE_DIR/program/" + aName ); + } +} + +const BitmapEx StyleSettings::GetPersonaHeader() const +{ + setupPersonaHeaderFooter( PERSONA_HEADER, mpData->maPersonaHeaderFooter, mpData->maPersonaHeaderBitmap ); + return mpData->maPersonaHeaderBitmap; +} + +const BitmapEx StyleSettings::GetPersonaFooter() const +{ + setupPersonaHeaderFooter( PERSONA_FOOTER, mpData->maPersonaHeaderFooter, mpData->maPersonaFooterBitmap ); + return mpData->maPersonaFooterBitmap; +} + +// ----------------------------------------------------------------------- + void StyleSettings::SetStandardStyles() { CopyData(); @@ -1508,11 +1572,11 @@ bool AllSettings::GetLayoutRTL() const nUIMirroring = 0; // ask configuration only once utl::OConfigurationNode aNode = utl::OConfigurationTreeRoot::tryCreateWithServiceFactory( vcl::unohelper::GetMultiServiceFactory(), - OUString("org.openoffice.Office.Common/I18N/CTL") ); // note: case sensisitive ! + rtl::OUString("org.openoffice.Office.Common/I18N/CTL") ); // note: case sensisitive ! if ( aNode.isValid() ) { sal_Bool bTmp = sal_Bool(); - ::com::sun::star::uno::Any aValue = aNode.getNodeValue( OUString("UIMirroring") ); + ::com::sun::star::uno::Any aValue = aNode.getNodeValue( rtl::OUString("UIMirroring") ); if( aValue >>= bTmp ) { // found true or false; if it was nil, nothing is changed diff --git a/vcl/source/control/ctrl.cxx b/vcl/source/control/ctrl.cxx index cd1c7df39cd5..d725b0b34339 100644 --- a/vcl/source/control/ctrl.cxx +++ b/vcl/source/control/ctrl.cxx @@ -438,16 +438,17 @@ void Control::DataChanged( const DataChangedEvent& rDCEvt) (rDCEvt.GetType() == DATACHANGED_SETTINGS) && (rDCEvt.GetFlags() & SETTINGS_STYLE) ) { - AllSettings aSettings = GetSettings(); - StyleSettings aStyleSettings = aSettings.GetStyleSettings(); - sal_uLong nOldOptions = rDCEvt.GetOldSettings()->GetStyleSettings().GetOptions(); - sal_uLong nNewOptions = aStyleSettings.GetOptions(); + const AllSettings* pOldSettings = rDCEvt.GetOldSettings(); - if ( !(nNewOptions & STYLE_OPTION_MONO) && ( nOldOptions & STYLE_OPTION_MONO ) ) + AllSettings aSettings = GetSettings(); + StyleSettings aStyleSettings = aSettings.GetStyleSettings(); + sal_uLong nNewOptions = aStyleSettings.GetOptions(); + + if ( pOldSettings && !(nNewOptions & STYLE_OPTION_MONO) && ( pOldSettings->GetStyleSettings().GetOptions() & STYLE_OPTION_MONO ) ) { nNewOptions |= STYLE_OPTION_MONO; aStyleSettings.SetOptions( nNewOptions ); - aStyleSettings.SetMonoColor( rDCEvt.GetOldSettings()->GetStyleSettings().GetMonoColor() ); + aStyleSettings.SetMonoColor( pOldSettings->GetStyleSettings().GetMonoColor() ); aSettings.SetStyleSettings( aStyleSettings ); SetSettings( aSettings ); } diff --git a/svtools/source/filter/FilterConfigCache.cxx b/vcl/source/filter/FilterConfigCache.cxx index da5b879e6568..a8b881834f18 100644 --- a/svtools/source/filter/FilterConfigCache.cxx +++ b/vcl/source/filter/FilterConfigCache.cxx @@ -27,17 +27,21 @@ ************************************************************************/ #include "FilterConfigCache.hxx" -#include <svtools/filter.hxx> + +#include <vcl/graphicfilter.hxx> #include <com/sun/star/uno/Any.h> #include <comphelper/processfactory.hxx> #include <com/sun/star/uno/Exception.hpp> #include <com/sun/star/lang/XMultiServiceFactory.hpp> #include <com/sun/star/beans/XPropertySet.hpp> +#include <com/sun/star/configuration/theDefaultProvider.hpp> +#include <com/sun/star/container/XNameAccess.hpp> using namespace ::com::sun::star::lang ; // XMultiServiceFactory using namespace ::com::sun::star::container ; // XNameAccess using namespace ::com::sun::star::uno ; // Reference using namespace ::com::sun::star::beans ; // PropertyValue +using namespace ::com::sun::star::configuration ; using ::rtl::OUString; const char* FilterConfigCache::FilterConfigCacheEntry::InternalPixelFilterNameList[] = @@ -68,7 +72,7 @@ sal_Int32 FilterConfigCache::nIndUserData = -1; sal_Int32 FilterConfigCache::nIndFileFormatVersion = -1; sal_Int32 FilterConfigCache::nIndTemplateName = -1; -sal_Bool FilterConfigCache::FilterConfigCacheEntry::CreateFilterName( const OUString& rUserDataEntry ) +sal_Bool FilterConfigCache::FilterConfigCacheEntry::CreateFilterName( const rtl::OUString& rUserDataEntry ) { bIsPixelFormat = bIsInternalFilter = sal_False; sFilterName = String( rUserDataEntry ); diff --git a/vcl/source/filter/FilterConfigCache.hxx b/vcl/source/filter/FilterConfigCache.hxx new file mode 100644 index 000000000000..c6a4b3d163ca --- /dev/null +++ b/vcl/source/filter/FilterConfigCache.hxx @@ -0,0 +1,143 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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 _FILTER_CONFIG_CACHE_HXX_ +#define _FILTER_CONFIG_CACHE_HXX_ + +#include <tools/string.hxx> +#include <com/sun/star/uno/Sequence.h> +#include <com/sun/star/uno/Reference.h> +#include <com/sun/star/beans/PropertyValue.hpp> +#include <com/sun/star/container/XNameAccess.hpp> + +#ifndef INCLUDED_VECTOR +#include <vector> +#define INCLUDED_VECTOR +#endif + +/** Cache to keep list of graphic filters + the filters themselves. */ +class FilterConfigCache +{ + struct FilterConfigCacheEntry + { + rtl::OUString sInternalFilterName; + rtl::OUString sType; + ::com::sun::star::uno::Sequence< rtl::OUString > lExtensionList; + rtl::OUString sUIName; + rtl::OUString sDocumentService; + rtl::OUString sFilterService; + rtl::OUString sTemplateName; + + rtl::OUString sMediaType; + rtl::OUString sFilterType; + + sal_Int32 nFlags; + sal_Int32 nFileFormatVersion; + + // user data + String sFilterName; + sal_Bool bHasDialog : 1; + sal_Bool bIsInternalFilter : 1; + sal_Bool bIsPixelFormat : 1; + + sal_Bool CreateFilterName( const rtl::OUString& rUserDataEntry ); + String GetShortName( ); + + static const char* InternalPixelFilterNameList[]; + static const char* InternalVectorFilterNameList[]; + static const char* ExternalPixelFilterNameList[]; + }; + + typedef std::vector< FilterConfigCacheEntry > CacheVector; + + CacheVector aImport; + CacheVector aExport; + sal_Bool bUseConfig; + + static sal_Bool bInitialized; + static sal_Int32 nIndType; + static sal_Int32 nIndUIName; + static sal_Int32 nIndDocumentService; + static sal_Int32 nIndFilterService; + static sal_Int32 nIndFlags; + static sal_Int32 nIndUserData; + static sal_Int32 nIndFileFormatVersion; + static sal_Int32 nIndTemplateName; + + static const char* InternalFilterListForSvxLight[]; + + void ImplInit(); + void ImplInitSmart(); + +public: + + sal_uInt16 GetImportFormatCount() const + { return sal::static_int_cast< sal_uInt16 >(aImport.size()); }; + sal_uInt16 GetImportFormatNumber( const String& rFormatName ); + sal_uInt16 GetImportFormatNumberForMediaType( const String& rMediaType ); + sal_uInt16 GetImportFormatNumberForShortName( const String& rShortName ); + sal_uInt16 GetImportFormatNumberForTypeName( const String& rType ); + String GetImportFilterName( sal_uInt16 nFormat ); + String GetImportFormatName( sal_uInt16 nFormat ); + String GetImportFormatExtension( sal_uInt16 nFormat, sal_Int32 nEntry = 0); + String GetImportFormatMediaType( sal_uInt16 nFormat ); + String GetImportFormatShortName( sal_uInt16 nFormat ); + String GetImportWildcard( sal_uInt16 nFormat, sal_Int32 nEntry ); + String GetImportFilterType( sal_uInt16 nFormat ); + String GetImportFilterTypeName( sal_uInt16 nFormat ); + + sal_Bool IsImportInternalFilter( sal_uInt16 nFormat ); + sal_Bool IsImportPixelFormat( sal_uInt16 nFormat ); + + sal_uInt16 GetExportFormatCount() const + { return sal::static_int_cast< sal_uInt16 >(aExport.size()); }; + sal_uInt16 GetExportFormatNumber( const String& rFormatName ); + sal_uInt16 GetExportFormatNumberForMediaType( const String& rMediaType ); + sal_uInt16 GetExportFormatNumberForShortName( const String& rShortName ); + sal_uInt16 GetExportFormatNumberForTypeName( const String& rType ); + String GetExportFilterName( sal_uInt16 nFormat ); + String GetExportFormatName( sal_uInt16 nFormat ); + String GetExportFormatExtension( sal_uInt16 nFormat, sal_Int32 nEntry = 0 ); + String GetExportFormatMediaType( sal_uInt16 nFormat ); + String GetExportFormatShortName( sal_uInt16 nFormat ); + String GetExportWildcard( sal_uInt16 nFormat, sal_Int32 nEntry ); + String GetExportFilterTypeName( sal_uInt16 nFormat ); + String GetExportInternalFilterName( sal_uInt16 nFormat ); + + sal_Bool IsExportInternalFilter( sal_uInt16 nFormat ); + sal_Bool IsExportPixelFormat( sal_uInt16 nFormat ); + sal_Bool IsExportDialog( sal_uInt16 nFormat ); + + FilterConfigCache( sal_Bool bUseConfig ); + ~FilterConfigCache(); +}; + +#endif // _FILTER_CONFIG_CACHE_HXX_ + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/svtools/source/filter/FilterConfigItem.cxx b/vcl/source/filter/FilterConfigItem.cxx index 275bcebdebbf..1637cc793e57 100644 --- a/svtools/source/filter/FilterConfigItem.cxx +++ b/vcl/source/filter/FilterConfigItem.cxx @@ -26,7 +26,7 @@ * ************************************************************************/ -#include <svtools/FilterConfigItem.hxx> +#include <vcl/FilterConfigItem.hxx> #include <unotools/configmgr.hxx> #include <comphelper/processfactory.hxx> diff --git a/svtools/source/filter/filter.cxx b/vcl/source/filter/graphicfilter.cxx index 0d7f1e1c298f..4ff2166b2666 100644 --- a/svtools/source/filter/filter.cxx +++ b/vcl/source/filter/graphicfilter.cxx @@ -39,17 +39,14 @@ #include <vcl/virdev.hxx> #include <vcl/svapp.hxx> #include <osl/file.hxx> -#include <svtools/filter.hxx> -#include "FilterConfigCache.hxx" -#include <svtools/FilterConfigItem.hxx> -#include <svtools/fltcall.hxx> -#include <svtools/wmf.hxx> -#include "gifread.hxx" -#include "jpeg.hxx" -#include "xbmread.hxx" -#include "xpmread.hxx" +#include <vcl/graphicfilter.hxx> +#include <vcl/FilterConfigItem.hxx> +#include <vcl/wmf.hxx> +#include "igif/gifread.hxx" +#include "jpeg/jpeg.hxx" +#include "ixbm/xbmread.hxx" +#include "ixpm/xpmread.hxx" #include <svl/solar.hrc> -#include <svtools/svtools.hrc> #include "sgffilt.hxx" #include "osl/module.hxx" #include <com/sun/star/uno/Reference.h> @@ -71,7 +68,7 @@ #include <rtl/logfile.hxx> #include <vector> -#include "SvFilterOptionsDialog.hxx" +#include "FilterConfigCache.hxx" #define PMGCHUNG_msOG 0x6d734f47 // Microsoft Office Animated GIF @@ -117,7 +114,7 @@ public: ~ImpFilterOutputStream() {} }; -sal_Bool ImplDirEntryHelper::Exists( const INetURLObject& rObj ) +static sal_Bool DirEntryExists( const INetURLObject& rObj ) { sal_Bool bExists = sal_False; @@ -145,7 +142,7 @@ sal_Bool ImplDirEntryHelper::Exists( const INetURLObject& rObj ) // ----------------------------------------------------------------------------- -void ImplDirEntryHelper::Kill( const String& rMainUrl ) +static void KillDirEntry( const String& rMainUrl ) { try { @@ -1213,6 +1210,13 @@ sal_uInt16 GraphicFilter::GetExportFormatNumberForShortName( const String& rShor // ------------------------------------------------------------------------ +String GraphicFilter::GetExportInternalFilterName( sal_uInt16 nFormat ) +{ + return pConfig->GetExportInternalFilterName( nFormat ); +} + +// ------------------------------------------------------------------------ + sal_uInt16 GraphicFilter::GetExportFormatNumberForTypeName( const String& rType ) { return pConfig->GetExportFormatNumberForTypeName( rType ); @@ -1717,7 +1721,7 @@ sal_uInt16 GraphicFilter::ExportGraphic( const Graphic& rGraphic, const INetURLO RTL_LOGFILE_CONTEXT( aLog, "GraphicFilter::ExportGraphic() (thb)" ); sal_uInt16 nRetValue = GRFILTER_FORMATERROR; DBG_ASSERT( rPath.GetProtocol() != INET_PROT_NOT_VALID, "GraphicFilter::ExportGraphic() : ProtType == INET_PROT_NOT_VALID" ); - sal_Bool bAlreadyExists = ImplDirEntryHelper::Exists( rPath ); + sal_Bool bAlreadyExists = DirEntryExists( rPath ); String aMainUrl( rPath.GetMainURL( INetURLObject::NO_DECODE ) ); SvStream* pStream = ::utl::UcbStreamHelper::CreateStream( aMainUrl, STREAM_WRITE | STREAM_TRUNC ); @@ -1727,7 +1731,7 @@ sal_uInt16 GraphicFilter::ExportGraphic( const Graphic& rGraphic, const INetURLO delete pStream; if( ( GRFILTER_OK != nRetValue ) && !bAlreadyExists ) - ImplDirEntryHelper::Kill( aMainUrl ); + KillDirEntry( aMainUrl ); } return nRetValue; } @@ -2077,55 +2081,6 @@ sal_uInt16 GraphicFilter::ExportGraphic( const Graphic& rGraphic, const String& // ------------------------------------------------------------------------ -sal_Bool GraphicFilter::Setup( sal_uInt16 ) -{ - return sal_False; -} - -// ------------------------------------------------------------------------ - -sal_Bool GraphicFilter::HasExportDialog( sal_uInt16 nFormat ) -{ - return pConfig->IsExportDialog( nFormat ); -} - -// ------------------------------------------------------------------------ - -sal_Bool GraphicFilter::DoExportDialog( Window* pWindow, sal_uInt16 nFormat ) -{ - return DoExportDialog( pWindow, nFormat, FUNIT_MM ); -} - -sal_Bool GraphicFilter::DoExportDialog( Window*, sal_uInt16 nFormat, FieldUnit ) -{ - sal_Bool bRet = sal_False; - com::sun::star::uno::Reference< com::sun::star::lang::XMultiServiceFactory > - xSMgr( ::comphelper::getProcessServiceFactory() ); - - uno::Reference< com::sun::star::uno::XInterface > xFilterOptionsDialog - ( xSMgr->createInstance( rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.svtools.SvFilterOptionsDialog" )) ), - com::sun::star::uno::UNO_QUERY ); - if ( xFilterOptionsDialog.is() ) - { - com::sun::star::uno::Reference< com::sun::star::ui::dialogs::XExecutableDialog > xExecutableDialog - ( xFilterOptionsDialog, ::com::sun::star::uno::UNO_QUERY ); - com::sun::star::uno::Reference< com::sun::star::beans::XPropertyAccess > xPropertyAccess - ( xFilterOptionsDialog, ::com::sun::star::uno::UNO_QUERY ); - if ( xExecutableDialog.is() && xPropertyAccess.is() ) - { - com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue > aMediaDescriptor( 1 ); - aMediaDescriptor[ 0 ].Name = String( RTL_CONSTASCII_USTRINGPARAM( "FilterName" ) ); - rtl::OUString aStr( pConfig->GetExportInternalFilterName( nFormat ) ); - aMediaDescriptor[ 0 ].Value <<= aStr; - xPropertyAccess->setPropertyValues( aMediaDescriptor ); - bRet = xExecutableDialog->execute() == com::sun::star::ui::dialogs::ExecutableDialogResults::OK; - } - } - return bRet; -} - -// ------------------------------------------------------------------------ - const FilterErrorEx& GraphicFilter::GetLastError() const { return *pErrorEx; diff --git a/svtools/source/filter/filter2.cxx b/vcl/source/filter/graphicfilter2.cxx index d229dcb62a6d..5084014865b2 100644 --- a/svtools/source/filter/filter2.cxx +++ b/vcl/source/filter/graphicfilter2.cxx @@ -31,8 +31,7 @@ #include <stdio.h> #include <tools/stream.hxx> #include <vcl/outdev.hxx> -#include <svtools/filter.hxx> -#include "FilterConfigCache.hxx" +#include <vcl/graphicfilter.hxx> #include <unotools/ucbstreamhelper.hxx> #define DATA_SIZE 640 diff --git a/svtools/source/filter/igif/decode.cxx b/vcl/source/filter/igif/decode.cxx index 1e78fca94625..1e78fca94625 100644 --- a/svtools/source/filter/igif/decode.cxx +++ b/vcl/source/filter/igif/decode.cxx diff --git a/svtools/source/filter/igif/decode.hxx b/vcl/source/filter/igif/decode.hxx index 3dd6328839d9..3dd6328839d9 100644 --- a/svtools/source/filter/igif/decode.hxx +++ b/vcl/source/filter/igif/decode.hxx diff --git a/svtools/source/filter/igif/gifread.cxx b/vcl/source/filter/igif/gifread.cxx index 4dc675043099..4dc675043099 100644 --- a/svtools/source/filter/igif/gifread.cxx +++ b/vcl/source/filter/igif/gifread.cxx diff --git a/svtools/source/inc/gifread.hxx b/vcl/source/filter/igif/gifread.hxx index 1b92271dfc9f..1b92271dfc9f 100644 --- a/svtools/source/inc/gifread.hxx +++ b/vcl/source/filter/igif/gifread.hxx diff --git a/svtools/source/filter/ixbm/xbmread.cxx b/vcl/source/filter/ixbm/xbmread.cxx index 1b79c3f80580..1b79c3f80580 100644 --- a/svtools/source/filter/ixbm/xbmread.cxx +++ b/vcl/source/filter/ixbm/xbmread.cxx diff --git a/svtools/source/inc/xbmread.hxx b/vcl/source/filter/ixbm/xbmread.hxx index 438179065fc4..438179065fc4 100644 --- a/svtools/source/inc/xbmread.hxx +++ b/vcl/source/filter/ixbm/xbmread.hxx diff --git a/svtools/source/filter/ixpm/rgbtable.hxx b/vcl/source/filter/ixpm/rgbtable.hxx index 738c3f33460c..738c3f33460c 100644 --- a/svtools/source/filter/ixpm/rgbtable.hxx +++ b/vcl/source/filter/ixpm/rgbtable.hxx diff --git a/svtools/source/filter/ixpm/xpmread.cxx b/vcl/source/filter/ixpm/xpmread.cxx index ad635f22493b..ad635f22493b 100644 --- a/svtools/source/filter/ixpm/xpmread.cxx +++ b/vcl/source/filter/ixpm/xpmread.cxx diff --git a/svtools/source/inc/xpmread.hxx b/vcl/source/filter/ixpm/xpmread.hxx index 825a0efe34ea..825a0efe34ea 100644 --- a/svtools/source/inc/xpmread.hxx +++ b/vcl/source/filter/ixpm/xpmread.hxx diff --git a/svtools/source/filter/jpeg/jpeg.cxx b/vcl/source/filter/jpeg/jpeg.cxx index 59f7d4ec69cb..a07e60c377b2 100644 --- a/svtools/source/filter/jpeg/jpeg.cxx +++ b/vcl/source/filter/jpeg/jpeg.cxx @@ -33,15 +33,15 @@ extern "C" { #include "stdio.h" #include "jpeg.h" - #include "jpeglib.h" - #include "jerror.h" + #include <jpeglib.h> + #include <jerror.h> } #define _JPEGPRIVATE #include <vcl/bmpacc.hxx> #include "jpeg.hxx" -#include <svtools/FilterConfigItem.hxx> -#include <svtools/filter.hxx> +#include <vcl/FilterConfigItem.hxx> +#include <vcl/graphicfilter.hxx> // ----------- // - Defines - diff --git a/svtools/source/filter/jpeg/jpeg.h b/vcl/source/filter/jpeg/jpeg.h index a77c335d4b66..a77c335d4b66 100644 --- a/svtools/source/filter/jpeg/jpeg.h +++ b/vcl/source/filter/jpeg/jpeg.h diff --git a/svtools/source/inc/jpeg.hxx b/vcl/source/filter/jpeg/jpeg.hxx index 00c267f71650..00c267f71650 100644 --- a/svtools/source/inc/jpeg.hxx +++ b/vcl/source/filter/jpeg/jpeg.hxx diff --git a/svtools/source/filter/jpeg/jpegc.c b/vcl/source/filter/jpeg/jpegc.c index 06c7d4f69964..06c7d4f69964 100644 --- a/svtools/source/filter/jpeg/jpegc.c +++ b/vcl/source/filter/jpeg/jpegc.c diff --git a/svtools/source/filter/sgf.ini b/vcl/source/filter/sgf.ini index 7444e40c8836..7444e40c8836 100644 --- a/svtools/source/filter/sgf.ini +++ b/vcl/source/filter/sgf.ini diff --git a/svtools/source/filter/sgfbram.cxx b/vcl/source/filter/sgfbram.cxx index cdd2582f0422..cdd2582f0422 100644 --- a/svtools/source/filter/sgfbram.cxx +++ b/vcl/source/filter/sgfbram.cxx diff --git a/svtools/source/inc/sgfbram.hxx b/vcl/source/filter/sgfbram.hxx index ef3ee7a7bfe4..ef3ee7a7bfe4 100644 --- a/svtools/source/inc/sgfbram.hxx +++ b/vcl/source/filter/sgfbram.hxx diff --git a/svtools/source/inc/sgffilt.hxx b/vcl/source/filter/sgffilt.hxx index 427ba7edc8b0..427ba7edc8b0 100644 --- a/svtools/source/inc/sgffilt.hxx +++ b/vcl/source/filter/sgffilt.hxx diff --git a/svtools/source/filter/sgvmain.cxx b/vcl/source/filter/sgvmain.cxx index 4e8aea6bce48..6d45276cec50 100644 --- a/svtools/source/filter/sgvmain.cxx +++ b/vcl/source/filter/sgvmain.cxx @@ -31,7 +31,7 @@ #include <osl/endian.h> #include <vcl/graph.hxx> #include <tools/poly.hxx> -#include <svtools/filter.hxx> +#include <vcl/graphicfilter.hxx> #include "sgffilt.hxx" #include "sgfbram.hxx" #include "sgvmain.hxx" diff --git a/svtools/source/inc/sgvmain.hxx b/vcl/source/filter/sgvmain.hxx index 9d023d55fa8e..9d023d55fa8e 100644 --- a/svtools/source/inc/sgvmain.hxx +++ b/vcl/source/filter/sgvmain.hxx diff --git a/svtools/source/filter/sgvspln.cxx b/vcl/source/filter/sgvspln.cxx index f4cee7c1a3de..f4cee7c1a3de 100644 --- a/svtools/source/filter/sgvspln.cxx +++ b/vcl/source/filter/sgvspln.cxx diff --git a/svtools/source/inc/sgvspln.hxx b/vcl/source/filter/sgvspln.hxx index 18c86f743715..18c86f743715 100644 --- a/svtools/source/inc/sgvspln.hxx +++ b/vcl/source/filter/sgvspln.hxx diff --git a/svtools/source/filter/sgvtext.cxx b/vcl/source/filter/sgvtext.cxx index b87ec912279f..7f9c26081181 100644 --- a/svtools/source/filter/sgvtext.cxx +++ b/vcl/source/filter/sgvtext.cxx @@ -30,7 +30,7 @@ #include <rtl/math.h> #include <comphelper/string.hxx> #include <tools/config.hxx> -#include <svtools/filter.hxx> +#include <vcl/graphicfilter.hxx> #include "sgffilt.hxx" #include "sgfbram.hxx" #include "sgvmain.hxx" diff --git a/svtools/source/filter/wmf/emfwr.cxx b/vcl/source/filter/wmf/emfwr.cxx index 25fab138c30a..25fab138c30a 100644 --- a/svtools/source/filter/wmf/emfwr.cxx +++ b/vcl/source/filter/wmf/emfwr.cxx diff --git a/svtools/source/filter/wmf/emfwr.hxx b/vcl/source/filter/wmf/emfwr.hxx index bed4b7d57807..bed4b7d57807 100644 --- a/svtools/source/filter/wmf/emfwr.hxx +++ b/vcl/source/filter/wmf/emfwr.hxx diff --git a/svtools/source/filter/wmf/enhwmf.cxx b/vcl/source/filter/wmf/enhwmf.cxx index 52a5d0c6a3a7..52a5d0c6a3a7 100644 --- a/svtools/source/filter/wmf/enhwmf.cxx +++ b/vcl/source/filter/wmf/enhwmf.cxx diff --git a/svtools/source/filter/wmf/winmtf.cxx b/vcl/source/filter/wmf/winmtf.cxx index 57d15e5bffd4..57d15e5bffd4 100644 --- a/svtools/source/filter/wmf/winmtf.cxx +++ b/vcl/source/filter/wmf/winmtf.cxx diff --git a/svtools/source/filter/wmf/winmtf.hxx b/vcl/source/filter/wmf/winmtf.hxx index bf81be57ff55..bf81be57ff55 100644 --- a/svtools/source/filter/wmf/winmtf.hxx +++ b/vcl/source/filter/wmf/winmtf.hxx diff --git a/svtools/source/filter/wmf/winwmf.cxx b/vcl/source/filter/wmf/winwmf.cxx index 5b3d085b34d9..8f5bff1595fe 100644 --- a/svtools/source/filter/wmf/winwmf.cxx +++ b/vcl/source/filter/wmf/winwmf.cxx @@ -30,7 +30,7 @@ #include "winmtf.hxx" #include <boost/scoped_array.hpp> #include <vcl/gdimtf.hxx> -#include <svtools/wmf.hxx> +#include <vcl/wmf.hxx> #include <rtl/crc.h> #include <rtl/tencinfo.h> #include <osl/endian.h> diff --git a/svtools/source/filter/wmf/wmf.cxx b/vcl/source/filter/wmf/wmf.cxx index 823efe00a303..130411f39247 100644 --- a/svtools/source/filter/wmf/wmf.cxx +++ b/vcl/source/filter/wmf/wmf.cxx @@ -30,7 +30,7 @@ #include "winmtf.hxx" #include "emfwr.hxx" #include "wmfwr.hxx" -#include <svtools/wmf.hxx> +#include <vcl/wmf.hxx> #include <comphelper/scopeguard.hxx> // ----------------------------------------------------------------------------- diff --git a/svtools/source/filter/wmf/wmfwr.cxx b/vcl/source/filter/wmf/wmfwr.cxx index 9cab2f018695..9cab2f018695 100644 --- a/svtools/source/filter/wmf/wmfwr.cxx +++ b/vcl/source/filter/wmf/wmfwr.cxx diff --git a/svtools/source/filter/wmf/wmfwr.hxx b/vcl/source/filter/wmf/wmfwr.hxx index 4c4e2d441c71..4c4e2d441c71 100644 --- a/svtools/source/filter/wmf/wmfwr.hxx +++ b/vcl/source/filter/wmf/wmfwr.hxx diff --git a/vcl/source/gdi/outdev2.cxx b/vcl/source/gdi/outdev2.cxx index a90c05ddd0af..f0af233bc073 100644 --- a/vcl/source/gdi/outdev2.cxx +++ b/vcl/source/gdi/outdev2.cxx @@ -651,71 +651,6 @@ void OutputDevice::ImplDrawBitmap( const Point& rDestPt, const Size& rDestSize, if ( nMirrFlags ) aBmp.Mirror( nMirrFlags ); - /* #i75264# (corrected with #i81576#) - * sometimes a bitmap is scaled to a ridiculous size and drawn - * to a quite normal VDev, so only a very small part of - * the scaled bitmap will be visible. However actually scaling - * the bitmap will use so much memory that we end with a crash. - * Workaround: since only a small part of the scaled bitmap will - * be actually drawn anyway (because of clipping on the device - * boundary), limit the destination and source rectangles so - * that the destination rectangle will overlap the device but only - * be reasonably (say factor 2) larger than the device itself. - */ - if( aPosAry.mnDestWidth > 2048 || aPosAry.mnDestHeight > 2048 ) - { - if( meOutDevType == OUTDEV_WINDOW || - (meOutDevType == OUTDEV_VIRDEV && mpPDFWriter == 0 ) ) - { - // #i81576# do the following trick only if there is overlap at all - // else the formulae don't work - // theoretically in this case we wouldn't need to draw the bitmap at all - // however there are some esoteric case where that is needed - if( aPosAry.mnDestX + aPosAry.mnDestWidth >= 0 - && aPosAry.mnDestX < mnOutWidth - && aPosAry.mnDestY + aPosAry.mnDestHeight >= 0 - && aPosAry.mnDestY < mnOutHeight ) - { - // reduce scaling to something reasonable taking into account the output size - if( aPosAry.mnDestWidth > 3*mnOutWidth && aPosAry.mnSrcWidth ) - { - const double nScaleX = aPosAry.mnDestWidth/double(aPosAry.mnSrcWidth); - - if( aPosAry.mnDestX + aPosAry.mnDestWidth > mnOutWidth ) - { - aPosAry.mnDestWidth = Max(long(0),mnOutWidth-aPosAry.mnDestX); - } - if( aPosAry.mnDestX < 0 ) - { - aPosAry.mnDestWidth += aPosAry.mnDestX; - aPosAry.mnSrcX -= sal::static_int_cast<long>(aPosAry.mnDestX / nScaleX); - aPosAry.mnDestX = 0; - } - - aPosAry.mnSrcWidth = sal::static_int_cast<long>(aPosAry.mnDestWidth / nScaleX); - } - - if( aPosAry.mnDestHeight > 3*mnOutHeight && aPosAry.mnSrcHeight != 0 ) - { - const double nScaleY = aPosAry.mnDestHeight/double(aPosAry.mnSrcHeight); - - if( aPosAry.mnDestY + aPosAry.mnDestHeight > mnOutHeight ) - { - aPosAry.mnDestHeight = Max(long(0),mnOutHeight-aPosAry.mnDestY); - } - if( aPosAry.mnDestY < 0 ) - { - aPosAry.mnDestHeight += aPosAry.mnDestY; - aPosAry.mnSrcY -= sal::static_int_cast<long>(aPosAry.mnDestY / nScaleY); - aPosAry.mnDestY = 0; - } - - aPosAry.mnSrcHeight = sal::static_int_cast<long>(aPosAry.mnDestHeight / nScaleY); - } - } - } - } - if ( aPosAry.mnSrcWidth && aPosAry.mnSrcHeight && aPosAry.mnDestWidth && aPosAry.mnDestHeight ) mpGraphics->DrawBitmap( &aPosAry, *aBmp.ImplGetImpBitmap()->ImplGetSalBitmap(), this ); } diff --git a/vcl/source/gdi/outdev6.cxx b/vcl/source/gdi/outdev6.cxx index cb82500a2cc4..ae82a0c724c2 100644 --- a/vcl/source/gdi/outdev6.cxx +++ b/vcl/source/gdi/outdev6.cxx @@ -859,8 +859,8 @@ void OutputDevice::ImplDrawBitmapWallpaper( long nX, long nY, } else { - aPos = Point( nX, nY ); - aSize = Size( nWidth, nHeight ); + aPos = Point( 0, 0 ); + aSize = Size( mnOutWidth, mnOutHeight ); } mpMetaFile = NULL; diff --git a/vcl/source/window/dockingarea.cxx b/vcl/source/window/dockingarea.cxx index a123ead8f959..5c744a2cd445 100644 --- a/vcl/source/window/dockingarea.cxx +++ b/vcl/source/window/dockingarea.cxx @@ -59,7 +59,28 @@ DockingAreaWindow::ImplData::~ImplData() static void ImplInitBackground( DockingAreaWindow* pThis ) { - if( !pThis->IsNativeControlSupported( CTRL_TOOLBAR, PART_ENTIRE_CONTROL ) ) + const BitmapEx& rPersonaBitmap = Application::GetSettings().GetStyleSettings().GetPersonaHeader(); + if ( !rPersonaBitmap.IsEmpty() && pThis->GetAlign() == WINDOWALIGN_TOP ) + { + Wallpaper aWallpaper( rPersonaBitmap ); + aWallpaper.SetStyle( WALLPAPER_TOPRIGHT ); + aWallpaper.SetColor( Application::GetSettings().GetStyleSettings().GetWorkspaceColor() ); + + // we need to shift the bitmap vertically so that it spans over the + // menubar conveniently + long nMenubarHeight = 0; + SystemWindow *pSysWin = pThis->GetSystemWindow(); + if ( pSysWin && pSysWin->GetMenuBar() ) + { + Window *pMenubarWin = pSysWin->GetMenuBar()->GetWindow(); + if ( pMenubarWin ) + nMenubarHeight = pMenubarWin->GetOutputHeightPixel(); + } + aWallpaper.SetRect( Rectangle( Point( 0, -nMenubarHeight ), Size( pThis->GetOutputWidthPixel(), pThis->GetOutputHeightPixel() + nMenubarHeight ) ) ); + + pThis->SetBackground( aWallpaper ); + } + else if( !pThis->IsNativeControlSupported( CTRL_TOOLBAR, PART_ENTIRE_CONTROL ) ) { Wallpaper aWallpaper; aWallpaper.SetStyle( WALLPAPER_APPLICATIONGRADIENT ); @@ -92,6 +113,7 @@ void DockingAreaWindow::DataChanged( const DataChangedEvent& rDCEvt ) if ( (rDCEvt.GetType() == DATACHANGED_SETTINGS) && (rDCEvt.GetFlags() & SETTINGS_STYLE) ) { ImplInitBackground( this ); + Invalidate(); } } @@ -136,6 +158,7 @@ void DockingAreaWindow::SetAlign( WindowAlign eNewAlign ) if( eNewAlign != mpImplData->meAlign ) { mpImplData->meAlign = eNewAlign; + ImplInitBackground( this ); Invalidate(); } } @@ -162,7 +185,9 @@ void DockingAreaWindow::Paint( const Rectangle& ) } ControlState nState = CTRL_STATE_ENABLED; - if( !ImplGetSVData()->maNWFData.mbDockingAreaSeparateTB ) + if ( GetAlign() == WINDOWALIGN_TOP && !Application::GetSettings().GetStyleSettings().GetPersonaHeader().IsEmpty() ) + Erase(); + else if ( !ImplGetSVData()->maNWFData.mbDockingAreaSeparateTB ) { // draw a single toolbar background covering the whole docking area Point tmp; @@ -240,6 +265,7 @@ void DockingAreaWindow::Paint( const Rectangle& ) void DockingAreaWindow::Resize() { + ImplInitBackground( this ); ImplInvalidateMenubar( this ); if( IsNativeControlSupported( CTRL_TOOLBAR, PART_ENTIRE_CONTROL ) ) Invalidate(); diff --git a/vcl/source/window/menu.cxx b/vcl/source/window/menu.cxx index 3b4ac0d693e2..e379523c76a3 100644 --- a/vcl/source/window/menu.cxx +++ b/vcl/source/window/menu.cxx @@ -3865,7 +3865,18 @@ static void ImplInitMenuWindow( Window* pWin, sal_Bool bFont, sal_Bool bMenuBar pWin->SetPointFont( rStyleSettings.GetMenuFont() ); if( bMenuBar ) { - if( pWin->IsNativeControlSupported( CTRL_MENUBAR, PART_ENTIRE_CONTROL ) ) + const BitmapEx& rPersonaBitmap = Application::GetSettings().GetStyleSettings().GetPersonaHeader(); + if ( !rPersonaBitmap.IsEmpty() ) + { + Wallpaper aWallpaper( rPersonaBitmap ); + aWallpaper.SetStyle( WALLPAPER_TOPRIGHT ); + aWallpaper.SetColor( Application::GetSettings().GetStyleSettings().GetWorkspaceColor() ); + + pWin->SetBackground( aWallpaper ); + pWin->SetPaintTransparent( sal_False ); + pWin->SetParentClipMode( 0 ); + } + else if ( pWin->IsNativeControlSupported( CTRL_MENUBAR, PART_ENTIRE_CONTROL ) ) { pWin->SetBackground(); // background will be drawn by NWF } @@ -5508,13 +5519,19 @@ void MenuBarWindow::HighlightItem( sal_uInt16 nPos, sal_Bool bHighlight ) MenubarValue aControlValue; aControlValue.maTopDockingAreaHeight = ImplGetTopDockingAreaHeight( this ); - Point tmp(0,0); - Rectangle aBgRegion( tmp, GetOutputSizePixel() ); - DrawNativeControl( CTRL_MENUBAR, PART_ENTIRE_CONTROL, - aBgRegion, - CTRL_STATE_ENABLED, - aControlValue, - OUString() ); + if ( !Application::GetSettings().GetStyleSettings().GetPersonaHeader().IsEmpty() ) + Erase(); + else + { + Point tmp(0,0); + Rectangle aBgRegion( tmp, GetOutputSizePixel() ); + DrawNativeControl( CTRL_MENUBAR, PART_ENTIRE_CONTROL, + aBgRegion, + CTRL_STATE_ENABLED, + aControlValue, + OUString() ); + } + ImplAddNWFSeparator( this, aControlValue ); // draw selected item @@ -5538,12 +5555,18 @@ void MenuBarWindow::HighlightItem( sal_uInt16 nPos, sal_Bool bHighlight ) MenubarValue aMenubarValue; aMenubarValue.maTopDockingAreaHeight = ImplGetTopDockingAreaHeight( this ); - // use full window size to get proper gradient - // but clip accordingly - Point aPt; - Rectangle aCtrlRect( aPt, GetOutputSizePixel() ); + if ( !Application::GetSettings().GetStyleSettings().GetPersonaHeader().IsEmpty() ) + Erase( aRect ); + else + { + // use full window size to get proper gradient + // but clip accordingly + Point aPt; + Rectangle aCtrlRect( aPt, GetOutputSizePixel() ); + + DrawNativeControl( CTRL_MENUBAR, PART_ENTIRE_CONTROL, aCtrlRect, CTRL_STATE_ENABLED, aMenubarValue, rtl::OUString() ); + } - DrawNativeControl( CTRL_MENUBAR, PART_ENTIRE_CONTROL, aCtrlRect, CTRL_STATE_ENABLED, aMenubarValue, rtl::OUString() ); ImplAddNWFSeparator( this, aMenubarValue ); } else @@ -5773,13 +5796,19 @@ void MenuBarWindow::Paint( const Rectangle& ) if( IsNativeControlSupported( CTRL_MENUBAR, PART_ENTIRE_CONTROL) ) { - Point aPt; - Rectangle aCtrlRegion( aPt, GetOutputSizePixel() ); - MenubarValue aMenubarValue; aMenubarValue.maTopDockingAreaHeight = ImplGetTopDockingAreaHeight( this ); - DrawNativeControl( CTRL_MENUBAR, PART_ENTIRE_CONTROL, aCtrlRegion, CTRL_STATE_ENABLED, aMenubarValue, rtl::OUString() ); + if ( !Application::GetSettings().GetStyleSettings().GetPersonaHeader().IsEmpty() ) + Erase(); + else + { + Point aPt; + Rectangle aCtrlRegion( aPt, GetOutputSizePixel() ); + + DrawNativeControl( CTRL_MENUBAR, PART_ENTIRE_CONTROL, aCtrlRegion, CTRL_STATE_ENABLED, aMenubarValue, rtl::OUString() ); + } + ImplAddNWFSeparator( this, aMenubarValue ); } SetFillColor( GetSettings().GetStyleSettings().GetMenuColor() ); diff --git a/vcl/source/window/split.cxx b/vcl/source/window/split.cxx index a13e4fa84ffe..1b556febc181 100644 --- a/vcl/source/window/split.cxx +++ b/vcl/source/window/split.cxx @@ -739,7 +739,11 @@ void Splitter::DataChanged( const DataChangedEvent& rDCEvt ) Window::DataChanged( rDCEvt ); if( rDCEvt.GetType() == DATACHANGED_SETTINGS ) { - Color oldFaceColor = ((AllSettings *) rDCEvt.GetData())->GetStyleSettings().GetFaceColor(); + AllSettings* pOldSettings = static_cast<AllSettings*>(rDCEvt.GetData()); + if(!pOldSettings) + return; + + Color oldFaceColor = pOldSettings->GetStyleSettings().GetFaceColor(); Color newFaceColor = Application::GetSettings().GetStyleSettings().GetFaceColor(); if( oldFaceColor.IsDark() != newFaceColor.IsDark() ) { diff --git a/vcl/source/window/toolbox.cxx b/vcl/source/window/toolbox.cxx index dda343ad8c54..4951a2fae247 100644 --- a/vcl/source/window/toolbox.cxx +++ b/vcl/source/window/toolbox.cxx @@ -622,7 +622,8 @@ void ToolBox::ImplDrawBackground( ToolBox* pThis, const Rectangle &rRect ) if( !bNativeOk ) { - if( !pThis->IsBackground() ) + if( !pThis->IsBackground() || + ( pThis->GetAlign() == WINDOWALIGN_TOP && !Application::GetSettings().GetStyleSettings().GetPersonaHeader().IsEmpty() ) ) { if( !pThis->IsInPaint() ) ImplDrawTransparentBackground( pThis, aPaintRegion ); @@ -1662,7 +1663,8 @@ void ToolBox::ImplInitSettings( sal_Bool bFont, } else { - if( IsNativeControlSupported( CTRL_TOOLBAR, PART_ENTIRE_CONTROL ) ) + if( IsNativeControlSupported( CTRL_TOOLBAR, PART_ENTIRE_CONTROL ) || + ( GetAlign() == WINDOWALIGN_TOP && !Application::GetSettings().GetStyleSettings().GetPersonaHeader().IsEmpty() ) ) { SetBackground(); SetPaintTransparent( sal_True ); diff --git a/vcl/source/window/toolbox2.cxx b/vcl/source/window/toolbox2.cxx index 1e04215dad38..556fead3c8ea 100644 --- a/vcl/source/window/toolbox2.cxx +++ b/vcl/source/window/toolbox2.cxx @@ -951,6 +951,9 @@ void ToolBox::SetAlign( WindowAlign eNewAlign ) else mbHorz = sal_True; + // Update the background according to Persona if necessary + ImplInitSettings( sal_False, sal_False, sal_True ); + // Hier alles neu ausgeben, da sich Border auch aendert mbCalc = sal_True; mbFormat = sal_True; diff --git a/vcl/win/source/gdi/salnativewidgets-luna.cxx b/vcl/win/source/gdi/salnativewidgets-luna.cxx index 685249bff785..582767e3b8dc 100644 --- a/vcl/win/source/gdi/salnativewidgets-luna.cxx +++ b/vcl/win/source/gdi/salnativewidgets-luna.cxx @@ -461,7 +461,7 @@ void ImplConvertSpinbuttonValues( int nControlPart, const ControlState& rState, } /// Draw an own toolbar style on Windows Vista or later, looks better there -void impl_drawAeroToolbar( HDC hDC, RECT rc, bool bHorizontal ) +static void impl_drawAeroToolbar( HDC hDC, RECT rc, bool bHorizontal ) { if ( rc.top == 0 && bHorizontal ) { diff --git a/writerfilter/source/rtftok/rtfdocumentimpl.cxx b/writerfilter/source/rtftok/rtfdocumentimpl.cxx index a7677d1f3a50..445f62e4ccfb 100644 --- a/writerfilter/source/rtftok/rtfdocumentimpl.cxx +++ b/writerfilter/source/rtftok/rtfdocumentimpl.cxx @@ -36,15 +36,18 @@ #include <com/sun/star/text/VertOrientation.hpp> #include <com/sun/star/text/RelOrientation.hpp> #include <rtl/tencinfo.h> -#include <svtools/wmf.hxx> #include <svl/lngmisc.hxx> #include <unotools/ucbstreamhelper.hxx> #include <unotools/streamwrap.hxx> #include <com/sun/star/drawing/XDrawPageSupplier.hpp> #include <rtl/oustringostreaminserter.hxx> #include <vcl/graph.hxx> +#include <rtl/ustring.hxx> #include <svtools/grfmgr.hxx> +#include <vcl/graph.hxx> +#include <vcl/outdev.hxx> #include <vcl/svapp.hxx> +#include <vcl/wmf.hxx> #include <filter/msfilter/util.hxx> #include <filter/msfilter/escherex.hxx> #include <comphelper/string.hxx> |