Related: tdf#147817 validateDatePatterns() also when (re-)setting/initializing

... so a bad pattern possibly stored in configuration gives a
visual indicator already on first view.

Also reset the edit indicator to normal when initializing from a
locale's default patterns.

Change-Id: Ib87b01e057bc1409eba6ccb4d2717a731d0773d2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141689
Reviewed-by: Eike Rathke <erack@redhat.com>
Tested-by: Jenkins
diff --git a/cui/source/options/optgdlg.cxx b/cui/source/options/optgdlg.cxx
index 38b6ae8..db81f85 100644
--- a/cui/source/options/optgdlg.cxx
+++ b/cui/source/options/optgdlg.cxx
@@ -1508,10 +1508,17 @@ void OfaLanguagesTabPage::Reset( const SfxItemSet* rSet )
    {
        const LocaleDataWrapper& rLocaleWrapper( Application::GetSettings().GetLocaleDataWrapper() );
        aDatePatternsString = lcl_getDatePatternsConfigString( rLocaleWrapper);
        // Let's assume patterns are valid at this point.
        m_bDatePatternsValid = true;
    }
    // Let's assume patterns are valid at this point.
    m_bDatePatternsValid = true;
    else
    {
        bool bModified = false;
        m_bDatePatternsValid = validateDatePatterns( bModified, aDatePatternsString);
    }
    m_xDatePatternsED->set_text(aDatePatternsString);
    m_xDatePatternsED->set_message_type( m_bDatePatternsValid ?
            weld::EntryMessageType::Normal : weld::EntryMessageType::Error);
    bReadonly = pLangConfig->aSysLocaleOptions.IsReadOnly(SvtSysLocaleOptions::EOption::DatePatterns);
    m_xDatePatternsED->set_sensitive(!bReadonly);
    m_xDatePatternsFT->set_sensitive(!bReadonly);
@@ -1691,6 +1698,7 @@ IMPL_LINK_NOARG(OfaLanguagesTabPage, LocaleSettingHdl, weld::ComboBox&, void)
    OUString aDatePatternsString = lcl_getDatePatternsConfigString( aLocaleWrapper);
    m_bDatePatternsValid = true;
    m_xDatePatternsED->set_text( aDatePatternsString);
    m_xDatePatternsED->set_message_type(weld::EntryMessageType::Normal);
}

IMPL_LINK( OfaLanguagesTabPage, DatePatternsHdl, weld::Entry&, rEd, void )