summaryrefslogtreecommitdiff
path: root/toolkit
diff options
context:
space:
mode:
authorXisco Fauli <xiscofauli@libreoffice.org>2022-05-18 18:10:09 +0200
committerMiklos Vajna <vmiklos@collabora.com>2022-09-16 08:23:13 +0200
commit607c5729e82caf6fcb675f31f6aba638403d2ef7 (patch)
treefd524390e74821ffc2ddb77be14ade7829b36480 /toolkit
parent5a62d66cf42e0f8da2095679fe0f07b13af1dcaa (diff)
tdf#105972: pdf form: export date fields as date type
using AFDate_FormatEx which allows to set a custom format (cherry picked from commit e39ea45caa3712ae2ff077203ef8aef0e16fe41a) Change-Id: I38839965423794a0278b783c39c612c361a90eea Reviewed-on: https://gerrit.libreoffice.org/c/core/+/140018 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Diffstat (limited to 'toolkit')
-rw-r--r--toolkit/source/helper/formpdfexport.cxx48
1 files changed, 48 insertions, 0 deletions
diff --git a/toolkit/source/helper/formpdfexport.cxx b/toolkit/source/helper/formpdfexport.cxx
index ef1086d41dec..70c068007e1c 100644
--- a/toolkit/source/helper/formpdfexport.cxx
+++ b/toolkit/source/helper/formpdfexport.cxx
@@ -556,6 +556,54 @@ namespace toolkitform
}
}
} break;
+ case FormComponentType::DATEFIELD:
+ {
+ pEditWidget->Format = vcl::PDFWriter::Date;
+
+ static constexpr OUStringLiteral FM_PROP_DATEFORMAT = u"DateFormat";
+ if ( xPSI->hasPropertyByName( FM_PROP_DATEFORMAT ) )
+ {
+ sal_Int32 nDateFormat = 0;
+ if( ! (xModelProps->getPropertyValue( FM_PROP_DATEFORMAT ) >>= nDateFormat) )
+ SAL_WARN("toolkit.helper", "describePDFControl: unable to get property " << FM_PROP_DATEFORMAT);
+
+ switch ( nDateFormat )
+ {
+ case 0:
+ case 1:
+ pEditWidget->DateFormat = "mm/dd/yy"; // Standard (short)
+ break;
+ case 2:
+ case 3:
+ pEditWidget->DateFormat = "mm/dd/yyyy"; // Standard (long)
+ break;
+ case 4:
+ pEditWidget->DateFormat = "dd/mm/yy"; // DD/MM/YY
+ break;
+ case 5:
+ pEditWidget->DateFormat = "mm/dd/yy"; // MM/DD/YY
+ break;
+ case 6:
+ pEditWidget->DateFormat = "yy/mm/dd"; // YY/MM/DD
+ break;
+ case 7:
+ pEditWidget->DateFormat = "dd/mm/yyyy"; // DD/MM/YYYY
+ break;
+ case 8:
+ pEditWidget->DateFormat = "mm/dd/yyyy"; // MM/DD/YYYY
+ break;
+ case 9:
+ pEditWidget->DateFormat = "yyyy/mm/dd"; // YYYY/MM/DD
+ break;
+ case 10:
+ pEditWidget->DateFormat = "yy-mm-dd"; // YY-MM-DD
+ break;
+ case 11:
+ pEditWidget->DateFormat = "yyyy-mm-dd"; // YYYY-MM-DD
+ break;
+ }
+ }
+ } break;
}
}