diff options
Diffstat (limited to 'svx/source')
-rw-r--r-- | svx/source/dialog/ThemeColorEditDialog.cxx | 2 | ||||
-rw-r--r-- | svx/source/dialog/cuicharmap.cxx | 4 | ||||
-rw-r--r-- | svx/source/dialog/framelinkarray.cxx | 4 | ||||
-rw-r--r-- | svx/source/dialog/srchdlg.cxx | 2 | ||||
-rw-r--r-- | svx/source/dialog/weldeditview.cxx | 18 | ||||
-rw-r--r-- | svx/source/sdr/contact/viewcontact.cxx | 2 | ||||
-rw-r--r-- | svx/source/sdr/contact/viewobjectcontact.cxx | 2 | ||||
-rw-r--r-- | svx/source/svdraw/svdedtv1.cxx | 2 | ||||
-rw-r--r-- | svx/source/svdraw/svdfmtf.cxx | 10 | ||||
-rw-r--r-- | svx/source/svdraw/svdmodel.cxx | 12 | ||||
-rw-r--r-- | svx/source/svdraw/svdmrkv.cxx | 2 | ||||
-rw-r--r-- | svx/source/svdraw/svdpdf.cxx | 19 | ||||
-rw-r--r-- | svx/source/svdraw/svdundo.cxx | 2 | ||||
-rw-r--r-- | svx/source/tbxctrls/tbcontrl.cxx | 14 | ||||
-rw-r--r-- | svx/source/tbxctrls/tbunosearchcontrollers.cxx | 139 |
15 files changed, 186 insertions, 48 deletions
diff --git a/svx/source/dialog/ThemeColorEditDialog.cxx b/svx/source/dialog/ThemeColorEditDialog.cxx index 9ec24b8fa43d..b3845f162bd6 100644 --- a/svx/source/dialog/ThemeColorEditDialog.cxx +++ b/svx/source/dialog/ThemeColorEditDialog.cxx @@ -12,7 +12,7 @@ namespace svx { -ThemeColorEditDialog::ThemeColorEditDialog(weld::Window* pParent, model::ColorSet& rColorSet) +ThemeColorEditDialog::ThemeColorEditDialog(weld::Window* pParent, const model::ColorSet& rColorSet) : GenericDialogController(pParent, u"svx/ui/themecoloreditdialog.ui"_ustr, u"ThemeColorEditDialog"_ustr) , maColorSet(rColorSet) diff --git a/svx/source/dialog/cuicharmap.cxx b/svx/source/dialog/cuicharmap.cxx index 84195ccd5543..964e540180c5 100644 --- a/svx/source/dialog/cuicharmap.cxx +++ b/svx/source/dialog/cuicharmap.cxx @@ -353,8 +353,8 @@ void SvxCharacterMap::insertCharToDoc(const OUString& sGlyph) sal_UCS4 cChar = sGlyph.iterateCodePoints(&o3tl::temporary(sal_Int32(0))); const SfxItemPool* pPool = m_xOutputSet->GetPool(); m_xOutputSet->Put( SfxStringItem( SID_CHARMAP, sGlyph ) ); - m_xOutputSet->Put( SvxFontItem( aFont.GetFamilyType(), aFont.GetFamilyName(), - aFont.GetStyleName(), aFont.GetPitch(), aFont.GetCharSet(), pPool->GetWhichIDFromSlotID(SID_ATTR_CHAR_FONT) ) ); + m_xOutputSet->Put( SvxFontItem( aFont.GetFamilyTypeMaybeAskConfig(), aFont.GetFamilyName(), + aFont.GetStyleName(), aFont.GetPitchMaybeAskConfig(), aFont.GetCharSet(), pPool->GetWhichIDFromSlotID(SID_ATTR_CHAR_FONT) ) ); m_xOutputSet->Put( SfxStringItem( SID_FONT_NAME, aFont.GetFamilyName() ) ); m_xOutputSet->Put( SfxInt32Item( SID_ATTR_CHAR, cChar ) ); } diff --git a/svx/source/dialog/framelinkarray.cxx b/svx/source/dialog/framelinkarray.cxx index e1b420762f3b..4c2b5259c3d5 100644 --- a/svx/source/dialog/framelinkarray.cxx +++ b/svx/source/dialog/framelinkarray.cxx @@ -285,7 +285,7 @@ namespace { struct RegisteredCellHash { - size_t operator()(Cell* const pCell) const + size_t operator()(const Cell* pCell) const { return pCell->hashCode(); } @@ -293,7 +293,7 @@ struct RegisteredCellHash struct RegisteredCellEquals { - bool operator()(Cell* const pCell1, Cell* const pCell2) const + bool operator()(const Cell* pCell1, const Cell* pCell2) const { return *pCell1 == *pCell2; } diff --git a/svx/source/dialog/srchdlg.cxx b/svx/source/dialog/srchdlg.cxx index 6d9d597e90d1..8e819010226a 100644 --- a/svx/source/dialog/srchdlg.cxx +++ b/svx/source/dialog/srchdlg.cxx @@ -2354,7 +2354,7 @@ SfxChildWinInfo SvxSearchDialogWrapper::GetInfo() const return aInfo; } -static void lcl_SetSearchLabelWindow(const OUString& rStr, SfxViewFrame& rViewFrame) +static void lcl_SetSearchLabelWindow(const OUString& rStr, const SfxViewFrame& rViewFrame) { css::uno::Reference< css::beans::XPropertySet > xPropSet( rViewFrame.GetFrame().GetFrameInterface(), css::uno::UNO_QUERY_THROW); diff --git a/svx/source/dialog/weldeditview.cxx b/svx/source/dialog/weldeditview.cxx index 18539c449b5b..77e0971ab799 100644 --- a/svx/source/dialog/weldeditview.cxx +++ b/svx/source/dialog/weldeditview.cxx @@ -112,15 +112,15 @@ void WeldEditView::makeEditEngine() vcl::Font aAppFont(Application::GetSettings().GetStyleSettings().GetAppFont()); - pItemPool->SetUserDefaultItem(SvxFontItem(aAppFont.GetFamilyType(), aAppFont.GetFamilyName(), - u""_ustr, PITCH_DONTKNOW, RTL_TEXTENCODING_DONTKNOW, - EE_CHAR_FONTINFO)); - pItemPool->SetUserDefaultItem(SvxFontItem(aAppFont.GetFamilyType(), aAppFont.GetFamilyName(), - u""_ustr, PITCH_DONTKNOW, RTL_TEXTENCODING_DONTKNOW, - EE_CHAR_FONTINFO_CJK)); - pItemPool->SetUserDefaultItem(SvxFontItem(aAppFont.GetFamilyType(), aAppFont.GetFamilyName(), - u""_ustr, PITCH_DONTKNOW, RTL_TEXTENCODING_DONTKNOW, - EE_CHAR_FONTINFO_CTL)); + pItemPool->SetUserDefaultItem(SvxFontItem(aAppFont.GetFamilyTypeMaybeAskConfig(), + aAppFont.GetFamilyName(), u""_ustr, PITCH_DONTKNOW, + RTL_TEXTENCODING_DONTKNOW, EE_CHAR_FONTINFO)); + pItemPool->SetUserDefaultItem(SvxFontItem(aAppFont.GetFamilyTypeMaybeAskConfig(), + aAppFont.GetFamilyName(), u""_ustr, PITCH_DONTKNOW, + RTL_TEXTENCODING_DONTKNOW, EE_CHAR_FONTINFO_CJK)); + pItemPool->SetUserDefaultItem(SvxFontItem(aAppFont.GetFamilyTypeMaybeAskConfig(), + aAppFont.GetFamilyName(), u""_ustr, PITCH_DONTKNOW, + RTL_TEXTENCODING_DONTKNOW, EE_CHAR_FONTINFO_CTL)); pItemPool->SetUserDefaultItem( SvxFontHeightItem(aAppFont.GetFontHeight() * 20, 100, EE_CHAR_FONTHEIGHT)); diff --git a/svx/source/sdr/contact/viewcontact.cxx b/svx/source/sdr/contact/viewcontact.cxx index e5a3b00d4d12..dab9c095f138 100644 --- a/svx/source/sdr/contact/viewcontact.cxx +++ b/svx/source/sdr/contact/viewcontact.cxx @@ -204,7 +204,7 @@ void ViewContact::ActionChanged() } // IASS: helper for IASS invalidates -void ViewContact::ActionChangedIfDifferentPageView(SdrPageView& rSdrPageView) +void ViewContact::ActionChangedIfDifferentPageView(const SdrPageView& rSdrPageView) { const sal_uInt32 nCount(maViewObjectContactVector.size()); diff --git a/svx/source/sdr/contact/viewobjectcontact.cxx b/svx/source/sdr/contact/viewobjectcontact.cxx index 728d03053a92..cc025c885110 100644 --- a/svx/source/sdr/contact/viewobjectcontact.cxx +++ b/svx/source/sdr/contact/viewobjectcontact.cxx @@ -251,7 +251,7 @@ void ViewObjectContact::ActionChanged() } // IASS: helper for IASS invalidates -void ViewObjectContact::ActionChangedIfDifferentPageView(SdrPageView& rSdrPageView) +void ViewObjectContact::ActionChangedIfDifferentPageView(const SdrPageView& rSdrPageView) { SdrPageView* pSdrPageView(GetObjectContact().TryToGetSdrPageView()); diff --git a/svx/source/svdraw/svdedtv1.cxx b/svx/source/svdraw/svdedtv1.cxx index 8618e92a60cc..963cdfbe837d 100644 --- a/svx/source/svdraw/svdedtv1.cxx +++ b/svx/source/svdraw/svdedtv1.cxx @@ -219,7 +219,7 @@ void SdrEditView::MoveMarkedObj(const Size& rSiz, bool bCopy) EndUndo(); } -bool SdrEditView::IsMarkedObjSizeValid(Size& aTargetSize) +bool SdrEditView::IsMarkedObjSizeValid(const Size& aTargetSize) { if (SdrMark* pM=GetMarkedObjectList().GetMark(0)) { diff --git a/svx/source/svdraw/svdfmtf.cxx b/svx/source/svdraw/svdfmtf.cxx index a79fb3a2f2a1..8cb0c248d59d 100644 --- a/svx/source/svdraw/svdfmtf.cxx +++ b/svx/source/svdraw/svdfmtf.cxx @@ -396,11 +396,11 @@ void ImpSdrGDIMetaFileImport::SetAttributes(SdrObject* pObj, bool bForceTextAttr vcl::Font aFnt(mpVD->GetFont()); const sal_uInt32 nHeight(basegfx::fround(implMap(aFnt.GetFontSize()).Height() * mfScaleY)); - mpTextAttr->Put( SvxFontItem( aFnt.GetFamilyType(), aFnt.GetFamilyName(), aFnt.GetStyleName(), aFnt.GetPitch(), aFnt.GetCharSet(), EE_CHAR_FONTINFO ) ); - mpTextAttr->Put( SvxFontItem( aFnt.GetFamilyType(), aFnt.GetFamilyName(), aFnt.GetStyleName(), aFnt.GetPitch(), aFnt.GetCharSet(), EE_CHAR_FONTINFO_CJK ) ); - mpTextAttr->Put( SvxFontItem( aFnt.GetFamilyType(), aFnt.GetFamilyName(), aFnt.GetStyleName(), aFnt.GetPitch(), aFnt.GetCharSet(), EE_CHAR_FONTINFO_CTL ) ); - mpTextAttr->Put(SvxPostureItem(aFnt.GetItalic(), EE_CHAR_ITALIC)); - mpTextAttr->Put(SvxWeightItem(aFnt.GetWeight(), EE_CHAR_WEIGHT)); + mpTextAttr->Put( SvxFontItem( aFnt.GetFamilyTypeMaybeAskConfig(), aFnt.GetFamilyName(), aFnt.GetStyleName(), aFnt.GetPitchMaybeAskConfig(), aFnt.GetCharSet(), EE_CHAR_FONTINFO ) ); + mpTextAttr->Put( SvxFontItem( aFnt.GetFamilyTypeMaybeAskConfig(), aFnt.GetFamilyName(), aFnt.GetStyleName(), aFnt.GetPitchMaybeAskConfig(), aFnt.GetCharSet(), EE_CHAR_FONTINFO_CJK ) ); + mpTextAttr->Put( SvxFontItem( aFnt.GetFamilyTypeMaybeAskConfig(), aFnt.GetFamilyName(), aFnt.GetStyleName(), aFnt.GetPitchMaybeAskConfig(), aFnt.GetCharSet(), EE_CHAR_FONTINFO_CTL ) ); + mpTextAttr->Put(SvxPostureItem(aFnt.GetItalicMaybeAskConfig(), EE_CHAR_ITALIC)); + mpTextAttr->Put(SvxWeightItem(aFnt.GetWeightMaybeAskConfig(), EE_CHAR_WEIGHT)); mpTextAttr->Put( SvxFontHeightItem( nHeight, 100, EE_CHAR_FONTHEIGHT ) ); mpTextAttr->Put( SvxFontHeightItem( nHeight, 100, EE_CHAR_FONTHEIGHT_CJK ) ); mpTextAttr->Put( SvxFontHeightItem( nHeight, 100, EE_CHAR_FONTHEIGHT_CTL ) ); diff --git a/svx/source/svdraw/svdmodel.cxx b/svx/source/svdraw/svdmodel.cxx index 5d83be0ebe10..c510ec95b6e0 100644 --- a/svx/source/svdraw/svdmodel.cxx +++ b/svx/source/svdraw/svdmodel.cxx @@ -651,28 +651,28 @@ void SdrModel::SetTextDefaults( SfxItemPool* pItemPool, sal_Int32 nDefTextHgt ) // get DEFAULTFONT_LATIN_TEXT and set at pool as dynamic default vcl::Font aFont(OutputDevice::GetDefaultFont(DefaultFontType::LATIN_TEXT, nLanguage, GetDefaultFontFlags::OnlyOne)); - aSvxFontItem.SetFamily(aFont.GetFamilyType()); + aSvxFontItem.SetFamily(aFont.GetFamilyTypeMaybeAskConfig()); aSvxFontItem.SetFamilyName(aFont.GetFamilyName()); aSvxFontItem.SetStyleName(OUString()); - aSvxFontItem.SetPitch( aFont.GetPitch()); + aSvxFontItem.SetPitch( aFont.GetPitchMaybeAskConfig()); aSvxFontItem.SetCharSet( aFont.GetCharSet() ); pItemPool->SetUserDefaultItem(aSvxFontItem); // get DEFAULTFONT_CJK_TEXT and set at pool as dynamic default vcl::Font aFontCJK(OutputDevice::GetDefaultFont(DefaultFontType::CJK_TEXT, nLanguage, GetDefaultFontFlags::OnlyOne)); - aSvxFontItemCJK.SetFamily( aFontCJK.GetFamilyType()); + aSvxFontItemCJK.SetFamily( aFontCJK.GetFamilyTypeMaybeAskConfig()); aSvxFontItemCJK.SetFamilyName(aFontCJK.GetFamilyName()); aSvxFontItemCJK.SetStyleName(OUString()); - aSvxFontItemCJK.SetPitch( aFontCJK.GetPitch()); + aSvxFontItemCJK.SetPitch( aFontCJK.GetPitchMaybeAskConfig()); aSvxFontItemCJK.SetCharSet( aFontCJK.GetCharSet()); pItemPool->SetUserDefaultItem(aSvxFontItemCJK); // get DEFAULTFONT_CTL_TEXT and set at pool as dynamic default vcl::Font aFontCTL(OutputDevice::GetDefaultFont(DefaultFontType::CTL_TEXT, nLanguage, GetDefaultFontFlags::OnlyOne)); - aSvxFontItemCTL.SetFamily(aFontCTL.GetFamilyType()); + aSvxFontItemCTL.SetFamily(aFontCTL.GetFamilyTypeMaybeAskConfig()); aSvxFontItemCTL.SetFamilyName(aFontCTL.GetFamilyName()); aSvxFontItemCTL.SetStyleName(OUString()); - aSvxFontItemCTL.SetPitch( aFontCTL.GetPitch() ); + aSvxFontItemCTL.SetPitch( aFontCTL.GetPitchMaybeAskConfig() ); aSvxFontItemCTL.SetCharSet( aFontCTL.GetCharSet()); pItemPool->SetUserDefaultItem(aSvxFontItemCTL); diff --git a/svx/source/svdraw/svdmrkv.cxx b/svx/source/svdraw/svdmrkv.cxx index 5c9db14b5402..fc5b6de517ff 100644 --- a/svx/source/svdraw/svdmrkv.cxx +++ b/svx/source/svdraw/svdmrkv.cxx @@ -814,7 +814,7 @@ namespace { } - const basegfx::B2DRange & getTextBounds(const sdr::contact::ViewObjectContact &rVOC, sdr::contact::DisplayInfo &raDisplayInfo) + const basegfx::B2DRange & getTextBounds(const sdr::contact::ViewObjectContact &rVOC, const sdr::contact::DisplayInfo &raDisplayInfo) { this->process(rVOC.getPrimitive2DSequence(raDisplayInfo)); return maTextRange; diff --git a/svx/source/svdraw/svdpdf.cxx b/svx/source/svdraw/svdpdf.cxx index b128a05fc13b..7c0251c8b0b1 100644 --- a/svx/source/svdraw/svdpdf.cxx +++ b/svx/source/svdraw/svdpdf.cxx @@ -344,14 +344,17 @@ void ImpSdrPdfImport::SetAttributes(SdrObject* pObj, bool bForceTextAttr) const sal_uInt32 nHeight( basegfx::fround<sal_uInt32>(aFnt.GetFontSize().Height() * mfScaleY)); - mpTextAttr->Put(SvxFontItem(aFnt.GetFamilyType(), aFnt.GetFamilyName(), aFnt.GetStyleName(), - aFnt.GetPitch(), aFnt.GetCharSet(), EE_CHAR_FONTINFO)); - mpTextAttr->Put(SvxFontItem(aFnt.GetFamilyType(), aFnt.GetFamilyName(), aFnt.GetStyleName(), - aFnt.GetPitch(), aFnt.GetCharSet(), EE_CHAR_FONTINFO_CJK)); - mpTextAttr->Put(SvxFontItem(aFnt.GetFamilyType(), aFnt.GetFamilyName(), aFnt.GetStyleName(), - aFnt.GetPitch(), aFnt.GetCharSet(), EE_CHAR_FONTINFO_CTL)); - mpTextAttr->Put(SvxPostureItem(aFnt.GetItalic(), EE_CHAR_ITALIC)); - mpTextAttr->Put(SvxWeightItem(aFnt.GetWeight(), EE_CHAR_WEIGHT)); + mpTextAttr->Put(SvxFontItem(aFnt.GetFamilyTypeMaybeAskConfig(), aFnt.GetFamilyName(), + aFnt.GetStyleName(), aFnt.GetPitchMaybeAskConfig(), + aFnt.GetCharSet(), EE_CHAR_FONTINFO)); + mpTextAttr->Put(SvxFontItem(aFnt.GetFamilyTypeMaybeAskConfig(), aFnt.GetFamilyName(), + aFnt.GetStyleName(), aFnt.GetPitchMaybeAskConfig(), + aFnt.GetCharSet(), EE_CHAR_FONTINFO_CJK)); + mpTextAttr->Put(SvxFontItem(aFnt.GetFamilyTypeMaybeAskConfig(), aFnt.GetFamilyName(), + aFnt.GetStyleName(), aFnt.GetPitchMaybeAskConfig(), + aFnt.GetCharSet(), EE_CHAR_FONTINFO_CTL)); + mpTextAttr->Put(SvxPostureItem(aFnt.GetItalicMaybeAskConfig(), EE_CHAR_ITALIC)); + mpTextAttr->Put(SvxWeightItem(aFnt.GetWeightMaybeAskConfig(), EE_CHAR_WEIGHT)); mpTextAttr->Put(SvxFontHeightItem(nHeight, 100, EE_CHAR_FONTHEIGHT)); mpTextAttr->Put(SvxFontHeightItem(nHeight, 100, EE_CHAR_FONTHEIGHT_CJK)); mpTextAttr->Put(SvxFontHeightItem(nHeight, 100, EE_CHAR_FONTHEIGHT_CTL)); diff --git a/svx/source/svdraw/svdundo.cxx b/svx/source/svdraw/svdundo.cxx index cac255f88603..8c0b2f375e06 100644 --- a/svx/source/svdraw/svdundo.cxx +++ b/svx/source/svdraw/svdundo.cxx @@ -630,7 +630,7 @@ OUString SdrUndoGeoObj::GetComment() const return ImpGetDescriptionStr(STR_DragMethObjOwn); } -SdrUndoDiagramModelData::SdrUndoDiagramModelData(SdrObject& rNewObj, svx::diagram::DiagramDataStatePtr& rStartState) +SdrUndoDiagramModelData::SdrUndoDiagramModelData(SdrObject& rNewObj, const svx::diagram::DiagramDataStatePtr& rStartState) : SdrUndoObj(rNewObj) , m_aStartState(rStartState) , m_aEndState() diff --git a/svx/source/tbxctrls/tbcontrl.cxx b/svx/source/tbxctrls/tbcontrl.cxx index f16e57ba609c..731b928ba53e 100644 --- a/svx/source/tbxctrls/tbcontrl.cxx +++ b/svx/source/tbxctrls/tbcontrl.cxx @@ -1328,7 +1328,7 @@ static bool SetFont(const SfxItemSet& rSet, sal_uInt16 nSlot, SvxFont& rFont) return false; } -static bool SetFontSize(vcl::RenderContext& rRenderContext, const SfxItemSet& rSet, sal_uInt16 nSlot, SvxFont& rFont) +static bool SetFontSize(const vcl::RenderContext& rRenderContext, const SfxItemSet& rSet, sal_uInt16 nSlot, SvxFont& rFont) { sal_uInt16 nWhich; if (GetWhich(rSet, nSlot, nWhich)) @@ -1793,7 +1793,7 @@ void SvxFontNameBox_Base::CheckAndMarkUnknownFont() vcl::Font font = m_xWidget->get_entry_font(); if (fontname.isEmpty() || CheckFontIsAvailable(fontname)) { - if( font.GetItalic() != ITALIC_NONE ) + if( font.GetItalicMaybeAskConfig() != ITALIC_NONE ) { font.SetItalic( ITALIC_NONE ); m_xWidget->set_entry_font(font); @@ -1802,7 +1802,7 @@ void SvxFontNameBox_Base::CheckAndMarkUnknownFont() } else { - if( font.GetItalic() != ITALIC_NORMAL ) + if( font.GetItalicMaybeAskConfig() != ITALIC_NORMAL ) { font.SetItalic( ITALIC_NORMAL ); m_xWidget->set_entry_font(font); @@ -1986,14 +1986,14 @@ void SvxFontNameBox_Base::Select(bool bNonTravelSelect) if ( pFontList ) { FontMetric aFontMetric( pFontList->Get(m_xWidget->get_active_text(), - aCurFont.GetWeight(), - aCurFont.GetItalic() ) ); + aCurFont.GetWeightMaybeAskConfig(), + aCurFont.GetItalicMaybeAskConfig() ) ); aCurFont = aFontMetric; - pFontItem.reset( new SvxFontItem( aFontMetric.GetFamilyType(), + pFontItem.reset( new SvxFontItem( aFontMetric.GetFamilyTypeMaybeAskConfig(), aFontMetric.GetFamilyName(), aFontMetric.GetStyleName(), - aFontMetric.GetPitch(), + aFontMetric.GetPitchMaybeAskConfig(), aFontMetric.GetCharSet(), SID_ATTR_CHAR_FONT ) ); diff --git a/svx/source/tbxctrls/tbunosearchcontrollers.cxx b/svx/source/tbxctrls/tbunosearchcontrollers.cxx index b385b976d4b8..db1a1698adc0 100644 --- a/svx/source/tbxctrls/tbunosearchcontrollers.cxx +++ b/svx/source/tbxctrls/tbunosearchcontrollers.cxx @@ -72,6 +72,7 @@ constexpr OUString COMMAND_DOWNSEARCH = u".uno:DownSearch"_ustr; constexpr OUString COMMAND_UPSEARCH = u".uno:UpSearch"_ustr; constexpr OUStringLiteral COMMAND_FINDALL = u".uno:FindAll"; constexpr OUString COMMAND_MATCHCASE = u".uno:MatchCase"_ustr; +constexpr OUString COMMAND_MATCHDIACRITICS = u".uno:MatchDiacritics"_ustr; constexpr OUString COMMAND_SEARCHFORMATTED = u".uno:SearchFormattedDisplayString"_ustr; class CheckButtonItemWindow final : public InterimItemWindow @@ -93,6 +94,12 @@ public: return m_xWidget->get_active(); } + void set_active(bool bActive) + { + if (m_xWidget) + m_xWidget->set_active(bActive); + } + virtual void dispose() override { m_xWidget.reset(); @@ -128,6 +135,7 @@ void impl_executeSearch( const css::uno::Reference< css::uno::XComponentContext OUString sFindText; bool aMatchCase = false; + bool aMatchDiacritics = false; bool bSearchFormatted = false; if ( pToolBox ) { @@ -150,6 +158,11 @@ void impl_executeSearch( const css::uno::Reference< css::uno::XComponentContext CheckButtonItemWindow* pItemWin = static_cast<CheckButtonItemWindow*>(pToolBox->GetItemWindow(id)); if (pItemWin) aMatchCase = pItemWin->get_active(); + } else if ( sItemCommand == COMMAND_MATCHDIACRITICS ) + { + CheckButtonItemWindow* pItemWin = static_cast<CheckButtonItemWindow*>(pToolBox->GetItemWindow(id)); + if (pItemWin) + aMatchDiacritics = pItemWin->get_active(); } else if ( sItemCommand == COMMAND_SEARCHFORMATTED ) { CheckButtonItemWindow* pItemWin = static_cast<CheckButtonItemWindow*>(pToolBox->GetItemWindow(id)); @@ -162,9 +175,10 @@ void impl_executeSearch( const css::uno::Reference< css::uno::XComponentContext TransliterationFlags nFlags = TransliterationFlags::NONE; if (!aMatchCase) nFlags |= TransliterationFlags::IGNORE_CASE; + if (!aMatchDiacritics) + nFlags |= TransliterationFlags::IGNORE_DIACRITICS_CTL; if (SvtCTLOptions::IsCTLFontEnabled()) - nFlags |= TransliterationFlags::IGNORE_DIACRITICS_CTL - | TransliterationFlags::IGNORE_KASHIDA_CTL; + nFlags |= TransliterationFlags::IGNORE_KASHIDA_CTL; auto aArgs( comphelper::InitPropertySequence( { { "SearchItem.SearchString", css::uno::Any( sFindText ) }, @@ -825,6 +839,8 @@ public: // XStatusListener virtual void SAL_CALL statusChanged( const css::frame::FeatureStateEvent& rEvent ) override; + virtual void SAL_CALL click() override; + private: VclPtr<CheckButtonItemWindow> m_xMatchCaseControl; }; @@ -893,6 +909,117 @@ void SAL_CALL MatchCaseToolboxController::statusChanged( const css::frame::Featu { } +void SAL_CALL MatchCaseToolboxController::click() +{ + if (m_xMatchCaseControl) + { + bool bCurrent = m_xMatchCaseControl->get_active(); + m_xMatchCaseControl->set_active(!bCurrent); + } +} + +typedef cppu::ImplInheritanceHelper< ::svt::ToolboxController, css::lang::XServiceInfo> MatchDiacriticsToolboxController_Base; +class MatchDiacriticsToolboxController : public MatchDiacriticsToolboxController_Base +{ +public: + MatchDiacriticsToolboxController( const css::uno::Reference< css::uno::XComponentContext >& rxContext ); + + // XServiceInfo + virtual OUString SAL_CALL getImplementationName() override; + virtual sal_Bool SAL_CALL supportsService( const OUString& ServiceName ) override; + virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override; + + // XComponent + virtual void SAL_CALL dispose() override; + + // XInitialization + virtual void SAL_CALL initialize( const css::uno::Sequence< css::uno::Any >& aArguments ) override; + + // XToolbarController + virtual css::uno::Reference< css::awt::XWindow > SAL_CALL createItemWindow( const css::uno::Reference< css::awt::XWindow >& Parent ) override; + + // XStatusListener + virtual void SAL_CALL statusChanged( const css::frame::FeatureStateEvent& rEvent ) override; + + virtual void SAL_CALL click() override; + +private: + VclPtr<CheckButtonItemWindow> m_xMatchDiacriticsControl; +}; + +MatchDiacriticsToolboxController::MatchDiacriticsToolboxController( const css::uno::Reference< css::uno::XComponentContext >& rxContext ) + : MatchDiacriticsToolboxController_Base( rxContext, + css::uno::Reference< css::frame::XFrame >(), + COMMAND_MATCHDIACRITICS ) + , m_xMatchDiacriticsControl(nullptr) +{ +} + +// XServiceInfo +OUString SAL_CALL MatchDiacriticsToolboxController::getImplementationName() +{ + return u"com.sun.star.svx.MatchDiacriticsToolboxController"_ustr; +} + +sal_Bool SAL_CALL MatchDiacriticsToolboxController::supportsService( const OUString& ServiceName ) +{ + return cppu::supportsService(this, ServiceName); +} + +css::uno::Sequence< OUString > SAL_CALL MatchDiacriticsToolboxController::getSupportedServiceNames() +{ + return { u"com.sun.star.frame.ToolbarController"_ustr }; +} + +// XComponent +void SAL_CALL MatchDiacriticsToolboxController::dispose() +{ + SolarMutexGuard aSolarMutexGuard; + + SearchToolbarControllersManager::createControllersManager().freeController(m_xFrame, m_aCommandURL); + + svt::ToolboxController::dispose(); + + m_xMatchDiacriticsControl.disposeAndClear(); +} + +// XInitialization +void SAL_CALL MatchDiacriticsToolboxController::initialize( const css::uno::Sequence< css::uno::Any >& aArguments ) +{ + svt::ToolboxController::initialize(aArguments); + + SearchToolbarControllersManager::createControllersManager().registryController(m_xFrame, css::uno::Reference< css::frame::XStatusListener >(this), m_aCommandURL); +} + +css::uno::Reference< css::awt::XWindow > SAL_CALL MatchDiacriticsToolboxController::createItemWindow( const css::uno::Reference< css::awt::XWindow >& xParent ) +{ + css::uno::Reference< css::awt::XWindow > xItemWindow; + + VclPtr<vcl::Window> pParent = VCLUnoHelper::GetWindow( xParent ); + if ( pParent ) + { + ToolBox* pToolbar = static_cast<ToolBox*>(pParent.get()); + m_xMatchDiacriticsControl = VclPtr<CheckButtonItemWindow>::Create(pToolbar, SvxResId(RID_SVXSTR_FINDBAR_MATCHDIACRITICS)); + } + xItemWindow = VCLUnoHelper::GetInterface(m_xMatchDiacriticsControl); + + return xItemWindow; +} + +// XStatusListener +void SAL_CALL MatchDiacriticsToolboxController::statusChanged( const css::frame::FeatureStateEvent& ) +{ +} + +void SAL_CALL MatchDiacriticsToolboxController::click() +{ + if (m_xMatchDiacriticsControl) + { + bool bCurrent = m_xMatchDiacriticsControl->get_active(); + m_xMatchDiacriticsControl->set_active(!bCurrent); + } +} + typedef cppu::ImplInheritanceHelper< ::svt::ToolboxController, css::lang::XServiceInfo> SearchFormattedToolboxController_Base; class SearchFormattedToolboxController : public SearchFormattedToolboxController_Base { @@ -1483,6 +1610,14 @@ com_sun_star_svx_MatchCaseToolboxController_get_implementation( } extern "C" SAL_DLLPUBLIC_EXPORT css::uno::XInterface * +com_sun_star_svx_MatchDiacriticsToolboxController_get_implementation( + css::uno::XComponentContext *context, + css::uno::Sequence<css::uno::Any> const &) +{ + return cppu::acquire(new MatchDiacriticsToolboxController(context)); +} + +extern "C" SAL_DLLPUBLIC_EXPORT css::uno::XInterface * com_sun_star_svx_SearchFormattedToolboxController_get_implementation( css::uno::XComponentContext *context, css::uno::Sequence<css::uno::Any> const &) |