[Libreoffice-commits] core.git: 71 commits - chart2/inc chart2/Library_chartcontroller.mk chart2/Library_chartcore.mk chart2/Library_chartopengl.mk chart2/source config_host/config_oauth2.h.in configure.ac desktop/source external/curl i18nlangtag/README i18npool/source include/comphelper officecfg/registry oox/source scp2/source setup_native/source svtools/source sw/inc sw/Library_sw.mk sw/qa sw/sdi sw/source ucb/source winaccessibility/inc winaccessibility/source writerfilter/source
Miklos Vajna
vmiklos at collabora.co.uk
Tue Nov 19 09:06:09 PST 2013
chart2/Library_chartcontroller.mk | 1
chart2/Library_chartcore.mk | 9
chart2/Library_chartopengl.mk | 62
chart2/inc/ChartModel.hxx | 590
chart2/inc/ChartView.hxx | 244
chart2/inc/DataSeriesState.hxx | 81
chart2/inc/GL/glew.h |18062 +++++++++
chart2/inc/GL/glxew.h | 1669
chart2/inc/GL/wglew.h | 1421
chart2/inc/pch/precompiled_chartopengl.cxx | 18
chart2/inc/pch/precompiled_chartopengl.hxx | 12
chart2/source/controller/chartapiwrapper/Chart2ModelContact.cxx | 22
chart2/source/controller/chartapiwrapper/Chart2ModelContact.hxx | 5
chart2/source/controller/chartapiwrapper/ChartDataWrapper.cxx | 4
chart2/source/controller/chartapiwrapper/ChartDocumentWrapper.cxx | 20
chart2/source/controller/chartapiwrapper/DiagramWrapper.cxx | 16
chart2/source/controller/chartapiwrapper/TitleWrapper.cxx | 2
chart2/source/controller/chartapiwrapper/WrappedStockProperties.cxx | 2
chart2/source/controller/dialogs/ChartTypeDialogController.cxx | 2
chart2/source/controller/dialogs/DataBrowserModel.cxx | 17
chart2/source/controller/dialogs/DialogModel.cxx | 8
chart2/source/controller/dialogs/ObjectNameProvider.cxx | 3
chart2/source/controller/dialogs/RangeSelectionHelper.cxx | 2
chart2/source/controller/dialogs/TimerTriggeredControllerLock.cxx | 2
chart2/source/controller/dialogs/dlg_ObjectProperties.cxx | 9
chart2/source/controller/dialogs/res_LegendPosition.cxx | 4
chart2/source/controller/dialogs/tp_3D_SceneIllumination.cxx | 6
chart2/source/controller/dialogs/tp_ChartType.cxx | 2
chart2/source/controller/dialogs/tp_DataSource.cxx | 2
chart2/source/controller/dialogs/tp_Wizard_TitlesAndObjects.cxx | 2
chart2/source/controller/inc/RangeSelectionListener.hxx | 2
chart2/source/controller/inc/TimerTriggeredControllerLock.hxx | 2
chart2/source/controller/itemsetwrapper/SeriesOptionsItemConverter.cxx | 5
chart2/source/controller/main/ChartController.cxx | 2
chart2/source/controller/main/ChartController_Insert.cxx | 22
chart2/source/controller/main/ChartController_Position.cxx | 5
chart2/source/controller/main/ChartController_Properties.cxx | 2
chart2/source/controller/main/ChartController_TextEdit.cxx | 2
chart2/source/controller/main/ChartController_Tools.cxx | 16
chart2/source/controller/main/ChartController_Window.cxx | 7
chart2/source/controller/main/ChartModelClone.cxx | 5
chart2/source/controller/main/PositionAndSizeHelper.cxx | 2
chart2/source/glew/glew.cxx |18123 ++++++++++
chart2/source/inc/AxisHelper.hxx | 4
chart2/source/inc/ChartModelHelper.hxx | 13
chart2/source/inc/ControllerLockGuard.hxx | 18
chart2/source/inc/DataSourceHelper.hxx | 6
chart2/source/inc/DiagramHelper.hxx | 9
chart2/source/inc/ExplicitCategoriesProvider.hxx | 13
chart2/source/inc/LegendHelper.hxx | 12
chart2/source/inc/ObjectIdentifier.hxx | 21
chart2/source/inc/TitleHelper.hxx | 14
chart2/source/inc/chartview/ExplicitValueProvider.hxx | 8
chart2/source/model/main/ChartModel.cxx | 31
chart2/source/model/main/ChartModel.hxx | 585
chart2/source/model/main/ChartModel_Persistence.cxx | 2
chart2/source/model/main/_serviceregistration_model.cxx | 8
chart2/source/tools/AxisHelper.cxx | 11
chart2/source/tools/ChartModelHelper.cxx | 44
chart2/source/tools/ControllerLockGuard.cxx | 22
chart2/source/tools/DataSourceHelper.cxx | 28
chart2/source/tools/DiagramHelper.cxx | 46
chart2/source/tools/ExplicitCategoriesProvider.cxx | 123
chart2/source/tools/InternalDataProvider.cxx | 4
chart2/source/tools/LegendHelper.cxx | 42
chart2/source/tools/ObjectIdentifier.cxx | 136
chart2/source/tools/TitleHelper.cxx | 80
chart2/source/view/axes/VCartesianAxis.cxx | 16
chart2/source/view/axes/VCoordinateSystem.cxx | 16
chart2/source/view/axes/VPolarAngleAxis.cxx | 12
chart2/source/view/charttypes/AreaChart.cxx | 319
chart2/source/view/charttypes/AreaChart.hxx | 11
chart2/source/view/charttypes/BarChart.cxx | 2
chart2/source/view/charttypes/BubbleChart.cxx | 33
chart2/source/view/charttypes/CandleStickChart.cxx | 44
chart2/source/view/charttypes/NetChart.cxx | 704
chart2/source/view/charttypes/NetChart.hxx | 83
chart2/source/view/charttypes/PieChart.cxx | 6
chart2/source/view/charttypes/VSeriesPlotter.cxx | 38
chart2/source/view/diagram/VDiagram.cxx | 33
chart2/source/view/inc/AbstractShapeFactory.hxx | 288
chart2/source/view/inc/DummyXShape.hxx | 461
chart2/source/view/inc/LabelPositionHelper.hxx | 6
chart2/source/view/inc/OpenglShapeFactory.hxx | 201
chart2/source/view/inc/PlotterBase.hxx | 4
chart2/source/view/inc/PlottingPositionHelper.hxx | 4
chart2/source/view/inc/PolarLabelPositionHelper.hxx | 2
chart2/source/view/inc/PropertyMapper.hxx | 4
chart2/source/view/inc/ShapeFactory.hxx | 139
chart2/source/view/inc/VDataSeries.hxx | 5
chart2/source/view/inc/VDiagram.hxx | 6
chart2/source/view/main/AbstractShapeFactory.cxx | 347
chart2/source/view/main/ChartView.cxx | 425
chart2/source/view/main/ChartView.hxx | 240
chart2/source/view/main/DataPointSymbolSupplier.cxx | 15
chart2/source/view/main/DrawModelWrapper.cxx | 8
chart2/source/view/main/DummyXShape.cxx | 851
chart2/source/view/main/LabelPositionHelper.cxx | 4
chart2/source/view/main/OpenglShapeFactory.cxx | 433
chart2/source/view/main/PlotterBase.cxx | 5
chart2/source/view/main/PlottingPositionHelper.cxx | 4
chart2/source/view/main/PolarLabelPositionHelper.cxx | 2
chart2/source/view/main/ShapeFactory.cxx | 449
chart2/source/view/main/VDataSeries.cxx | 24
chart2/source/view/main/VLegend.cxx | 95
chart2/source/view/main/VLegend.hxx | 15
chart2/source/view/main/VLegendSymbolFactory.cxx | 144
chart2/source/view/main/VTitle.cxx | 176
config_host/config_oauth2.h.in | 10
configure.ac | 48
desktop/source/app/cmdlineargs.cxx | 781
desktop/source/app/cmdlineargs.hxx | 1
external/curl/NSS-support-for-CERTINFO-feature.patch | 391
external/curl/UnpackedTarball_curl.mk | 1
i18nlangtag/README | 45
i18npool/source/localedata/data/en_CA.xml | 3
i18npool/source/localedata/data/fr_CA.xml | 3
i18npool/source/localedata/data/shs_CA.xml | 3
include/comphelper/string.hxx | 23
officecfg/registry/data/org/openoffice/Office/Common.xcu | 2
oox/source/shape/WpsContext.cxx | 2
oox/source/token/tokens.txt | 1
scp2/source/ooo/common_brand.scp | 4
scp2/source/ooo/file_ooo.scp | 4
scp2/source/ooo/module_ooo.scp | 8
scp2/source/ooo/module_ooo.ulf | 8
setup_native/source/packinfo/packinfo_office.txt | 8
svtools/source/dialogs/ServerDetailsControls.cxx | 5
sw/Library_sw.mk | 1
sw/inc/IDocumentContentOperations.hxx | 67
sw/inc/crsrsh.hxx | 36
sw/inc/doc.hxx | 14
sw/inc/editsh.hxx | 5
sw/inc/expfld.hxx | 34
sw/inc/fldbas.hxx | 7
sw/inc/fmtfld.hxx | 33
sw/inc/hintids.hxx | 12
sw/inc/ndtxt.hxx | 53
sw/inc/txatbase.hxx | 16
sw/inc/txtfld.hxx | 76
sw/inc/txtrfmrk.hxx | 3
sw/inc/txttxmrk.hxx | 1
sw/inc/viscrs.hxx | 21
sw/qa/extras/ooxmlimport/data/wps-only.docx |binary
sw/qa/extras/ooxmlimport/ooxmlimport.cxx | 7
sw/sdi/_textsh.sdi | 15
sw/sdi/_viewsh.sdi | 12
sw/source/core/access/accportions.cxx | 1
sw/source/core/bastyp/init.cxx | 6
sw/source/core/crsr/callnk.cxx | 2
sw/source/core/crsr/crsrsh.cxx | 27
sw/source/core/crsr/crstrvl.cxx | 407
sw/source/core/crsr/findattr.cxx | 4
sw/source/core/crsr/findtxt.cxx | 12
sw/source/core/crsr/overlayrangesoutline.cxx | 109
sw/source/core/crsr/overlayrangesoutline.hxx | 64
sw/source/core/crsr/swcrsr.cxx | 97
sw/source/core/crsr/viscrs.cxx | 127
sw/source/core/doc/dbgoutsw.cxx | 4
sw/source/core/doc/doc.cxx | 13
sw/source/core/doc/docedt.cxx | 4
sw/source/core/doc/docfld.cxx | 22
sw/source/core/doc/docfmt.cxx | 40
sw/source/core/doc/docnum.cxx | 10
sw/source/core/doc/docredln.cxx | 2
sw/source/core/doc/docruby.cxx | 4
sw/source/core/doc/doctxm.cxx | 4
sw/source/core/doc/visiturl.cxx | 2
sw/source/core/docnode/nodes.cxx | 4
sw/source/core/edit/acorrect.cxx | 2
sw/source/core/edit/edatmisc.cxx | 4
sw/source/core/edit/edattr.cxx | 5
sw/source/core/edit/edfld.cxx | 80
sw/source/core/edit/edfldexp.cxx | 1
sw/source/core/edit/editsh.cxx | 2
sw/source/core/edit/edlingu.cxx | 6
sw/source/core/edit/ednumber.cxx | 6
sw/source/core/edit/edtox.cxx | 4
sw/source/core/fields/expfld.cxx | 401
sw/source/core/fields/fldbas.cxx | 29
sw/source/core/fields/reffld.cxx | 1
sw/source/core/frmedt/fefly1.cxx | 76
sw/source/core/inc/docfld.hxx | 5
sw/source/core/inc/rolbck.hxx | 9
sw/source/core/inc/rootfrm.hxx | 5
sw/source/core/inc/swfont.hxx | 19
sw/source/core/inc/txttypes.hxx | 1
sw/source/core/layout/flycnt.cxx | 14
sw/source/core/layout/trvlfrm.cxx | 4
sw/source/core/text/atrhndl.hxx | 2
sw/source/core/text/atrstck.cxx | 21
sw/source/core/text/inftxt.cxx | 58
sw/source/core/text/itrform2.cxx | 26
sw/source/core/text/porfld.cxx | 6
sw/source/core/text/porlay.cxx | 4
sw/source/core/text/pormulti.cxx | 36
sw/source/core/text/portxt.cxx | 118
sw/source/core/text/portxt.hxx | 18
sw/source/core/text/txtfld.cxx | 14
sw/source/core/tox/tox.cxx | 2
sw/source/core/tox/txmsrt.cxx | 14
sw/source/core/txtnode/atrfld.cxx | 284
sw/source/core/txtnode/ndhints.cxx | 16
sw/source/core/txtnode/ndtxt.cxx | 365
sw/source/core/txtnode/swfont.cxx | 3
sw/source/core/txtnode/thints.cxx | 230
sw/source/core/txtnode/txatbase.cxx | 1
sw/source/core/txtnode/txatritr.cxx | 10
sw/source/core/txtnode/txtedt.cxx | 39
sw/source/core/undo/SwUndoField.cxx | 8
sw/source/core/undo/rolbck.cxx | 19
sw/source/core/undo/unsect.cxx | 7
sw/source/core/undo/untbl.cxx | 3
sw/source/core/undo/untblk.cxx | 2
sw/source/core/unocore/unocrsrhelper.cxx | 8
sw/source/core/unocore/unodraw.cxx | 3
sw/source/core/unocore/unofield.cxx | 22
sw/source/core/unocore/unoframe.cxx | 25
sw/source/core/unocore/unoidx.cxx | 12
sw/source/core/unocore/unoportenum.cxx | 64
sw/source/core/unocore/unorefmk.cxx | 20
sw/source/core/view/vprint.cxx | 17
sw/source/filter/ascii/ascatr.cxx | 53
sw/source/filter/ascii/parasc.cxx | 4
sw/source/filter/html/css1atr.cxx | 2
sw/source/filter/html/htmlatr.cxx | 12
sw/source/filter/html/swhtml.cxx | 1
sw/source/filter/html/wrthtml.cxx | 2
sw/source/filter/ww1/fltshell.cxx | 4
sw/source/filter/ww1/w1filter.cxx | 4
sw/source/filter/ww8/attributeoutputbase.hxx | 2
sw/source/filter/ww8/wrtw8esh.cxx | 3
sw/source/filter/ww8/wrtw8nds.cxx | 25
sw/source/filter/ww8/ww8atr.cxx | 7
sw/source/filter/ww8/ww8par.cxx | 9
sw/source/filter/ww8/ww8par3.cxx | 74
sw/source/filter/ww8/ww8par5.cxx | 6
sw/source/ui/app/docst.cxx | 4
sw/source/ui/docvw/edtdd.cxx | 4
sw/source/ui/docvw/edtwin.cxx | 104
sw/source/ui/fldui/fldedt.cxx | 16
sw/source/ui/fldui/fldmgr.cxx | 12
sw/source/ui/inc/wrtsh.hxx | 2
sw/source/ui/lingu/hhcwrp.cxx | 6
sw/source/ui/misc/insfnote.cxx | 2
sw/source/ui/misc/titlepage.cxx | 8
sw/source/ui/shells/annotsh.cxx | 36
sw/source/ui/shells/basesh.cxx | 70
sw/source/ui/shells/drwtxtex.cxx | 43
sw/source/ui/shells/frmsh.cxx | 10
sw/source/ui/shells/grfsh.cxx | 15
sw/source/ui/shells/langhelper.cxx | 6
sw/source/ui/shells/listsh.cxx | 7
sw/source/ui/shells/tabsh.cxx | 6
sw/source/ui/shells/textfld.cxx | 144
sw/source/ui/shells/textidx.cxx | 9
sw/source/ui/shells/textsh.cxx | 149
sw/source/ui/shells/textsh1.cxx | 121
sw/source/ui/shells/txtattr.cxx | 20
sw/source/ui/uiview/formatclipboard.cxx | 6
sw/source/ui/uiview/view2.cxx | 2
sw/source/ui/uiview/viewmdi.cxx | 28
sw/source/ui/uiview/viewsrch.cxx | 2
sw/source/ui/uiview/viewstat.cxx | 91
sw/source/ui/uiview/viewtab.cxx | 10
sw/source/ui/wrtsh/delete.cxx | 2
sw/source/ui/wrtsh/wrtsh1.cxx | 24
sw/source/ui/wrtsh/wrtsh2.cxx | 13
ucb/source/ucp/cmis/cmis_content.cxx | 5
ucb/source/ucp/cmis/cmis_repo_content.cxx | 11
winaccessibility/inc/AccEventListener.hxx | 15
winaccessibility/inc/AccTopWindowListener.hxx | 13
winaccessibility/source/UAccCOM/AccTable.cxx | 5
winaccessibility/source/UAccCOM/AccTextBase.cxx | 4
winaccessibility/source/service/AccEventListener.cxx | 33
winaccessibility/source/service/AccTopWindowListener.cxx | 30
winaccessibility/source/service/msaaservice_impl.cxx | 2
writerfilter/source/dmapper/GraphicImport.cxx | 6
278 files changed, 49239 insertions(+), 4393 deletions(-)
New commits:
commit 845893cd818cc0f3e0dfe54a0c6c061717c86d77
Author: Miklos Vajna <vmiklos at collabora.co.uk>
Date: Tue Nov 19 17:42:13 2013 +0100
oox: tokenize wps:cNvCnPr
Change-Id: I4d7a962e01f5a41c3ea629f73433416195f2259c
diff --git a/oox/source/shape/WpsContext.cxx b/oox/source/shape/WpsContext.cxx
index 7b90770..8f4987a 100644
--- a/oox/source/shape/WpsContext.cxx
+++ b/oox/source/shape/WpsContext.cxx
@@ -36,6 +36,8 @@ oox::core::ContextHandlerRef WpsContext::onCreateContext(sal_Int32 nElementToken
{
case XML_wsp:
break;
+ case XML_cNvCnPr:
+ break;
case XML_cNvSpPr:
break;
case XML_spPr:
diff --git a/oox/source/token/tokens.txt b/oox/source/token/tokens.txt
index 952520f..9f67181 100644
--- a/oox/source/token/tokens.txt
+++ b/oox/source/token/tokens.txt
@@ -991,6 +991,7 @@ cBhvr
cGp
cGpRule
cMediaNode
+cNvCnPr
cNvCxnSpPr
cNvGraphicFramePr
cNvGrpSpPr
commit 2d8cac51c6d5205a27d90bd9237c8ed1e4b8deea
Author: Eike Rathke <erack at redhat.com>
Date: Tue Nov 19 17:35:00 2013 +0100
added date acceptance patterns to Canadian locales, fdo#71664
Complete set is now Y-M-D;M-D;M/D/Y;M/D
Change-Id: I42ed59fb325b391943608a10ded7ce74c80656e1
diff --git a/i18npool/source/localedata/data/en_CA.xml b/i18npool/source/localedata/data/en_CA.xml
index ebb3064..5321210 100644
--- a/i18npool/source/localedata/data/en_CA.xml
+++ b/i18npool/source/localedata/data/en_CA.xml
@@ -52,6 +52,9 @@
<MeasurementSystem>metric</MeasurementSystem>
</LC_CTYPE>
<LC_FORMAT>
+ <DateAcceptancePattern>M-D</DateAcceptancePattern>
+ <DateAcceptancePattern>M/D/Y</DateAcceptancePattern>
+ <DateAcceptancePattern>M/D</DateAcceptancePattern>
<FormatElement msgid="FixedFormatskey1" default="true" type="medium" usage="FIXED_NUMBER" formatindex="0">
<FormatCode>General</FormatCode>
</FormatElement>
diff --git a/i18npool/source/localedata/data/fr_CA.xml b/i18npool/source/localedata/data/fr_CA.xml
index cb31be9..2b8ddcf 100644
--- a/i18npool/source/localedata/data/fr_CA.xml
+++ b/i18npool/source/localedata/data/fr_CA.xml
@@ -52,6 +52,9 @@
<MeasurementSystem>metric</MeasurementSystem>
</LC_CTYPE>
<LC_FORMAT>
+ <DateAcceptancePattern>M-D</DateAcceptancePattern>
+ <DateAcceptancePattern>M/D/Y</DateAcceptancePattern>
+ <DateAcceptancePattern>M/D</DateAcceptancePattern>
<FormatElement msgid="FixedFormatskey1" default="true" type="medium" usage="FIXED_NUMBER" formatindex="0">
<FormatCode>Standard</FormatCode>
</FormatElement>
diff --git a/i18npool/source/localedata/data/shs_CA.xml b/i18npool/source/localedata/data/shs_CA.xml
index baece18..dac14e7 100644
--- a/i18npool/source/localedata/data/shs_CA.xml
+++ b/i18npool/source/localedata/data/shs_CA.xml
@@ -52,6 +52,9 @@
<MeasurementSystem>metric</MeasurementSystem>
</LC_CTYPE>
<LC_FORMAT replaceFrom="[CURRENCY]" replaceTo="[$$-648]">
+ <DateAcceptancePattern>M-D</DateAcceptancePattern>
+ <DateAcceptancePattern>M/D/Y</DateAcceptancePattern>
+ <DateAcceptancePattern>M/D</DateAcceptancePattern>
<FormatElement msgid="FixedFormatskey1" default="true" type="medium" usage="FIXED_NUMBER" formatindex="0">
<FormatCode>General</FormatCode>
</FormatElement>
commit 03fdec57762b287cb8e0b6b446f5e7ba1b187f88
Author: Michael Stahl <mstahl at redhat.com>
Date: Tue Nov 19 17:24:36 2013 +0100
winaccessibility: use WeakImplHelper
Change-Id: I5872e520ca009a0f9277827d72e72befe3323a06
diff --git a/winaccessibility/inc/AccEventListener.hxx b/winaccessibility/inc/AccEventListener.hxx
index 5978ddd..263e525 100644
--- a/winaccessibility/inc/AccEventListener.hxx
+++ b/winaccessibility/inc/AccEventListener.hxx
@@ -22,7 +22,9 @@
#include <com/sun/star/accessibility/XAccessibleEventListener.hpp>
#include <com/sun/star/accessibility/XAccessible.hpp>
-#include <cppuhelper/weak.hxx>
+
+#include <cppuhelper/implbase1.hxx>
+
#include <osl/mutex.hxx>
class AccObjectManagerAgent;
@@ -32,12 +34,10 @@ using namespace ::com::sun::star::uno;
* procedure of all the event handling and provides the basic support for some simple
* methods.
*/
-class AccEventListener:
- public com::sun::star::accessibility::XAccessibleEventListener,
- public ::cppu::OWeakObject
+class AccEventListener
+ : public ::cppu::WeakImplHelper1<
+ com::sun::star::accessibility::XAccessibleEventListener>
{
-private:
- oslInterlockedCount m_refcount;
protected:
//accessible owner's pointer
com::sun::star::accessibility::XAccessible* pAccessible;
@@ -74,9 +74,6 @@ public:
//for interface
virtual void SAL_CALL disposing( const ::com::sun::star::lang::EventObject& Source ) throw (::com::sun::star::uno::RuntimeException);
- virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( const ::com::sun::star::uno::Type& aType ) throw (::com::sun::star::uno::RuntimeException);
- virtual void SAL_CALL acquire() throw ();
- virtual void SAL_CALL release() throw ();
//get the accessible role of pAccessible
virtual short SAL_CALL getRole();
//get the accessible parent's role
diff --git a/winaccessibility/inc/AccTopWindowListener.hxx b/winaccessibility/inc/AccTopWindowListener.hxx
index 11a6d18..edf83b3 100644
--- a/winaccessibility/inc/AccTopWindowListener.hxx
+++ b/winaccessibility/inc/AccTopWindowListener.hxx
@@ -23,7 +23,8 @@
#include <com/sun/star/awt/XTopWindowListener.hpp>
#include <com/sun/star/awt/XExtendedToolkit.hpp>
#include <com/sun/star/accessibility/XAccessibleContext.hpp>
-#include <cppuhelper/weak.hxx>
+
+#include <cppuhelper/implbase1.hxx>
#include "AccObjectManagerAgent.hxx"
@@ -34,14 +35,11 @@
* In this method, all the accessible objects (including COM object and Uno objects) are created and
* cached into bridge managers, and they are monitored by listeners for later accessible evnet handling.
*/
-class AccTopWindowListener:
- public com::sun::star::awt::XTopWindowListener,
- public ::cppu::OWeakObject
-
+class AccTopWindowListener
+ : public ::cppu::WeakImplHelper1<com::sun::star::awt::XTopWindowListener>
{
private:
AccObjectManagerAgent accManagerAgent;
- oslInterlockedCount m_refcount;
public:
AccTopWindowListener();
virtual ~AccTopWindowListener();
@@ -53,9 +51,6 @@ public:
virtual void SAL_CALL windowActivated( const ::com::sun::star::lang::EventObject& e ) throw (::com::sun::star::uno::RuntimeException);
virtual void SAL_CALL windowDeactivated( const ::com::sun::star::lang::EventObject& e ) throw (::com::sun::star::uno::RuntimeException);
virtual void SAL_CALL disposing( const ::com::sun::star::lang::EventObject& Source ) throw (::com::sun::star::uno::RuntimeException);
- virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( const ::com::sun::star::uno::Type& aType ) throw (::com::sun::star::uno::RuntimeException);
- virtual void SAL_CALL acquire( ) throw ();
- virtual void SAL_CALL release( ) throw ();
virtual void AddAllListeners(com::sun::star::accessibility::XAccessible* pAccessible,com::sun::star::accessibility::XAccessible* pParentXAcc,HWND pWND );
//for On-Demand load.
virtual void handleWindowOpened( com::sun::star::accessibility::XAccessible* pAccessible );
diff --git a/winaccessibility/source/service/AccEventListener.cxx b/winaccessibility/source/service/AccEventListener.cxx
index df2a42c7..de4d7b4 100644
--- a/winaccessibility/source/service/AccEventListener.cxx
+++ b/winaccessibility/source/service/AccEventListener.cxx
@@ -47,10 +47,9 @@ using namespace cppu;
AccEventListener::AccEventListener(com::sun::star::accessibility::XAccessible* pAcc,
AccObjectManagerAgent* Agent)
- :pAccessible(pAcc),
- pAgent(Agent),
- m_isDisposed(false),
- m_refcount(0)
+ : pAccessible(pAcc)
+ , pAgent(Agent)
+ , m_isDisposed(false)
{}
AccEventListener::~AccEventListener()
@@ -280,30 +279,4 @@ throw (::com::sun::star::uno::RuntimeException)
removeMeFromBroadcaster();
}
-//need to investigate further
-::com::sun::star::uno::Any SAL_CALL AccEventListener::queryInterface( const ::com::sun::star::uno::Type& aType ) throw (::com::sun::star::uno::RuntimeException)
-{
- if(aType.equals(::getCppuType( (Reference< com::sun::star::accessibility::XAccessibleEventListener> const *)0 ) ))
- {
- Reference< com::sun::star::accessibility::XAccessibleEventListener> xEventListener( static_cast< com::sun::star::accessibility::XAccessibleEventListener* >(this));
- return makeAny(xEventListener);
- }
-
- return Any();
-}
-
-void AccEventListener::acquire( ) throw ()
-{
- ::osl_incrementInterlockedCount( &m_refcount );
-}
-
-void AccEventListener::release() throw ()
-{
- // thread-safe decrementation of reference count
- if (0 == ::osl_decrementInterlockedCount( &m_refcount ))
- {
- delete this; // shutdown this object
- }
-}
-
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/winaccessibility/source/service/AccTopWindowListener.cxx b/winaccessibility/source/service/AccTopWindowListener.cxx
index 5c55cbd..fac53d6 100644
--- a/winaccessibility/source/service/AccTopWindowListener.cxx
+++ b/winaccessibility/source/service/AccTopWindowListener.cxx
@@ -117,9 +117,8 @@ void AccTopWindowListener::handleWindowOpened( com::sun::star::accessibility::XA
}
}
-AccTopWindowListener::AccTopWindowListener():
- accManagerAgent(),
- m_refcount(1)
+AccTopWindowListener::AccTopWindowListener()
+ : accManagerAgent()
{
}
@@ -272,29 +271,4 @@ void AccTopWindowListener::disposing( const ::com::sun::star::lang::EventObject&
{
}
-//need to investigate further
-::com::sun::star::uno::Any SAL_CALL AccTopWindowListener::queryInterface( const ::com::sun::star::uno::Type& aType ) throw (::com::sun::star::uno::RuntimeException)
-{
- if (aType.equals( ::getCppuType( (Reference< com::sun::star::awt::XTopWindowListener> const *)0 ) ))
- {
- Reference< com::sun::star::awt::XTopWindowListener> xTopListener( static_cast< com::sun::star::awt::XTopWindowListener* >(this));
- return makeAny(xTopListener);
- }
- return Any();
-}
-
-void AccTopWindowListener::acquire( ) throw ()
-{
- ::osl_incrementInterlockedCount( &m_refcount );
-}
-
-void AccTopWindowListener::release() throw ()
-{
- // thread-safe decrementation of reference count
- if (0 == ::osl_decrementInterlockedCount( &m_refcount ))
- {
- delete this; // shutdown this object
- }
-}
-
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
commit 76ff4c5366fd89f2736dfc7b58d5a38e43ad7062
Author: Stephan Bergmann <sbergman at redhat.com>
Date: Tue Nov 19 17:26:29 2013 +0100
Disambiguate std::max call
Change-Id: Ie389d52f5914f49dcd61d5543ed9413ab82101f9
diff --git a/sw/source/core/txtnode/atrfld.cxx b/sw/source/core/txtnode/atrfld.cxx
index 4307fc2..5810067 100644
--- a/sw/source/core/txtnode/atrfld.cxx
+++ b/sw/source/core/txtnode/atrfld.cxx
@@ -482,7 +482,7 @@ void SwTxtInputFld::UpdateFieldContent()
// skip CH_TXT_ATR_INPUTFIELDSTART character
const xub_StrLen nIdx = (*GetStart()) + 1;
// skip CH_TXT_ATR_INPUTFIELDEND character
- const xub_StrLen nLen = static_cast<xub_StrLen>(std::max( 0, ( (*End()) - 1 - nIdx ) ));
+ const xub_StrLen nLen = static_cast<xub_StrLen>(std::max<sal_Int32>( 0, ( (*End()) - 1 - nIdx ) ));
const OUString aNewFieldContent = GetTxtNode().GetExpandTxt( nIdx, nLen );
const SwInputField* pInputFld = dynamic_cast<const SwInputField*>(GetFmtFld().GetField());
commit 87e407f68876b196704e595ff841b2a01bf1bbb9
Author: Stephan Bergmann <sbergman at redhat.com>
Date: Tue Nov 19 15:43:37 2013 +0100
Use startsWith rest parameter
Change-Id: I5ec5f68c13ceb93b4e2cea83ec757b9427b8608d
diff --git a/desktop/source/app/cmdlineargs.cxx b/desktop/source/app/cmdlineargs.cxx
index 936844f..047c01b 100644
--- a/desktop/source/app/cmdlineargs.cxx
+++ b/desktop/source/app/cmdlineargs.cxx
@@ -163,18 +163,11 @@ void CommandLineArgs::ParseCommandLine_Impl( Supplier& supplier )
{
m_bEmpty = false;
OUString oArg;
- bool bDeprecated = false;
- if (aArg.startsWith("--"))
- {
- oArg = OUString(aArg.getStr()+2, aArg.getLength()-2);
- }
- else if (aArg.startsWith("-"))
- {
- if ( aArg.getLength() > 2 ) // -h, -o, -n, -? are still valid
- bDeprecated = true;
- oArg = OUString(aArg.getStr()+1, aArg.getLength()-1);
- }
+ bool bDeprecated = !aArg.startsWith("--", &oArg)
+ && aArg.startsWith("-", &oArg) && aArg.getLength() > 2;
+ // -h, -?, -n, -o, -p are still valid
+ OUString rest;
if ( oArg == "minimized" )
{
m_minimized = true;
@@ -294,25 +287,25 @@ void CommandLineArgs::ParseCommandLine_Impl( Supplier& supplier )
bDeprecated = false;
}
#endif
- else if ( oArg.startsWith("infilter="))
+ else if ( oArg.startsWith("infilter=", &rest))
{
- m_infilter.push_back(oArg.copy(RTL_CONSTASCII_LENGTH("infilter=")));
+ m_infilter.push_back(rest);
}
- else if ( oArg.startsWith("accept="))
+ else if ( oArg.startsWith("accept=", &rest))
{
- m_accept.push_back(oArg.copy(RTL_CONSTASCII_LENGTH("accept=")));
+ m_accept.push_back(rest);
}
- else if ( oArg.startsWith("unaccept="))
+ else if ( oArg.startsWith("unaccept=", &rest))
{
- m_unaccept.push_back(oArg.copy(RTL_CONSTASCII_LENGTH("unaccept=")));
+ m_unaccept.push_back(rest);
}
- else if ( oArg.startsWith("language="))
+ else if ( oArg.startsWith("language=", &rest))
{
- m_language = oArg.copy(RTL_CONSTASCII_LENGTH("language="));
+ m_language = rest;
}
- else if ( oArg.startsWith("pidfile="))
+ else if ( oArg.startsWith("pidfile=", &rest))
{
- m_pidfile = oArg.copy(RTL_CONSTASCII_LENGTH("pidfile="));
+ m_pidfile = rest;
}
else if ( oArg == "writer" )
{
commit 72c8db4987c1df7ca2673beb1dc43cf879102251
Author: Stephan Bergmann <sbergman at redhat.com>
Date: Tue Nov 19 15:28:44 2013 +0100
Consistently accept all cmd line args only in lower case
Change-Id: Ie57814f1e938ee9d909d69a518bed29026cb4963
diff --git a/desktop/source/app/cmdlineargs.cxx b/desktop/source/app/cmdlineargs.cxx
index 3c666b7..936844f 100644
--- a/desktop/source/app/cmdlineargs.cxx
+++ b/desktop/source/app/cmdlineargs.cxx
@@ -263,7 +263,7 @@ void CommandLineArgs::ParseCommandLine_Impl( Supplier& supplier )
{
m_version = true;
}
- else if ( oArg.startsWithIgnoreAsciiCase("splash-pipe=") )
+ else if ( oArg.startsWith("splash-pipe=") )
{
m_splashpipe = true;
}
@@ -294,23 +294,23 @@ void CommandLineArgs::ParseCommandLine_Impl( Supplier& supplier )
bDeprecated = false;
}
#endif
- else if ( oArg.startsWithIgnoreAsciiCase("infilter="))
+ else if ( oArg.startsWith("infilter="))
{
m_infilter.push_back(oArg.copy(RTL_CONSTASCII_LENGTH("infilter=")));
}
- else if ( oArg.startsWithIgnoreAsciiCase("accept="))
+ else if ( oArg.startsWith("accept="))
{
m_accept.push_back(oArg.copy(RTL_CONSTASCII_LENGTH("accept=")));
}
- else if ( oArg.startsWithIgnoreAsciiCase("unaccept="))
+ else if ( oArg.startsWith("unaccept="))
{
m_unaccept.push_back(oArg.copy(RTL_CONSTASCII_LENGTH("unaccept=")));
}
- else if ( oArg.startsWithIgnoreAsciiCase("language="))
+ else if ( oArg.startsWith("language="))
{
m_language = oArg.copy(RTL_CONSTASCII_LENGTH("language="));
}
- else if ( oArg.startsWithIgnoreAsciiCase("pidfile="))
+ else if ( oArg.startsWith("pidfile="))
{
m_pidfile = oArg.copy(RTL_CONSTASCII_LENGTH("pidfile="));
}
@@ -354,7 +354,7 @@ void CommandLineArgs::ParseCommandLine_Impl( Supplier& supplier )
m_web = true;
m_bDocumentArgs = true;
}
- else if ( aArg.equalsIgnoreAsciiCase("-n"))
+ else if ( aArg == "-n" )
{
// force new documents based on the following documents
bForceNewEvent = true;
@@ -366,7 +366,7 @@ void CommandLineArgs::ParseCommandLine_Impl( Supplier& supplier )
bStartEvent = false;
bDisplaySpec = false;
}
- else if ( aArg.equalsIgnoreAsciiCase("-o"))
+ else if ( aArg == "-o" )
{
// force open documents regardless if they are templates or not
bForceOpenEvent = true;
@@ -378,7 +378,7 @@ void CommandLineArgs::ParseCommandLine_Impl( Supplier& supplier )
bStartEvent = false;
bDisplaySpec = false;
}
- else if ( oArg.equalsIgnoreAsciiCase("pt"))
+ else if ( oArg == "pt" )
{
// Print to special printer
bPrintToEvent = true;
@@ -391,7 +391,7 @@ void CommandLineArgs::ParseCommandLine_Impl( Supplier& supplier )
bDisplaySpec = false;
bForceOpenEvent = false;
}
- else if ( aArg.equalsIgnoreAsciiCase("-p"))
+ else if ( aArg == "-p" )
{
// Print to default printer
bPrintEvent = true;
@@ -403,7 +403,7 @@ void CommandLineArgs::ParseCommandLine_Impl( Supplier& supplier )
bStartEvent = false;
bDisplaySpec = false;
}
- else if ( oArg.equalsIgnoreAsciiCase("view"))
+ else if ( oArg == "view")
{
// open in viewmode
bOpenEvent = false;
@@ -415,7 +415,7 @@ void CommandLineArgs::ParseCommandLine_Impl( Supplier& supplier )
bStartEvent = false;
bDisplaySpec = false;
}
- else if ( oArg.equalsIgnoreAsciiCase("show"))
+ else if ( oArg == "show" )
{
// open in viewmode
bOpenEvent = false;
@@ -427,7 +427,7 @@ void CommandLineArgs::ParseCommandLine_Impl( Supplier& supplier )
bForceOpenEvent = false;
bDisplaySpec = false;
}
- else if ( oArg.equalsIgnoreAsciiCase("display"))
+ else if ( oArg == "display" )
{
// set display
bOpenEvent = false;
@@ -439,7 +439,7 @@ void CommandLineArgs::ParseCommandLine_Impl( Supplier& supplier )
bStartEvent = false;
bDisplaySpec = true;
}
- else if ( oArg.equalsIgnoreAsciiCase("language"))
+ else if ( oArg == "language" )
{
bOpenEvent = false;
bPrintEvent = false;
@@ -450,23 +450,22 @@ void CommandLineArgs::ParseCommandLine_Impl( Supplier& supplier )
bStartEvent = false;
bDisplaySpec = false;
}
- else if ( oArg.equalsIgnoreAsciiCase("convert-to"))
+ else if ( oArg == "convert-to" )
{
bOpenEvent = false;
bConversionEvent = true;
bConversionParamsEvent = true;
}
- else if ( oArg.equalsIgnoreAsciiCase("print-to-file"))
+ else if ( oArg == "print-to-file" )
{
bOpenEvent = false;
bBatchPrintEvent = true;
}
- else if ( oArg.equalsIgnoreAsciiCase("printer-name") &&
- bBatchPrintEvent )
+ else if ( oArg == "printer-name" && bBatchPrintEvent )
{
bBatchPrinterNameEvent = true;
}
- else if ( oArg.equalsIgnoreAsciiCase("outdir") &&
+ else if ( oArg == "outdir" &&
(bConversionEvent || bBatchPrintEvent) )
{
bConversionOutEvent = true;
@@ -478,15 +477,15 @@ void CommandLineArgs::ParseCommandLine_Impl( Supplier& supplier )
// primitive tools that /bin/sh offers, ignore them here
if (
#if defined UNX
- !oArg.equalsIgnoreAsciiCase("backtrace") &&
- !oArg.equalsIgnoreAsciiCase("strace") &&
- !oArg.equalsIgnoreAsciiCase("valgrind") &&
+ oArg != "backtrace" &&
+ oArg != "strace" &&
+ oArg != "valgrind" &&
// for X Session Management, handled in
// vcl/unx/generic/app/sm.cxx:
- !oArg.startsWith("session=") &&
+ oArg != "session=" &&
#endif
//ignore additional legacy options that don't do anything anymore
- !oArg.equalsIgnoreAsciiCase("nocrashreport") &&
+ oArg != "nocrashreport" &&
m_unknown.isEmpty())
{
m_unknown = aArg;
commit 5993dc79e84ef8f46a36ba78a84c6a645d704613
Author: Stephan Bergmann <sbergman at redhat.com>
Date: Tue Nov 19 14:38:04 2013 +0100
Consistently warn about all deprecated cmd line args starting with a single -
Change-Id: Ib4cb8939b0b12dd01af3bb845649e5ac5480352b
diff --git a/desktop/source/app/cmdlineargs.cxx b/desktop/source/app/cmdlineargs.cxx
index 30417a7..3c666b7 100644
--- a/desktop/source/app/cmdlineargs.cxx
+++ b/desktop/source/app/cmdlineargs.cxx
@@ -163,221 +163,414 @@ void CommandLineArgs::ParseCommandLine_Impl( Supplier& supplier )
{
m_bEmpty = false;
OUString oArg;
- if ( !InterpretCommandLineParameter( aArg, oArg ))
+ bool bDeprecated = false;
+ if (aArg.startsWith("--"))
{
- if ( aArg.startsWith("-") )
- {
- // handle this argument as an option
- if ( aArg.equalsIgnoreAsciiCase("-n"))
- {
- // force new documents based on the following documents
- bForceNewEvent = true;
- bOpenEvent = false;
- bForceOpenEvent = false;
- bPrintToEvent = false;
- bPrintEvent = false;
- bViewEvent = false;
- bStartEvent = false;
- bDisplaySpec = false;
- }
- else if ( aArg.equalsIgnoreAsciiCase("-o"))
- {
- // force open documents regardless if they are templates or not
- bForceOpenEvent = true;
- bOpenEvent = false;
- bForceNewEvent = false;
- bPrintToEvent = false;
- bPrintEvent = false;
- bViewEvent = false;
- bStartEvent = false;
- bDisplaySpec = false;
- }
- else if ( oArg.equalsIgnoreAsciiCase("pt"))
- {
- // Print to special printer
- bPrintToEvent = true;
- bPrinterName = true;
- bPrintEvent = false;
- bOpenEvent = false;
- bForceNewEvent = false;
- bViewEvent = false;
- bStartEvent = false;
- bDisplaySpec = false;
- bForceOpenEvent = false;
- }
- else if ( aArg.equalsIgnoreAsciiCase("-p"))
- {
- // Print to default printer
- bPrintEvent = true;
- bPrintToEvent = false;
- bOpenEvent = false;
- bForceNewEvent = false;
- bForceOpenEvent = false;
- bViewEvent = false;
- bStartEvent = false;
- bDisplaySpec = false;
- }
- else if ( oArg.equalsIgnoreAsciiCase("view"))
- {
- // open in viewmode
- bOpenEvent = false;
- bPrintEvent = false;
- bPrintToEvent = false;
- bForceNewEvent = false;
- bForceOpenEvent = false;
- bViewEvent = true;
- bStartEvent = false;
- bDisplaySpec = false;
- }
- else if ( oArg.equalsIgnoreAsciiCase("show"))
- {
- // open in viewmode
- bOpenEvent = false;
- bViewEvent = false;
- bStartEvent = true;
- bPrintEvent = false;
- bPrintToEvent = false;
- bForceNewEvent = false;
- bForceOpenEvent = false;
- bDisplaySpec = false;
- }
- else if ( oArg.equalsIgnoreAsciiCase("display"))
- {
- // set display
- bOpenEvent = false;
- bPrintEvent = false;
- bForceOpenEvent = false;
- bPrintToEvent = false;
- bForceNewEvent = false;
- bViewEvent = false;
- bStartEvent = false;
- bDisplaySpec = true;
- }
- else if ( oArg.equalsIgnoreAsciiCase("language"))
- {
- bOpenEvent = false;
- bPrintEvent = false;
- bForceOpenEvent = false;
- bPrintToEvent = false;
- bForceNewEvent = false;
- bViewEvent = false;
- bStartEvent = false;
- bDisplaySpec = false;
- }
- else if ( oArg.equalsIgnoreAsciiCase("convert-to"))
- {
- bOpenEvent = false;
- bConversionEvent = true;
- bConversionParamsEvent = true;
- }
- else if ( oArg.equalsIgnoreAsciiCase("print-to-file"))
- {
- bOpenEvent = false;
- bBatchPrintEvent = true;
- }
- else if ( oArg.equalsIgnoreAsciiCase("printer-name") &&
- bBatchPrintEvent )
- {
- bBatchPrinterNameEvent = true;
- }
- else if ( oArg.equalsIgnoreAsciiCase("outdir") &&
- (bConversionEvent || bBatchPrintEvent) )
- {
- bConversionOutEvent = true;
- }
- else
- // because it's impossible to filter these options that
- // are handled in the soffice shell script with the
- // primitive tools that /bin/sh offers, ignore them here
- if (
+ oArg = OUString(aArg.getStr()+2, aArg.getLength()-2);
+ }
+ else if (aArg.startsWith("-"))
+ {
+ if ( aArg.getLength() > 2 ) // -h, -o, -n, -? are still valid
+ bDeprecated = true;
+ oArg = OUString(aArg.getStr()+1, aArg.getLength()-1);
+ }
+
+ if ( oArg == "minimized" )
+ {
+ m_minimized = true;
+ }
+ else if ( oArg == "invisible" )
+ {
+ m_invisible = true;
+ }
+ else if ( oArg == "norestore" )
+ {
+ m_norestore = true;
+ }
+ else if ( oArg == "nodefault" )
+ {
+ m_nodefault = true;
+ }
+ else if ( oArg == "headless" )
+ {
+ // Headless means also invisibile, so set this parameter to true!
+ m_headless = true;
+ m_invisible = true;
+ }
+ else if ( oArg == "quickstart" )
+ {
+#if defined(ENABLE_QUICKSTART_APPLET)
+ m_quickstart = true;
+#endif
+ m_noquickstart = false;
+ }
+ else if ( oArg == "quickstart=no" )
+ {
+ m_noquickstart = true;
+ m_quickstart = false;
+ }
+ else if ( oArg == "terminate_after_init" )
+ {
+ m_terminateafterinit = true;
+ }
+ else if ( oArg == "nofirststartwizard" )
+ {
+ m_nofirststartwizard = true;
+ }
+ else if ( oArg == "nologo" )
+ {
+ m_nologo = true;
+ }
+#if HAVE_FEATURE_MULTIUSER_ENVIRONMENT
+ else if ( oArg == "nolockcheck" )
+ {
+ m_nolockcheck = true;
+ }
+#endif
+ else if ( oArg == "help" || aArg == "-h" || aArg == "-?" )
+ {
+ m_help = true;
+ }
+ else if ( oArg == "helpwriter" )
+ {
+ m_helpwriter = true;
+ }
+ else if ( oArg == "helpcalc" )
+ {
+ m_helpcalc = true;
+ }
+ else if ( oArg == "helpdraw" )
+ {
+ m_helpdraw = true;
+ }
+ else if ( oArg == "helpimpress" )
+ {
+ m_helpimpress = true;
+ }
+ else if ( oArg == "helpbase" )
+ {
+ m_helpbase = true;
+ }
+ else if ( oArg == "helpbasic" )
+ {
+ m_helpbasic = true;
+ }
+ else if ( oArg == "helpmath" )
+ {
+ m_helpmath = true;
+ }
+ else if ( oArg == "version" )
+ {
+ m_version = true;
+ }
+ else if ( oArg.startsWithIgnoreAsciiCase("splash-pipe=") )
+ {
+ m_splashpipe = true;
+ }
+#ifdef MACOSX
+ /* #i84053# ignore -psn on Mac
+ Platform dependent #ifdef here is ugly, however this is currently
+ the only platform dependent parameter. Should more appear
+ we should find a better solution
+ */
+ else if ( aArg.startsWith("-psn") )
+ {
+ bDeprecated = false;
+ }
+#endif
+#if HAVE_FEATURE_MACOSX_SANDBOX
+ else if ( oArg == "nstemporarydirectory" )
+ {
+ printf("%s\n", [NSTemporaryDirectory() UTF8String]);
+ exit(0);
+ }
+#endif
+#ifdef WIN32
+ /* fdo#57203 ignore -Embedding on Windows
+ when LibreOffice is launched by COM+
+ */
+ else if ( oArg == "Embedding" )
+ {
+ bDeprecated = false;
+ }
+#endif
+ else if ( oArg.startsWithIgnoreAsciiCase("infilter="))
+ {
+ m_infilter.push_back(oArg.copy(RTL_CONSTASCII_LENGTH("infilter=")));
+ }
+ else if ( oArg.startsWithIgnoreAsciiCase("accept="))
+ {
+ m_accept.push_back(oArg.copy(RTL_CONSTASCII_LENGTH("accept=")));
+ }
+ else if ( oArg.startsWithIgnoreAsciiCase("unaccept="))
+ {
+ m_unaccept.push_back(oArg.copy(RTL_CONSTASCII_LENGTH("unaccept=")));
+ }
+ else if ( oArg.startsWithIgnoreAsciiCase("language="))
+ {
+ m_language = oArg.copy(RTL_CONSTASCII_LENGTH("language="));
+ }
+ else if ( oArg.startsWithIgnoreAsciiCase("pidfile="))
+ {
+ m_pidfile = oArg.copy(RTL_CONSTASCII_LENGTH("pidfile="));
+ }
+ else if ( oArg == "writer" )
+ {
+ m_writer = true;
+ m_bDocumentArgs = true;
+ }
+ else if ( oArg == "calc" )
+ {
+ m_calc = true;
+ m_bDocumentArgs = true;
+ }
+ else if ( oArg == "draw" )
+ {
+ m_draw = true;
+ m_bDocumentArgs = true;
+ }
+ else if ( oArg == "impress" )
+ {
+ m_impress = true;
+ m_bDocumentArgs = true;
+ }
+ else if ( oArg == "base" )
+ {
+ m_base = true;
+ m_bDocumentArgs = true;
+ }
+ else if ( oArg == "global" )
+ {
+ m_global = true;
+ m_bDocumentArgs = true;
+ }
+ else if ( oArg == "math" )
+ {
+ m_math = true;
+ m_bDocumentArgs = true;
+ }
+ else if ( oArg == "web" )
+ {
+ m_web = true;
+ m_bDocumentArgs = true;
+ }
+ else if ( aArg.equalsIgnoreAsciiCase("-n"))
+ {
+ // force new documents based on the following documents
+ bForceNewEvent = true;
+ bOpenEvent = false;
+ bForceOpenEvent = false;
+ bPrintToEvent = false;
+ bPrintEvent = false;
+ bViewEvent = false;
+ bStartEvent = false;
+ bDisplaySpec = false;
+ }
+ else if ( aArg.equalsIgnoreAsciiCase("-o"))
+ {
+ // force open documents regardless if they are templates or not
+ bForceOpenEvent = true;
+ bOpenEvent = false;
+ bForceNewEvent = false;
+ bPrintToEvent = false;
+ bPrintEvent = false;
+ bViewEvent = false;
+ bStartEvent = false;
+ bDisplaySpec = false;
+ }
+ else if ( oArg.equalsIgnoreAsciiCase("pt"))
+ {
+ // Print to special printer
+ bPrintToEvent = true;
+ bPrinterName = true;
+ bPrintEvent = false;
+ bOpenEvent = false;
+ bForceNewEvent = false;
+ bViewEvent = false;
+ bStartEvent = false;
+ bDisplaySpec = false;
+ bForceOpenEvent = false;
+ }
+ else if ( aArg.equalsIgnoreAsciiCase("-p"))
+ {
+ // Print to default printer
+ bPrintEvent = true;
+ bPrintToEvent = false;
+ bOpenEvent = false;
+ bForceNewEvent = false;
+ bForceOpenEvent = false;
+ bViewEvent = false;
+ bStartEvent = false;
+ bDisplaySpec = false;
+ }
+ else if ( oArg.equalsIgnoreAsciiCase("view"))
+ {
+ // open in viewmode
+ bOpenEvent = false;
+ bPrintEvent = false;
+ bPrintToEvent = false;
+ bForceNewEvent = false;
+ bForceOpenEvent = false;
+ bViewEvent = true;
+ bStartEvent = false;
+ bDisplaySpec = false;
+ }
+ else if ( oArg.equalsIgnoreAsciiCase("show"))
+ {
+ // open in viewmode
+ bOpenEvent = false;
+ bViewEvent = false;
+ bStartEvent = true;
+ bPrintEvent = false;
+ bPrintToEvent = false;
+ bForceNewEvent = false;
+ bForceOpenEvent = false;
+ bDisplaySpec = false;
+ }
+ else if ( oArg.equalsIgnoreAsciiCase("display"))
+ {
+ // set display
+ bOpenEvent = false;
+ bPrintEvent = false;
+ bForceOpenEvent = false;
+ bPrintToEvent = false;
+ bForceNewEvent = false;
+ bViewEvent = false;
+ bStartEvent = false;
+ bDisplaySpec = true;
+ }
+ else if ( oArg.equalsIgnoreAsciiCase("language"))
+ {
+ bOpenEvent = false;
+ bPrintEvent = false;
+ bForceOpenEvent = false;
+ bPrintToEvent = false;
+ bForceNewEvent = false;
+ bViewEvent = false;
+ bStartEvent = false;
+ bDisplaySpec = false;
+ }
+ else if ( oArg.equalsIgnoreAsciiCase("convert-to"))
+ {
+ bOpenEvent = false;
+ bConversionEvent = true;
+ bConversionParamsEvent = true;
+ }
+ else if ( oArg.equalsIgnoreAsciiCase("print-to-file"))
+ {
+ bOpenEvent = false;
+ bBatchPrintEvent = true;
+ }
+ else if ( oArg.equalsIgnoreAsciiCase("printer-name") &&
+ bBatchPrintEvent )
+ {
+ bBatchPrinterNameEvent = true;
+ }
+ else if ( oArg.equalsIgnoreAsciiCase("outdir") &&
+ (bConversionEvent || bBatchPrintEvent) )
+ {
+ bConversionOutEvent = true;
+ }
+ else if ( aArg.startsWith("-") )
+ {
+ // because it's impossible to filter these options that
+ // are handled in the soffice shell script with the
+ // primitive tools that /bin/sh offers, ignore them here
+ if (
#if defined UNX
- !oArg.equalsIgnoreAsciiCase("backtrace") &&
- !oArg.equalsIgnoreAsciiCase("strace") &&
- !oArg.equalsIgnoreAsciiCase("valgrind") &&
+ !oArg.equalsIgnoreAsciiCase("backtrace") &&
+ !oArg.equalsIgnoreAsciiCase("strace") &&
+ !oArg.equalsIgnoreAsciiCase("valgrind") &&
// for X Session Management, handled in
// vcl/unx/generic/app/sm.cxx:
- !oArg.startsWith("session=") &&
+ !oArg.startsWith("session=") &&
#endif
//ignore additional legacy options that don't do anything anymore
- !oArg.equalsIgnoreAsciiCase("nocrashreport") &&
- m_unknown.isEmpty())
- {
- m_unknown = aArg;
- }
+ !oArg.equalsIgnoreAsciiCase("nocrashreport") &&
+ m_unknown.isEmpty())
+ {
+ m_unknown = aArg;
+ }
+ bDeprecated = false;
+ }
+ else
+ {
+ if ( bPrinterName && bPrintToEvent )
+ {
+ // first argument after "-pt" this must be the printer name
+ m_printername = aArg;
+ bPrinterName = false;
+ }
+ else if ( bConversionParamsEvent && bConversionEvent )
+ {
+ // first argument must be the params
+ m_conversionparams = aArg;
+ bConversionParamsEvent = false;
+ }
+ else if ( bBatchPrinterNameEvent && bBatchPrintEvent )
+ {
+ // first argument is the printer name
+ m_printername = aArg;
+ bBatchPrinterNameEvent = false;
+ }
+ else if ( (bConversionEvent || bBatchPrintEvent) && bConversionOutEvent )
+ {
+ m_conversionout = aArg;
+ bConversionOutEvent = false;
}
else
{
- if ( bPrinterName && bPrintToEvent )
+ // handle this argument as a filename
+ if ( bOpenEvent )
+ {
+ m_openlist.push_back(aArg);
+ bOpenDoc = true;
+ }
+ else if ( bViewEvent )
{
- // first argument after "-pt" this must be the printer name
- m_printername = aArg;
- bPrinterName = false;
+ m_viewlist.push_back(aArg);
+ bOpenDoc = true;
}
- else if ( bConversionParamsEvent && bConversionEvent )
+ else if ( bStartEvent )
{
- // first argument must be the params
- m_conversionparams = aArg;
- bConversionParamsEvent = false;
+ m_startlist.push_back(aArg);
+ bOpenDoc = true;
}
- else if ( bBatchPrinterNameEvent && bBatchPrintEvent )
+ else if ( bPrintEvent )
{
- // first argument is the printer name
- m_printername = aArg;
- bBatchPrinterNameEvent = false;
+ m_printlist.push_back(aArg);
+ bOpenDoc = true;
}
- else if ( (bConversionEvent || bBatchPrintEvent) && bConversionOutEvent )
+ else if ( bPrintToEvent )
{
- m_conversionout = aArg;
- bConversionOutEvent = false;
+ m_printtolist.push_back(aArg);
+ bOpenDoc = true;
}
- else
+ else if ( bForceNewEvent )
{
- // handle this argument as a filename
- if ( bOpenEvent )
- {
- m_openlist.push_back(aArg);
- bOpenDoc = true;
- }
- else if ( bViewEvent )
- {
- m_viewlist.push_back(aArg);
- bOpenDoc = true;
- }
- else if ( bStartEvent )
- {
- m_startlist.push_back(aArg);
- bOpenDoc = true;
- }
- else if ( bPrintEvent )
- {
- m_printlist.push_back(aArg);
- bOpenDoc = true;
- }
- else if ( bPrintToEvent )
- {
- m_printtolist.push_back(aArg);
- bOpenDoc = true;
- }
- else if ( bForceNewEvent )
- {
- m_forcenewlist.push_back(aArg);
- bOpenDoc = true;
- }
- else if ( bForceOpenEvent )
- {
- m_forceopenlist.push_back(aArg);
- bOpenDoc = true;
- }
- else if ( bDisplaySpec )
- {
- bDisplaySpec = false; // only one display, not a lsit
- bOpenEvent = true; // set back to standard
- }
- else if ( bConversionEvent || bBatchPrintEvent )
- m_conversionlist.push_back(aArg);
+ m_forcenewlist.push_back(aArg);
+ bOpenDoc = true;
}
+ else if ( bForceOpenEvent )
+ {
+ m_forceopenlist.push_back(aArg);
+ bOpenDoc = true;
+ }
+ else if ( bDisplaySpec )
+ {
+ bDisplaySpec = false; // only one display, not a lsit
+ bOpenEvent = true; // set back to standard
+ }
+ else if ( bConversionEvent || bBatchPrintEvent )
+ m_conversionlist.push_back(aArg);
}
}
+
+ if (bDeprecated)
+ {
+ OString sArg(OUStringToOString(aArg, osl_getThreadTextEncoding()));
+ fprintf(stderr, "Warning: %s is deprecated. Use -%s instead.\n", sArg.getStr(), sArg.getStr());
+ }
}
}
@@ -385,214 +578,6 @@ void CommandLineArgs::ParseCommandLine_Impl( Supplier& supplier )
m_bDocumentArgs = true;
}
-bool CommandLineArgs::InterpretCommandLineParameter( const OUString& aArg, OUString& oArg )
-{
- bool bDeprecated = false;
- if (aArg.startsWith("--"))
- {
- oArg = OUString(aArg.getStr()+2, aArg.getLength()-2);
- }
- else if (aArg.startsWith("-"))
- {
- if ( aArg.getLength() > 2 ) // -h, -o, -n, -? are still valid
- bDeprecated = true;
- oArg = OUString(aArg.getStr()+1, aArg.getLength()-1);
- }
- else
- {
- return false;
- }
-
- if ( oArg == "minimized" )
- {
- m_minimized = true;
- }
- else if ( oArg == "invisible" )
- {
- m_invisible = true;
- }
- else if ( oArg == "norestore" )
- {
- m_norestore = true;
- }
- else if ( oArg == "nodefault" )
- {
- m_nodefault = true;
- }
- else if ( oArg == "headless" )
- {
- // Headless means also invisibile, so set this parameter to true!
- m_headless = true;
- m_invisible = true;
- }
- else if ( oArg == "quickstart" )
- {
-#if defined(ENABLE_QUICKSTART_APPLET)
- m_quickstart = true;
-#endif
- m_noquickstart = false;
- }
- else if ( oArg == "quickstart=no" )
- {
- m_noquickstart = true;
- m_quickstart = false;
- }
- else if ( oArg == "terminate_after_init" )
- {
- m_terminateafterinit = true;
- }
- else if ( oArg == "nofirststartwizard" )
- {
- m_nofirststartwizard = true;
- }
- else if ( oArg == "nologo" )
- {
- m_nologo = true;
- }
-#if HAVE_FEATURE_MULTIUSER_ENVIRONMENT
- else if ( oArg == "nolockcheck" )
- {
- m_nolockcheck = true;
- }
-#endif
- else if ( oArg == "help" || aArg == "-h" || aArg == "-?" )
- {
- m_help = true;
- }
- else if ( oArg == "helpwriter" )
- {
- m_helpwriter = true;
- }
- else if ( oArg == "helpcalc" )
- {
- m_helpcalc = true;
- }
- else if ( oArg == "helpdraw" )
- {
- m_helpdraw = true;
- }
- else if ( oArg == "helpimpress" )
- {
- m_helpimpress = true;
- }
- else if ( oArg == "helpbase" )
- {
- m_helpbase = true;
- }
- else if ( oArg == "helpbasic" )
- {
- m_helpbasic = true;
- }
- else if ( oArg == "helpmath" )
- {
- m_helpmath = true;
- }
- else if ( oArg == "version" )
- {
- m_version = true;
- }
- else if ( oArg.startsWithIgnoreAsciiCase("splash-pipe=") )
- {
- m_splashpipe = true;
- }
-#ifdef MACOSX
- /* #i84053# ignore -psn on Mac
- Platform dependent #ifdef here is ugly, however this is currently
- the only platform dependent parameter. Should more appear
- we should find a better solution
- */
- else if ( aArg.startsWith("-psn") )
- {
- return true;
- }
-#endif
-#if HAVE_FEATURE_MACOSX_SANDBOX
- else if ( oArg == "nstemporarydirectory" )
- {
- printf("%s\n", [NSTemporaryDirectory() UTF8String]);
- exit(0);
- }
-#endif
-#ifdef WIN32
- /* fdo#57203 ignore -Embedding on Windows
- when LibreOffice is launched by COM+
- */
- else if ( oArg == "Embedding" )
- {
- return true;
- }
-#endif
- else if ( oArg.startsWithIgnoreAsciiCase("infilter="))
- {
- m_infilter.push_back(oArg.copy(RTL_CONSTASCII_LENGTH("infilter=")));
- }
- else if ( oArg.startsWithIgnoreAsciiCase("accept="))
- {
- m_accept.push_back(oArg.copy(RTL_CONSTASCII_LENGTH("accept=")));
- }
- else if ( oArg.startsWithIgnoreAsciiCase("unaccept="))
- {
- m_unaccept.push_back(oArg.copy(RTL_CONSTASCII_LENGTH("unaccept=")));
- }
- else if ( oArg.startsWithIgnoreAsciiCase("language="))
- {
- m_language = oArg.copy(RTL_CONSTASCII_LENGTH("language="));
- }
- else if ( oArg.startsWithIgnoreAsciiCase("pidfile="))
- {
- m_pidfile = oArg.copy(RTL_CONSTASCII_LENGTH("pidfile="));
- }
- else if ( oArg == "writer" )
- {
- m_writer = true;
- m_bDocumentArgs = true;
- }
- else if ( oArg == "calc" )
- {
- m_calc = true;
- m_bDocumentArgs = true;
- }
- else if ( oArg == "draw" )
- {
- m_draw = true;
- m_bDocumentArgs = true;
- }
- else if ( oArg == "impress" )
- {
- m_impress = true;
- m_bDocumentArgs = true;
- }
- else if ( oArg == "base" )
- {
- m_base = true;
- m_bDocumentArgs = true;
- }
- else if ( oArg == "global" )
- {
- m_global = true;
- m_bDocumentArgs = true;
- }
- else if ( oArg == "math" )
- {
- m_math = true;
- m_bDocumentArgs = true;
- }
- else if ( oArg == "web" )
- {
- m_web = true;
- m_bDocumentArgs = true;
- }
- else
- return false;
-
- if (bDeprecated)
- {
- OString sArg(OUStringToOString(aArg, osl_getThreadTextEncoding()));
- fprintf(stderr, "Warning: %s is deprecated. Use -%s instead.\n", sArg.getStr(), sArg.getStr());
- }
- return true;
-}
-
void CommandLineArgs::InitParamValues()
{
m_minimized = false;
diff --git a/desktop/source/app/cmdlineargs.hxx b/desktop/source/app/cmdlineargs.hxx
index ad265c9..d2a503e 100644
--- a/desktop/source/app/cmdlineargs.hxx
+++ b/desktop/source/app/cmdlineargs.hxx
@@ -111,7 +111,6 @@ class CommandLineArgs: private boost::noncopyable
bool IsEmpty() const;
private:
- bool InterpretCommandLineParameter( const OUString&, OUString& );
void ParseCommandLine_Impl( Supplier& supplier );
void InitParamValues();
commit c471e148e210b7a71d0d5cf877e873350fe05bf7
Author: Stephan Bergmann <sbergman at redhat.com>
Date: Tue Nov 19 14:22:25 2013 +0100
String function clean-up
Change-Id: I0bb807748f67af3ee1210c6df649bc8ae506e090
diff --git a/desktop/source/app/cmdlineargs.cxx b/desktop/source/app/cmdlineargs.cxx
index 55027f4..30417a7 100644
--- a/desktop/source/app/cmdlineargs.cxx
+++ b/desktop/source/app/cmdlineargs.cxx
@@ -165,7 +165,7 @@ void CommandLineArgs::ParseCommandLine_Impl( Supplier& supplier )
OUString oArg;
if ( !InterpretCommandLineParameter( aArg, oArg ))
{
- if ( aArg.toChar() == '-' )
+ if ( aArg.startsWith("-") )
{
// handle this argument as an option
if ( aArg.equalsIgnoreAsciiCase("-n"))
@@ -296,7 +296,7 @@ void CommandLineArgs::ParseCommandLine_Impl( Supplier& supplier )
!oArg.equalsIgnoreAsciiCase("valgrind") &&
// for X Session Management, handled in
// vcl/unx/generic/app/sm.cxx:
- !oArg.match("session=") &&
+ !oArg.startsWith("session=") &&
#endif
//ignore additional legacy options that don't do anything anymore
!oArg.equalsIgnoreAsciiCase("nocrashreport") &&
@@ -388,11 +388,11 @@ void CommandLineArgs::ParseCommandLine_Impl( Supplier& supplier )
bool CommandLineArgs::InterpretCommandLineParameter( const OUString& aArg, OUString& oArg )
{
bool bDeprecated = false;
- if (aArg.matchIgnoreAsciiCase("--"))
+ if (aArg.startsWith("--"))
{
oArg = OUString(aArg.getStr()+2, aArg.getLength()-2);
}
- else if (aArg.toChar() == '-')
+ else if (aArg.startsWith("-"))
{
if ( aArg.getLength() > 2 ) // -h, -o, -n, -? are still valid
bDeprecated = true;
@@ -491,7 +491,7 @@ bool CommandLineArgs::InterpretCommandLineParameter( const OUString& aArg, OUStr
{
m_version = true;
}
- else if ( oArg.matchIgnoreAsciiCase("splash-pipe=") )
+ else if ( oArg.startsWithIgnoreAsciiCase("splash-pipe=") )
{
m_splashpipe = true;
}
@@ -501,7 +501,7 @@ bool CommandLineArgs::InterpretCommandLineParameter( const OUString& aArg, OUStr
the only platform dependent parameter. Should more appear
we should find a better solution
*/
- else if ( aArg.match("-psn") )
+ else if ( aArg.startsWith("-psn") )
{
return true;
}
@@ -522,23 +522,23 @@ bool CommandLineArgs::InterpretCommandLineParameter( const OUString& aArg, OUStr
return true;
}
#endif
- else if ( oArg.matchIgnoreAsciiCase("infilter="))
+ else if ( oArg.startsWithIgnoreAsciiCase("infilter="))
{
m_infilter.push_back(oArg.copy(RTL_CONSTASCII_LENGTH("infilter=")));
}
- else if ( oArg.matchIgnoreAsciiCase("accept="))
+ else if ( oArg.startsWithIgnoreAsciiCase("accept="))
{
m_accept.push_back(oArg.copy(RTL_CONSTASCII_LENGTH("accept=")));
}
- else if ( oArg.matchIgnoreAsciiCase("unaccept="))
+ else if ( oArg.startsWithIgnoreAsciiCase("unaccept="))
{
m_unaccept.push_back(oArg.copy(RTL_CONSTASCII_LENGTH("unaccept=")));
}
- else if ( oArg.matchIgnoreAsciiCase("language="))
+ else if ( oArg.startsWithIgnoreAsciiCase("language="))
{
m_language = oArg.copy(RTL_CONSTASCII_LENGTH("language="));
}
- else if ( oArg.matchIgnoreAsciiCase("pidfile="))
+ else if ( oArg.startsWithIgnoreAsciiCase("pidfile="))
{
m_pidfile = oArg.copy(RTL_CONSTASCII_LENGTH("pidfile="));
}
commit cc8f8ae55f681755f5da3bf64e4c30bb713f0383
Author: Miklos Vajna <vmiklos at collabora.co.uk>
Date: Tue Nov 19 11:55:29 2013 +0100
DOCX drawingML shape import: wp:anchor's behindDoc attribute
Also, adapt anchoring to what we have in VML import as well: when the
paragraph moves, the shape should stay at the same place. (This is a bit
odd, as ideally Word does not support at-paragraph anchoring, but this
change results in the behavior what Word does at the end.)
Change-Id: I3b849b2898d303e48920e6056c472f08fbb43af1
diff --git a/sw/qa/extras/ooxmlimport/data/wps-only.docx b/sw/qa/extras/ooxmlimport/data/wps-only.docx
index 5b563b0..d45aa3e 100644
Binary files a/sw/qa/extras/ooxmlimport/data/wps-only.docx and b/sw/qa/extras/ooxmlimport/data/wps-only.docx differ
diff --git a/sw/qa/extras/ooxmlimport/ooxmlimport.cxx b/sw/qa/extras/ooxmlimport/ooxmlimport.cxx
index 14c8ba5..d8ca06f 100644
--- a/sw/qa/extras/ooxmlimport/ooxmlimport.cxx
+++ b/sw/qa/extras/ooxmlimport/ooxmlimport.cxx
@@ -1510,7 +1510,7 @@ DECLARE_OOXMLIMPORT_TEST(testWpsOnly, "wps-only.docx")
// Document has wp:anchor, not wp:inline, so handle it accordingly.
uno::Reference<drawing::XShape> xShape = getShape(1);
text::TextContentAnchorType eValue = getProperty<text::TextContentAnchorType>(xShape, "AnchorType");
- CPPUNIT_ASSERT_EQUAL(text::TextContentAnchorType_AT_CHARACTER, eValue);
+ CPPUNIT_ASSERT_EQUAL(text::TextContentAnchorType_AT_PARAGRAPH, eValue);
// Check position, it was 0. This is a shape, so use getPosition(), not a property.
CPPUNIT_ASSERT_EQUAL(sal_Int32(EMU_TO_MM100(671830)), xShape->getPosition().X);
@@ -1519,6 +1519,11 @@ DECLARE_OOXMLIMPORT_TEST(testWpsOnly, "wps-only.docx")
CPPUNIT_ASSERT_EQUAL(sal_Int32(318), getProperty<sal_Int32>(xShape, "LeftMargin"));
// Wrap type was PARALLEL.
CPPUNIT_ASSERT_EQUAL(text::WrapTextMode_THROUGHT, getProperty<text::WrapTextMode>(xShape, "Surround"));
+
+ // This should be in front of text.
+ CPPUNIT_ASSERT_EQUAL(true, bool(getProperty<sal_Bool>(xShape, "Opaque")));
+ // And this should be behind the document.
+ CPPUNIT_ASSERT_EQUAL(false, bool(getProperty<sal_Bool>(getShape(2), "Opaque")));
}
DECLARE_OOXMLIMPORT_TEST(testFdo70457, "fdo70457.docx")
diff --git a/writerfilter/source/dmapper/GraphicImport.cxx b/writerfilter/source/dmapper/GraphicImport.cxx
index da957ce..7c3de007 100644
--- a/writerfilter/source/dmapper/GraphicImport.cxx
+++ b/writerfilter/source/dmapper/GraphicImport.cxx
@@ -997,10 +997,14 @@ void GraphicImport::lcl_attribute(Id nName, Value & val)
// If we are here, this is a drawingML shape. For those, only dmapper (and not oox) knows the anchoring infos (just like for Writer pictures).
// But they aren't Writer pictures, either (which are already handled above).
uno::Reference< beans::XPropertySet > xShapeProps(m_xShape, uno::UNO_QUERY_THROW);
- xShapeProps->setPropertyValue("AnchorType", uno::makeAny(text::TextContentAnchorType_AT_CHARACTER));
+ // This needs to be AT_PARAGRAPH and not AT_CHARACTER, otherwise shape will move when the user inserts a new paragraph.
+ xShapeProps->setPropertyValue("AnchorType", uno::makeAny(text::TextContentAnchorType_AT_PARAGRAPH));
m_xShape->setPosition(awt::Point(m_pImpl->nLeftPosition, m_pImpl->nTopPosition));
m_pImpl->applyMargins(xShapeProps);
+ bool bOpaque = m_pImpl->bOpaque && !m_pImpl->rDomainMapper.IsInHeaderFooter();
+ if (!bOpaque)
+ xShapeProps->setPropertyValue("Opaque", uno::makeAny(bOpaque));
xShapeProps->setPropertyValue("Surround", uno::makeAny(m_pImpl->nWrap));
}
}
commit a5d7813de1d2e9c3234c5c0c32987c137bdf3ca1
Author: Caolán McNamara <caolanm at redhat.com>
Date: Tue Nov 19 13:04:48 2013 +0000
don't panic on clicking inside input field
Change-Id: I52b53da16784cc5650d362c3884d93ed16979ca2
diff --git a/sw/source/ui/docvw/edtwin.cxx b/sw/source/ui/docvw/edtwin.cxx
index 6453617..5a45f43 100644
--- a/sw/source/ui/docvw/edtwin.cxx
+++ b/sw/source/ui/docvw/edtwin.cxx
@@ -3615,21 +3615,27 @@ void SwEditWin::MouseButtonDown(const MouseEvent& _rMEvt)
// Are we clicking on a field?
if (rSh.GetContentAtPos(aDocPos, aFieldAtPos))
{
- rSh.SetCursor(&aDocPos, bOnlyText);
- // Unfortunately the cursor may be on field
- // position or on position after field depending on which
- // half of the field was clicked on.
- SwTxtAttr const*const pTxtFld(aFieldAtPos.pFndTxtAttr);
- if (rSh.GetCurrentShellCursor().GetPoint()->nContent
- .GetIndex() != *pTxtFld->GetStart())
+ bool bEditableField = (aFieldAtPos.pFndTxtAttr != NULL
+ && aFieldAtPos.pFndTxtAttr->Which() == RES_TXTATR_INPUTFIELD);
+
+ if (!bEditableField)
{
- assert(rSh.GetCurrentShellCursor().GetPoint()->nContent
- .GetIndex() == (*pTxtFld->GetStart() + 1));
- rSh.Left( CRSR_SKIP_CHARS, false, 1, false );
+ rSh.SetCursor(&aDocPos, bOnlyText);
+ // Unfortunately the cursor may be on field
+ // position or on position after field depending on which
+ // half of the field was clicked on.
+ SwTxtAttr const*const pTxtFld(aFieldAtPos.pFndTxtAttr);
+ if (rSh.GetCurrentShellCursor().GetPoint()->nContent
+ .GetIndex() != *pTxtFld->GetStart())
+ {
+ assert(rSh.GetCurrentShellCursor().GetPoint()->nContent
+ .GetIndex() == (*pTxtFld->GetStart() + 1));
+ rSh.Left( CRSR_SKIP_CHARS, false, 1, false );
+ }
+ // don't go into the !bOverSelect block below - it moves
+ // the cursor
+ break;
}
- // don't go into the !bOverSelect block below - it moves
- // the cursor
- break;
}
sal_Bool bOverSelect = rSh.ChgCurrPam( aDocPos ), bOverURLGrf = sal_False;
commit c2b5521921b806ff7b04cdacebde3834d2aafd4b
Author: Oliver-Rainer Wittmann <orw at apache.org>
Date: Mon Nov 18 11:29:24 2013 +0000
Resolves: #i33737# enable in-place editing of Input Fields
(cherry picked from commit c2afeb1c3f11e8f420b59f3786eb8626c99ff595)
Conflicts:
sw/inc/IDocumentContentOperations.hxx
sw/inc/crsrsh.hxx
sw/inc/doc.hxx
sw/inc/editsh.hxx
sw/inc/expfld.hxx
sw/inc/fldbas.hxx
sw/inc/fmtfld.hxx
sw/inc/hintids.hxx
sw/inc/ndtxt.hxx
sw/inc/txatbase.hxx
sw/inc/txtfld.hxx
sw/inc/txtrfmrk.hxx
sw/inc/txttxmrk.hxx
sw/inc/viscrs.hxx
sw/source/core/bastyp/init.cxx
sw/source/core/crsr/crsrsh.cxx
sw/source/core/crsr/crstrvl.cxx
sw/source/core/crsr/findattr.cxx
sw/source/core/crsr/findtxt.cxx
sw/source/core/crsr/swcrsr.cxx
sw/source/core/crsr/viscrs.cxx
sw/source/core/doc/dbgoutsw.cxx
sw/source/core/doc/doc.cxx
sw/source/core/doc/docfld.cxx
sw/source/core/doc/docfmt.cxx
sw/source/core/doc/docnum.cxx
sw/source/core/doc/docredln.cxx
sw/source/core/doc/docruby.cxx
sw/source/core/doc/doctxm.cxx
sw/source/core/doc/visiturl.cxx
sw/source/core/docnode/nodes.cxx
sw/source/core/edit/edatmisc.cxx
sw/source/core/edit/edattr.cxx
sw/source/core/edit/edfld.cxx
sw/source/core/edit/edfldexp.cxx
sw/source/core/edit/editsh.cxx
sw/source/core/edit/edlingu.cxx
sw/source/core/edit/ednumber.cxx
sw/source/core/fields/expfld.cxx
sw/source/core/fields/fldbas.cxx
sw/source/core/fields/reffld.cxx
sw/source/core/frmedt/fefly1.cxx
sw/source/core/inc/docfld.hxx
sw/source/core/inc/rolbck.hxx
sw/source/core/inc/swfont.hxx
sw/source/core/layout/flycnt.cxx
sw/source/core/layout/laycache.cxx
sw/source/core/layout/trvlfrm.cxx
sw/source/core/text/atrhndl.hxx
sw/source/core/text/atrstck.cxx
sw/source/core/text/inftxt.cxx
sw/source/core/text/porfld.cxx
sw/source/core/text/porfld.hxx
sw/source/core/text/txtfld.cxx
sw/source/core/tox/tox.cxx
sw/source/core/tox/txmsrt.cxx
sw/source/core/txtnode/atrfld.cxx
sw/source/core/txtnode/ndhints.cxx
sw/source/core/txtnode/ndtxt.cxx
sw/source/core/txtnode/thints.cxx
sw/source/core/txtnode/txatbase.cxx
sw/source/core/txtnode/txatritr.cxx
sw/source/core/txtnode/txtedt.cxx
sw/source/core/undo/SwUndoField.cxx
sw/source/core/undo/rolbck.cxx
sw/source/core/undo/unsect.cxx
sw/source/core/undo/untbl.cxx
sw/source/core/unocore/unocrsrhelper.cxx
sw/source/core/unocore/unofield.cxx
sw/source/core/unocore/unoframe.cxx
sw/source/core/unocore/unorefmk.cxx
sw/source/core/view/vprint.cxx
sw/source/filter/ascii/ascatr.cxx
sw/source/filter/html/htmlatr.cxx
sw/source/filter/rtf/rtffly.cxx
sw/source/filter/ww1/fltshell.cxx
sw/source/filter/ww1/w1filter.cxx
sw/source/filter/ww8/wrtw8esh.cxx
sw/source/filter/ww8/wrtw8nds.cxx
sw/source/filter/ww8/ww8atr.cxx
sw/source/filter/ww8/ww8par.cxx
sw/source/filter/ww8/ww8par3.cxx
sw/source/filter/ww8/ww8par5.cxx
sw/source/ui/app/applab.cxx
sw/source/ui/docvw/edtwin.cxx
sw/source/ui/docvw/edtwin2.cxx
sw/source/ui/envelp/envfmt.cxx
sw/source/ui/fldui/fldedt.cxx
sw/source/ui/fldui/fldmgr.cxx
sw/source/ui/inc/wrtsh.hxx
sw/source/ui/lingu/hhcwrp.cxx
sw/source/ui/shells/basesh.cxx
sw/source/ui/shells/drwtxtex.cxx
sw/source/ui/shells/grfsh.cxx
sw/source/ui/shells/tabsh.cxx
sw/source/ui/shells/textfld.cxx
sw/source/ui/shells/textidx.cxx
sw/source/ui/shells/textsh.cxx
sw/source/ui/shells/textsh1.cxx
sw/source/ui/shells/txtattr.cxx
sw/source/ui/uiview/formatclipboard.cxx
sw/source/ui/uiview/view.cxx
sw/source/ui/uiview/view2.cxx
sw/source/ui/uiview/viewsrch.cxx
sw/source/ui/uiview/viewstat.cxx
sw/source/ui/uiview/viewtab.cxx
sw/source/ui/wrtsh/wrtsh1.cxx
sw/source/ui/wrtsh/wrtsh2.cxx
Change-Id: I6758d6719e1fd523797cc6ee2648ffcb47d52595
diff --git a/sw/Library_sw.mk b/sw/Library_sw.mk
index f1064ef..ead4148 100644
--- a/sw/Library_sw.mk
+++ b/sw/Library_sw.mk
@@ -154,6 +154,7 @@ $(eval $(call gb_Library_add_exception_objects,sw,\
sw/source/core/crsr/trvltbl \
sw/source/core/crsr/unocrsr \
sw/source/core/crsr/viscrs \
+ sw/source/core/crsr/overlayrangesoutline \
sw/source/core/doc/SwStyleNameMapper \
sw/source/core/doc/acmplwrd \
sw/source/core/doc/dbgoutsw \
diff --git a/sw/inc/IDocumentContentOperations.hxx b/sw/inc/IDocumentContentOperations.hxx
index 7bb156b..7fd45f7 100644
--- a/sw/inc/IDocumentContentOperations.hxx
+++ b/sw/inc/IDocumentContentOperations.hxx
@@ -17,33 +17,34 @@
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
- #ifndef INCLUDED_SW_INC_IDOCUMENTCONTENTOPERATIONS_HXX
- #define INCLUDED_SW_INC_IDOCUMENTCONTENTOPERATIONS_HXX
-
- #include <sal/types.h>
-
- class SwPaM;
- struct SwPosition;
- class SwNode;
- class SwNodeRange;
- class Graphic;
- class SfxItemSet;
- class SfxPoolItem;
- class GraphicObject;
- class SdrObject;
- class SwFrmFmt;
- class SwDrawFrmFmt;
- class SwFlyFrmFmt;
- class SwNodeIndex;
-
- namespace utl { class TransliterationWrapper; }
- namespace svt { class EmbeddedObjectRef; }
-
- /** Text operation/manipulation interface
- */
- class IDocumentContentOperations
- {
- public:
+#ifndef INCLUDED_SW_INC_IDOCUMENTCONTENTOPERATIONS_HXX
+#define INCLUDED_SW_INC_IDOCUMENTCONTENTOPERATIONS_HXX
+
+#include <sal/types.h>
+
+class SwPaM;
+struct SwPosition;
+class SwNode;
+class SwNodeRange;
+class Graphic;
+class SfxItemSet;
+class SfxPoolItem;
+class GraphicObject;
+class SdrObject;
+class SwFrmFmt;
+class SwDrawFrmFmt;
+class SwFlyFrmFmt;
+class SwNodeIndex;
+class SwFmtFld;
+
+namespace utl { class TransliterationWrapper; }
+namespace svt { class EmbeddedObjectRef; }
+
+/** Text operation/manipulation interface
+*/
+class IDocumentContentOperations
+{
+public:
enum SwMoveFlags
{
DOC_MOVEDEFAULT = 0x00,
@@ -61,7 +62,7 @@
, INS_FORCEHINTEXPAND = 0x04 // expand all hints at insert position
};
- public:
+public:
/** Copying of a range within or to another document.
The position can also be within the range!
*/
@@ -86,7 +87,7 @@
Needed for hiding of deletion redlines
*/
virtual bool DeleteAndJoin( SwPaM&,
- const bool bForceJoinNext = false ) = 0;
+ const bool bForceJoinNext = false ) = 0;
virtual bool MoveRange(SwPaM&, SwPosition&, SwMoveFlags) = 0;
@@ -115,7 +116,7 @@
const SfxItemSet* pFlyAttrSet, const SfxItemSet* pGrfAttrSet, SwFrmFmt*) = 0;
virtual SwFlyFrmFmt* Insert(const SwPaM& rRg, const GraphicObject& rGrfObj, const SfxItemSet* pFlyAttrSet,
- const SfxItemSet* pGrfAttrSet, SwFrmFmt*) = 0;
+ const SfxItemSet* pGrfAttrSet, SwFrmFmt*) = 0;
/** Transpose graphic (with undo)
*/
@@ -129,7 +130,7 @@
/** Insert OLE-objects.
*/
virtual SwFlyFrmFmt* Insert(const SwPaM &rRg, const svt::EmbeddedObjectRef& xObj, const SfxItemSet* pFlyAttrSet,
- const SfxItemSet* pGrfAttrSet, SwFrmFmt*) = 0;
+ const SfxItemSet* pGrfAttrSet, SwFrmFmt*) = 0;
virtual SwFlyFrmFmt* InsertOLE(const SwPaM &rRg, const OUString& rObjName, sal_Int64 nAspect, const SfxItemSet* pFlyAttrSet,
const SfxItemSet* pGrfAttrSet, SwFrmFmt*) = 0;
@@ -165,13 +166,13 @@
const sal_uInt16 nFlags,bool bExpandCharToPara=false) = 0;
virtual bool InsertItemSet (const SwPaM &rRg, const SfxItemSet&,
- const sal_uInt16 nFlags) = 0;
+ const sal_uInt16 nFlags) = 0;
/** Removes any leading white space from the paragraph
*/
virtual void RemoveLeadingWhiteSpace(const SwPosition & rPos ) = 0;
- protected:
+protected:
virtual ~IDocumentContentOperations() {};
};
diff --git a/sw/inc/crsrsh.hxx b/sw/inc/crsrsh.hxx
index 47f41c7..8548d91 100644
--- a/sw/inc/crsrsh.hxx
+++ b/sw/inc/crsrsh.hxx
@@ -64,9 +64,8 @@ class SwTOXMark;
class SwRedline;
class IBlockCursor;
class SwCntntNode;
-
class SwPostItField;
-
+class SwTxtFld;
struct SwPosition;
namespace com { namespace sun { namespace star { namespace util {
@@ -232,9 +231,9 @@ private:
bool m_bMacroExecAllowed : 1;
- SW_DLLPRIVATE void UpdateCrsr( sal_uInt16 eFlags
- =SwCrsrShell::SCROLLWIN|SwCrsrShell::CHKRANGE,
- sal_Bool bIdleEnd = sal_False );
+ SW_DLLPRIVATE void UpdateCrsr(
+ sal_uInt16 eFlags = SwCrsrShell::SCROLLWIN|SwCrsrShell::CHKRANGE,
+ sal_Bool bIdleEnd = sal_False );
SW_DLLPRIVATE void _ParkPams( SwPaM* pDelRg, SwShellCrsr** ppDelRing );
@@ -699,11 +698,27 @@ public:
inline void UnSetVisCrsr();
// jump to the next or previous field of the corresponding type
- sal_Bool MoveFldType( const SwFieldType* pFldType, sal_Bool bNext,
- sal_uInt16 nSubType = USHRT_MAX,
- sal_uInt16 nResType = USHRT_MAX );
+ sal_Bool MoveFldType(
+ const SwFieldType* pFldType,
+ const bool bNext,
+ const sal_uInt16 nResType = USHRT_MAX,
+ const bool bAddSetExpressionFldsToInputFlds = true );
+
sal_Bool GotoFld( const SwFmtFld& rFld );
+ SwTxtFld* GetTxtFldAtPos(
+ const SwPosition* pPos,
+ const bool bIncludeInputFldAtStart ) const;
+ SwField* GetFieldAtCrsr(
+ const SwPaM* pCrsr,
+ const bool bIncludeInputFldAtStart ) const;
+ SwField* GetCurFld( const bool bIncludeInputFldAtStart = false ) const;
+ bool CrsrInsideInputFld() const;
+ bool PosInsideInputFld( const SwPosition& rPos ) const;
+ bool DocPtInsideInputFld( const Point& rDocPt ) const;
+ xub_StrLen StartOfInputFldAtPos( const SwPosition& rPos ) const;
+ xub_StrLen EndOfInputFldAtPos( const SwPosition& rPos ) const;
+
// Return number of cursors in ring (The flag indicates whether
// only cursors containing selections are requested).
sal_uInt16 GetCrsrCnt( sal_Bool bAll = sal_True ) const;
@@ -783,6 +798,9 @@ public:
bool GotoINetAttr( const SwTxtINetFmt& rAttr );
const SwFmtINetFmt* FindINetAttr( const OUString& rName ) const;
+ sal_Bool SelectTxt( const xub_StrLen nStart,
+ const xub_StrLen nEnd );
+
sal_Bool CheckTblBoxCntnt( const SwPosition* pPos = 0 );
void SaveTblBoxCntnt( const SwPosition* pPos = 0 );
void ClearTblBoxCntnt();
@@ -833,8 +851,6 @@ public:
@return the textual description of the current selection
*/
OUString GetCrsrDescr() const;
-
- SwRect GetRectOfCurrentChar();
};
// Cursor Inlines:
diff --git a/sw/inc/doc.hxx b/sw/inc/doc.hxx
index 2de669d..378c6b5 100644
--- a/sw/inc/doc.hxx
+++ b/sw/inc/doc.hxx
@@ -836,13 +836,13 @@ public:
@param rPos position to search at
@return pointer to field at the given position or NULL in case no field is found
*/
- static SwField* GetField(const SwPosition& rPos);
+ static SwField* GetFieldAtPos(const SwPosition& rPos);
/** Returns the field at a certain position.
@param rPos position to search at
@return pointer to field at the given position or NULL in case no field is found
*/
- static SwTxtFld* GetTxtFld(const SwPosition& rPos);
+ static SwTxtFld* GetTxtFldAtPos(const SwPosition& rPos);
bool containsUpdatableFields();
/** IDocumentContentOperations
@@ -855,7 +855,6 @@ public:
// Needed for hiding of deletion redlines
virtual bool DeleteAndJoin( SwPaM&,
const bool bForceJoinNext = false );
-
virtual bool MoveRange(SwPaM&, SwPosition&, SwMoveFlags);
virtual bool MoveNodeRange(SwNodeRange&, SwNodeIndex&, SwMoveFlags);
virtual bool MoveAndJoin(SwPaM&, SwPosition&, SwMoveFlags);
@@ -871,9 +870,14 @@ public:
virtual SwDrawFrmFmt* Insert(const SwPaM &rRg, SdrObject& rDrawObj, const SfxItemSet* pFlyAttrSet, SwFrmFmt*);
virtual SwFlyFrmFmt* Insert(const SwPaM &rRg, const svt::EmbeddedObjectRef& xObj, const SfxItemSet* pFlyAttrSet,
const SfxItemSet* pGrfAttrSet, SwFrmFmt*);
+
/// Add a para for the char attribute exp...
- virtual bool InsertPoolItem(const SwPaM &rRg, const SfxPoolItem&,
- const SetAttrMode nFlags,bool bExpandCharToPara=false);
+ virtual bool InsertPoolItem(
+ const SwPaM &rRg,
+ const SfxPoolItem&,
+ const SetAttrMode nFlags,
+ const bool bExpandCharToPara=false);
+
virtual bool InsertItemSet (const SwPaM &rRg, const SfxItemSet&,
const SetAttrMode nFlags);
virtual void ReRead(SwPaM&, const OUString& rGrfName, const OUString& rFltName, const Graphic* pGraphic, const GraphicObject* pGrfObj);
diff --git a/sw/inc/editsh.hxx b/sw/inc/editsh.hxx
index bbafef9..9991fd0 100644
--- a/sw/inc/editsh.hxx
+++ b/sw/inc/editsh.hxx
@@ -236,8 +236,8 @@ public:
const bool bMergeIndentValuesOfNumRule = false ) const;
sal_Bool GetCurAttr( SfxItemSet& ,
const bool bMergeIndentValuesOfNumRule = false ) const;
- void SetAttr( const SfxPoolItem&, sal_uInt16 nFlags = 0 );
- void SetAttr( const SfxItemSet&, sal_uInt16 nFlags = 0, SwPaM* pCrsr = NULL );
+ void SetAttrItem( const SfxPoolItem&, sal_uInt16 nFlags = 0 );
+ void SetAttrSet( const SfxItemSet&, sal_uInt16 nFlags = 0, SwPaM* pCrsr = NULL );
/**
* Get the paragraph format attribute(s) of the current selection.
@@ -358,7 +358,6 @@ public:
{ return (SwCharFmt*)SwEditShell::GetFmtFromPool( nId ); }
void Insert2(SwField&, const bool bForceExpandHints = false);
- SwField* GetCurFld() const;
void UpdateFlds( SwField & ); ///< One single field.
diff --git a/sw/inc/expfld.hxx b/sw/inc/expfld.hxx
index 4599911..2944589 100644
--- a/sw/inc/expfld.hxx
+++ b/sw/inc/expfld.hxx
@@ -293,20 +293,40 @@ public:
class SW_DLLPUBLIC SwInputField : public SwField
{
- OUString aContent;
+ mutable OUString aContent;
OUString aPText;
OUString aHelp;
OUString aToolTip;
- sal_uInt16 nSubType;
+ sal_uInt16 nSubType;
+ bool mbIsFormField;
+
+ SwFmtFld* mpFmtFld; // attribute to which the <SwInputField> belongs to
virtual OUString Expand() const;
virtual SwField* Copy() const;
+ // Accessing Input Field's content
+ const OUString& getContent() const;
+
public:
/// Direct input via dialog; delete old value.
- SwInputField(SwInputFieldType*, const OUString& rContent,
- const OUString& rPrompt, sal_uInt16 nSubType = 0,
- sal_uLong nFmt = 0);
+ SwInputField(
+ SwInputFieldType* pFieldType,
+ const OUString& rContent,
+ const OUString& rPrompt,
+ sal_uInt16 nSubType = 0,
+ sal_uLong nFmt = 0,
+ bool bIsFormField = true );
+ virtual ~SwInputField();
+
+ void SetFmtFld( SwFmtFld& rFmtFld );
+ SwFmtFld* GetFmtFld();
+
+ // Providing new Input Field's content:
+ // Fill Input Field's content depending on <nSupType>.
+ void applyFieldContent( const OUString& rNewFieldContent );
+
+ bool isFormField() const;
virtual OUString GetFieldName() const;
@@ -324,9 +344,7 @@ public:
virtual OUString GetToolTip() const;
virtual void SetToolTip(const OUString & rStr);
- virtual sal_Bool isFormField() const;
-
- virtual sal_uInt16 GetSubType() const;
+ virtual sal_uInt16 GetSubType() const;
virtual void SetSubType(sal_uInt16 nSub);
virtual bool QueryValue( com::sun::star::uno::Any& rVal, sal_uInt16 nWhich ) const;
virtual bool PutValue( const com::sun::star::uno::Any& rVal, sal_uInt16 nWhich );
diff --git a/sw/inc/fldbas.hxx b/sw/inc/fldbas.hxx
index 661dd78..453d246 100644
--- a/sw/inc/fldbas.hxx
+++ b/sw/inc/fldbas.hxx
@@ -276,6 +276,8 @@ class SW_DLLPUBLIC SwField
{
private:
mutable OUString m_Cache; ///< Cached expansion (for clipboard).
+ bool m_bUseFieldValueCache; /// control the usage of the cached field value
+
sal_uInt16 nLang; ///< Always change via SetLanguage!
sal_Bool bIsAutomaticLanguage;
sal_uInt32 nFormat;
@@ -288,7 +290,10 @@ private:
protected:
void SetFormat(sal_uInt32 nSet) {nFormat = nSet;}
- SwField(SwFieldType* pTyp, sal_uInt32 nFmt = 0, sal_uInt16 nLang = LANGUAGE_SYSTEM);
+ SwField( SwFieldType* pTyp,
+ sal_uInt32 nFmt = 0,
+ sal_uInt16 nLang = LANGUAGE_SYSTEM,
+ bool m_bUseFieldValueCache = true );
public:
virtual ~SwField();
diff --git a/sw/inc/fmtfld.hxx b/sw/inc/fmtfld.hxx
index 56184d0..4782663 100644
--- a/sw/inc/fmtfld.hxx
+++ b/sw/inc/fmtfld.hxx
@@ -38,19 +38,16 @@ class SwFieldType;
// ATT_FLD
class SW_DLLPUBLIC SwFmtFld : public SfxPoolItem, public SwClient, public SfxBroadcaster
{
- friend class SwTxtFld;
friend void _InitCore();
+ SwFmtFld( sal_uInt16 nWhich ); // for default-Attibute
::com::sun::star::uno::WeakReference<
::com::sun::star::text::XTextField> m_wXTextField;
- SwField *pField;
- SwTxtFld* pTxtAttr;
+ SwField* mpField;
+ SwTxtFld* mpTxtFld; // the TextAttribute
- SwFmtFld(); ///< Default attibute.
-
- /* Protected CopyCtor.
- @@@ copy construction allowed, but copy assignment is not? @@@ */
+ // @@@ copy construction allowed, but copy assignment is not? @@@
SwFmtFld& operator=(const SwFmtFld& rFld);
protected:
@@ -76,11 +73,11 @@ public:
const SwField* GetField() const
{
- return pField;
+ return mpField;
}
SwField* GetField()
{
- return pField;
+ return mpField;
}
/**
@@ -90,13 +87,23 @@ public:
@attention The current field will be destroyed before setting the new field.
*/
- void SetFld(SwField * pField);
+ void SetField( SwField * pField );
+
+
+ const SwTxtFld* GetTxtFld() const
+ {
+ return mpTxtFld;
+ }
+ SwTxtFld* GetTxtFld()
+ {
+ return mpTxtFld;
+ }
+ void SetTxtFld( SwTxtFld& rTxtFld );
+ void ClearTxtFld();
- const SwTxtFld *GetTxtFld() const { return pTxtAttr; }
- SwTxtFld *GetTxtFld() { return pTxtAttr; }
void RegisterToFieldType( SwFieldType& );
- sal_Bool IsFldInDoc() const;
+ bool IsFldInDoc() const;
sal_Bool IsProtect() const;
SW_DLLPRIVATE ::com::sun::star::uno::WeakReference<
diff --git a/sw/inc/hintids.hxx b/sw/inc/hintids.hxx
index 00d20c4..5773c2f 100644
--- a/sw/inc/hintids.hxx
+++ b/sw/inc/hintids.hxx
@@ -29,11 +29,15 @@
#define CH_TXTATR_INWORD ((sal_Unicode)0xFFF9)
#define CH_TXTATR_TAB ((sal_Unicode)'\t')
#define CH_TXTATR_NEWLINE ((sal_Unicode)'\n')
-#define CH_TXT_ATR_FIELDSTART ((sal_Unicode)0x04)
-#define CH_TXT_ATR_FIELDEND ((sal_Unicode)0x05)
+#define CH_TXT_ATR_INPUTFIELDSTART ((sal_Unicode)0x04)
+#define CH_TXT_ATR_INPUTFIELDEND ((sal_Unicode)0x05)
+
+#define CH_TXT_ATR_FORMELEMENT ((sal_Unicode)0x06)
+
+#define CH_TXT_ATR_FIELDSTART ((sal_Unicode)0x07)
+#define CH_TXT_ATR_FIELDEND ((sal_Unicode)0x08)
#define CH_TXT_ATR_SUBST_FIELDSTART ("[")
#define CH_TXT_ATR_SUBST_FIELDEND ("]")
-#define CH_TXT_ATR_FORMELEMENT ((sal_Unicode)0x06)
/*
* Enums for the hints
@@ -127,7 +131,7 @@ RES_TXTATR_WITHEND_BEGIN = RES_TXTATR_BEGIN ,
RES_TXTATR_CHARFMT, // 51
RES_TXTATR_CJK_RUBY, // 52
RES_TXTATR_UNKNOWN_CONTAINER, // 53
- RES_TXTATR_DUMMY5, // 54
+ RES_TXTATR_INPUTFIELD, // 54
RES_TXTATR_WITHEND_END,
// all TextAttributes without an end
diff --git a/sw/inc/ndtxt.hxx b/sw/inc/ndtxt.hxx
index 516f9c7..d8b23ff 100644
--- a/sw/inc/ndtxt.hxx
+++ b/sw/inc/ndtxt.hxx
@@ -46,6 +46,8 @@ namespace utl {
class SwTxtFmtColl;
class SwCntntFrm;
+class SwTxtFld;
+class SwTxtInputFld;
class SfxItemSet;
class SwUndoTransliterate;
struct SwSpellArgs;
@@ -179,6 +181,8 @@ class SW_DLLPUBLIC SwTxtNode: public SwCntntNode, public ::sfx2::Metadatable
SW_DLLPRIVATE void impl_FmtToTxtAttr(const SfxItemSet& i_rAttrSet);
+ const SwTxtInputFld* GetOverlappingInputFld( const SwTxtAttr& rTxtAttr ) const;
+
public:
bool IsWordCountDirty() const;
bool IsWrongDirty() const;
@@ -262,7 +266,7 @@ public:
refmarks, toxmarks, and metas will be ignored unless this is true
ATTENTION: setting bInclRefToxMark is only allowed from UNDO!
*/
- void RstAttr(
+ void RstTxtAttr(
const SwIndex &rIdx,
const xub_StrLen nLen,
const sal_uInt16 nWhich = 0,
@@ -350,8 +354,8 @@ public:
bool bFmtToTxtAttributes = true );
enum GetTxtAttrMode {
- DEFAULT, /// DEFAULT: (Start < nIndex <= End)
- EXPAND, /// EXPAND : (Start <= nIndex < End)
+ DEFAULT, /// DEFAULT: (Start <= nIndex < End)
+ EXPAND, /// EXPAND : (Start < nIndex <= End)
PARENT, /// PARENT : (Start < nIndex < End)
};
@@ -363,16 +367,19 @@ public:
hints of which several may cover a single position, like
RES_TXTATR_CHARFMT, RES_TXTATR_REFMARK, RES_TXTATR_TOXMARK
*/
- SwTxtAttr *GetTxtAttrAt(xub_StrLen const nIndex, RES_TXTATR const nWhich,
- enum GetTxtAttrMode const eMode = DEFAULT) const;
+ SwTxtAttr *GetTxtAttrAt(
+ xub_StrLen const nIndex,
+ RES_TXTATR const nWhich,
+ enum GetTxtAttrMode const eMode = DEFAULT ) const;
/** get the innermost text attributes covering position nIndex.
@param nWhich only attributes with this id are returned.
@param eMode the predicate for matching (@see GetTxtAttrMode).
*/
- ::std::vector<SwTxtAttr *> GetTxtAttrsAt(xub_StrLen const nIndex,
- RES_TXTATR const nWhich,
- enum GetTxtAttrMode const eMode = DEFAULT) const;
+ ::std::vector<SwTxtAttr *> GetTxtAttrsAt(
+ xub_StrLen const nIndex,
+ RES_TXTATR const nWhich,
+ enum GetTxtAttrMode const eMode = DEFAULT ) const;
/** get the text attribute at position nIndex which owns
the dummy character CH_TXTATR_* at that position, if one exists.
@@ -381,8 +388,13 @@ public:
attribute with given which id
@return the text attribute at nIndex of type nWhich, if it exists
*/
- SwTxtAttr *GetTxtAttrForCharAt( const xub_StrLen nIndex,
- const RES_TXTATR nWhich = RES_TXTATR_END ) const;
+ SwTxtAttr *GetTxtAttrForCharAt(
+ const xub_StrLen nIndex,
+ const RES_TXTATR nWhich = RES_TXTATR_END ) const;
+
+ SwTxtFld* GetFldTxtAttrAt(
+ const xub_StrLen nIndex,
+ const bool bIncludeInputFldAtStart = false ) const;
OUString GetCurWord(xub_StrLen) const;
sal_uInt16 Spell(SwSpellArgs*);
@@ -398,8 +410,6 @@ public:
(Method in ndcopy.cxx!!). */
void CopyCollFmt( SwTxtNode& rDestNd );
- //const SwNodeNum* _GetNodeNum() const { return pNdNum; }
-
//
// BEGIN OF BULLET/NUMBERING/OUTLINE STUFF:
//
@@ -432,18 +442,6 @@ public:
void UpdateOutlineState();
- /** Returns if this text node may be numbered.
-
- A text node may be numbered if
- - it has no SwNodeNum
- - it has a SwNodeNum and it has a numbering rule and the according
- SwNumFmt defines a numbering type that is an enumeration.
-
- @retval sal_True this text node may be numbered
- @retval sal_False else
- */
- //sal_Bool MayBeNumbered() const;
-
/**
Notify this textnode that its numbering rule has changed.
*/
@@ -735,8 +733,11 @@ public:
TYPEINFO(); // fuer rtti
/// override SwIndexReg
- virtual void Update( SwIndex const & rPos, const sal_Int32 nChangeLen,
- const bool bNegative = false, const bool bDelete = false );
+ virtual void Update(
+ SwIndex const & rPos,
+ const sal_Int32 nChangeLen,
+ const bool bNegative = false,
+ const bool bDelete = false );
/// change text to Upper/Lower/Hiragana/Katagana/...
void TransliterateText( utl::TransliterationWrapper& rTrans,
diff --git a/sw/inc/txatbase.hxx b/sw/inc/txatbase.hxx
index 234110a..266b205 100644
--- a/sw/inc/txatbase.hxx
+++ b/sw/inc/txatbase.hxx
@@ -57,6 +57,7 @@ private:
bool m_bHasDummyChar : 1; // without end + meta
bool m_bFormatIgnoreStart : 1; ///< text formatting should ignore start
bool m_bFormatIgnoreEnd : 1; ///< text formatting should ignore end
+ bool m_bHasContent : 1; // text attribute with content
protected:
SwTxtAttr( SfxPoolItem& rAttr, sal_Int32 nStart );
@@ -69,6 +70,7 @@ protected:
void SetDontExpandStartAttr(bool bFlag) { m_bDontExpandStart = bFlag; }
void SetNesting(const bool bFlag) { m_bNesting = bFlag; }
void SetHasDummyChar(const bool bFlag) { m_bHasDummyChar = bFlag; }
+ void SetHasContent( const bool bFlag ) { m_bHasContent = bFlag; }
public:
@@ -80,8 +82,8 @@ public:
const sal_Int32* GetStart() const { return & m_nStart; }
/// end position
- virtual sal_Int32* GetEnd();
- inline const sal_Int32* GetEnd() const;
+ virtual sal_Int32* GetEnd(); // also used to change the end position
+ inline const sal_Int32* End() const;
/// end (if available), else start
inline const sal_Int32* GetAnyEnd() const;
@@ -100,6 +102,7 @@ public:
bool IsFormatIgnoreEnd () const { return m_bFormatIgnoreEnd ; }
void SetFormatIgnoreStart(bool bFlag) { m_bFormatIgnoreStart = bFlag; }
void SetFormatIgnoreEnd (bool bFlag) { m_bFormatIgnoreEnd = bFlag; }
+ bool HasContent() const { return m_bHasContent; }
inline const SfxPoolItem& GetAttr() const;
inline SfxPoolItem& GetAttr();
@@ -128,21 +131,20 @@ protected:
public:
SwTxtAttrEnd( SfxPoolItem& rAttr, sal_Int32 nStart, sal_Int32 nEnd );
- using SwTxtAttr::GetEnd;
virtual sal_Int32* GetEnd();
};
// --------------- Inline Implementations ------------------------
-inline const sal_Int32* SwTxtAttr::GetEnd() const
+inline const sal_Int32* SwTxtAttr::End() const
{
return const_cast<SwTxtAttr * >(this)->GetEnd();
}
inline const sal_Int32* SwTxtAttr::GetAnyEnd() const
{
- const sal_Int32* pEnd = GetEnd();
+ const sal_Int32* pEnd = End();
return pEnd ? pEnd : GetStart();
}
@@ -182,7 +184,9 @@ inline const SwFmtAutoFmt& SwTxtAttr::GetAutoFmt() const
inline const SwFmtFld& SwTxtAttr::GetFmtFld() const
{
- assert( m_pAttr && m_pAttr->Which() == RES_TXTATR_FIELD );
+ assert( m_pAttr
+ && ( m_pAttr->Which() == RES_TXTATR_FIELD
+ || m_pAttr->Which() == RES_TXTATR_INPUTFIELD ));
return (const SwFmtFld&)(*m_pAttr);
}
diff --git a/sw/inc/txtfld.hxx b/sw/inc/txtfld.hxx
index 3c98492..cfab932 100644
--- a/sw/inc/txtfld.hxx
+++ b/sw/inc/txtfld.hxx
@@ -28,43 +28,71 @@ class SwTxtNode;
class SwTxtFld : public SwTxtAttr
{
- mutable OUString m_aExpand;
+ mutable OUString m_aExpand; // only used to determine, if field content is changing in <ExpandTxtFld()>
SwTxtNode * m_pTxtNode;
public:
- SwTxtFld(SwFmtFld & rAttr, sal_Int32 const nStart,
- bool const bInClipboard);
+ SwTxtFld(
+ SwFmtFld & rAttr,
+ sal_Int32 const nStart,
+ bool const bInClipboard );
+
virtual ~SwTxtFld();
- void CopyFld( SwTxtFld *pDest ) const;
- void Expand() const;
- inline void ExpandAlways();
+ void CopyTxtFld( SwTxtFld *pDest ) const;
+
+ void ExpandTxtFld() const;
+ void ExpandAlways()
+ {
+ m_aExpand += " "; // changing current value to assure that <ExpandTxtFld()> changes the value.
+ ExpandTxtFld();
+ }
// get and set TxtNode pointer
- SwTxtNode* GetpTxtNode() const { return m_pTxtNode; }
- inline SwTxtNode& GetTxtNode() const;
- void ChgTxtNode( SwTxtNode* pNew ) { m_pTxtNode = pNew; }
- // enable notification that field content has changed and needs reformatting
- void NotifyContentChange(SwFmtFld& rFmtFld);
+ SwTxtNode* GetpTxtNode() const
+ {
+ return m_pTxtNode;
+ }
+ SwTxtNode& GetTxtNode() const
+ {
+ OSL_ENSURE( m_pTxtNode, "SwTxtFld:: where is my TxtNode?" );
+ return *m_pTxtNode;
+ }
+ void ChgTxtNode( SwTxtNode* pNew )
+ {
+ m_pTxtNode = pNew;
+ }
- /**
- Returns position of this field.
+ bool IsFldInDoc() const;
+
+ // enable notification that field content has changed and needs reformatting
+ virtual void NotifyContentChange( SwFmtFld& rFmtFld );
- @return position of this field. Has to be deleted explicitly.
- */
};
-inline SwTxtNode& SwTxtFld::GetTxtNode() const
+class SwTxtInputFld : public SwTxtFld
{
- assert( m_pTxtNode );
- return *m_pTxtNode;
-}
+public:
+ SwTxtInputFld(
+ SwFmtFld & rAttr,
+ sal_Int32 const nStart,
+ sal_Int32 const nEnd,
+ bool const bInClipboard );
-inline void SwTxtFld::ExpandAlways()
-{
- m_aExpand += " ";
- Expand();
-}
+ virtual ~SwTxtInputFld();
+
+ virtual sal_Int32* GetEnd();
+
+ virtual void NotifyContentChange( SwFmtFld& rFmtFld );
+
+ void UpdateTextNodeContent( const OUString& rNewContent );
+
+ const OUString GetFieldContent() const;
+ void UpdateFieldContent();
+
+private:
+ sal_Int32 m_nEnd;
+};
#endif
diff --git a/sw/inc/txtrfmrk.hxx b/sw/inc/txtrfmrk.hxx
index ae944f9..b4f560c 100644
--- a/sw/inc/txtrfmrk.hxx
+++ b/sw/inc/txtrfmrk.hxx
@@ -35,8 +35,7 @@ public:
SwTxtRefMark( SwFmtRefMark& rAttr,
sal_Int32 const nStart, sal_Int32 const*const pEnd = 0);
- virtual sal_Int32 * GetEnd(); // SwTxtAttr
- inline const sal_Int32 * GetEnd() const { return m_pEnd; }
+ virtual sal_Int32* GetEnd(); // SwTxtAttr
// get and set TxtNode pointer
inline const SwTxtNode& GetTxtNode() const;
diff --git a/sw/inc/txttxmrk.hxx b/sw/inc/txttxmrk.hxx
index ccc8707..7559053 100644
--- a/sw/inc/txttxmrk.hxx
+++ b/sw/inc/txttxmrk.hxx
@@ -38,7 +38,6 @@ public:
virtual ~SwTxtTOXMark();
virtual sal_Int32 *GetEnd(); // SwTxtAttr
- inline const sal_Int32* GetEnd() const { return m_pEnd; }
void CopyTOXMark( SwDoc* pDestDoc );
diff --git a/sw/inc/viscrs.hxx b/sw/inc/viscrs.hxx
index 194efe4..b4010b9 100644
--- a/sw/inc/viscrs.hxx
+++ b/sw/inc/viscrs.hxx
@@ -28,6 +28,7 @@
class SwCrsrShell;
class SwShellCrsr;
+class SwTxtInputFld;
// From here classes/methods for non-text cursor.
@@ -59,6 +60,7 @@ public:
// From here classes/methods for selections.
namespace sdr { namespace overlay { class OverlayObject; }}
+namespace sw { namespace overlay { class OverlayRangesOutline; }}
class SwSelPaintRects : public SwRects
{
@@ -71,7 +73,6 @@ class SwSelPaintRects : public SwRects
const SwCrsrShell* pCShell;
virtual void Paint( const Rectangle& rRect );
- virtual void FillRects() = 0;
#if HAVE_FEATURE_DESKTOP
sdr::overlay::OverlayObject* mpCursorOverlay;
@@ -81,11 +82,18 @@ class SwSelPaintRects : public SwRects
void setCursorOverlay(sdr::overlay::OverlayObject* pNew) { mpCursorOverlay = pNew; }
#endif
+ bool mbShowTxtInputFldOverlay;
+ sw::overlay::OverlayRangesOutline* mpTxtInputFldOverlay;
+
+ void HighlightInputFld();
+
public:
SwSelPaintRects( const SwCrsrShell& rCSh );
virtual ~SwSelPaintRects();
- // in SwCrsrShell::CreateCrsr() the content of SwSelPaintRects is exchanged. To
+ virtual void FillRects() = 0;
+
+ // #i75172# in SwCrsrShell::CreateCrsr() the content of SwSelPaintRects is exchanged. To
// make a complete swap access to mpCursorOverlay is needed there
void swapContent(SwSelPaintRects& rSwap);
@@ -93,6 +101,11 @@ public:
void Hide();
void Invalidate( const SwRect& rRect );
+ inline void SetShowTxtInputFldOverlay( const bool bShow )
+ {
+ mbShowTxtInputFldOverlay = bShow;
+ }
+
const SwCrsrShell* GetShell() const { return pCShell; }
// check current MapMode of the shell and set possibly the static members.
// Optional set the parameters pX, pY
@@ -107,8 +120,6 @@ class SwShellCrsr : public virtual SwCursor, public SwSelPaintRects
Point aMkPt, aPtPt;
const SwPosition* pPt; // For assignment of GetPoint() to aPtPt.
- virtual void FillRects(); // For Table- und normal cursors.
-
using SwCursor::UpDown;
public:
@@ -118,6 +129,8 @@ public:
SwShellCrsr( SwShellCrsr& );
virtual ~SwShellCrsr();
+ virtual void FillRects(); // For Table- und normal cursors.
+
void Show(); // Update and display all selections.
void Hide(); // Hide all selections.
void Invalidate( const SwRect& rRect );
diff --git a/sw/sdi/_textsh.sdi b/sw/sdi/_textsh.sdi
index 44f2b15..0fb5cdb 100644
--- a/sw/sdi/_textsh.sdi
+++ b/sw/sdi/_textsh.sdi
@@ -31,6 +31,7 @@ interface BaseText
FN_INSERT_GLOSSARY // status(final|play|record)
[
ExecMethod = ExecGlossary ;
+ StateMethod = GetState ;
]
FN_TXTATR_INET // status()
@@ -133,7 +134,7 @@ interface BaseText
SID_INSERTDOC // status(final|play|rec)
[
ExecMethod = Execute ;
- StateMethod = NoState ;
+ StateMethod = GetState ;
DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
]
FN_INSERT_BOOKMARK // status(final|play)
@@ -237,13 +238,13 @@ interface BaseText
FN_INSERT_BREAK // status(final|play)
[
ExecMethod = ExecInsert ;
- StateMethod = NoState ;
+ StateMethod = GetState ;
DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
]
FN_INSERT_PAGEBREAK // status(final|play)
[
ExecMethod = ExecInsert ;
- StateMethod = NoState ;
+ StateMethod = GetState ;
DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
]
FN_INSERT_LINEBREAK // status(final|play)
@@ -255,19 +256,19 @@ interface BaseText
FN_INSERT_COLUMN_BREAK // status(final|play)
[
ExecMethod = ExecInsert ;
- StateMethod = NoState ;
+ StateMethod = GetState ;
DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
]
FN_INSERT_BREAK_DLG // status(final|play)
[
ExecMethod = Execute ;
- StateMethod = NoState ;
+ StateMethod = GetState ;
DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
]
SID_INSERT_AVMEDIA // status(final|play)
[
ExecMethod = ExecInsert;
- StateMethod = NoState ;
+ StateMethod = StateInsert ;
DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
]
SID_INSERT_DIAGRAM // status(final|play)
@@ -330,6 +331,7 @@ interface BaseText
FN_INSERT_HYPERLINK // status()
[
ExecMethod = Execute ;
+ StateMethod = GetState;
DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
]
SID_HYPERLINK_DIALOG
@@ -916,6 +918,7 @@ interface BaseText
FN_EXPAND_GLOSSARY // status(final|play)
[
ExecMethod = ExecGlossary ;
+ StateMethod = GetState ;
DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
]
FN_POSTIT // status(final|play)
diff --git a/sw/sdi/_viewsh.sdi b/sw/sdi/_viewsh.sdi
index bd05db1..54152af 100644
--- a/sw/sdi/_viewsh.sdi
+++ b/sw/sdi/_viewsh.sdi
@@ -653,12 +653,12 @@ interface BaseTextEditView
ExecMethod = Execute ;
StateMethod = GetState ;
]
- SID_INSERT_GRAPHIC // status(final|play)
- [
- ExecMethod = Execute ;
- StateMethod = NoState ;
- DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
- ]
+ SID_INSERT_GRAPHIC // status(final|play)
+ [
+ ExecMethod = Execute ;
+ StateMethod = GetState ;
+ DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
+ ]
SID_AUTOSPELL_CHECK
[
ExecMethod = ExecViewOptions ;
... etc. - the rest is truncated
More information about the Libreoffice-commits
mailing list