[PATCH libreoffice-4-0] Template Manager: removed some dead selection code

Bosdonnat Cedric (via Code Review) gerrit at gerrit.libreoffice.org
Fri Mar 22 09:17:23 PDT 2013


Hi,

I have submitted a patch for review:

    https://gerrit.libreoffice.org/2911

To pull it, you can do:

    git pull ssh://gerrit.libreoffice.org:29418/core refs/changes/11/2911/1

Template Manager: removed some dead selection code

(cherry picked from commit bfd1bcb204ed3ca35df1455a346a0ee7254a1191)

Conflicts:
	sfx2/source/control/thumbnailview.cxx

Change-Id: Ib5ebcd928e77a115f4f62a50724656c33ae13c61
---
M sfx2/inc/sfx2/thumbnailview.hxx
M sfx2/source/control/thumbnailview.cxx
M sfx2/source/control/thumbnailviewacc.cxx
3 files changed, 24 insertions(+), 111 deletions(-)



diff --git a/sfx2/inc/sfx2/thumbnailview.hxx b/sfx2/inc/sfx2/thumbnailview.hxx
index 8eb9426..efc5e78 100644
--- a/sfx2/inc/sfx2/thumbnailview.hxx
+++ b/sfx2/inc/sfx2/thumbnailview.hxx
@@ -202,10 +202,7 @@
 
     void SelectItem( sal_uInt16 nItemId );
 
-    sal_uInt16 GetSelectItemId() const { return mnSelItemId; }
-
-    bool IsItemSelected( sal_uInt16 nItemId ) const
-        { return nItemId == mnSelItemId; }
+    bool IsItemSelected( sal_uInt16 nItemId ) const;
 
     void deselectItem (const sal_uInt16 nItemId);
 
@@ -258,8 +255,6 @@
 
     virtual void DataChanged( const DataChangedEvent& rDCEvt );
 
-    virtual bool StartDrag( const CommandEvent& rCEvt, Region& rRegion );
-
     virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible > CreateAccessible();
 
 protected:
@@ -310,7 +305,6 @@
     long mnVisLines;
     long mnLines;
     sal_uInt16 mnScrBarOffset;
-    sal_uInt16 mnSelItemId;
     sal_uInt16 mnHighItemId;
     sal_uInt16 mnCols;
     sal_uInt16 mnFirstLine;
diff --git a/sfx2/source/control/thumbnailview.cxx b/sfx2/source/control/thumbnailview.cxx
index 57dba07..63ba189 100644
--- a/sfx2/source/control/thumbnailview.cxx
+++ b/sfx2/source/control/thumbnailview.cxx
@@ -92,7 +92,6 @@
     mnLines             = 0;
     mnFirstLine         = 0;
     mnScrBarOffset = 1;
-    mnSelItemId         = 0;
     mnHighItemId        = 0;
     mnCols              = 0;
     mnSpacing           = 0;
@@ -589,11 +588,7 @@
 
     if ( nSelected == -1 && mItemList.size( ) > 0 )
     {
-        mItemList[0]->setSelection(true);
-        maItemStateHdl.Call(mItemList[0]);
-
-        if (IsReallyVisible() && IsUpdateMode())
-            Invalidate();
+        SelectItem( 1 );
     }
 
     // Tell the accessible object that we got the focus.
@@ -710,10 +705,9 @@
     }
 
     // reset variables
-    if ( (mnHighItemId == nItemId) || (mnSelItemId == nItemId) )
+    if ( (mnHighItemId == nItemId) )
     {
         mnHighItemId    = 0;
-        mnSelItemId     = 0;
     }
 
     CalculateItemPositions();
@@ -729,7 +723,6 @@
     // reset variables
     mnFirstLine     = 0;
     mnHighItemId    = 0;
-    mnSelItemId     = 0;
 
     CalculateItemPositions();
 
@@ -777,19 +770,18 @@
 
 void ThumbnailView::SelectItem( sal_uInt16 nItemId )
 {
-    size_t nItemPos = 0;
+    size_t nItemPos = GetItemPos( nItemId );
+    if ( nItemPos == THUMBNAILVIEW_ITEM_NOTFOUND )
+        return;
 
-    if ( nItemId )
+    ThumbnailViewItem* pItem = mItemList[nItemPos];
+    if (!pItem->isSelected())
     {
-        nItemPos = GetItemPos( nItemId );
-        if ( nItemPos == THUMBNAILVIEW_ITEM_NOTFOUND )
-            return;
-    }
+        mItemList[nItemPos]->setSelection(true);
+        maItemStateHdl.Call(mItemList[nItemPos]);
 
-    if ( mnSelItemId != nItemId)
-    {
-        sal_uInt16 nOldItem = mnSelItemId ? mnSelItemId : 1;
-        mnSelItemId = nItemId;
+        if (IsReallyVisible() && IsUpdateMode())
+            Invalidate();
 
         bool bNewOut = IsReallyVisible() && IsUpdateMode();
 
@@ -815,44 +807,8 @@
 
         if( ImplHasAccessibleListeners() )
         {
-            // focus event (deselect)
-            if( nOldItem )
-            {
-                const size_t nPos = GetItemPos( nItemId );
-
-                if( nPos != THUMBNAILVIEW_ITEM_NOTFOUND )
-                {
-                    ThumbnailViewAcc* pItemAcc = ThumbnailViewAcc::getImplementation(
-                        mItemList[nPos]->GetAccessible( mbIsTransientChildrenDisabled ) );
-
-                    if( pItemAcc )
-                    {
-                        ::com::sun::star::uno::Any aOldAny, aNewAny;
-                        if( !mbIsTransientChildrenDisabled )
-                        {
-                            aOldAny <<= ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >(
-                                static_cast< ::cppu::OWeakObject* >( pItemAcc ));
-                            ImplFireAccessibleEvent (::com::sun::star::accessibility::AccessibleEventId::ACTIVE_DESCENDANT_CHANGED, aOldAny, aNewAny );
-                        }
-                        else
-                        {
-                            aOldAny <<= ::com::sun::star::accessibility::AccessibleStateType::FOCUSED;
-                            pItemAcc->FireAccessibleEvent( ::com::sun::star::accessibility::AccessibleEventId::STATE_CHANGED, aOldAny, aNewAny );
-                        }
-                    }
-                }
-            }
-
             // focus event (select)
-            const size_t nPos = GetItemPos( mnSelItemId );
-
-            ThumbnailViewItem* pItem = NULL;
-            if( nPos != THUMBNAILVIEW_ITEM_NOTFOUND )
-                pItem = mItemList[nPos];
-
-            ThumbnailViewAcc* pItemAcc = NULL;
-            if (pItem != NULL)
-                pItemAcc = ThumbnailViewAcc::getImplementation( pItem->GetAccessible( mbIsTransientChildrenDisabled ) );
+            ThumbnailViewAcc* pItemAcc = ThumbnailViewAcc::getImplementation( pItem->GetAccessible( mbIsTransientChildrenDisabled ) );
 
             if( pItemAcc )
             {
@@ -895,6 +851,16 @@
     }
 }
 
+bool ThumbnailView::IsItemSelected( sal_uInt16 nItemId ) const
+{
+    size_t nItemPos = GetItemPos( nItemId );
+    if ( nItemPos == THUMBNAILVIEW_ITEM_NOTFOUND )
+        return false;
+
+    ThumbnailViewItem* pItem = mItemList[nItemPos];
+    return pItem->isSelected();
+}
+
 void ThumbnailView::deselectItems()
 {
     for (size_t i = 0, n = mItemList.size(); i < n; ++i)
@@ -929,53 +895,6 @@
 
     if ( IsReallyVisible() && IsUpdateMode() )
         Invalidate();
-}
-
-bool ThumbnailView::StartDrag( const CommandEvent& rCEvt, Region& rRegion )
-{
-    if ( rCEvt.GetCommand() != COMMAND_STARTDRAG )
-        return false;
-
-    // if necessary abort an existing action
-
-    // Check out if the the clicked on page is selected. If this is not the
-    // case set it as the current item. We only check mouse actions since
-    // drag-and-drop can also be triggered by the keyboard
-    sal_uInt16 nSelId;
-    if ( rCEvt.IsMouseEvent() )
-        nSelId = GetItemId( rCEvt.GetMousePosPixel() );
-    else
-        nSelId = mnSelItemId;
-
-    // don't activate dragging if no item was clicked on
-    if ( !nSelId )
-        return false;
-
-    // Check out if the page was selected. If not set as current page and
-    // call select.
-    if ( nSelId != mnSelItemId )
-    {
-        SelectItem( nSelId );
-        Update();
-    }
-
-    Region aRegion;
-
-    // assign region
-    rRegion = aRegion;
-
-    return true;
-}
-
-long ThumbnailView::GetScrollWidth() const
-{
-    if ( GetStyle() & WB_VSCROLL )
-    {
-        ((ThumbnailView*)this)->ImplInitScrollBar();
-        return mpScrBar->GetSizePixel().Width()+mnScrBarOffset;
-    }
-    else
-        return 0;
 }
 
 void ThumbnailView::filterItems (const boost::function<bool (const ThumbnailViewItem*) > &func)
diff --git a/sfx2/source/control/thumbnailviewacc.cxx b/sfx2/source/control/thumbnailviewacc.cxx
index 8a7da2b..393bd9e 100644
--- a/sfx2/source/control/thumbnailviewacc.cxx
+++ b/sfx2/source/control/thumbnailviewacc.cxx
@@ -788,7 +788,7 @@
         //      pStateSet->AddState( accessibility::AccessibleStateType::FOCUSABLE );
 
         // SELECTED
-        if( mpParent->mrParent.GetSelectItemId() == mpParent->mnId )
+        if( mpParent->isSelected() )
         {
             pStateSet->AddState( accessibility::AccessibleStateType::SELECTED );
             //              pStateSet->AddState( accessibility::AccessibleStateType::FOCUSED );

-- 
To view, visit https://gerrit.libreoffice.org/2911
To unsubscribe, visit https://gerrit.libreoffice.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ib5ebcd928e77a115f4f62a50724656c33ae13c61
Gerrit-PatchSet: 1
Gerrit-Project: core
Gerrit-Branch: libreoffice-4-0
Gerrit-Owner: Bosdonnat Cedric <cedric.bosdonnat at free.fr>



More information about the LibreOffice mailing list