[Libreoffice-commits] core.git: forms/source svx/source wizards/com xmloff/source
Libreoffice Gerrit user
logerrit at kemper.freedesktop.org
Tue Nov 6 18:15:50 UTC 2018
forms/source/component/FormComponent.cxx | 6 +++---
svx/source/form/formcontroller.cxx | 2 +-
wizards/com/sun/star/wizards/common/PropertyNames.java | 3 +++
wizards/com/sun/star/wizards/form/FormControlArranger.java | 4 ++++
xmloff/source/forms/elementexport.cxx | 2 +-
5 files changed, 12 insertions(+), 5 deletions(-)
New commits:
commit fec8c14e960fbcd639a04d6c3354caff2d0bd365
Author: Lionel Elie Mamane <lionel at mamane.lu>
AuthorDate: Tue Nov 6 18:43:03 2018 +0100
Commit: Lionel Elie Mamane <lionel at mamane.lu>
CommitDate: Tue Nov 6 19:14:23 2018 +0100
tdf#121188 form controls should have InputRequired false by default
Unless the underlying column is not nullable and has no default value
this is only a guess, form designer can change it
Change-Id: Ifa403e00b21fdaf86aef383503d54879b25ac62b
Reviewed-on: https://gerrit.libreoffice.org/62969
Reviewed-by: Lionel Elie Mamane <lionel at mamane.lu>
Tested-by: Lionel Elie Mamane <lionel at mamane.lu>
diff --git a/forms/source/component/FormComponent.cxx b/forms/source/component/FormComponent.cxx
index 7d4078a83fb5..1ab76f31f8ef 100644
--- a/forms/source/component/FormComponent.cxx
+++ b/forms/source/component/FormComponent.cxx
@@ -1137,7 +1137,7 @@ OBoundControlModel::OBoundControlModel(
,m_aResetHelper( *this, m_aMutex )
,m_aUpdateListeners(m_aMutex)
,m_aFormComponentListeners( m_aMutex )
- ,m_bInputRequired( true )
+ ,m_bInputRequired( false )
,m_pAggPropMultiplexer( nullptr )
,m_bFormListening( false )
,m_bLoaded(false)
@@ -1170,7 +1170,7 @@ OBoundControlModel::OBoundControlModel(
,m_aUpdateListeners( m_aMutex )
,m_aFormComponentListeners( m_aMutex )
,m_xValidator( _pOriginal->m_xValidator )
- ,m_bInputRequired( true )
+ ,m_bInputRequired( false )
,m_pAggPropMultiplexer( nullptr )
,m_bFormListening( false )
,m_bLoaded( false )
@@ -1676,7 +1676,7 @@ Any OBoundControlModel::getPropertyDefaultByHandle( sal_Int32 _nHandle ) const
switch ( _nHandle )
{
case PROPERTY_ID_INPUT_REQUIRED:
- aDefault <<= true;
+ aDefault <<= false;
break;
case PROPERTY_ID_CONTROLSOURCE:
aDefault <<= OUString();
diff --git a/svx/source/form/formcontroller.cxx b/svx/source/form/formcontroller.cxx
index 504158432591..7552baf7bf7a 100644
--- a/svx/source/form/formcontroller.cxx
+++ b/svx/source/form/formcontroller.cxx
@@ -302,7 +302,7 @@ namespace
bool lcl_isInputRequired( const Reference< XPropertySet >& _rxControlModel )
{
- bool bInputRequired = true;
+ bool bInputRequired = false;
OSL_VERIFY( _rxControlModel->getPropertyValue( FM_PROP_INPUT_REQUIRED ) >>= bInputRequired );
return bInputRequired;
}
diff --git a/wizards/com/sun/star/wizards/common/PropertyNames.java b/wizards/com/sun/star/wizards/common/PropertyNames.java
index 2d7cdd865336..5e5df5c879e1 100644
--- a/wizards/com/sun/star/wizards/common/PropertyNames.java
+++ b/wizards/com/sun/star/wizards/common/PropertyNames.java
@@ -20,6 +20,9 @@ package com.sun.star.wizards.common;
public class PropertyNames
{
+ public static String PROPERTY_DEFAULT_VALUE = "DefaultValue";
+ public static String PROPERTY_IS_NULLABLE = "IsNullable";
+ public static String PROPERTY_INPUT_REQUIRED = "InputRequired";
public static String PROPERTY_ENABLED = "Enabled";
public static String PROPERTY_HEIGHT = "Height";
public static String PROPERTY_HELPURL = "HelpURL";
diff --git a/wizards/com/sun/star/wizards/form/FormControlArranger.java b/wizards/com/sun/star/wizards/form/FormControlArranger.java
index 9a46928ac045..a1eacc71366d 100644
--- a/wizards/com/sun/star/wizards/form/FormControlArranger.java
+++ b/wizards/com/sun/star/wizards/form/FormControlArranger.java
@@ -21,6 +21,7 @@ import com.sun.star.awt.Point;
import com.sun.star.awt.Size;
import com.sun.star.container.XNameContainer;
import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sdbc.ColumnValue;
import com.sun.star.sdbc.DataType;
import com.sun.star.task.XStatusIndicator;
import com.sun.star.uno.AnyConverter;
@@ -588,6 +589,8 @@ public class FormControlArranger
{
String sFieldName = FieldColumns[i].getFieldName();
int nFieldType = FieldColumns[i].getFieldType();
+ boolean bFieldNullable = AnyConverter.toInt(FieldColumns[i].getXColumnPropertySet().getPropertyValue(PropertyNames.PROPERTY_IS_NULLABLE)) != ColumnValue.NO_NULLS;
+ boolean bFieldHasDefaultValue = !AnyConverter.toString(FieldColumns[i].getXColumnPropertySet().getPropertyValue(PropertyNames.PROPERTY_DEFAULT_VALUE)).isEmpty();
Point aPoint = new Point(m_currentControlPosX, m_currentControlPosY);
if (bControlsareCreated)
@@ -629,6 +632,7 @@ public class FormControlArranger
}
checkOuterPoints(m_currentControlPosX, m_dbControlWidth, m_currentControlPosY, m_dbControlHeight, true);
aDBControl.setPropertyValue(PropertyNames.PROPERTY_BORDER, NBorderType);
+ aDBControl.setPropertyValue(PropertyNames.PROPERTY_INPUT_REQUIRED, !(bFieldNullable || bFieldHasDefaultValue));
}
catch (Exception e)
{
diff --git a/xmloff/source/forms/elementexport.cxx b/xmloff/source/forms/elementexport.cxx
index 288b110f67f6..d0fee7480896 100644
--- a/xmloff/source/forms/elementexport.cxx
+++ b/xmloff/source/forms/elementexport.cxx
@@ -835,7 +835,7 @@ namespace xmloff
OAttributeMetaData::getDatabaseAttributeNamespace(),
OAttributeMetaData::getDatabaseAttributeName( DAFlags::InputRequired ),
PROPERTY_INPUT_REQUIRED,
- BoolAttrFlags::DefaultTrue
+ BoolAttrFlags::DefaultFalse
);
RESET_BIT( nIncludeDatabase, DAFlags::InputRequired );
}
More information about the Libreoffice-commits
mailing list