cui/source/options/appearance.cxx | 69 +++++++++++++++----------------------- cui/source/options/appearance.hxx | 2 - 2 files changed, 29 insertions(+), 42 deletions(-)
New commits: commit 119aa2a770e54fa28f41dae3ca55f883393266ce Author: Caolán McNamara <[email protected]> AuthorDate: Sun Dec 22 12:53:56 2024 +0000 Commit: Caolán McNamara <[email protected]> CommitDate: Sun Dec 22 15:38:21 2024 +0100 reduce the amount of casting Change-Id: I70f5607d8d5ccdadf1f5c69c846c93821f7681df Reviewed-on: https://gerrit.libreoffice.org/c/core/+/179141 Tested-by: Caolán McNamara <[email protected]> Reviewed-by: Caolán McNamara <[email protected]> diff --git a/cui/source/options/appearance.cxx b/cui/source/options/appearance.cxx index 1eb7e230dcb8..cd7d33ca5058 100644 --- a/cui/source/options/appearance.cxx +++ b/cui/source/options/appearance.cxx @@ -124,7 +124,7 @@ void SvxAppearanceTabPage::UpdateControlsState() m_xColorChangeBtn->set_sensitive(bEnableControls); m_xShowInDocumentChkBtn->set_sensitive(bEnableControls); m_xColorRadioBtn->set_sensitive(bEnableControls); - EnableImageControls(bEnableControls && GetActiveEntry() == static_cast<int>(APPBACKGROUND)); + EnableImageControls(bEnableControls && GetActiveEntry() == APPBACKGROUND); } void SvxAppearanceTabPage::LoadSchemeList() @@ -229,13 +229,12 @@ void SvxAppearanceTabPage::Reset(const SfxItemSet* /* rSet */) IMPL_LINK_NOARG(SvxAppearanceTabPage, ShowInDocumentHdl, weld::Toggleable&, void) { // get selected entry index and ColorConfigValue - size_t nEntry = GetActiveEntry(); - ColorConfigValue aCurrentEntryColor - = pColorConfig->GetColorValue(static_cast<ColorConfigEntry>(nEntry)); + ColorConfigEntry nEntry = GetActiveEntry(); + ColorConfigValue aCurrentEntryColor = pColorConfig->GetColorValue(nEntry); // set colorconfig value aCurrentEntryColor.bIsVisible = m_xShowInDocumentChkBtn->get_active(); - pColorConfig->SetColorValue(static_cast<ColorConfigEntry>(nEntry), aCurrentEntryColor); + pColorConfig->SetColorValue(nEntry, aCurrentEntryColor); } IMPL_LINK_NOARG(SvxAppearanceTabPage, AppearanceChangeHdl, weld::Toggleable&, void) @@ -254,13 +253,11 @@ IMPL_LINK_NOARG(SvxAppearanceTabPage, AppearanceChangeHdl, weld::Toggleable&, vo IMPL_LINK_NOARG(SvxAppearanceTabPage, ColorEntryChgHdl, weld::ComboBox&, void) { // get selected entry index and ColorConfigValue - size_t nEntry = GetActiveEntry(); - const ColorConfigValue& rCurrentEntryColor - = pColorConfig->GetColorValue(static_cast<ColorConfigEntry>(nEntry)); + ColorConfigEntry nEntry = GetActiveEntry(); + const ColorConfigValue& rCurrentEntryColor = pColorConfig->GetColorValue(nEntry); // set automatic colors - m_xColorChangeBtn->SetAutoDisplayColor( - ColorConfig::GetDefaultColor(static_cast<ColorConfigEntry>(nEntry))); + m_xColorChangeBtn->SetAutoDisplayColor(ColorConfig::GetDefaultColor(nEntry)); // set values for the entry if (IsDarkModeEnabled()) m_xColorChangeBtn->SelectEntry(rCurrentEntryColor.nDarkColor); @@ -306,9 +303,8 @@ IMPL_LINK_NOARG(SvxAppearanceTabPage, ColorEntryChgHdl, weld::ComboBox&, void) IMPL_LINK_NOARG(SvxAppearanceTabPage, ColorValueChgHdl, ColorListBox&, void) { // get the active entry - size_t nEntry = GetActiveEntry(); - ColorConfigValue aCurrentEntryColor - = pColorConfig->GetColorValue(static_cast<ColorConfigEntry>(nEntry)); + ColorConfigEntry nEntry = GetActiveEntry(); + ColorConfigValue aCurrentEntryColor = pColorConfig->GetColorValue(nEntry); // restart only for the UI colors if (nEntry >= WINDOWCOLOR) @@ -325,7 +321,7 @@ IMPL_LINK_NOARG(SvxAppearanceTabPage, ColorValueChgHdl, ColorListBox&, void) // making the whole thing super slow (comparatively). aCurrentEntryColor.nColor = m_xColorChangeBtn->GetSelectEntryColor(); - pColorConfig->SetColorValue(static_cast<ColorConfigEntry>(nEntry), aCurrentEntryColor); + pColorConfig->SetColorValue(nEntry, aCurrentEntryColor); } IMPL_LINK_NOARG(SvxAppearanceTabPage, SchemeChangeHdl, weld::ComboBox&, void) @@ -408,40 +404,37 @@ IMPL_LINK(SvxAppearanceTabPage, AddRemoveSchemeHdl, weld::Button&, rButton, void IMPL_LINK_NOARG(SvxAppearanceTabPage, ColorImageToggleHdl, weld::Toggleable&, void) { // get the active entry - size_t nEntry = GetActiveEntry(); - ColorConfigValue aCurrentEntryColor - = pColorConfig->GetColorValue(static_cast<ColorConfigEntry>(nEntry)); + ColorConfigEntry nEntry = GetActiveEntry(); + ColorConfigValue aCurrentEntryColor = pColorConfig->GetColorValue(nEntry); aCurrentEntryColor.bUseBitmapBackground = !m_xColorRadioBtn->get_active(); - pColorConfig->SetColorValue(static_cast<ColorConfigEntry>(nEntry), aCurrentEntryColor); + pColorConfig->SetColorValue(nEntry, aCurrentEntryColor); m_bRestartRequired = true; } IMPL_LINK_NOARG(SvxAppearanceTabPage, StretchedTiledToggleHdl, weld::Toggleable&, void) { // get the active entry - size_t nEntry = GetActiveEntry(); - ColorConfigValue aCurrentEntryColor - = pColorConfig->GetColorValue(static_cast<ColorConfigEntry>(nEntry)); + ColorConfigEntry nEntry = GetActiveEntry(); + ColorConfigValue aCurrentEntryColor = pColorConfig->GetColorValue(nEntry); aCurrentEntryColor.bIsBitmapStretched = m_xStretchedRadioBtn->get_active(); - pColorConfig->SetColorValue(static_cast<ColorConfigEntry>(nEntry), aCurrentEntryColor); + pColorConfig->SetColorValue(nEntry, aCurrentEntryColor); m_bRestartRequired = true; } IMPL_LINK_NOARG(SvxAppearanceTabPage, BitmapChangeHdl, weld::ComboBox&, void) { // get the active entry - size_t nEntry = GetActiveEntry(); - ColorConfigValue aCurrentEntryColor - = pColorConfig->GetColorValue(static_cast<ColorConfigEntry>(nEntry)); + ColorConfigEntry nEntry = GetActiveEntry(); + ColorConfigValue aCurrentEntryColor = pColorConfig->GetColorValue(nEntry); // save the bitmap file name aCurrentEntryColor.sBitmapFileName = getBitmapList()[m_xBitmapDropDownBtn->get_active()].aBitmapFileName; - pColorConfig->SetColorValue(static_cast<ColorConfigEntry>(nEntry), aCurrentEntryColor); + pColorConfig->SetColorValue(nEntry, aCurrentEntryColor); m_bRestartRequired = true; } @@ -549,13 +542,11 @@ void SvxAppearanceTabPage::UpdateColorDropdown() } // update color to light/dark - size_t nEntry = GetActiveEntry(); - const ColorConfigValue& rCurrentEntryColor - = pColorConfig->GetColorValue(static_cast<ColorConfigEntry>(nEntry)); + ColorConfigEntry nEntry = GetActiveEntry(); + const ColorConfigValue& rCurrentEntryColor = pColorConfig->GetColorValue(nEntry); // set automatic colors - m_xColorChangeBtn->SetAutoDisplayColor( - ColorConfig::GetDefaultColor(static_cast<ColorConfigEntry>(nEntry))); + m_xColorChangeBtn->SetAutoDisplayColor(ColorConfig::GetDefaultColor(nEntry)); // set values for the entry if (IsDarkModeEnabled()) m_xColorChangeBtn->SelectEntry(rCurrentEntryColor.nDarkColor); @@ -728,16 +719,15 @@ void SvxAppearanceTabPage::FillItemsList() aRegistryEntries.at(static_cast<ColorConfigEntry>(i))); } -size_t SvxAppearanceTabPage::GetActiveEntry() +ColorConfigEntry SvxAppearanceTabPage::GetActiveEntry() { OUString sEntryId = m_xColorEntryBtn->get_active_id(); - int nEntry = 0; - for (; nEntry < ColorConfigEntryCount; ++nEntry) + for (int nEntry = 0; nEntry < ColorConfigEntryCount; ++nEntry) { if (sEntryId == cNames[nEntry].cName) - break; + return static_cast<ColorConfigEntry>(nEntry); } - return nEntry; + return ColorConfigEntryCount; } /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cui/source/options/appearance.hxx b/cui/source/options/appearance.hxx index 7675d54e3bc4..b6c78c69cf0b 100644 --- a/cui/source/options/appearance.hxx +++ b/cui/source/options/appearance.hxx @@ -88,7 +88,7 @@ private: void UpdateOldAppearance(); bool IsDarkModeEnabled(); void FillItemsList(); - size_t GetActiveEntry(); + ColorConfigEntry GetActiveEntry(); public: SvxAppearanceTabPage(weld::Container* pPage, weld::DialogController* pController, commit 3efd05df94e417d4534ef5446c947f83b2c71072 Author: Caolán McNamara <[email protected]> AuthorDate: Sun Dec 22 12:43:21 2024 +0000 Commit: Caolán McNamara <[email protected]> CommitDate: Sun Dec 22 15:38:10 2024 +0100 cid#1636857 Dereference before null check Change-Id: Ib4411323cb5b1e1a44c56e890b6c0c1266d93eb7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/179140 Reviewed-by: Caolán McNamara <[email protected]> Tested-by: Caolán McNamara <[email protected]> diff --git a/cui/source/options/appearance.cxx b/cui/source/options/appearance.cxx index 7f2f09ac8341..1eb7e230dcb8 100644 --- a/cui/source/options/appearance.cxx +++ b/cui/source/options/appearance.cxx @@ -221,11 +221,8 @@ void SvxAppearanceTabPage::Reset(const SfxItemSet* /* rSet */) eCurrentAppearanceMode = static_cast<Appearance>(MiscSettings::GetAppColorMode()); // reset ColorConfig - if (pColorConfig) - { - pColorConfig->ClearModified(); - pColorConfig->DisableBroadcast(); - } + pColorConfig->ClearModified(); + pColorConfig->DisableBroadcast(); pColorConfig.reset(new EditableColorConfig); }
