editeng/source/editeng/impedit.cxx  |    8 +-
 editeng/source/editeng/impedit.hxx  |  119 ++++++++++++++++++------------------
 editeng/source/editeng/impedit5.cxx |   40 ++----------
 3 files changed, 72 insertions(+), 95 deletions(-)

New commits:
commit d0317669ac673d52d6fbe8da4c1dcc9fa17cc290
Author:     Tomaž Vajngerl <[email protected]>
AuthorDate: Tue Feb 6 10:33:44 2024 +0900
Commit:     Tomaž Vajngerl <[email protected]>
CommitDate: Sat Feb 10 14:55:38 2024 +0100

    editeng: simplify and clean-up struct in for ImpEditEng
    
    Change-Id: I8ca190f957e6bf15f6c0aa8b8e22a26e896a9374
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163198
    Tested-by: Jenkins
    Reviewed-by: Tomaž Vajngerl <[email protected]>

diff --git a/editeng/source/editeng/impedit.cxx 
b/editeng/source/editeng/impedit.cxx
index 22412fd2fc37..c43bdfca21a1 100644
--- a/editeng/source/editeng/impedit.cxx
+++ b/editeng/source/editeng/impedit.cxx
@@ -2252,7 +2252,7 @@ void ImpEditView::dragGestureRecognized(const 
css::datatransfer::dnd::DragGestur
 
     if (HasSelection() && mbClickedInSelection)
     {
-        mpDragAndDropInfo.reset(new DragAndDropInfo());
+        mpDragAndDropInfo.reset(new DragAndDropInfo);
     }
     else
     {
@@ -2263,7 +2263,7 @@ void ImpEditView::dragGestureRecognized(const 
css::datatransfer::dnd::DragGestur
         const SvxFieldItem* pField = GetField( aMousePos, &nPara, &nPos );
         if ( pField )
         {
-            mpDragAndDropInfo.reset(new DragAndDropInfo());
+            mpDragAndDropInfo.reset(new DragAndDropInfo);
             mpDragAndDropInfo->pField = pField;
             ContentNode* pNode = getEditEngine().GetEditDoc().GetObject( nPara 
);
             aCopySel = EditSelection( EditPaM( pNode, nPos ), EditPaM( pNode, 
nPos+1 ) );
@@ -2274,7 +2274,7 @@ void ImpEditView::dragGestureRecognized(const 
css::datatransfer::dnd::DragGestur
         }
         else if ( IsBulletArea( aMousePos, &nPara ) )
         {
-            mpDragAndDropInfo.reset(new DragAndDropInfo());
+            mpDragAndDropInfo.reset(new DragAndDropInfo);
             mpDragAndDropInfo->bOutlinerMode = true;
             EditPaM aStartPaM(getEditEngine().GetEditDoc().GetObject(nPara), 
0);
             EditPaM aEndPaM( aStartPaM );
@@ -2487,7 +2487,7 @@ void ImpEditView::dragEnter( const 
css::datatransfer::dnd::DropTargetDragEnterEv
     SolarMutexGuard aVclGuard;
 
     if (!mpDragAndDropInfo)
-        mpDragAndDropInfo.reset(new DragAndDropInfo());
+        mpDragAndDropInfo.reset(new DragAndDropInfo);
 
     mpDragAndDropInfo->bHasValidData = false;
 
diff --git a/editeng/source/editeng/impedit.hxx 
b/editeng/source/editeng/impedit.hxx
index 199a9cd29f12..31f9b156962c 100644
--- a/editeng/source/editeng/impedit.hxx
+++ b/editeng/source/editeng/impedit.hxx
@@ -100,49 +100,55 @@ struct CursorFlags
 
 struct DragAndDropInfo
 {
-    tools::Rectangle           aCurCursor;
-    tools::Rectangle           aCurSavedCursor;
-    sal_uInt16          nSensibleRange;
-    sal_uInt16          nCursorWidth;
-    ESelection          aBeginDragSel;
-    EditPaM             aDropDest;
-    sal_Int32           nOutlinerDropDest;
-    ESelection          aDropSel;
-    VclPtr<VirtualDevice> pBackground;
-    const SvxFieldItem* pField;
-    bool            bVisCursor              : 1;
-    bool            bDroppedInMe            : 1;
-    bool            bStarterOfDD            : 1;
-    bool            bHasValidData           : 1;
-    bool            bUndoAction             : 1;
-    bool            bOutlinerMode           : 1;
-    bool            bDragAccepted           : 1;
-
-    DragAndDropInfo()
-      : nSensibleRange(0), nCursorWidth(0), nOutlinerDropDest(0), 
pBackground(nullptr),
-        pField(nullptr), bVisCursor(false), bDroppedInMe(false), 
bStarterOfDD(false),
-        bHasValidData(false), bUndoAction(false), bOutlinerMode(false), 
bDragAccepted(false)
-    {
-    }
+    tools::Rectangle aCurCursor;
+    tools::Rectangle aCurSavedCursor;
+    sal_uInt16 nSensibleRange = 0;
+    sal_uInt16 nCursorWidth = 0;
+    ESelection aBeginDragSel;
+    EditPaM aDropDest;
+    sal_Int32 nOutlinerDropDest = 0;
+    ESelection aDropSel;
+    VclPtr<VirtualDevice> pBackground = nullptr;
+    const SvxFieldItem* pField = nullptr;
+    bool bVisCursor : 1 = false;
+    bool bDroppedInMe : 1 = false;
+    bool bStarterOfDD : 1 = false;
+    bool bHasValidData : 1 = false;
+    bool bUndoAction : 1 = false;
+    bool bOutlinerMode : 1 = false;
+    bool bDragAccepted : 1 = false;
+
     ~DragAndDropInfo()
     {
-            pBackground.disposeAndClear();
+        pBackground.disposeAndClear();
     }
 };
 
 struct ImplIMEInfos
 {
-    OUString    aOldTextAfterStartPos;
+    OUString aOldTextAfterStartPos;
     std::unique_ptr<ExtTextInputAttr[]> pAttribs;
-    EditPaM     aPos;
-    sal_Int32   nLen;
-    bool        bWasCursorOverwrite;
+    EditPaM aPos;
+    sal_Int32 nLen = 0;
+    bool bWasCursorOverwrite = false;
 
-            ImplIMEInfos( const EditPaM& rPos, OUString aOldTextAfterStartPos 
);
-            ~ImplIMEInfos();
+    ImplIMEInfos(const EditPaM& rPos, OUString _aOldTextAfterStartPos)
+        : aOldTextAfterStartPos(std::move(_aOldTextAfterStartPos))
+        , aPos(rPos)
+    {}
+
+    void CopyAttribs(const ExtTextInputAttr* pInputAttributes, sal_uInt16 
nInputLength)
+    {
+        nLen = nInputLength;
+        pAttribs.reset(new ExtTextInputAttr[nInputLength]);
+        memcpy(pAttribs.get(), pInputAttributes, nInputLength * 
sizeof(ExtTextInputAttr));
+    }
 
-    void    CopyAttribs( const ExtTextInputAttr* pA, sal_uInt16 nL );
-    void    DestroyAttribs();
+    void DestroyAttribs()
+    {
+        pAttribs.reset();
+        nLen = 0;
+    }
 };
 
 // #i18881# to be able to identify the positions of changed words
@@ -151,28 +157,24 @@ typedef std::vector<EditSelection>  
SpellContentSelections;
 
 struct SpellInfo
 {
-    EditPaM         aCurSentenceStart;
-    svx::SpellPortions    aLastSpellPortions;
-    SpellContentSelections  aLastSpellContentSelections;
-    EESpellState    eState;
-    EPaM            aSpellStart;
-    EPaM            aSpellTo;
-    bool        bSpellToEnd;
-    bool        bMultipleDoc;
-    SpellInfo() : eState(EESpellState::Ok), bSpellToEnd(true), 
bMultipleDoc(false)
-        { }
+    EditPaM aCurSentenceStart;
+    svx::SpellPortions aLastSpellPortions;
+    SpellContentSelections aLastSpellContentSelections;
+    EESpellState eState = EESpellState::Ok;
+    EPaM aSpellStart;
+    EPaM aSpellTo;
+    bool bSpellToEnd : 1 = true;
+    bool bMultipleDoc : 1 = false;
 };
 
 // used for text conversion
 struct ConvInfo
 {
-    EPaM            aConvStart;
-    EPaM            aConvTo;
-    EPaM            aConvContinue;    // position to start search for next 
text portion (word) with
-    bool            bConvToEnd;
-    bool            bMultipleDoc;
-
-    ConvInfo() : bConvToEnd(true), bMultipleDoc(false) {}
+    EPaM aConvStart;
+    EPaM aConvTo;
+    EPaM aConvContinue;    // position to start search for next text portion 
(word) with
+    bool bConvToEnd : 1 = true;
+    bool bMultipleDoc : 1 = false;
 };
 
 struct FormatterFontMetric
@@ -189,20 +191,21 @@ struct FormatterFontMetric
 class IdleFormattter : public Idle
 {
 private:
-    EditView*   pView;
-    int         nRestarts;
+    EditView* mpView = nullptr;
+    int mnRestarts = 0;
 
 public:
-                IdleFormattter();
-                virtual ~IdleFormattter() override;
+    IdleFormattter();
+    virtual ~IdleFormattter() override;
 
-    void        DoIdleFormat( EditView* pV );
-    void        ForceTimeout();
-    void        ResetRestarts() { nRestarts = 0; }
-    EditView*   GetView()       { return pView; }
+    void DoIdleFormat(EditView* pView);
+    void ForceTimeout();
+    void ResetRestarts() { mnRestarts = 0; }
+    EditView* GetView() { return mpView; }
 };
 
 class ImpEditView;
+
 /// This is meant just for Calc, where all positions in logical units (twips 
for LOK) are computed by
 /// doing independent pixel-alignment for each cell's size. 
LOKSpecialPositioning stores
 /// both 'output-area' and 'visible-doc-position' in pure logical unit (twips 
for LOK).
diff --git a/editeng/source/editeng/impedit5.cxx 
b/editeng/source/editeng/impedit5.cxx
index c746b5d6de75..0469d43235d0 100644
--- a/editeng/source/editeng/impedit5.cxx
+++ b/editeng/source/editeng/impedit5.cxx
@@ -791,23 +791,21 @@ void ImpEditEngine::ParaAttribsToCharAttribs( 
ContentNode* pNode )
 IdleFormattter::IdleFormattter()
     : Idle("editeng::ImpEditEngine aIdleFormatter")
 {
-    pView = nullptr;
-    nRestarts = 0;
 }
 
 IdleFormattter::~IdleFormattter()
 {
-    pView = nullptr;
+    mpView = nullptr;
 }
 
-void IdleFormattter::DoIdleFormat( EditView* pV )
+void IdleFormattter::DoIdleFormat(EditView* pView)
 {
-    pView = pV;
+    mpView = pView;
 
-    if ( IsActive() )
-        nRestarts++;
+    if (IsActive())
+        mnRestarts++;
 
-    if ( nRestarts > 4 )
+    if (mnRestarts > 4)
         ForceTimeout();
     else
         Start();
@@ -815,36 +813,12 @@ void IdleFormattter::DoIdleFormat( EditView* pV )
 
 void IdleFormattter::ForceTimeout()
 {
-    if ( IsActive() )
+    if (IsActive())
     {
         Stop();
         Invoke();
     }
 }
 
-ImplIMEInfos::ImplIMEInfos( const EditPaM& rPos, OUString 
_aOldTextAfterStartPos )
- : aOldTextAfterStartPos(std::move( _aOldTextAfterStartPos )),
- aPos(rPos),
- nLen(0),
- bWasCursorOverwrite(false)
- {
- }
-
-ImplIMEInfos::~ImplIMEInfos()
-{
-}
-
-void ImplIMEInfos::CopyAttribs( const ExtTextInputAttr* pA, sal_uInt16 nL )
-{
-    nLen = nL;
-    pAttribs.reset( new ExtTextInputAttr[ nL ] );
-    memcpy( pAttribs.get(), pA, nL*sizeof(ExtTextInputAttr) );
-}
-
-void ImplIMEInfos::DestroyAttribs()
-{
-    pAttribs.reset();
-    nLen = 0;
-}
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */

Reply via email to