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

Reply via email to