diff options
author | László Németh <nemeth@numbertext.org> | 2020-06-11 07:37:49 +0200 |
---|---|---|
committer | Adolfo Jayme Barrientos <fitojb@ubuntu.com> | 2020-06-25 13:48:58 +0200 |
commit | 86ed93261137e24c679baed137cc4559eb5376e4 (patch) | |
tree | 8668700305bad7a29127c58b1296492bea76ce6f /sw | |
parent | fc957e1281f889a6e711c24d81eb65bba40265a8 (diff) |
tdf#134035 sw: insert long date format for Hungarian
in Writer using Insert->Field->Date or the similar
toolbar function.
Note: the previously used short date format YYYY-MM-DD
is rare in Hungarian text documents, and it is no longer
mentioned in the last Hungarian orthographic standard
(But it's still default in Calc, as standardized by
(MSZ) ISO 8601.)
Conflicts:
sw/qa/extras/uiwriter/uiwriter.cxx
Change-Id: I09f2f3314356e84c73a42be9f06ceaa6769e7338
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96112
Tested-by: Jenkins
Reviewed-by: László Németh <nemeth@numbertext.org>
(cherry picked from commit 64641e9aa8f5399bae7846830176bc4444bfaf9d)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96584
Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
Diffstat (limited to 'sw')
-rw-r--r-- | sw/qa/extras/uiwriter/uiwriter.cxx | 14 | ||||
-rw-r--r-- | sw/source/uibase/shells/textfld.cxx | 11 |
2 files changed, 25 insertions, 0 deletions
diff --git a/sw/qa/extras/uiwriter/uiwriter.cxx b/sw/qa/extras/uiwriter/uiwriter.cxx index bb0d12aa7804..66137c9af662 100644 --- a/sw/qa/extras/uiwriter/uiwriter.cxx +++ b/sw/qa/extras/uiwriter/uiwriter.cxx @@ -375,6 +375,7 @@ public: void testTdf133589(); #endif void testInconsistentBookmark(); + void testInsertLongDateFormat(); #if HAVE_FEATURE_PDFIUM void testInsertPdf(); #endif @@ -593,6 +594,7 @@ public: #if ENABLE_LIBNUMBERTEXT CPPUNIT_TEST(testTdf133589); #endif + CPPUNIT_TEST(testInsertLongDateFormat); #if HAVE_FEATURE_PDFIUM CPPUNIT_TEST(testInsertPdf); #endif @@ -7319,6 +7321,18 @@ void SwUiWriterTest::testTdf133589() } #endif +void SwUiWriterTest::testInsertLongDateFormat() +{ + // only for Hungarian, yet + createDoc("tdf133524.fodt"); + dispatchCommand(mxComponent, ".uno:InsertDateField", {}); + // Make sure that the document starts with a field now, and its expanded string value contains space + const uno::Reference< text::XTextRange > xField = getRun(getParagraph(1), 1); + CPPUNIT_ASSERT_EQUAL(OUString("TextField"), getProperty<OUString>(xField, "TextPortionType")); + // the date format was "YYYY-MM-DD", but now "YYYY. MMM DD." + CPPUNIT_ASSERT(xField->getString().indexOf(" ") > -1); +} + #if HAVE_FEATURE_PDFIUM void SwUiWriterTest::testInsertPdf() { diff --git a/sw/source/uibase/shells/textfld.cxx b/sw/source/uibase/shells/textfld.cxx index 929b731e6856..9b7d3b10a4fd 100644 --- a/sw/source/uibase/shells/textfld.cxx +++ b/sw/source/uibase/shells/textfld.cxx @@ -60,6 +60,7 @@ #include <svl/zformat.hxx> #include <IMark.hxx> #include <officecfg/Office/Compatibility.hxx> +#include <ndtxt.hxx> using namespace nsSwDocInfoSubType; @@ -605,9 +606,19 @@ void SwTextShell::ExecField(SfxRequest &rReq) break; case FN_INSERT_FLD_DATE : + { nInsertType = SwFieldTypesEnum::Date; bIsText = false; + // use long date format for Hungarian + SwPaM* pCursorPos = rSh.GetCursor(); + if( pCursorPos ) + { + LanguageType nLang = pCursorPos->GetPoint()->nNode.GetNode().GetTextNode()->GetLang(pCursorPos->GetPoint()->nContent.GetIndex()); + if (nLang == LANGUAGE_HUNGARIAN) + nInsertFormat = rSh.GetNumberFormatter()->GetFormatIndex(NF_DATE_SYSTEM_LONG, nLang); + } goto FIELD_INSERT; + } case FN_INSERT_FLD_TIME : nInsertType = SwFieldTypesEnum::Time; bIsText = false; |