summaryrefslogtreecommitdiffstats
path: root/cui/source/tabpages/autocdlg.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'cui/source/tabpages/autocdlg.cxx')
-rw-r--r--cui/source/tabpages/autocdlg.cxx130
1 files changed, 73 insertions, 57 deletions
diff --git a/cui/source/tabpages/autocdlg.cxx b/cui/source/tabpages/autocdlg.cxx
index e7a0883dc267..b7abdbcce907 100644
--- a/cui/source/tabpages/autocdlg.cxx
+++ b/cui/source/tabpages/autocdlg.cxx
@@ -17,8 +17,11 @@
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
+#include <sal/config.h>
+
#include <i18nutil/unicode.hxx>
#include <o3tl/safeint.hxx>
+#include <utility>
#include <vcl/event.hxx>
#include <vcl/keycodes.hxx>
#include <vcl/settings.hxx>
@@ -44,14 +47,13 @@
#include <autocdlg.hxx>
#include <editeng/acorrcfg.hxx>
#include <editeng/svxacorr.hxx>
-#include <cui/cuicharmap.hxx>
+#include <svx/cuicharmap.hxx>
#include <strings.hrc>
#include <dialmgr.hxx>
#include <svx/svxids.hrc>
static LanguageType eLastDialogLanguage = LANGUAGE_SYSTEM;
-using namespace ::com::sun::star::util;
using namespace ::com::sun::star;
OfaAutoCorrDlg::OfaAutoCorrDlg(weld::Window* pParent, const SfxItemSet* _pSet )
@@ -104,7 +106,7 @@ OfaAutoCorrDlg::OfaAutoCorrDlg(weld::Window* pParent, const SfxItemSet* _pSet )
//! will be set to LANGUAGE_UNDETERMINED
SvxLanguageListFlags nLangList = SvxLanguageListFlags::WESTERN;
- if( SvtCTLOptions().IsCTLFontEnabled() )
+ if( SvtCTLOptions::IsCTLFontEnabled() )
nLangList |= SvxLanguageListFlags::CTL;
if( SvtCJKOptions::IsCJKFontEnabled() )
nLangList |= SvxLanguageListFlags::CJK;
@@ -164,7 +166,7 @@ IMPL_LINK_NOARG(OfaAutoCorrDlg, SelectLanguageHdl, weld::ComboBox&, void)
if(eNewLang == eLastDialogLanguage)
return;
- OString sPageId = GetCurPageId();
+ OUString sPageId = GetCurPageId();
if (sPageId == "replace")
{
OfaAutocorrReplacePage* pPage = static_cast<OfaAutocorrReplacePage*>(GetTabPage(sPageId));
@@ -186,6 +188,7 @@ OfaAutocorrOptionsPage::OfaAutocorrOptionsPage(weld::Container* pPage, weld::Dia
, m_sStartCap(CuiResId(RID_CUISTR_CPTL_STT_SENT))
, m_sBoldUnderline(CuiResId(RID_CUISTR_BOLD_UNDER))
, m_sURL(CuiResId(RID_CUISTR_DETECT_URL))
+ , m_sDOI(CuiResId(RID_CUISTR_DETECT_DOI))
, m_sNoDblSpaces(CuiResId(RID_CUISTR_NO_DBL_SPACES))
, m_sDash(CuiResId(RID_CUISTR_DASH))
, m_sAccidentalCaps(CuiResId(RID_CUISTR_CORRECT_ACCIDENTAL_CAPS_LOCK))
@@ -220,6 +223,7 @@ bool OfaAutocorrOptionsPage::FillItemSet( SfxItemSet* )
pAutoCorrect->SetAutoCorrFlag(ACFlags::CapitalStartSentence, m_xCheckLB->get_toggle(nPos++) == TRISTATE_TRUE);
pAutoCorrect->SetAutoCorrFlag(ACFlags::ChgWeightUnderl, m_xCheckLB->get_toggle(nPos++) == TRISTATE_TRUE);
pAutoCorrect->SetAutoCorrFlag(ACFlags::SetINetAttr, m_xCheckLB->get_toggle(nPos++) == TRISTATE_TRUE);
+ pAutoCorrect->SetAutoCorrFlag(ACFlags::SetDOIAttr, m_xCheckLB->get_toggle(nPos++) == TRISTATE_TRUE);
pAutoCorrect->SetAutoCorrFlag(ACFlags::ChgToEnEmDash, m_xCheckLB->get_toggle(nPos++) == TRISTATE_TRUE);
pAutoCorrect->SetAutoCorrFlag(ACFlags::IgnoreDoubleSpace, m_xCheckLB->get_toggle(nPos++) == TRISTATE_TRUE);
pAutoCorrect->SetAutoCorrFlag(ACFlags::CorrectCapsLock, m_xCheckLB->get_toggle(nPos++) == TRISTATE_TRUE);
@@ -260,6 +264,7 @@ void OfaAutocorrOptionsPage::Reset( const SfxItemSet* )
InsertEntry(m_sStartCap);
InsertEntry(m_sBoldUnderline);
InsertEntry(m_sURL);
+ InsertEntry(m_sDOI);
InsertEntry(m_sDash);
InsertEntry(m_sNoDblSpaces);
InsertEntry(m_sAccidentalCaps);
@@ -270,6 +275,7 @@ void OfaAutocorrOptionsPage::Reset( const SfxItemSet* )
m_xCheckLB->set_toggle( nPos++, bool(nFlags & ACFlags::CapitalStartSentence) ? TRISTATE_TRUE : TRISTATE_FALSE );
m_xCheckLB->set_toggle( nPos++, bool(nFlags & ACFlags::ChgWeightUnderl) ? TRISTATE_TRUE : TRISTATE_FALSE );
m_xCheckLB->set_toggle( nPos++, bool(nFlags & ACFlags::SetINetAttr) ? TRISTATE_TRUE : TRISTATE_FALSE );
+ m_xCheckLB->set_toggle( nPos++, bool(nFlags & ACFlags::SetDOIAttr) ? TRISTATE_TRUE : TRISTATE_FALSE );
m_xCheckLB->set_toggle( nPos++, bool(nFlags & ACFlags::ChgToEnEmDash) ? TRISTATE_TRUE : TRISTATE_FALSE );
m_xCheckLB->set_toggle( nPos++, bool(nFlags & ACFlags::IgnoreDoubleSpace) ? TRISTATE_TRUE : TRISTATE_FALSE );
m_xCheckLB->set_toggle( nPos++, bool(nFlags & ACFlags::CorrectCapsLock) ? TRISTATE_TRUE : TRISTATE_FALSE );
@@ -330,12 +336,14 @@ enum OfaAutoFmtOptions
BEGIN_UPPER,
BOLD_UNDERLINE,
DETECT_URL,
+ DETECT_DOI,
REPLACE_DASHES,
DEL_SPACES_AT_STT_END,
DEL_SPACES_BETWEEN_LINES,
IGNORE_DBLSPACE,
CORRECT_CAPS_LOCK,
APPLY_NUMBERING,
+ APPLY_NUMBERING_AFTER_SPACE,
INSERT_BORDER,
CREATE_TABLE,
REPLACE_STYLES,
@@ -360,9 +368,11 @@ OfaSwAutoFmtOptionsPage::OfaSwAutoFmtOptionsPage(weld::Container* pPage, weld::D
, sNoDblSpaces(CuiResId(RID_CUISTR_NO_DBL_SPACES))
, sCorrectCapsLock(CuiResId(RID_CUISTR_CORRECT_ACCIDENTAL_CAPS_LOCK))
, sDetectURL(CuiResId(RID_CUISTR_DETECT_URL))
+ , sDetectDOI(CuiResId(RID_CUISTR_DETECT_DOI))
, sDash(CuiResId(RID_CUISTR_DASH))
, sRightMargin(CuiResId(RID_CUISTR_RIGHT_MARGIN))
, sNum(CuiResId(RID_CUISTR_NUM))
+ , sBulletsAfterSpace(CuiResId(RID_SVXSTR_NUM_FORMAT_AFTER_SPACE))
, sBorder(CuiResId(RID_CUISTR_BORDER))
, sTable(CuiResId(RID_CUISTR_CREATE_TABLE))
, sReplaceTemplates(CuiResId(RID_CUISTR_REPLACE_TEMPLATES))
@@ -374,7 +384,6 @@ OfaSwAutoFmtOptionsPage::OfaSwAutoFmtOptionsPage(weld::Container* pPage, weld::D
{
m_xCheckLB->connect_changed(LINK(this, OfaSwAutoFmtOptionsPage, SelectHdl));
m_xCheckLB->connect_row_activated(LINK(this, OfaSwAutoFmtOptionsPage, DoubleClickEditHdl));
- m_xCheckLB->enable_toggle_buttons(weld::ColumnToggleType::Check);
std::vector<int> aWidths
{
@@ -399,9 +408,9 @@ void OfaSwAutoFmtOptionsPage::CreateEntry(const OUString& rTxt, sal_uInt16 nCol)
OfaSwAutoFmtOptionsPage::~OfaSwAutoFmtOptionsPage()
{
- delete reinterpret_cast<ImpUserData*>(m_xCheckLB->get_id(REPLACE_BULLETS).toInt64());
- delete reinterpret_cast<ImpUserData*>(m_xCheckLB->get_id(APPLY_NUMBERING).toInt64());
- delete reinterpret_cast<ImpUserData*>(m_xCheckLB->get_id(MERGE_SINGLE_LINE_PARA).toInt64());
+ delete weld::fromId<ImpUserData*>(m_xCheckLB->get_id(REPLACE_BULLETS));
+ delete weld::fromId<ImpUserData*>(m_xCheckLB->get_id(APPLY_NUMBERING));
+ delete weld::fromId<ImpUserData*>(m_xCheckLB->get_id(MERGE_SINGLE_LINE_PARA));
}
std::unique_ptr<SfxTabPage> OfaSwAutoFmtOptionsPage::Create(weld::Container* pPage, weld::DialogController* pController,
@@ -453,6 +462,12 @@ bool OfaSwAutoFmtOptionsPage::FillItemSet( SfxItemSet* )
pAutoCorrect->SetAutoCorrFlag(ACFlags::SetINetAttr,
m_xCheckLB->get_toggle(DETECT_URL, CBCOL_SECOND) == TRISTATE_TRUE);
+ bCheck = m_xCheckLB->get_toggle(DETECT_DOI, CBCOL_FIRST) == TRISTATE_TRUE;
+ bModified |= pOpt->bSetDOIAttr != bCheck;
+ pOpt->bSetDOIAttr = bCheck;
+ pAutoCorrect->SetAutoCorrFlag(ACFlags::SetDOIAttr,
+ m_xCheckLB->get_toggle(DETECT_DOI, CBCOL_SECOND) == TRISTATE_TRUE);
+
bCheck = m_xCheckLB->get_toggle(DEL_EMPTY_NODE, CBCOL_FIRST) == TRISTATE_TRUE;
bModified |= pOpt->bDelEmptyNode != bCheck;
pOpt->bDelEmptyNode = bCheck;
@@ -484,6 +499,10 @@ bool OfaSwAutoFmtOptionsPage::FillItemSet( SfxItemSet* )
bModified |= pOpt->bSetNumRule != bCheck;
pOpt->bSetNumRule = bCheck;
+ bCheck = m_xCheckLB->get_toggle(APPLY_NUMBERING_AFTER_SPACE, CBCOL_SECOND) == TRISTATE_TRUE;
+ bModified |= pOpt->bSetNumRuleAfterSpace != bCheck;
+ pOpt->bSetNumRuleAfterSpace = bCheck;
+
bCheck = m_xCheckLB->get_toggle(INSERT_BORDER, CBCOL_SECOND) == TRISTATE_TRUE;
bModified |= pOpt->bSetBorder != bCheck;
pOpt->bSetBorder = bCheck;
@@ -556,6 +575,7 @@ void OfaSwAutoFmtOptionsPage::Reset( const SfxItemSet* )
CreateEntry(sCapitalStartSentence, CBCOL_BOTH );
CreateEntry(sBoldUnder, CBCOL_BOTH );
CreateEntry(sDetectURL, CBCOL_BOTH );
+ CreateEntry(sDetectDOI, CBCOL_BOTH );
CreateEntry(sDash, CBCOL_BOTH );
CreateEntry(sDelSpaceAtSttEnd, CBCOL_BOTH );
CreateEntry(sDelSpaceBetweenLines, CBCOL_BOTH );
@@ -563,6 +583,7 @@ void OfaSwAutoFmtOptionsPage::Reset( const SfxItemSet* )
CreateEntry(sNoDblSpaces, CBCOL_SECOND);
CreateEntry(sCorrectCapsLock, CBCOL_SECOND);
CreateEntry(sNum.replaceFirst("%1", sBulletChar), CBCOL_SECOND);
+ CreateEntry(sBulletsAfterSpace, CBCOL_SECOND);
CreateEntry(sBorder, CBCOL_SECOND);
CreateEntry(sTable, CBCOL_SECOND);
CreateEntry(sReplaceTemplates, CBCOL_SECOND);
@@ -581,6 +602,8 @@ void OfaSwAutoFmtOptionsPage::Reset( const SfxItemSet* )
m_xCheckLB->set_toggle(BOLD_UNDERLINE, bool(nFlags & ACFlags::ChgWeightUnderl) ? TRISTATE_TRUE : TRISTATE_FALSE, CBCOL_SECOND);
m_xCheckLB->set_toggle(DETECT_URL, pOpt->bSetINetAttr ? TRISTATE_TRUE : TRISTATE_FALSE, CBCOL_FIRST);
m_xCheckLB->set_toggle(DETECT_URL, bool(nFlags & ACFlags::SetINetAttr) ? TRISTATE_TRUE : TRISTATE_FALSE, CBCOL_SECOND);
+ m_xCheckLB->set_toggle(DETECT_DOI, pOpt->bSetDOIAttr ? TRISTATE_TRUE : TRISTATE_FALSE, CBCOL_FIRST);
+ m_xCheckLB->set_toggle(DETECT_DOI, bool(nFlags & ACFlags::SetDOIAttr) ? TRISTATE_TRUE : TRISTATE_FALSE, CBCOL_SECOND);
m_xCheckLB->set_toggle(REPLACE_DASHES, pOpt->bChgToEnEmDash ? TRISTATE_TRUE : TRISTATE_FALSE, CBCOL_FIRST);
m_xCheckLB->set_toggle(REPLACE_DASHES, bool(nFlags & ACFlags::ChgToEnEmDash) ? TRISTATE_TRUE : TRISTATE_FALSE, CBCOL_SECOND);
m_xCheckLB->set_toggle(DEL_SPACES_AT_STT_END, pOpt->bAFormatDelSpacesAtSttEnd ? TRISTATE_TRUE : TRISTATE_FALSE, CBCOL_FIRST);
@@ -590,6 +613,7 @@ void OfaSwAutoFmtOptionsPage::Reset( const SfxItemSet* )
m_xCheckLB->set_toggle(IGNORE_DBLSPACE, bool(nFlags & ACFlags::IgnoreDoubleSpace) ? TRISTATE_TRUE : TRISTATE_FALSE, CBCOL_SECOND);
m_xCheckLB->set_toggle(CORRECT_CAPS_LOCK, bool(nFlags & ACFlags::CorrectCapsLock) ? TRISTATE_TRUE : TRISTATE_FALSE, CBCOL_SECOND);
m_xCheckLB->set_toggle(APPLY_NUMBERING, pOpt->bSetNumRule ? TRISTATE_TRUE : TRISTATE_FALSE, CBCOL_SECOND);
+ m_xCheckLB->set_toggle(APPLY_NUMBERING_AFTER_SPACE, pOpt->bSetNumRuleAfterSpace ? TRISTATE_TRUE : TRISTATE_FALSE, CBCOL_SECOND);
m_xCheckLB->set_toggle(INSERT_BORDER, pOpt->bSetBorder ? TRISTATE_TRUE : TRISTATE_FALSE, CBCOL_SECOND);
m_xCheckLB->set_toggle(CREATE_TABLE, pOpt->bCreateTable ? TRISTATE_TRUE : TRISTATE_FALSE, CBCOL_SECOND);
m_xCheckLB->set_toggle(REPLACE_STYLES, pOpt->bReplaceStyles ? TRISTATE_TRUE : TRISTATE_FALSE, CBCOL_SECOND);
@@ -599,15 +623,15 @@ void OfaSwAutoFmtOptionsPage::Reset( const SfxItemSet* )
m_xCheckLB->set_toggle(MERGE_SINGLE_LINE_PARA, pOpt->bRightMargin ? TRISTATE_TRUE : TRISTATE_FALSE, CBCOL_FIRST);
ImpUserData* pUserData = new ImpUserData(&sBulletChar, &aBulletFont);
- OUString sId(OUString::number(reinterpret_cast<sal_Int64>(pUserData)));
+ OUString sId(weld::toId(pUserData));
m_xCheckLB->set_id(REPLACE_BULLETS, sId);
pUserData = new ImpUserData(&sMargin, nullptr);
- sId = OUString::number(reinterpret_cast<sal_Int64>(pUserData));
+ sId = weld::toId(pUserData);
m_xCheckLB->set_id(MERGE_SINGLE_LINE_PARA, sId);
ImpUserData* pUserData2 = new ImpUserData(&sByInputBulletChar, &aByInputBulletFont);
- sId = OUString::number(reinterpret_cast<sal_Int64>(pUserData2));
+ sId = weld::toId(pUserData2);
m_xCheckLB->set_id(APPLY_NUMBERING, sId);
m_xCheckLB->thaw();
@@ -630,7 +654,7 @@ IMPL_LINK_NOARG(OfaSwAutoFmtOptionsPage, EditHdl, weld::Button&, void)
if (nSelEntryPos == REPLACE_BULLETS || nSelEntryPos == APPLY_NUMBERING)
{
SvxCharacterMap aMapDlg(GetFrameWeld(), nullptr, nullptr);
- ImpUserData* pUserData = reinterpret_cast<ImpUserData*>(m_xCheckLB->get_id(nSelEntryPos).toInt64());
+ ImpUserData* pUserData = weld::fromId<ImpUserData*>(m_xCheckLB->get_id(nSelEntryPos));
aMapDlg.SetCharFont(*pUserData->pFont);
aMapDlg.SetChar( (*pUserData->pString)[0] );
if (RET_OK == aMapDlg.run())
@@ -665,6 +689,7 @@ IMPL_LINK_NOARG(OfaSwAutoFmtOptionsPage, EditHdl, weld::Button&, void)
OfaAutocorrReplacePage::OfaAutocorrReplacePage(weld::Container* pPage, weld::DialogController* pController,
const SfxItemSet& rSet)
: SfxTabPage(pPage, pController, "cui/ui/acorreplacepage.ui", "AcorReplacePage", &rSet)
+ , maCompareClass(comphelper::getProcessComponentContext())
, eLang(eLastDialogLanguage)
, bHasSelectionText(false)
, bFirstSelect(true)
@@ -696,9 +721,8 @@ OfaAutocorrReplacePage::OfaAutocorrReplacePage(weld::Container* pPage, weld::Dia
bSWriter = pMod == SfxModule::GetActiveModule();
LanguageTag aLanguageTag( eLastDialogLanguage );
- pCompareClass.reset( new CollatorWrapper( comphelper::getProcessComponentContext() ) );
- pCompareClass->loadDefaultCollator( aLanguageTag.getLocale(), 0 );
- pCharClass.reset( new CharClass( aLanguageTag ) );
+ maCompareClass.loadDefaultCollator( aLanguageTag.getLocale(), 0 );
+ pCharClass.reset( new CharClass( std::move(aLanguageTag) ) );
auto nColWidth = m_xReplaceTLB->get_approximate_digit_width() * 32;
m_aReplaceFixedWidths.push_back(nColWidth);
@@ -720,7 +744,6 @@ OfaAutocorrReplacePage::~OfaAutocorrReplacePage()
aDoubleStringTable.clear();
aChangesTable.clear();
- pCompareClass.reset();
pCharClass.reset();
}
@@ -768,7 +791,8 @@ bool OfaAutocorrReplacePage::FillItemSet( SfxItemSet* )
bool bKeepSourceFormatting = newEntry.pUserData == &bHasSelectionText;
if (bKeepSourceFormatting)
{
- pAutoCorrect->PutText(newEntry.sShort, *SfxObjectShell::Current(), eCurrentLang);
+ if (SfxObjectShell* pSh = SfxObjectShell::Current())
+ pAutoCorrect->PutText(newEntry.sShort, *pSh, eCurrentLang);
continue;
}
@@ -808,7 +832,7 @@ void OfaAutocorrReplacePage::RefillReplaceBox(bool bFromReset,
pArray->push_back(DoubleString(m_xReplaceTLB->get_text(rIter, 0),
m_xReplaceTLB->get_text(rIter, 1)));
DoubleString& rDouble = pArray->back();
- rDouble.pUserData = reinterpret_cast<void*>(m_xReplaceTLB->get_id(rIter).toInt64());
+ rDouble.pUserData = weld::fromId<void*>(m_xReplaceTLB->get_id(rIter));
return false;
});
}
@@ -829,7 +853,7 @@ void OfaAutocorrReplacePage::RefillReplaceBox(bool bFromReset,
if (!bTextOnly)
{
// that means: with format info or even with selection text
- OUString sId = OUString::number(reinterpret_cast<sal_Int64>(rDouble.pUserData));
+ OUString sId = weld::toId(rDouble.pUserData);
m_xReplaceTLB->set_id(rIter, sId);
}
m_xReplaceTLB->set_text(rIter, rDouble.sShort, 0);
@@ -855,7 +879,7 @@ void OfaAutocorrReplacePage::RefillReplaceBox(bool bFromReset,
if (!bTextOnly)
{
// that means: with format info or even with selection text
- OUString sId = OUString::number(reinterpret_cast<sal_Int64>(m_xTextOnlyCB.get()));
+ OUString sId = weld::toId(m_xTextOnlyCB.get());
m_xReplaceTLB->set_id(rIter, sId);
}
m_xReplaceTLB->set_text(rIter, elem.GetShort(), 0);
@@ -901,9 +925,9 @@ void OfaAutocorrReplacePage::SetLanguage(LanguageType eSet)
eLastDialogLanguage = eSet;
LanguageTag aLanguageTag( eLastDialogLanguage );
- pCompareClass.reset( new CollatorWrapper( comphelper::getProcessComponentContext() ) );
- pCompareClass->loadDefaultCollator( aLanguageTag.getLocale(), 0 );
- pCharClass.reset( new CharClass( aLanguageTag ) );
+ maCompareClass = CollatorWrapper( comphelper::getProcessComponentContext() );
+ maCompareClass.loadDefaultCollator( aLanguageTag.getLocale(), 0 );
+ pCharClass.reset( new CharClass( std::move(aLanguageTag) ) );
ModifyHdl(*m_xShortED);
}
}
@@ -916,7 +940,7 @@ IMPL_LINK(OfaAutocorrReplacePage, SelectHdl, weld::TreeView&, rBox, void)
OUString sTmpShort(rBox.get_text(nEntry, 0));
// if the text is set via ModifyHdl, the cursor is always at the beginning
// of a word, although you're editing here
- bool bSameContent = 0 == pCompareClass->compareString(sTmpShort, m_xShortED->get_text());
+ bool bSameContent = 0 == maCompareClass.compareString(sTmpShort, m_xShortED->get_text());
int nStartPos, nEndPos;
m_xShortED->get_selection_bounds(nStartPos, nEndPos);
if (m_xShortED->get_text() != sTmpShort)
@@ -1054,7 +1078,7 @@ bool OfaAutocorrReplacePage::NewDelHdl(const weld::Widget* pBtn)
int nCount = m_xReplaceTLB->n_children();
for (j = 0; j < nCount; ++j)
{
- if (0 >= pCompareClass->compareString(sEntry, m_xReplaceTLB->get_text(j, 0)))
+ if (0 >= maCompareClass.compareString(sEntry, m_xReplaceTLB->get_text(j, 0)))
break;
}
nPos = j;
@@ -1063,7 +1087,7 @@ bool OfaAutocorrReplacePage::NewDelHdl(const weld::Widget* pBtn)
OUString sId;
if (bKeepSourceFormatting)
{
- sId = OUString::number(reinterpret_cast<sal_Int64>(&bHasSelectionText)); // new formatted text
+ sId = weld::toId(&bHasSelectionText); // new formatted text
}
m_xReplaceTLB->insert(nPos, sEntry, &sId, nullptr, nullptr);
@@ -1107,7 +1131,7 @@ IMPL_LINK(OfaAutocorrReplacePage, ModifyHdl, weld::Entry&, rEdt, void)
&bTmpSelEntry, &bFirstSelIterSet,
&xFirstSel, &aWordStr](weld::TreeIter& rIter){
OUString aTestStr = m_xReplaceTLB->get_text(rIter, 0);
- if( pCompareClass->compareString(rEntry, aTestStr ) == 0 )
+ if( maCompareClass.compareString(rEntry, aTestStr ) == 0 )
{
if (!rRepString.isEmpty())
bFirstSelect = true;
@@ -1188,6 +1212,7 @@ static bool lcl_FindInArray(std::vector<OUString>& rStrings, std::u16string_view
OfaAutocorrExceptPage::OfaAutocorrExceptPage(weld::Container* pPage, weld::DialogController* pController, const SfxItemSet& rSet)
: SfxTabPage(pPage, pController, "cui/ui/acorexceptpage.ui", "AcorExceptPage", &rSet)
+ , maCompareClass(comphelper::getProcessComponentContext())
, eLang(eLastDialogLanguage)
, m_xAbbrevED(m_xBuilder->weld_entry("abbrev"))
, m_xAbbrevLB(m_xBuilder->weld_tree_view("abbrevlist"))
@@ -1207,8 +1232,7 @@ OfaAutocorrExceptPage::OfaAutocorrExceptPage(weld::Container* pPage, weld::Dialo
m_xDoubleCapsLB->set_size_request(-1, m_xDoubleCapsLB->get_height_rows(6));
css::lang::Locale aLcl( LanguageTag::convertToLocale(eLastDialogLanguage ));
- pCompareClass.reset( new CollatorWrapper( comphelper::getProcessComponentContext() ) );
- pCompareClass->loadDefaultCollator( aLcl, 0 );
+ maCompareClass.loadDefaultCollator( aLcl, 0 );
m_xNewAbbrevPB->connect_clicked(LINK(this, OfaAutocorrExceptPage, NewDelButtonHdl));
m_xDelAbbrevPB->connect_clicked(LINK(this, OfaAutocorrExceptPage, NewDelButtonHdl));
@@ -1227,7 +1251,6 @@ OfaAutocorrExceptPage::OfaAutocorrExceptPage(weld::Container* pPage, weld::Dialo
OfaAutocorrExceptPage::~OfaAutocorrExceptPage()
{
aStringsTable.clear();
- pCompareClass.reset();
}
std::unique_ptr<SfxTabPage> OfaAutocorrExceptPage::Create(weld::Container* pPage, weld::DialogController* pController,
@@ -1362,8 +1385,8 @@ void OfaAutocorrExceptPage::SetLanguage(LanguageType eSet)
// save old settings and fill anew
RefillReplaceBoxes(false, eLang, eSet);
eLastDialogLanguage = eSet;
- pCompareClass.reset( new CollatorWrapper( comphelper::getProcessComponentContext() ) );
- pCompareClass->loadDefaultCollator( LanguageTag::convertToLocale( eLastDialogLanguage ), 0 );
+ maCompareClass = CollatorWrapper( comphelper::getProcessComponentContext() );
+ maCompareClass.loadDefaultCollator( LanguageTag::convertToLocale( eLastDialogLanguage ), 0 );
ModifyHdl(*m_xAbbrevED);
ModifyHdl(*m_xDoubleCapsED);
}
@@ -1508,7 +1531,7 @@ IMPL_LINK(OfaAutocorrExceptPage, ModifyHdl, weld::Entry&, rEdt, void)
bool bEntryLen = !sEntry.isEmpty();
if (&rEdt == m_xAbbrevED.get())
{
- bool bSame = lcl_FindEntry(*m_xAbbrevLB, sEntry, *pCompareClass);
+ bool bSame = lcl_FindEntry(*m_xAbbrevLB, sEntry, maCompareClass);
if(bSame && sEntry != m_xAbbrevLB->get_selected_text())
rEdt.set_text(m_xAbbrevLB->get_selected_text());
m_xNewAbbrevPB->set_sensitive(!bSame && bEntryLen);
@@ -1516,7 +1539,7 @@ IMPL_LINK(OfaAutocorrExceptPage, ModifyHdl, weld::Entry&, rEdt, void)
}
else
{
- bool bSame = lcl_FindEntry(*m_xDoubleCapsLB, sEntry, *pCompareClass);
+ bool bSame = lcl_FindEntry(*m_xDoubleCapsLB, sEntry, maCompareClass);
if(bSame && sEntry != m_xDoubleCapsLB->get_selected_text())
rEdt.set_text(m_xDoubleCapsLB->get_selected_text());
m_xNewDoublePB->set_sensitive(!bSame && bEntryLen);
@@ -1584,7 +1607,6 @@ OfaQuoteTabPage::OfaQuoteTabPage(weld::Container* pPage, weld::DialogController*
if ( bShowSWOptions )
{
- m_xSwCheckLB->enable_toggle_buttons(weld::ColumnToggleType::Check);
std::vector<int> aWidths
{
o3tl::narrowing<int>(m_xSwCheckLB->get_pixel_size(m_xSwCheckLB->get_column_title(0)).Width() * 2),
@@ -1966,7 +1988,6 @@ bool OfaAutoCompleteTabPage::FillItemSet( SfxItemSet* )
bool bModified = false, bCheck;
SvxAutoCorrect* pAutoCorrect = SvxAutoCorrCfg::Get().GetAutoCorrect();
SvxSwAutoFormatFlags *pOpt = &pAutoCorrect->GetSwFlags();
- sal_uInt16 nVal;
bCheck = m_xCBActiv->get_active();
bModified |= pOpt->bAutoCompleteWords != bCheck;
@@ -1984,13 +2005,13 @@ bool OfaAutoCompleteTabPage::FillItemSet( SfxItemSet* )
bModified |= pOpt->bAutoCmpltShowAsTip != bCheck;
pOpt->bAutoCmpltShowAsTip = bCheck;
- nVal = static_cast<sal_uInt16>(m_xNFMinWordlen->get_value());
+ sal_uInt16 nVal = static_cast<sal_uInt16>(m_xNFMinWordlen->get_value());
bModified |= nVal != pOpt->nAutoCmpltWordLen;
pOpt->nAutoCmpltWordLen = nVal;
- nVal = static_cast<sal_uInt16>(m_xNFMaxEntries->get_value());
- bModified |= nVal != pOpt->nAutoCmpltListLen;
- pOpt->nAutoCmpltListLen = nVal;
+ sal_uInt32 nList = static_cast<sal_uInt32>(m_xNFMaxEntries->get_value());
+ bModified |= nList != pOpt->nAutoCmpltListLen;
+ pOpt->nAutoCmpltListLen = nList;
const int nPos = m_xDCBExpandKey->get_active();
if (nPos != -1)
@@ -2051,7 +2072,7 @@ void OfaAutoCompleteTabPage::Reset( const SfxItemSet* )
{
const OUString* pStr =
&(*m_pAutoCompleteList)[n]->GetAutoCompleteString();
- OUString sId(OUString::number(reinterpret_cast<sal_Int64>(pStr)));
+ OUString sId(weld::toId(pStr));
m_xLBEntries->append(sId, *pStr);
}
}
@@ -2077,7 +2098,7 @@ IMPL_LINK_NOARG(OfaAutoCompleteTabPage, DeleteHdl, weld::Button&, void)
while (!rows.empty())
{
sal_Int32 nPos = rows.back();
- OUString* pStr = reinterpret_cast<OUString*>(m_xLBEntries->get_id(nPos).toInt64());
+ OUString* pStr = weld::fromId<OUString*>(m_xLBEntries->get_id(nPos));
m_xLBEntries->remove(nPos);
editeng::IAutoCompleteString hack(*pStr); // UGLY
m_pAutoCompleteList->erase(&hack);
@@ -2113,12 +2134,7 @@ void OfaAutoCompleteTabPage::CopyToClipboard() const
for (auto a : rows)
{
- sData.append(OUStringToOString(m_xLBEntries->get_text(a), nEncode));
-#if defined(_WIN32)
- sData.append("\015\012");
-#else
- sData.append("\012");
-#endif
+ sData.append(OUStringToOString(m_xLBEntries->get_text(a), nEncode) + SAL_NEWLINE_STRING);
}
pCntnr->CopyByteString( SotClipboardFormatId::STRING, sData.makeStringAndClear() );
pCntnr->CopyToClipboard(m_xLBEntries->get_clipboard());
@@ -2184,11 +2200,11 @@ struct ImplSmartTagLBUserData
uno::Reference< smarttags::XSmartTagRecognizer > mxRec;
sal_Int32 mnSmartTagIdx;
- ImplSmartTagLBUserData( const OUString& rSmartTagType,
- uno::Reference< smarttags::XSmartTagRecognizer > const & xRec,
+ ImplSmartTagLBUserData( OUString aSmartTagType,
+ uno::Reference< smarttags::XSmartTagRecognizer > xRec,
sal_Int32 nSmartTagIdx ) :
- maSmartTagType( rSmartTagType ),
- mxRec( xRec ),
+ maSmartTagType(std::move( aSmartTagType )),
+ mxRec(std::move( xRec )),
mnSmartTagIdx( nSmartTagIdx ) {}
};
@@ -2201,7 +2217,7 @@ void OfaSmartTagOptionsTabPage::ClearListBox()
const int nCount = m_xSmartTagTypesLB->n_children();
for (int i = 0; i < nCount; ++i)
{
- const ImplSmartTagLBUserData* pUserData = reinterpret_cast<ImplSmartTagLBUserData*>(m_xSmartTagTypesLB->get_id(i).toInt64());
+ const ImplSmartTagLBUserData* pUserData = weld::fromId<ImplSmartTagLBUserData*>(m_xSmartTagTypesLB->get_id(i));
delete pUserData;
}
@@ -2241,7 +2257,7 @@ void OfaSmartTagOptionsTabPage::FillListBox( const SmartTagMgr& rSmartTagMgr )
const bool bCheck = rSmartTagMgr.IsSmartTagTypeEnabled( aSmartTagType );
m_xSmartTagTypesLB->set_toggle(nRow, bCheck ? TRISTATE_TRUE : TRISTATE_FALSE);
m_xSmartTagTypesLB->set_text(nRow, aLBEntry, 0);
- m_xSmartTagTypesLB->set_id(nRow, OUString::number(reinterpret_cast<sal_Int64>(new ImplSmartTagLBUserData(aSmartTagType, xRec, j))));
+ m_xSmartTagTypesLB->set_id(nRow, weld::toId(new ImplSmartTagLBUserData(aSmartTagType, xRec, j)));
}
}
}
@@ -2251,7 +2267,7 @@ void OfaSmartTagOptionsTabPage::FillListBox( const SmartTagMgr& rSmartTagMgr )
IMPL_LINK_NOARG(OfaSmartTagOptionsTabPage, ClickHdl, weld::Button&, void)
{
const int nPos = m_xSmartTagTypesLB->get_selected_index();
- const ImplSmartTagLBUserData* pUserData = reinterpret_cast<ImplSmartTagLBUserData*>(m_xSmartTagTypesLB->get_id(nPos).toInt64());
+ const ImplSmartTagLBUserData* pUserData = weld::fromId<ImplSmartTagLBUserData*>(m_xSmartTagTypesLB->get_id(nPos));
uno::Reference< smarttags::XSmartTagRecognizer > xRec = pUserData->mxRec;
const sal_Int32 nSmartTagIdx = pUserData->mnSmartTagIdx;
@@ -2283,7 +2299,7 @@ IMPL_LINK_NOARG(OfaSmartTagOptionsTabPage, SelectHdl, weld::TreeView&, void)
const int nPos = m_xSmartTagTypesLB->get_selected_index();
if (nPos == -1)
return;
- const ImplSmartTagLBUserData* pUserData = reinterpret_cast<ImplSmartTagLBUserData*>(m_xSmartTagTypesLB->get_id(nPos).toInt64());
+ const ImplSmartTagLBUserData* pUserData = weld::fromId<ImplSmartTagLBUserData*>(m_xSmartTagTypesLB->get_id(nPos));
uno::Reference< smarttags::XSmartTagRecognizer > xRec = pUserData->mxRec;
const sal_Int32 nSmartTagIdx = pUserData->mnSmartTagIdx;
@@ -2313,7 +2329,7 @@ bool OfaSmartTagOptionsTabPage::FillItemSet( SfxItemSet* )
for (int i = 0; i < nCount; ++i)
{
- const ImplSmartTagLBUserData* pUserData = reinterpret_cast<ImplSmartTagLBUserData*>(m_xSmartTagTypesLB->get_id(i).toInt64());
+ const ImplSmartTagLBUserData* pUserData = weld::fromId<ImplSmartTagLBUserData*>(m_xSmartTagTypesLB->get_id(i));
const bool bChecked = m_xSmartTagTypesLB->get_toggle(i) == TRISTATE_TRUE;
const bool bIsCurrentlyEnabled = pSmartTagMgr->IsSmartTagTypeEnabled( pUserData->maSmartTagType );