dbaccess/source/ui/app/AppController.cxx | 16 ++++++++-------- dbaccess/source/ui/app/AppDetailPageHelper.cxx | 14 +++++++------- dbaccess/source/ui/inc/AppElementType.hxx | 8 ++++---- sw/source/filter/xml/xmlitemm.cxx | 24 ++++++++++-------------- sw/source/filter/xml/xmlitmap.hxx | 16 ++++++++-------- sw/source/filter/xml/xmlitmpr.cxx | 23 +++++------------------ 6 files changed, 42 insertions(+), 59 deletions(-)
New commits: commit b4a82907eb13de4feabc9f09f8fa7d45d6c9eaec Author: Noel Grandin <noelgran...@gmail.com> AuthorDate: Tue Sep 6 21:07:16 2022 +0200 Commit: Noel Grandin <noel.gran...@collabora.co.uk> CommitDate: Wed Sep 7 13:04:15 2022 +0200 use o3tl::span in SvXMLItemMapEntries which means we don't need to calculate the size of the map at construction Change-Id: I295defd7c4609b22a994928f6442fadadd9df66d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139543 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk> diff --git a/sw/source/filter/xml/xmlitemm.cxx b/sw/source/filter/xml/xmlitemm.cxx index 6464149d766e..cd1b219ad894 100644 --- a/sw/source/filter/xml/xmlitemm.cxx +++ b/sw/source/filter/xml/xmlitemm.cxx @@ -38,9 +38,7 @@ using namespace ::xmloff::token; #define M_E_SIE( p, l, w, m ) \ { XML_NAMESPACE_##p, XML_##l, o3tl::narrowing<sal_uInt16>(w), MID_SW_FLAG_SPECIAL_ITEM_EXPORT|MID_SW_FLAG_SPECIAL_ITEM_IMPORT|m } -#define M_END { 0, XML_TOKEN_INVALID, 0, 0 } - -SvXMLItemMapEntry const aXMLTableItemMap[] = +const SvXMLItemMapEntry aTableItemMap[] = { // RES_FILL_ORDER // not required @@ -115,19 +113,18 @@ SvXMLItemMapEntry const aXMLTableItemMap[] = MAP_ENTRY( STYLE, WRITING_MODE, RES_FRAMEDIR, 0 ), // RES_COLLAPSING_BORDERS - MAP_ENTRY( TABLE, BORDER_MODEL, RES_COLLAPSING_BORDERS, 0 ), - - M_END + MAP_ENTRY( TABLE, BORDER_MODEL, RES_COLLAPSING_BORDERS, 0 ) }; +const o3tl::span<SvXMLItemMapEntry const> aXMLTableItemMap(aTableItemMap); -SvXMLItemMapEntry const aXMLTableColItemMap[] = +const SvXMLItemMapEntry aTableColItemMap[] = { M_E_SI( STYLE, COLUMN_WIDTH, RES_FRM_SIZE, MID_FRMSIZE_COL_WIDTH ), MAP_ENTRY( STYLE, REL_COLUMN_WIDTH, RES_FRM_SIZE, MID_FRMSIZE_REL_COL_WIDTH ), - M_END }; +const o3tl::span<SvXMLItemMapEntry const> aXMLTableColItemMap(aTableColItemMap); -SvXMLItemMapEntry const aXMLTableRowItemMap[] = +const SvXMLItemMapEntry aTableRowItemMap[] = { // RES_FILL_ORDER // not required @@ -196,11 +193,11 @@ SvXMLItemMapEntry const aXMLTableRowItemMap[] = // RES_END_AT_TXTEND // not required // RES_UNKNOWNATR_CONTAINER - M_E_SE( TEXT, XMLNS, RES_UNKNOWNATR_CONTAINER, 0 ), - M_END + M_E_SE( TEXT, XMLNS, RES_UNKNOWNATR_CONTAINER, 0 ) }; +const o3tl::span<SvXMLItemMapEntry const> aXMLTableRowItemMap(aTableRowItemMap); -SvXMLItemMapEntry const aXMLTableCellItemMap[] = +const SvXMLItemMapEntry aTableCellItemMap[] = { // RES_FILL_ORDER // not required @@ -283,8 +280,7 @@ SvXMLItemMapEntry const aXMLTableCellItemMap[] = // RES_FRAMEDIR MAP_ENTRY( STYLE, WRITING_MODE, RES_FRAMEDIR, 0 ), MAP_ENTRY( LO_EXT, WRITING_MODE, RES_FRAMEDIR, 0 ), - - M_END }; +const o3tl::span<SvXMLItemMapEntry const> aXMLTableCellItemMap(aTableCellItemMap); /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sw/source/filter/xml/xmlitmap.hxx b/sw/source/filter/xml/xmlitmap.hxx index da42805c8206..eacd530ef62b 100644 --- a/sw/source/filter/xml/xmlitmap.hxx +++ b/sw/source/filter/xml/xmlitmap.hxx @@ -23,6 +23,7 @@ #include <sal/types.h> #include <tools/ref.hxx> #include <xmloff/xmltoken.hxx> +#include <o3tl/span.hxx> #include <memory> #define MID_SW_FLAG_MASK 0x0000ffff @@ -62,25 +63,24 @@ struct SvXMLItemMapEntry or export */ class SvXMLItemMapEntries final : public SvRefBase { - SvXMLItemMapEntry const * mpEntries; - sal_uInt16 mnCount; + o3tl::span<SvXMLItemMapEntry const> mpEntries; public: - explicit SvXMLItemMapEntries(SvXMLItemMapEntry const * pEntrys); + explicit SvXMLItemMapEntries(o3tl::span<SvXMLItemMapEntry const> pEntries) : mpEntries(pEntries) {} virtual ~SvXMLItemMapEntries() override; SvXMLItemMapEntry const * getByName( sal_Int32 nElement ) const; SvXMLItemMapEntry const & getByIndex( sal_uInt16 nIndex ) const { return mpEntries[nIndex]; } - sal_uInt16 getCount() const { return mnCount; } + sal_uInt16 getCount() const { return mpEntries.size(); } }; typedef tools::SvRef<SvXMLItemMapEntries> SvXMLItemMapEntriesRef; -extern SvXMLItemMapEntry const aXMLTableItemMap[]; -extern SvXMLItemMapEntry const aXMLTableColItemMap[]; -extern SvXMLItemMapEntry const aXMLTableRowItemMap[]; -extern SvXMLItemMapEntry const aXMLTableCellItemMap[]; +extern const o3tl::span<SvXMLItemMapEntry const> aXMLTableItemMap; +extern const o3tl::span<SvXMLItemMapEntry const> aXMLTableColItemMap; +extern const o3tl::span<SvXMLItemMapEntry const> aXMLTableRowItemMap; +extern const o3tl::span<SvXMLItemMapEntry const> aXMLTableCellItemMap; #endif // INCLUDED_SW_SOURCE_FILTER_XML_XMLITMAP_HXX diff --git a/sw/source/filter/xml/xmlitmpr.cxx b/sw/source/filter/xml/xmlitmpr.cxx index 6731f086bbe3..cb7700fd91fe 100644 --- a/sw/source/filter/xml/xmlitmpr.cxx +++ b/sw/source/filter/xml/xmlitmpr.cxx @@ -23,33 +23,20 @@ using ::xmloff::token::IsXMLToken; using ::xmloff::token::XML_TOKEN_INVALID; -SvXMLItemMapEntries::SvXMLItemMapEntries( SvXMLItemMapEntry const * pEntries ) - : mpEntries(pEntries) -{ - mnCount = 0; - while( pEntries->eLocalName != XML_TOKEN_INVALID ) - { - pEntries++; - mnCount++; - } -} - SvXMLItemMapEntries::~SvXMLItemMapEntries() { } SvXMLItemMapEntry const * SvXMLItemMapEntries::getByName( sal_Int32 nElement ) const { - SvXMLItemMapEntry const * pMap = mpEntries; - while( pMap && (pMap->eLocalName != XML_TOKEN_INVALID) ) + for (const SvXMLItemMapEntry& rEntry : mpEntries) { - if( IsTokenInNamespace(nElement, pMap->nNameSpace) && - (nElement & TOKEN_MASK) == pMap->eLocalName ) - break; - pMap++; + if( IsTokenInNamespace(nElement, rEntry.nNameSpace) && + (nElement & TOKEN_MASK) == rEntry.eLocalName ) + return &rEntry; } - return (pMap && (pMap->eLocalName != XML_TOKEN_INVALID)) ? pMap : nullptr; + return nullptr; } /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ commit 9251f7ef5aa705a2c5b2a5612167ffed7e3b4347 Author: Noel Grandin <noelgran...@gmail.com> AuthorDate: Tue Sep 6 22:06:56 2022 +0200 Commit: Noel Grandin <noel.gran...@collabora.co.uk> CommitDate: Wed Sep 7 13:03:56 2022 +0200 convert PreviewMode to scoped enum Change-Id: I36d6153e5bc65311ec5708839e640cf104b3f035 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139546 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk> diff --git a/dbaccess/source/ui/app/AppController.cxx b/dbaccess/source/ui/app/AppController.cxx index 2e30cf1fce38..bb16c0173ff4 100644 --- a/dbaccess/source/ui/app/AppController.cxx +++ b/dbaccess/source/ui/app/AppController.cxx @@ -252,7 +252,7 @@ OApplicationController::OApplicationController(const Reference< XComponentContex ,m_aTableCopyHelper(this) ,m_nAsyncDrop(nullptr) ,m_aSelectContainerEvent( LINK( this, OApplicationController, OnSelectContainer ) ) - ,m_ePreviewMode(E_PREVIEWNONE) + ,m_ePreviewMode(PreviewMode::NONE) ,m_eCurrentType(E_NONE) ,m_bNeedToReconnect(false) ,m_bSuspended( false ) @@ -792,18 +792,18 @@ FeatureState OApplicationController::GetState(sal_uInt16 _nId) const break; case SID_DB_APP_DISABLE_PREVIEW: aReturn.bEnabled = true; - aReturn.bChecked = getContainer()->getPreviewMode() == E_PREVIEWNONE; + aReturn.bChecked = getContainer()->getPreviewMode() == PreviewMode::NONE; break; case SID_DB_APP_VIEW_DOCINFO_PREVIEW: { ElementType eType = getContainer()->getElementType(); aReturn.bEnabled = (E_REPORT == eType || E_FORM == eType); - aReturn.bChecked = getContainer()->getPreviewMode() == E_DOCUMENTINFO; + aReturn.bChecked = getContainer()->getPreviewMode() == PreviewMode::DocumentInfo; } break; case SID_DB_APP_VIEW_DOC_PREVIEW: aReturn.bEnabled = true; - aReturn.bChecked = getContainer()->getPreviewMode() == E_DOCUMENT; + aReturn.bChecked = getContainer()->getPreviewMode() == PreviewMode::Document; break; case ID_BROWSER_UNDO: aReturn.bEnabled = false; @@ -1317,15 +1317,15 @@ void OApplicationController::Execute(sal_uInt16 _nId, const Sequence< PropertyVa m_aSelectContainerEvent.Call( reinterpret_cast< void* >( E_REPORT ) ); break; case SID_DB_APP_DISABLE_PREVIEW: - m_ePreviewMode = E_PREVIEWNONE; + m_ePreviewMode = PreviewMode::NONE; getContainer()->switchPreview(m_ePreviewMode); break; case SID_DB_APP_VIEW_DOCINFO_PREVIEW: - m_ePreviewMode = E_DOCUMENTINFO; + m_ePreviewMode = PreviewMode::DocumentInfo; getContainer()->switchPreview(m_ePreviewMode); break; case SID_DB_APP_VIEW_DOC_PREVIEW: - m_ePreviewMode = E_DOCUMENT; + m_ePreviewMode = PreviewMode::Document; getContainer()->switchPreview(m_ePreviewMode); break; case SID_MAIL_SENDDOC: @@ -2153,7 +2153,7 @@ void OApplicationController::onSelectionChanged() void OApplicationController::showPreviewFor(const ElementType _eType,const OUString& _sName) { - if ( m_ePreviewMode == E_PREVIEWNONE ) + if ( m_ePreviewMode == PreviewMode::NONE ) return; OApplicationView* pView = getContainer(); diff --git a/dbaccess/source/ui/app/AppDetailPageHelper.cxx b/dbaccess/source/ui/app/AppDetailPageHelper.cxx index 67e872285695..668ddfd673f8 100644 --- a/dbaccess/source/ui/app/AppDetailPageHelper.cxx +++ b/dbaccess/source/ui/app/AppDetailPageHelper.cxx @@ -875,7 +875,7 @@ IMPL_LINK_NOARG( OAppDetailPageHelper, OnDeleteEntry, LinkParamNone*, void ) bool OAppDetailPageHelper::isPreviewEnabled() const { - return m_ePreviewMode != E_PREVIEWNONE; + return m_ePreviewMode != PreviewMode::NONE; } namespace @@ -898,18 +898,18 @@ void OAppDetailPageHelper::switchPreview(PreviewMode _eMode,bool _bForce) OUString aCommand; switch ( m_ePreviewMode ) { - case E_PREVIEWNONE: + case PreviewMode::NONE: aCommand = ".uno:DBDisablePreview"; break; - case E_DOCUMENT: + case PreviewMode::Document: aCommand = ".uno:DBShowDocPreview"; break; - case E_DOCUMENTINFO: + case PreviewMode::DocumentInfo: if ( getBorderWin().getView()->getAppController().isCommandEnabled(SID_DB_APP_VIEW_DOCINFO_PREVIEW) ) aCommand = ".uno:DBShowDocInfoPreview"; else { - m_ePreviewMode = E_PREVIEWNONE; + m_ePreviewMode = PreviewMode::NONE; aCommand = ".uno:DBDisablePreview"; } break; @@ -950,13 +950,13 @@ void OAppDetailPageHelper::showPreview(const Reference< XContent >& _xContent) if ( xContent.is() ) { css::ucb::Command aCommand; - if ( m_ePreviewMode == E_DOCUMENT ) + if ( m_ePreviewMode == PreviewMode::Document ) aCommand.Name = "preview"; else aCommand.Name = "getDocumentInfo"; Any aPreview = xContent->execute(aCommand,xContent->createCommandIdentifier(),Reference< XCommandEnvironment >()); - if ( m_ePreviewMode == E_DOCUMENT ) + if ( m_ePreviewMode == PreviewMode::Document ) { m_xDocumentInfo->Hide(); m_xPreview->Show(); diff --git a/dbaccess/source/ui/inc/AppElementType.hxx b/dbaccess/source/ui/inc/AppElementType.hxx index a8e106933e3a..b7265e5af663 100644 --- a/dbaccess/source/ui/inc/AppElementType.hxx +++ b/dbaccess/source/ui/inc/AppElementType.hxx @@ -34,11 +34,11 @@ namespace dbaui E_ELEMENT_TYPE_COUNT = E_NONE }; - enum PreviewMode + enum class PreviewMode { - E_PREVIEWNONE = 0, - E_DOCUMENT = 1, - E_DOCUMENTINFO = 2 + NONE = 0, + Document = 1, + DocumentInfo = 2 }; enum class ElementOpenMode