/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ /* * This file is part of the LibreOffice project. * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. * * This file incorporates work covered by the following license notice: * * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed * with this work for additional information regarding copyright * ownership. The ASF licenses this file to you under the Apache * License, Version 2.0 (the "License"); you may not use this file * except in compliance with the License. You may obtain a copy of * the License at http://www.apache.org/licenses/LICENSE-2.0 . */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "cellvaluebinding.hxx" #include "celllistsource.hxx" #include #include #include #include // Support creation of GraphicStorageHandler and EmbeddedObjectResolver #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace ::com::sun::star; #if HAVE_FEATURE_SCRIPTING static bool isInVBAMode( ScDocShell& rDocSh ) { uno::Reference xLibContainer = rDocSh.GetBasicContainer(); uno::Reference xVBACompat( xLibContainer, uno::UNO_QUERY ); if ( xVBACompat.is() ) return xVBACompat->getVBACompatibilityMode(); return false; } #endif class ScVbaObjectForCodeNameProvider : public ::cppu::WeakImplHelper< container::XNameAccess > { uno::Any maWorkbook; uno::Any maCachedObject; ScDocShell* mpDocShell; public: explicit ScVbaObjectForCodeNameProvider( ScDocShell* pDocShell ) : mpDocShell( pDocShell ) { uno::Sequence< uno::Any > aArgs(2); // access the application object ( parent for workbook ) aArgs[0] <<= ooo::vba::createVBAUnoAPIServiceWithArgs( mpDocShell, "ooo.vba.Application", uno::Sequence< uno::Any >() ); aArgs[1] <<= mpDocShell->GetModel(); maWorkbook <<= ooo::vba::createVBAUnoAPIServiceWithArgs( mpDocShell, "ooo.vba.excel.Workbook", aArgs ); } virtual sal_Bool SAL_CALL hasByName( const OUString& aName ) override { SolarMutexGuard aGuard; maCachedObject = uno::Any(); // clear cached object ScDocument& rDoc = mpDocShell->GetDocument(); // aName is generated from the stream name which can be different ( case-wise ) // from the code name if( aName.equalsIgnoreAsciiCase( rDoc.GetCodeName() ) ) maCachedObject = maWorkbook; else { OUString sCodeName; SCTAB nCount = rDoc.GetTableCount(); for( SCTAB i = 0; i < nCount; i++ ) { rDoc.GetCodeName( i, sCodeName ); // aName is generated from the stream name which can be different ( case-wise ) // from the code name if( sCodeName.equalsIgnoreAsciiCase( aName ) ) { OUString sSheetName; if( rDoc.GetName( i, sSheetName ) ) { uno::Reference< frame::XModel > xModel( mpDocShell->GetModel() ); uno::Reference xSpreadDoc( xModel, uno::UNO_QUERY_THROW ); uno::Reference xSheets( xSpreadDoc->getSheets(), uno::UNO_QUERY_THROW ); uno::Reference< container::XIndexAccess > xIndexAccess( xSheets, uno::UNO_QUERY_THROW ); uno::Reference< sheet::XSpreadsheet > xSheet( xIndexAccess->getByIndex( i ), uno::UNO_QUERY_THROW ); uno::Sequence< uno::Any > aArgs(3); aArgs[0] = maWorkbook; aArgs[1] <<= xModel; aArgs[2] <<= sSheetName; // use the convenience function maCachedObject <<= ooo::vba::createVBAUnoAPIServiceWithArgs( mpDocShell, "ooo.vba.excel.Worksheet", aArgs ); break; } } } } return maCachedObject.hasValue(); } css::uno::Any SAL_CALL getByName( const OUString& aName ) override { SolarMutexGuard aGuard; if ( !hasByName( aName ) ) throw css::container::NoSuchElementException(); return maCachedObject; } virtual css::uno::Sequence< OUString > SAL_CALL getElementNames( ) override { SolarMutexGuard aGuard; ScDocument& rDoc = mpDocShell->GetDocument(); SCTAB nCount = rDoc.GetTableCount(); uno::Sequence< OUString > aNames( nCount + 1 ); SCTAB index = 0; OUString sCodeName; for( ; index < nCount; ++index ) { rDoc.GetCodeName( index, sCodeName ); aNames[ index ] = sCodeName; } aNames[ index ] = rDoc.GetCodeName(); return aNames; } // XElemenAccess virtual css::uno::Type SAL_CALL getElementType( ) override { return uno::Type(); } virtual sal_Bool SAL_CALL hasElements( ) override { return true; } }; class ScVbaCodeNameProvider : public ::cppu::WeakImplHelper< document::XCodeNameQuery > { ScDocShell& mrDocShell; public: explicit ScVbaCodeNameProvider( ScDocShell& rDocShell ) : mrDocShell(rDocShell) {} // XCodeNameQuery OUString SAL_CALL getCodeNameForObject( const uno::Reference< uno::XInterface >& xIf ) override { SolarMutexGuard aGuard; OUString sCodeName; // need to find the page ( and index ) for this control uno::Reference< drawing::XDrawPagesSupplier > xSupplier( mrDocShell.GetModel(), uno::UNO_QUERY_THROW ); uno::Reference< container::XIndexAccess > xIndex( xSupplier->getDrawPages(), uno::UNO_QUERY_THROW ); sal_Int32 nLen = xIndex->getCount(); bool bMatched = false; for ( sal_Int32 index = 0; index < nLen; ++index ) { try { uno::Reference< form::XFormsSupplier > xFormSupplier( xIndex->getByIndex( index ), uno::UNO_QUERY_THROW ); uno::Reference< container::XIndexAccess > xFormIndex( xFormSupplier->getForms(), uno::UNO_QUERY_THROW ); // get the www-standard container uno::Reference< container::XIndexAccess > xFormControls( xFormIndex->getByIndex(0), uno::UNO_QUERY_THROW ); sal_Int32 nCntrls = xFormControls->getCount(); for( sal_Int32 cIndex = 0; cIndex < nCntrls; ++cIndex ) { uno::Reference< uno::XInterface > xControl( xFormControls->getByIndex( cIndex ), uno::UNO_QUERY_THROW ); bMatched = ( xControl == xIf ); if ( bMatched ) { OUString sName; mrDocShell.GetDocument().GetCodeName( static_cast( index ), sName ); sCodeName = sName; } } } catch( uno::Exception& ) {} if ( bMatched ) break; } // Probably should throw here ( if !bMatched ) return sCodeName; } OUString SAL_CALL getCodeNameForContainer( const uno::Reference& xContainer ) override { SolarMutexGuard aGuard; uno::Reference xSupplier(mrDocShell.GetModel(), uno::UNO_QUERY_THROW); uno::Reference xIndex(xSupplier->getDrawPages(), uno::UNO_QUERY_THROW); for (sal_Int32 i = 0, n = xIndex->getCount(); i < n; ++i) { try { uno::Reference xFormSupplier(xIndex->getByIndex(i), uno::UNO_QUERY_THROW); uno::Reference xFormIndex(xFormSupplier->getForms(), uno::UNO_QUERY_THROW); // get the www-standard container uno::Reference xFormControls(xFormIndex->getByIndex(0), uno::UNO_QUERY_THROW); if (xFormControls == xContainer) { OUString aName; if (mrDocShell.GetDocument().GetCodeName(static_cast(i), aName)) return aName; } } catch( uno::Exception& ) {} } return OUString(); } }; namespace { using Type = ScServiceProvider::Type; struct ProvNamesId_Type { const char * pName; ScServiceProvider::Type const nType; }; const ProvNamesId_Type aProvNamesId[] = { { "com.sun.star.sheet.Spreadsheet", Type::SHEET }, { "com.sun.star.text.TextField.URL", Type::URLFIELD }, { "com.sun.star.text.TextField.PageNumber", Type::PAGEFIELD }, { "com.sun.star.text.TextField.PageCount", Type::PAGESFIELD }, { "com.sun.star.text.TextField.Date", Type::DATEFIELD }, { "com.sun.star.text.TextField.Time", Type::TIMEFIELD }, { "com.sun.star.text.TextField.DateTime", Type::EXT_TIMEFIELD }, { "com.sun.star.text.TextField.DocInfo.Title", Type::TITLEFIELD }, { "com.sun.star.text.TextField.FileName", Type::FILEFIELD }, { "com.sun.star.text.TextField.SheetName", Type::SHEETFIELD }, { "com.sun.star.style.CellStyle", Type::CELLSTYLE }, { "com.sun.star.style.PageStyle", Type::PAGESTYLE }, { "com.sun.star.sheet.TableAutoFormat", Type::AUTOFORMAT }, { "com.sun.star.sheet.TableAutoFormats", Type::AUTOFORMATS }, { "com.sun.star.sheet.SheetCellRanges", Type::CELLRANGES }, { "com.sun.star.sheet.FunctionDescriptions", Type::FUNCTIONDESCRIPTIONS }, { "com.sun.star.sheet.GlobalSheetSettings", Type::GLOBALSHEETSETTINGS }, { "com.sun.star.sheet.RecentFunctions", Type::RECENTFUNCTIONS }, { "com.sun.star.drawing.GradientTable", Type::GRADTAB }, { "com.sun.star.drawing.HatchTable", Type::HATCHTAB }, { "com.sun.star.drawing.BitmapTable", Type::BITMAPTAB }, { "com.sun.star.drawing.TransparencyGradientTable", Type::TRGRADTAB }, { "com.sun.star.drawing.MarkerTable", Type::MARKERTAB }, { "com.sun.star.drawing.DashTable", Type::DASHTAB }, { "com.sun.star.text.NumberingRules", Type::NUMRULES }, { "com.sun.star.sheet.Defaults", Type::DOCDEFLTS }, { "com.sun.star.drawing.Defaults", Type::DRAWDEFLTS }, { "com.sun.star.comp.SpreadsheetSettings", Type::DOCSPRSETT }, { "com.sun.star.document.Settings", Type::DOCCONF }, { "com.sun.star.image.ImageMapRectangleObject", Type::IMAP_RECT }, { "com.sun.star.image.ImageMapCircleObject", Type::IMAP_CIRC }, { "com.sun.star.image.ImageMapPolygonObject", Type::IMAP_POLY }, // Support creation of GraphicStorageHandler and EmbeddedObjectResolver { "com.sun.star.document.ExportGraphicStorageHandler", Type::EXPORT_GRAPHIC_STORAGE_HANDLER }, { "com.sun.star.document.ImportGraphicStorageHandler", Type::IMPORT_GRAPHIC_STORAGE_HANDLER }, { "com.sun.star.document.ExportEmbeddedObjectResolver", Type::EXPORT_EOR }, { "com.sun.star.document.ImportEmbeddedObjectResolver", Type::IMPORT_EOR }, { SC_SERVICENAME_VALBIND, Type::VALBIND }, { SC_SERVICENAME_LISTCELLBIND, Type::LISTCELLBIND }, { SC_SERVICENAME_LISTSOURCE, Type::LISTSOURCE }, { SC_SERVICENAME_CELLADDRESS, Type::CELLADDRESS }, { SC_SERVICENAME_RANGEADDRESS, Type::RANGEADDRESS }, { "com.sun.star.sheet.DocumentSettings",Type::SHEETDOCSET }, { SC_SERVICENAME_CHDATAPROV, Type::CHDATAPROV }, { SC_SERVICENAME_CHART_PIVOTTABLE_DATAPROVIDER, Type::CHART_PIVOTTABLE_DATAPROVIDER }, { SC_SERVICENAME_FORMULAPARS, Type::FORMULAPARS }, { SC_SERVICENAME_OPCODEMAPPER, Type::OPCODEMAPPER }, { "ooo.vba.VBAObjectModuleObjectProvider", Type::VBAOBJECTPROVIDER }, { "ooo.vba.VBACodeNameProvider", Type::VBACODENAMEPROVIDER }, { "ooo.vba.VBAGlobals", Type::VBAGLOBALS }, // case-correct versions of the service names (#i102468#) { "com.sun.star.text.textfield.URL", Type::URLFIELD }, { "com.sun.star.text.textfield.PageNumber", Type::PAGEFIELD }, { "com.sun.star.text.textfield.PageCount", Type::PAGESFIELD }, { "com.sun.star.text.textfield.Date", Type::DATEFIELD }, { "com.sun.star.text.textfield.Time", Type::TIMEFIELD }, { "com.sun.star.text.textfield.DateTime", Type::EXT_TIMEFIELD }, { "com.sun.star.text.textfield.docinfo.Title", Type::TITLEFIELD }, { "com.sun.star.text.textfield.FileName", Type::FILEFIELD }, { "com.sun.star.text.textfield.SheetName", Type::SHEETFIELD }, { "ooo.vba.VBAGlobals", Type::VBAGLOBALS }, }; // old service names that were in 567 still work in createInstance, // in case some macro is still using them const ProvNamesId_Type aOldNames[] = { { "stardiv.one.text.TextField.URL", Type::URLFIELD }, { "stardiv.one.text.TextField.PageNumber", Type::PAGEFIELD }, { "stardiv.one.text.TextField.PageCount", Type::PAGESFIELD }, { "stardiv.one.text.TextField.Date", Type::DATEFIELD }, { "stardiv.one.text.TextField.Time", Type::TIMEFIELD }, { "stardiv.one.text.TextField.DocumentTitle", Type::TITLEFIELD }, { "stardiv.one.text.TextField.FileName", Type::FILEFIELD }, { "stardiv.one.text.TextField.SheetName", Type::SHEETFIELD }, { "stardiv.one.style.CellStyle", Type::CELLSTYLE }, { "stardiv.one.style.PageStyle", Type::PAGESTYLE }, }; sal_Int32 getFieldType(ScServiceProvider::Type nOldType) { switch (nOldType) { case Type::URLFIELD: return text::textfield::Type::URL; case Type::PAGEFIELD: return text::textfield::Type::PAGE; case Type::PAGESFIELD: return text::textfield::Type::PAGES; case Type::DATEFIELD: return text::textfield::Type::DATE; case Type::TIMEFIELD: return text::textfield::Type::TIME; case Type::EXT_TIMEFIELD: return text::textfield::Type::EXTENDED_TIME; case Type::TITLEFIELD: return text::textfield::Type::DOCINFO_TITLE; case Type::FILEFIELD: return text::textfield::Type::EXTENDED_FILE; case Type::SHEETFIELD: return text::textfield::Type::TABLE; default: ; } return text::textfield::Type::URL; // default to URL for no reason whatsoever. } } // namespace ScServiceProvider::Type ScServiceProvider::GetProviderType(const OUString& rServiceName) { if (!rServiceName.isEmpty()) { for (const ProvNamesId_Type & i : aProvNamesId) { if (rServiceName.equalsAscii( i.pName )) { return i.nType; } } for (const ProvNamesId_Type & rOldName : aOldNames) { OSL_ENSURE( rOldName.pName, "ScServiceProvider::GetProviderType: no oldname => crash"); if (rServiceName.equalsAscii( rOldName.pName )) { OSL_FAIL("old service name used"); return rOldName.nType; } } } return Type::INVALID; } uno::Reference ScServiceProvider::MakeInstance( Type nType, ScDocShell* pDocShell ) { uno::Reference xRet; switch (nType) { case Type::SHEET: // not inserted yet - DocShell=Null xRet.set(static_cast(new ScTableSheetObj(nullptr,0))); break; case Type::URLFIELD: case Type::PAGEFIELD: case Type::PAGESFIELD: case Type::DATEFIELD: case Type::TIMEFIELD: case Type::EXT_TIMEFIELD: case Type::TITLEFIELD: case Type::FILEFIELD: case Type::SHEETFIELD: { uno::Reference xNullContent; xRet.set(static_cast( new ScEditFieldObj(xNullContent, nullptr, getFieldType(nType), ESelection()))); } break; case Type::CELLSTYLE: xRet.set(static_cast(new ScStyleObj( nullptr, SfxStyleFamily::Para, OUString() ))); break; case Type::PAGESTYLE: xRet.set(static_cast(new ScStyleObj( nullptr, SfxStyleFamily::Page, OUString() ))); break; case Type::AUTOFORMAT: xRet.set(static_cast(new ScAutoFormatObj( SC_AFMTOBJ_INVALID ))); break; case Type::AUTOFORMATS: xRet.set(static_cast(new ScAutoFormatsObj())); break; case Type::CELLRANGES: // isn't inserted, rather filled // -> DocShell must be set, but empty ranges if (pDocShell) xRet.set(static_cast(new ScCellRangesObj( pDocShell, ScRangeList() ))); break; case Type::FUNCTIONDESCRIPTIONS: xRet.set(static_cast(new ScFunctionListObj())); break; case Type::GLOBALSHEETSETTINGS: xRet.set(static_cast(new ScSpreadsheetSettings())); break; case Type::RECENTFUNCTIONS: xRet.set(static_cast(new ScRecentFunctionsObj())); break; case Type::DOCDEFLTS: if (pDocShell) xRet.set(static_cast(new ScDocDefaultsObj( pDocShell ))); break; case Type::DRAWDEFLTS: if (pDocShell) xRet.set(static_cast(new ScDrawDefaultsObj( pDocShell ))); break; // Drawing layer tables are not in SvxUnoDrawMSFactory, // because SvxUnoDrawMSFactory doesn't have a SdrModel pointer. // Drawing layer is always allocated if not there (MakeDrawLayer). case Type::GRADTAB: if (pDocShell) xRet.set(SvxUnoGradientTable_createInstance( pDocShell->MakeDrawLayer() )); break; case Type::HATCHTAB: if (pDocShell) xRet.set(SvxUnoHatchTable_createInstance( pDocShell->MakeDrawLayer() )); break; case Type::BITMAPTAB: if (pDocShell) xRet.set(SvxUnoBitmapTable_createInstance( pDocShell->MakeDrawLayer() )); break; case Type::TRGRADTAB: if (pDocShell) xRet.set(SvxUnoTransGradientTable_createInstance( pDocShell->MakeDrawLayer() )); break; case Type::MARKERTAB: if (pDocShell) xRet.set(SvxUnoMarkerTable_createInstance( pDocShell->MakeDrawLayer() )); break; case Type::DASHTAB: if (pDocShell) xRet.set(SvxUnoDashTable_createInstance( pDocShell->MakeDrawLayer() )); break; case Type::NUMRULES: if (pDocShell) xRet.set(SvxCreateNumRule( pDocShell->MakeDrawLayer() )); break; case Type::DOCSPRSETT: case Type::SHEETDOCSET: case Type::DOCCONF: if (pDocShell) xRet.set(static_cast(new ScDocumentConfiguration(pDocShell))); break; case Type::IMAP_RECT: xRet.set(SvUnoImageMapRectangleObject_createInstance( ScShapeObj::GetSupportedMacroItems() )); break; case Type::IMAP_CIRC: xRet.set(SvUnoImageMapCircleObject_createInstance( ScShapeObj::GetSupportedMacroItems() )); break; case Type::IMAP_POLY: xRet.set(SvUnoImageMapPolygonObject_createInstance( ScShapeObj::GetSupportedMacroItems() )); break; // Support creation of GraphicStorageHandler and EmbeddedObjectResolver case Type::EXPORT_GRAPHIC_STORAGE_HANDLER: xRet.set(static_cast(new SvXMLGraphicHelper( SvXMLGraphicHelperMode::Write ))); break; case Type::IMPORT_GRAPHIC_STORAGE_HANDLER: xRet.set(static_cast(new SvXMLGraphicHelper( SvXMLGraphicHelperMode::Read ))); break; case Type::EXPORT_EOR: if (pDocShell) xRet.set(static_cast(new SvXMLEmbeddedObjectHelper( *pDocShell, SvXMLEmbeddedObjectHelperMode::Write ))); break; case Type::IMPORT_EOR: if (pDocShell) xRet.set(static_cast(new SvXMLEmbeddedObjectHelper( *pDocShell, SvXMLEmbeddedObjectHelperMode::Read ))); break; case Type::VALBIND: case Type::LISTCELLBIND: if (pDocShell) { bool bListPos = ( nType == Type::LISTCELLBIND ); uno::Reference xDoc( pDocShell->GetBaseModel(), uno::UNO_QUERY ); xRet.set(*new calc::OCellValueBinding( xDoc, bListPos )); } break; case Type::LISTSOURCE: if (pDocShell) { uno::Reference xDoc( pDocShell->GetBaseModel(), uno::UNO_QUERY ); xRet.set(*new calc::OCellListSource( xDoc )); } break; case Type::CELLADDRESS: case Type::RANGEADDRESS: if (pDocShell) { bool bIsRange = ( nType == Type::RANGEADDRESS ); xRet.set(*new ScAddressConversionObj( pDocShell, bIsRange )); } break; case Type::CHDATAPROV: if (pDocShell) xRet = *new ScChart2DataProvider( &pDocShell->GetDocument() ); break; case Type::CHART_PIVOTTABLE_DATAPROVIDER: if (pDocShell) xRet = *new sc::PivotTableDataProvider(&pDocShell->GetDocument()); break; case Type::FORMULAPARS: if (pDocShell) xRet.set(static_cast(new ScFormulaParserObj( pDocShell ))); break; case Type::OPCODEMAPPER: if (pDocShell) { ScDocument& rDoc = pDocShell->GetDocument(); ScAddress aAddress; ScCompiler* pComp = new ScCompiler(&rDoc, aAddress, rDoc.GetGrammar()); xRet.set(static_cast(new ScFormulaOpCodeMapperObj(::std::unique_ptr (pComp)))); break; } break; #if HAVE_FEATURE_SCRIPTING case Type::VBAOBJECTPROVIDER: if (pDocShell && pDocShell->GetDocument().IsInVBAMode()) { xRet.set(static_cast(new ScVbaObjectForCodeNameProvider( pDocShell ))); } break; case Type::VBACODENAMEPROVIDER: if ( pDocShell && isInVBAMode( *pDocShell ) ) { xRet.set(static_cast(new ScVbaCodeNameProvider(*pDocShell))); } break; case Type::VBAGLOBALS: if (pDocShell) { uno::Any aGlobs; if ( !pDocShell->GetBasicManager()->GetGlobalUNOConstant( "VBAGlobals", aGlobs ) ) { uno::Sequence< uno::Any > aArgs(1); aArgs[ 0 ] <<= pDocShell->GetModel(); xRet = ::comphelper::getProcessServiceFactory()->createInstanceWithArguments( "ooo.vba.excel.Globals", aArgs ); pDocShell->GetBasicManager()->SetGlobalUNOConstant( "VBAGlobals", uno::Any( xRet ) ); BasicManager* pAppMgr = SfxApplication::GetBasicManager(); if ( pAppMgr ) pAppMgr->SetGlobalUNOConstant( "ThisExcelDoc", aArgs[ 0 ] ); // create the VBA document event processor uno::Reference< script::vba::XVBAEventProcessor > xVbaEvents( ::ooo::vba::createVBAUnoAPIServiceWithArgs( pDocShell, "com.sun.star.script.vba.VBASpreadsheetEventProcessor", aArgs ), uno::UNO_QUERY ); pDocShell->GetDocument().SetVbaEventProcessor( xVbaEvents ); } } break; #endif default: break; } return xRet; } uno::Sequence ScServiceProvider::GetAllServiceNames() { const sal_uInt16 nEntries = SAL_N_ELEMENTS(aProvNamesId); uno::Sequence aRet(nEntries); OUString* pArray = aRet.getArray(); for (sal_uInt16 i = 0; i < nEntries; i++) { pArray[i] = OUString::createFromAscii( aProvNamesId[i].pName ); } return aRet; } /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ 24-2-0'>libreoffice-24-2-0 LibreOffice 核心代码仓库文档基金会
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-10-22add Lower Serbian (dsb) language packChristian Lohmaier
Change-Id: Ibafa81b412036e98fa9ab047fc8e204660eae120
2018-09-28Fix TRANPARENT -> TRANSPARENTAndrea Gelmini
It passed "make check" on Linux. Change-Id: I70ccaae61eb7961a331cabcd8f4e56b5ea5dfc4c Reviewed-on: https://gerrit.libreoffice.org/61045 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2018-09-28Fix typoAndrea Gelmini
Change-Id: I1493733ebbe796e4ba3ec6f2dc69b4b91f79efdf Reviewed-on: https://gerrit.libreoffice.org/61027 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2018-07-12tdf#118717 add Kabyle (kab) user interface packageChristian Lohmaier
Change-Id: I4b36d8700ad369b58205b699e0aff5591d2f1d6a
2018-05-23tdf#117729 add Frisian (fy) UI langaugeChristian Lohmaier
Change-Id: I46f75e969b1252a95118888507c116f44578dfbd Reviewed-on: https://gerrit.libreoffice.org/54699 Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com> Tested-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
2017-10-01Drop unused manifest file from solenv/incMike Kaganski
Change-Id: Id2c12db1a4bcddcc3f749fad8abfcd60a43db088 Reviewed-on: https://gerrit.libreoffice.org/42986 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2017-09-30solenv: move DeclareDPIAware.manifest to gbuild directoryMichael Stahl
Change-Id: If09ece21c9dd69111990e1cef2508149fff7e8a6 Reviewed-on: https://gerrit.libreoffice.org/42969 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Stahl <mstahl@redhat.com>
2017-05-28rdm#2247 enable Upper Sorbian for languagepack/UIChristian Lohmaier
Change-Id: Id497d8032668823c6db07eb179ad4484241b7285
2016-08-31add Venetian (vec) ui languageChristian Lohmaier
Change-Id: I643eb91691dddf2c4ece2edb27383cb7dd0e3fdc
2016-04-11Get rid of _XPMPRIVATEStephan Bergmann
Change-Id: I37396cfe303bdc17520a69ee7cbdbdbc219eea1c
2016-04-11Get rid of _XBMPRIVATEStephan Bergmann
Change-Id: I4e2cd2d98299ee0b25e05b8a96fb8c3b8390b66d
2016-04-11Get rid of _GIFPRIVATEStephan Bergmann
Change-Id: I3e6b8d424c460987f7a6269ad035ecaeafe48366
2016-03-14script/makefile to build doxygen docs in parallelNorbert Thiebaud
Change-Id: I6b56ac08db71eb354e0b2d57913e6e78d2652877
2016-02-18solenv: use html files for doxygen, not xhtml filesChris Sherlock
Change-Id: I2dd6e80698818f2a02e63cf91a72fe8c08b2265c Reviewed-on: https://gerrit.libreoffice.org/22453 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Chris Sherlock <chris.sherlock79@gmail.com>
2016-02-04accessibility: fix rest of doxygen errorsChris Sherlock
I've changed the doxygen generation script to generate an xhtml page, and it uses SVG diagrams now. Change-Id: I876795675ae9ebcfec6f7fe5edc43c9d2e4964d3
2016-02-04accessibility: fix doxygen errorsChris Sherlock
Change-Id: Ib1bed3e4df91ad00ecf2deb5c3d135cc2f5561b5
2016-01-15vcl: allow doxygen to see boost::intrusive_ptrChris Sherlock
We are using boost::intrusive_ptr for a number of classes, unfortunately by default we cannot see this in the Doxygen collaboration diagrams. However, we can work around this problem by making a dummy namespace which we include in a header that is scanned by Doxygen, but never included in LibreOffice. To be sure of this, however, I have put #ifdef DOXYGEN_ONLY guards around the file and defined this in the Doxygen config file. Change-Id: I18d6956518a49e6006b64e2147023ec8266c8f5c
2016-01-08vcl: exclude precompiled headers from doxygenChris Sherlock
Change-Id: I97e931ae654b3c61de92866bf6c4a3d22e3f96c9
2016-01-08vcl: configure some predefines in Doxygen for several of the vcl filtersChris Sherlock
Change-Id: I1e2c72b67ad1d26f6d3ec8a1944e417a86f57942
2016-01-08Upgrade doxygen config file via doxygen -u solenv/inc/doxygen.cfgChris Sherlock
Change-Id: Id6e1ac65840e1fa1b572f7548aca8e79845799ba
2015-01-25add Guarani (gug) languageAndras Timar
Change-Id: Icf1612f88447e9ae348ef9ad333607a3f6dc8d32
2014-11-20doxygen: png -> gif for imagesMiklos Vajna
This reduces the amount of output in docs/ from 17G to 10G for me. No big surprise, inheritance diagrams use only a few colors, so gif's indexed colors work here nicely. Thanks Christian Lohmaier for the idea. Change-Id: I23db0c1a4dc7410cb3eb1ae99044962959fac28a
2014-11-12Fix common typos. No automatic tools. Handmade…Andrea Gelmini
Change-Id: I1ab4e23b0539f8d39974787f226e57a21f96e959 Reviewed-on: https://gerrit.libreoffice.org/12164 Reviewed-by: Noel Grandin <noelgrandin@gmail.com> Tested-by: Noel Grandin <noelgrandin@gmail.com>
2014-10-30Fixed typos. No automatic tools (sed, and so on).Andrea Gelmini
Change-Id: Ia43976d84eede6f699381bc4f3daf89b95e4cb4f Reviewed-on: https://gerrit.libreoffice.org/12150 Reviewed-by: Bryan Quigley <gquigs@gmail.com> Reviewed-by: Michael Stahl <mstahl@redhat.com> Tested-by: Michael Stahl <mstahl@redhat.com>
2014-10-23fdo#60689: replace SUPD variableMarcos Paulo de Souza
Change-Id: Iad63330f8762b595ba5ee94fc20bc2c64ac92f6b Reviewed-on: https://gerrit.libreoffice.org/11937 Tested-by: LibreOffice gerrit bot <gerrit@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com> Tested-by: Stephan Bergmann <sbergman@redhat.com>
2014-09-11create a master document template typeCaolán McNamara
of application/vnd.oasis.opendocument.text-master-template with suffic otm https://lists.oasis-open.org/archives/office-comment/201002/msg00042.html desktop/icons/oasis-master-document-template.icns is just a copy of desktop/icons/oasis-master-document.icns because I can't draw Change-Id: I0d18c79c4c893e97505052884ee8be97d0f117a1 Reviewed-on: https://gerrit.libreoffice.org/11350 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2014-01-26fdo#74013 Upgrade doxygen config fileChris Sherlock
The latest version of Doxygen doesn't like some of the obsolete options Also increase DOT_GRAPH_MAX_NODES to 200 Change-Id: I196fdb010088dc446be3a366804df7d5dc815039 Reviewed-on: https://gerrit.libreoffice.org/7610 Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> Tested-by: Miklos Vajna <vmiklos@collabora.co.uk>
2013-11-18renamed ku* to kmr-Latn*, fdo#63460Eike Rathke
Change-Id: I8069657d8829a0315c704e884a1cf15b26e02eb8
2013-09-10changed all 'sh' language to 'sr-Latn'Eike Rathke
Change-Id: Iafadaea87501bc3675eaf2856b5050a7e3ecaa37
2013-09-04renamed ca-XV to ca-valencia and activated ca-ES-valencia, fdo#59867 relatedEike Rathke
Build Catalan-Valencian as ca-valencia instead of ca-XV private-use. Introduced LANGUAGE_CATALAN_VALENCIAN 0x0803 mapping to ca-ES-valencia, preserving old ca-XV and qcv-ES mappings to now LANGUAGE_CATALAN_VALENCIAN and LANGUAGE_OBSOLETE_USER_CATALAN_VALENCIAN 0x8003 to ca-ES-valencia. Removed special !bUserInterfaceSelection treatment from MsLangId::getReplacementForObsoleteLanguage() and added the usual obsolete replacement instead. Change-Id: I2fdd8b0bac55d4b4ae2cbf3c3645f09fefec9b6e
2013-08-19Rename SOLAR_JAVA to ENABLE_JAVA and HAVE_FEATURE_JAVATor Lillqvist
Change-Id: Ib451bdb3c1c2ca42347abfde44651d5cf5eef4f3
2013-06-03re-base on ALv2 code. Includes:Michael Meeks
Patches contributed by Mathias Bauer gnumake4 work variously http://svn.apache.org/viewvc?view=revision&revision=1394707 http://svn.apache.org/viewvc?view=revision&revision=1394326 http://svn.apache.org/viewvc?view=revision&revision=1397337 http://svn.apache.org/viewvc?view=revision&revision=1397315 http://svn.apache.org/viewvc?view=revision&revision=1396797 Patches contributed by Andre Fischer Fixed getcsym.awk to handle #-comments that contain special regexp chars. http://svn.apache.org/viewvc?view=revision&revision=1230971 118778: Added ADDITIONAL_REPOSITORIES environment variable and its automatic setup in configure. http://svn.apache.org/viewvc?view=revision&revision=1232004 118160: Added external CoinMP library. http://svn.apache.org/viewvc?view=revision&revision=1233909 Patches contributed by Herbert Duerr #i119168# use generic LICENSE file for langpacks and sdks http://svn.apache.org/viewvc?view=revision&revision=1310178 macosxotoolhelper: need to quote perl regexp if it may contain regexp metachars http://svn.apache.org/viewvc?view=revision&revision=1183367 allow gbuild with empty sysroot on linux http://svn.apache.org/viewvc?view=revision&revision=1179186 Patches contributed by Ingo Schmidt native373: #164472# improvements for msi database http://svn.apache.org/viewvc?view=revision&revision=1167540 http://svn.apache.org/viewvc?view=revision&revision=1167539 Patches contributed by Jurgen Schmidt adapt setup package scripts to handle special DS_Store file for developer snapshot builds http://svn.apache.org/viewvc?view=revision&revision=1232430 imported patch extensions_i117681.patch http://svn.apache.org/viewvc?view=revision&revision=1172102 Patches contributed by Michael Stahl gbuild: RepositoryFixes.mk should be optional http://svn.apache.org/viewvc?view=revision&revision=1166123 xslt filter: remove the FLA horror wordml import filter: replace FLA usage with plain XSLT http://svn.apache.org/viewvc?view=revision&revision=1363727 Patch contributed by Oliver-Rainer Wittmann i#88652: applied patch, remove unicows deps http://svn.apache.org/viewvc?view=revision&revision=1177585 Remove lots of OS2 conditionals, re-extract Rhino Java, unwind cppunit pieces, cleanup Mac image bits, remove coin-mp and re-package lpsolve, Oxygen & Crystal, fixup qstart bits, expand MPLv2 subset checking. Change-Id: Iad5c8a76399620b892671633c0d8c29996db3564
2013-05-20fdo#46553 Update embedded manifest on win32 builds to declare dpiAwareAndras Timar
Change-Id: I71a3960b21f2c996b97e1a5707f20b30819fd6bd Reviewed-on: https://gerrit.libreoffice.org/3981 Reviewed-by: Fridrich Strba <fridrich@documentfoundation.org> Tested-by: Fridrich Strba <fridrich@documentfoundation.org>
2013-04-16move headers from solenv/inc/ to include/Matúš Kukan
Change-Id: Ieb6cba645b3535f7d683d2aefa5599d04d9994f3 Reviewed-on: https://gerrit.libreoffice.org/3403 Reviewed-by: David Tardon <dtardon@redhat.com> Tested-by: David Tardon <dtardon@redhat.com>
2013-04-07Drop workarounds for Mac OS X SDKs 10.4 and 10.5Tor Lillqvist
Change-Id: Ifa07f9b5613b4a75c5b72178cb276b9c0b495a62
2013-03-29remove unused starview.hidAndras Timar
Change-Id: I6b308c514eb214571aabb65cef2a10803c9f5b51
2013-03-21fix mkdocs.shPeter Foley
Change-Id: Ia77605732bb5112a69289997db5d1c4a4b694594
2013-03-20WaE: 'MACOSX_SDK_VERSION' is not defined, evaluates to 0Tor Lillqvist
Change-Id: I6bc1e3ae56d936f6ef28e9d067360ac364e7af5e