summaryrefslogtreecommitdiff
path: root/cui
diff options
context:
space:
mode:
authorLászló Németh <nemeth@numbertext.org>2020-06-23 18:49:46 +0200
committerLászló Németh <nemeth@numbertext.org>2020-06-26 09:01:20 +0200
commit77b213890a96d144d9cfacdfd35ac0bba68b9f7a (patch)
treeed07e76887e1eae390a4492467c9bdd8140c0a7d /cui
parent46308ce281ae93e22c0b051b68dad1ee21c6646e (diff)
tdf#133524 add option to angle quote AutoCorrect
in Localized Options page of AutoCorrect Options dialog window: [x] Replace << and >> with angle quotes Note: this is optional part of Double Quotes replacement. Change-Id: Ib0c7e8837a89c3772c5db76720811d440e62183a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/97094 Tested-by: Jenkins Reviewed-by: László Németh <nemeth@numbertext.org>
Diffstat (limited to 'cui')
-rw-r--r--cui/inc/strings.hrc1
-rw-r--r--cui/source/inc/autocdlg.hxx1
-rw-r--r--cui/source/tabpages/autocdlg.cxx17
3 files changed, 18 insertions, 1 deletions
diff --git a/cui/inc/strings.hrc b/cui/inc/strings.hrc
index 20ec52202bc0..d54a0f9cd370 100644
--- a/cui/inc/strings.hrc
+++ b/cui/inc/strings.hrc
@@ -333,6 +333,7 @@
#define RID_SVXSTR_NON_BREAK_SPACE NC_("RID_SVXSTR_NON_BREAK_SPACE", "Add non-breaking space before specific punctuation marks in French text")
#define RID_SVXSTR_ORDINAL NC_("RID_SVXSTR_ORDINAL", "Format ordinal numbers suffixes (1st -> 1^st)")
#define RID_SVXSTR_OLD_HUNGARIAN NC_("RID_SVXSTR_OLD_HUNGARIAN", "Transliterate to Old Hungarian if the text direction is from right to left")
+#define RID_SVXSTR_ANGLE_QUOTES NC_("RID_SVXSTR_ANGLE_QUOTES", "Replace << and >> with angle quotes")
#define RID_SVXSTR_DEL_EMPTY_PARA NC_("RID_SVXSTR_DEL_EMPTY_PARA", "Remove blank paragraphs")
#define RID_SVXSTR_USER_STYLE NC_("RID_SVXSTR_USER_STYLE", "Replace Custom Styles")
#define RID_SVXSTR_BULLET NC_("RID_SVXSTR_BULLET", "Replace bullets with: %1")
diff --git a/cui/source/inc/autocdlg.hxx b/cui/source/inc/autocdlg.hxx
index 11eb7b9de89b..e0c780fe831e 100644
--- a/cui/source/inc/autocdlg.hxx
+++ b/cui/source/inc/autocdlg.hxx
@@ -269,6 +269,7 @@ private:
OUString sNonBrkSpace;
OUString sOrdinal;
OUString sTransliterateRTL;
+ OUString sAngleQuotes;
sal_UCS4 cSglStartQuote;
sal_UCS4 cSglEndQuote;
diff --git a/cui/source/tabpages/autocdlg.cxx b/cui/source/tabpages/autocdlg.cxx
index 807f0cd2d284..ef413c52d54d 100644
--- a/cui/source/tabpages/autocdlg.cxx
+++ b/cui/source/tabpages/autocdlg.cxx
@@ -1525,7 +1525,8 @@ enum OfaQuoteOptions
{
ADD_NONBRK_SPACE,
REPLACE_1ST,
- TRANSLITERATE_RTL
+ TRANSLITERATE_RTL,
+ REPLACE_ANGLE_QUOTES
};
}
@@ -1546,6 +1547,7 @@ OfaQuoteTabPage::OfaQuoteTabPage(weld::Container* pPage, weld::DialogController*
, sNonBrkSpace(CuiResId(RID_SVXSTR_NON_BREAK_SPACE))
, sOrdinal(CuiResId(RID_SVXSTR_ORDINAL))
, sTransliterateRTL(CuiResId(RID_SVXSTR_OLD_HUNGARIAN))
+ , sAngleQuotes(CuiResId(RID_SVXSTR_ANGLE_QUOTES))
, cSglStartQuote(0)
, cSglEndQuote(0)
, cStartQuote(0)
@@ -1620,6 +1622,7 @@ bool OfaQuoteTabPage::FillItemSet( SfxItemSet* )
pAutoCorrect->SetAutoCorrFlag(ACFlags::AddNonBrkSpace, m_xCheckLB->get_toggle(nPos++) == TRISTATE_TRUE);
pAutoCorrect->SetAutoCorrFlag(ACFlags::ChgOrdinalNumber, m_xCheckLB->get_toggle(nPos++) == TRISTATE_TRUE);
pAutoCorrect->SetAutoCorrFlag(ACFlags::TransliterateRTL, m_xCheckLB->get_toggle(nPos++) == TRISTATE_TRUE);
+ pAutoCorrect->SetAutoCorrFlag(ACFlags::ChgAngleQuotes, m_xCheckLB->get_toggle(nPos++) == TRISTATE_TRUE);
}
bool bModified = false;
@@ -1644,6 +1647,12 @@ bool OfaQuoteTabPage::FillItemSet( SfxItemSet* )
pOpt->bTransliterateRTL = bCheck;
pAutoCorrect->SetAutoCorrFlag(ACFlags::TransliterateRTL,
m_xSwCheckLB->get_toggle(TRANSLITERATE_RTL, CBCOL_SECOND) == TRISTATE_TRUE);
+
+ bCheck = m_xSwCheckLB->get_toggle(REPLACE_ANGLE_QUOTES, CBCOL_FIRST) == TRISTATE_TRUE;
+ bModified |= pOpt->bChgAngleQuotes != bCheck;
+ pOpt->bChgAngleQuotes = bCheck;
+ pAutoCorrect->SetAutoCorrFlag(ACFlags::ChgAngleQuotes,
+ m_xSwCheckLB->get_toggle(REPLACE_ANGLE_QUOTES, CBCOL_SECOND) == TRISTATE_TRUE);
}
pAutoCorrect->SetAutoCorrFlag(ACFlags::ChgQuotes, m_xDoubleTypoCB->get_active());
@@ -1704,6 +1713,7 @@ void OfaQuoteTabPage::Reset( const SfxItemSet* )
CreateEntry(*m_xSwCheckLB, sNonBrkSpace, CBCOL_BOTH, 2);
CreateEntry(*m_xSwCheckLB, sOrdinal, CBCOL_BOTH, 2);
CreateEntry(*m_xSwCheckLB, sTransliterateRTL, CBCOL_BOTH, 2);
+ CreateEntry(*m_xSwCheckLB, sAngleQuotes, CBCOL_BOTH, 2);
m_xSwCheckLB->set_toggle(ADD_NONBRK_SPACE, pOpt->bAddNonBrkSpace ? TRISTATE_TRUE : TRISTATE_FALSE, CBCOL_FIRST);
m_xSwCheckLB->set_toggle(ADD_NONBRK_SPACE, bool(nFlags & ACFlags::AddNonBrkSpace) ? TRISTATE_TRUE : TRISTATE_FALSE, CBCOL_SECOND);
@@ -1711,6 +1721,8 @@ void OfaQuoteTabPage::Reset( const SfxItemSet* )
m_xSwCheckLB->set_toggle(REPLACE_1ST, bool(nFlags & ACFlags::ChgOrdinalNumber) ? TRISTATE_TRUE : TRISTATE_FALSE, CBCOL_SECOND);
m_xSwCheckLB->set_toggle(TRANSLITERATE_RTL, pOpt->bTransliterateRTL ? TRISTATE_TRUE : TRISTATE_FALSE, CBCOL_FIRST);
m_xSwCheckLB->set_toggle(TRANSLITERATE_RTL, bool(nFlags & ACFlags::TransliterateRTL) ? TRISTATE_TRUE : TRISTATE_FALSE, CBCOL_SECOND);
+ m_xSwCheckLB->set_toggle(REPLACE_ANGLE_QUOTES, pOpt->bChgAngleQuotes ? TRISTATE_TRUE : TRISTATE_FALSE, CBCOL_FIRST);
+ m_xSwCheckLB->set_toggle(REPLACE_ANGLE_QUOTES, bool(nFlags & ACFlags::ChgAngleQuotes) ? TRISTATE_TRUE : TRISTATE_FALSE, CBCOL_SECOND);
m_xSwCheckLB->thaw();
}
@@ -1731,6 +1743,9 @@ void OfaQuoteTabPage::Reset( const SfxItemSet* )
m_xCheckLB->append();
m_xCheckLB->set_toggle(nPos, bool(nFlags & ACFlags::TransliterateRTL) ? TRISTATE_TRUE : TRISTATE_FALSE);
m_xCheckLB->set_text(nPos++, sTransliterateRTL, 0);
+ m_xCheckLB->append();
+ m_xCheckLB->set_toggle(nPos, bool(nFlags & ACFlags::ChgAngleQuotes) ? TRISTATE_TRUE : TRISTATE_FALSE);
+ m_xCheckLB->set_text(nPos++, sAngleQuotes, 0);
m_xCheckLB->thaw();
}