diff options
Diffstat (limited to 'cui/source/tabpages/autocdlg.cxx')
-rw-r--r-- | cui/source/tabpages/autocdlg.cxx | 130 |
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 ); |