[Libreoffice-commits] core.git: 5 commits - sfx2/inc sfx2/source

Rafael Dominguez venccsralph at gmail.com
Tue Apr 9 08:11:08 PDT 2013


 sfx2/inc/sfx2/templatelocalview.hxx       |    2 +
 sfx2/source/control/templatelocalview.cxx |   15 +++++++--
 sfx2/source/control/thumbnailview.cxx     |   42 ++++++++++++++++---------
 sfx2/source/control/thumbnailviewacc.cxx  |    2 -
 sfx2/source/doc/templatedlg.cxx           |   50 +++++++++++++++++++++---------
 sfx2/source/doc/templatedlg.src           |   12 +++++++
 6 files changed, 91 insertions(+), 32 deletions(-)

New commits:
commit ff7a40c588bc37e5d6bcaf197ff46d86bdbd93a7
Author: Rafael Dominguez <venccsralph at gmail.com>
Date:   Sun Apr 7 22:26:28 2013 -0430

    fdo#61389 - Display Properties, Set as default actions in save mode.
    
    It dosent make sense to display delete action since we are saving
    a template same for edit.
    
    Change-Id: I5532d3a7a7f5e6200419c2b7159c4d6fe40d16ea

diff --git a/sfx2/source/doc/templatedlg.cxx b/sfx2/source/doc/templatedlg.cxx
index d589454..9793d3c 100644
--- a/sfx2/source/doc/templatedlg.cxx
+++ b/sfx2/source/doc/templatedlg.cxx
@@ -308,6 +308,14 @@ void SfxTemplateManagerDlg::setSaveMode(bool bMode)
         mpViewBar->ShowItem(TBI_TEMPLATE_SAVE);
         mpViewBar->HideItem(TBI_TEMPLATE_IMPORT);
         mpViewBar->HideItem(TBI_TEMPLATE_REPOSITORY);
+
+        mpTemplateBar->ShowItem(TBI_TEMPLATE_SAVE);
+        mpTemplateBar->ShowItem(TBI_TEMPLATE_PROPERTIES);
+        mpTemplateBar->ShowItem(TBI_TEMPLATE_DEFAULT);
+        mpTemplateBar->HideItem(TBI_TEMPLATE_EDIT);
+        mpTemplateBar->HideItem(TBI_TEMPLATE_MOVE);
+        mpTemplateBar->HideItem(TBI_TEMPLATE_EXPORT);
+        mpTemplateBar->HideItem(TBI_TEMPLATE_DELETE);
     }
     else
     {
@@ -858,16 +866,22 @@ void SfxTemplateManagerDlg::OnTemplateState (const ThumbnailViewItem *pItem)
 
     if (pItem->isSelected())
     {
-        if (!mbIsSaveMode)
+        if (maSelTemplates.empty())
         {
-            if (maSelTemplates.empty())
+            mpViewBar->Show(false);
+            mpTemplateBar->Show();
+        }
+        else if (maSelTemplates.size() != 1 || !bInSelection)
+        {
+            if (!mbIsSaveMode)
             {
-                mpViewBar->Show(false);
-                mpTemplateBar->Show();
+                mpTemplateBar->HideItem(TBI_TEMPLATE_EDIT);
+                mpTemplateBar->HideItem(TBI_TEMPLATE_PROPERTIES);
+                mpTemplateBar->HideItem(TBI_TEMPLATE_DEFAULT);
             }
-            else if (maSelTemplates.size() != 1 || !bInSelection)
+            else
             {
-                mpTemplateBar->HideItem(TBI_TEMPLATE_EDIT);
+                mpTemplateBar->HideItem(TBI_TEMPLATE_SAVE);
                 mpTemplateBar->HideItem(TBI_TEMPLATE_PROPERTIES);
                 mpTemplateBar->HideItem(TBI_TEMPLATE_DEFAULT);
             }
@@ -882,16 +896,22 @@ void SfxTemplateManagerDlg::OnTemplateState (const ThumbnailViewItem *pItem)
         {
             maSelTemplates.erase(pItem);
 
-            if (!mbIsSaveMode)
+            if (maSelTemplates.empty())
+            {
+                mpTemplateBar->Show(false);
+                mpViewBar->Show();
+            }
+            else if (maSelTemplates.size() == 1)
             {
-                if (maSelTemplates.empty())
+                if (!mbIsSaveMode)
                 {
-                    mpTemplateBar->Show(false);
-                    mpViewBar->Show();
+                    mpTemplateBar->ShowItem(TBI_TEMPLATE_EDIT);
+                    mpTemplateBar->ShowItem(TBI_TEMPLATE_PROPERTIES);
+                    mpTemplateBar->ShowItem(TBI_TEMPLATE_DEFAULT);
                 }
-                else if (maSelTemplates.size() == 1)
+                else
                 {
-                    mpTemplateBar->ShowItem(TBI_TEMPLATE_EDIT);
+                    mpTemplateBar->ShowItem(TBI_TEMPLATE_SAVE);
                     mpTemplateBar->ShowItem(TBI_TEMPLATE_PROPERTIES);
                     mpTemplateBar->ShowItem(TBI_TEMPLATE_DEFAULT);
                 }
diff --git a/sfx2/source/doc/templatedlg.src b/sfx2/source/doc/templatedlg.src
index 1761118..27c7145 100644
--- a/sfx2/source/doc/templatedlg.src
+++ b/sfx2/source/doc/templatedlg.src
@@ -229,6 +229,18 @@ TabPage TAB_TEMPLATE_MANAGER
         {
             ToolBoxItem
             {
+                Identifier = TBI_TEMPLATE_SAVE;
+                Hide = TRUE;
+                Text [ en-US ] = "Save";
+
+                ItemImage = Image
+                {
+                    ImageBitmap = Bitmap { File = "actionview028.png" ; };
+                };
+            };
+
+            ToolBoxItem
+            {
                 Identifier = TBI_TEMPLATE_EDIT;
                 Text [ en-US ] = "Edit";
 
commit ebebaf709af8bdfaf65cb7747c38fadc9ca02259
Author: Rafael Dominguez <venccsralph at gmail.com>
Date:   Sun Apr 7 21:46:11 2013 -0430

    Display correct region name in error messages.
    
    Change-Id: I1e3eddf9be2a75faabf0b0be91f30d7e8d43d3e4

diff --git a/sfx2/inc/sfx2/templatelocalview.hxx b/sfx2/inc/sfx2/templatelocalview.hxx
index bd1b431..6cefaf1 100644
--- a/sfx2/inc/sfx2/templatelocalview.hxx
+++ b/sfx2/inc/sfx2/templatelocalview.hxx
@@ -50,6 +50,8 @@ public:
 
     OUString getRegionName(const sal_uInt16 nRegionId) const;
 
+    OUString getRegionItemName(const sal_uInt16 nItemId) const;
+
     std::vector<OUString> getFolderNames ();
 
     std::vector<TemplateItemProperties>
diff --git a/sfx2/source/control/templatelocalview.cxx b/sfx2/source/control/templatelocalview.cxx
index b07359e..5defbbf 100644
--- a/sfx2/source/control/templatelocalview.cxx
+++ b/sfx2/source/control/templatelocalview.cxx
@@ -194,6 +194,17 @@ OUString TemplateLocalView::getRegionName(const sal_uInt16 nRegionId) const
     return mpDocTemplates->GetRegionName(nRegionId);
 }
 
+OUString TemplateLocalView::getRegionItemName(const sal_uInt16 nItemId) const
+{
+    for (size_t i = 0; i < maRegions.size(); ++i)
+    {
+        if (maRegions[i]->mnId == nItemId)
+            return maRegions[i]->maTitle;
+    }
+
+    return OUString();
+}
+
 std::vector<OUString> TemplateLocalView::getFolderNames()
 {
     size_t n = maRegions.size();
diff --git a/sfx2/source/doc/templatedlg.cxx b/sfx2/source/doc/templatedlg.cxx
index b53aee3..d589454 100644
--- a/sfx2/source/doc/templatedlg.cxx
+++ b/sfx2/source/doc/templatedlg.cxx
@@ -1490,7 +1490,7 @@ void SfxTemplateManagerDlg::localMoveTo(sal_uInt16 nMenuId)
                     aTemplateList = aTemplateList + "\n" + (*pIter)->maTitle;
             }
 
-            OUString aDst = maView->GetItemText(nItemId);
+            OUString aDst = maView->getRegionItemName(nItemId);
             OUString aMsg(SfxResId(STR_MSG_ERROR_LOCAL_MOVE).toString());
             aMsg = aMsg.replaceFirst("$1",aDst);
             ErrorBox(this, WB_OK,aMsg.replaceFirst( "$2",aTemplateList)).Execute();
@@ -1546,7 +1546,7 @@ void SfxTemplateManagerDlg::remoteMoveTo(const sal_uInt16 nMenuId)
         {
             OUString aMsg(SfxResId(STR_MSG_ERROR_REMOTE_MOVE).toString());
             aMsg = aMsg.replaceFirst("$1",mpOnlineView->getCurRegionName());
-            aMsg = aMsg.replaceFirst("$2",maView->GetItemText(nItemId));
+            aMsg = aMsg.replaceFirst("$2",maView->getRegionItemName(nItemId));
             ErrorBox(this,WB_OK,aMsg.replaceFirst("$1",aTemplateList)).Execute();
         }
     }
@@ -1600,7 +1600,7 @@ void SfxTemplateManagerDlg::localSearchMoveTo(sal_uInt16 nMenuId)
 
         if (!aTemplateList.isEmpty())
         {
-            OUString aDst = maView->GetItemText(nItemId);
+            OUString aDst = maView->getRegionItemName(nItemId);
             OUString aMsg(SfxResId(STR_MSG_ERROR_LOCAL_MOVE).toString());
             aMsg = aMsg.replaceFirst("$1",aDst);
             ErrorBox(this, WB_OK,aMsg.replaceFirst( "$2",aTemplateList)).Execute();
commit e93001816144dbc6edcbaffdb076c8a3d5cf05e1
Author: Rafael Dominguez <venccsralph at gmail.com>
Date:   Sun Apr 7 21:17:51 2013 -0430

    Fetch thumbnails position and id from filter array instead.
    
    Change-Id: I5d49bf90e9eab402f2c6e58ca46302e2a2c72c84

diff --git a/sfx2/source/control/thumbnailview.cxx b/sfx2/source/control/thumbnailview.cxx
index fd4ae27..f2643a6 100644
--- a/sfx2/source/control/thumbnailview.cxx
+++ b/sfx2/source/control/thumbnailview.cxx
@@ -967,8 +967,20 @@ void ThumbnailView::RemoveItem( sal_uInt16 nItemId )
     if ( nPos == THUMBNAILVIEW_ITEM_NOTFOUND )
         return;
 
-    if ( nPos < mItemList.size() ) {
-        ValueItemList::iterator it = mItemList.begin();
+    if ( nPos < mFilteredItemList.size() ) {
+
+        // delete item from the thumbnail list
+        for (size_t i = 0, n = mItemList.size(); i < n; ++i)
+        {
+            if (mItemList[i]->mnId == nItemId)
+            {
+                mItemList.erase(mItemList.begin()+i);
+                break;
+            }
+        }
+
+        // delete item from the filter item list
+        ValueItemList::iterator it = mFilteredItemList.begin();
         ::std::advance( it, nPos );
 
         if ((*it)->isSelected())
@@ -978,7 +990,8 @@ void ThumbnailView::RemoveItem( sal_uInt16 nItemId )
         }
 
         delete *it;
-        mItemList.erase( it );
+        mFilteredItemList.erase( it );
+        mpStartSelRange = mFilteredItemList.end();
     }
 
     // reset variables
@@ -1022,8 +1035,8 @@ void ThumbnailView::updateItems (const std::vector<ThumbnailViewItem*> &items)
 
 size_t ThumbnailView::GetItemPos( sal_uInt16 nItemId ) const
 {
-    for ( size_t i = 0, n = mItemList.size(); i < n; ++i ) {
-        if ( mItemList[i]->mnId == nItemId ) {
+    for ( size_t i = 0, n = mFilteredItemList.size(); i < n; ++i ) {
+        if ( mFilteredItemList[i]->mnId == nItemId ) {
             return i;
         }
     }
@@ -1032,7 +1045,7 @@ size_t ThumbnailView::GetItemPos( sal_uInt16 nItemId ) const
 
 sal_uInt16 ThumbnailView::GetItemId( size_t nPos ) const
 {
-    return ( nPos < mItemList.size() ) ? mItemList[nPos]->mnId : 0 ;
+    return ( nPos < mFilteredItemList.size() ) ? mFilteredItemList[nPos]->mnId : 0 ;
 }
 
 sal_uInt16 ThumbnailView::GetItemId( const Point& rPos ) const
@@ -1069,11 +1082,11 @@ void ThumbnailView::SelectItem( sal_uInt16 nItemId )
     if ( nItemPos == THUMBNAILVIEW_ITEM_NOTFOUND )
         return;
 
-    ThumbnailViewItem* pItem = mItemList[nItemPos];
+    ThumbnailViewItem* pItem = mFilteredItemList[nItemPos];
     if (!pItem->isSelected())
     {
-        mItemList[nItemPos]->setSelection(true);
-        maItemStateHdl.Call(mItemList[nItemPos]);
+        pItem->setSelection(true);
+        maItemStateHdl.Call(pItem);
 
         if (IsReallyVisible() && IsUpdateMode())
             Invalidate();
@@ -1134,11 +1147,11 @@ void ThumbnailView::DeselectItem( sal_uInt16 nItemId )
     if ( nItemPos == THUMBNAILVIEW_ITEM_NOTFOUND )
         return;
 
-    ThumbnailViewItem* pItem = mItemList[nItemPos];
+    ThumbnailViewItem* pItem = mFilteredItemList[nItemPos];
     if (pItem->isSelected())
     {
-        mItemList[nItemPos]->setSelection(false);
-        maItemStateHdl.Call(mItemList[nItemPos]);
+        pItem->setSelection(false);
+        maItemStateHdl.Call(pItem);
 
         if (IsReallyVisible() && IsUpdateMode())
             Invalidate();
@@ -1153,7 +1166,7 @@ bool ThumbnailView::IsItemSelected( sal_uInt16 nItemId ) const
     if ( nItemPos == THUMBNAILVIEW_ITEM_NOTFOUND )
         return false;
 
-    ThumbnailViewItem* pItem = mItemList[nItemPos];
+    ThumbnailViewItem* pItem = mFilteredItemList[nItemPos];
     return pItem->isSelected();
 }
 
@@ -1179,7 +1192,7 @@ OUString ThumbnailView::GetItemText( sal_uInt16 nItemId ) const
     size_t nPos = GetItemPos( nItemId );
 
     if ( nPos != THUMBNAILVIEW_ITEM_NOTFOUND )
-        return mItemList[nPos]->maTitle;
+        return mFilteredItemList[nPos]->maTitle;
 
     return OUString();
 }
diff --git a/sfx2/source/control/thumbnailviewacc.cxx b/sfx2/source/control/thumbnailviewacc.cxx
index 2d21a5b..fc43115 100644
--- a/sfx2/source/control/thumbnailviewacc.cxx
+++ b/sfx2/source/control/thumbnailviewacc.cxx
@@ -348,7 +348,7 @@ uno::Reference< accessibility::XAccessible > SAL_CALL ThumbnailViewAcc::getAcces
 
         if( THUMBNAILVIEW_ITEM_NONEITEM != nItemPos )
         {
-            ThumbnailViewItem *const pItem = mpParent->mItemList[nItemPos];
+            ThumbnailViewItem *const pItem = mpParent->mFilteredItemList[nItemPos];
             xRet = pItem->GetAccessible( mbIsTransientChildrenDisabled );
         }
     }
commit d14e60248e56e5811fca3828b527a2ef2180bf98
Author: Rafael Dominguez <venccsralph at gmail.com>
Date:   Sun Apr 7 21:16:55 2013 -0430

    Update template item path when moving it to another folder.
    
    Change-Id: I0ea9bf77b2393240e5074000a3692a4eaac11cf0

diff --git a/sfx2/source/control/templatelocalview.cxx b/sfx2/source/control/templatelocalview.cxx
index 28b51cd..b07359e 100644
--- a/sfx2/source/control/templatelocalview.cxx
+++ b/sfx2/source/control/templatelocalview.cxx
@@ -398,7 +398,7 @@ bool TemplateLocalView::moveTemplate (const ThumbnailViewItem *pItem, const sal_
         aTemplateItem.nDocId = nTargetIdx;
         aTemplateItem.nRegionId = nTargetRegion;
         aTemplateItem.aName = pViewItem->maTitle;
-        aTemplateItem.aPath = pViewItem->getPath();
+        aTemplateItem.aPath = mpDocTemplates->GetPath(nTargetRegion,nTargetIdx);
         aTemplateItem.aThumbnail = pViewItem->maPreview1;
 
         pTarget->maTemplates.push_back(aTemplateItem);
@@ -495,7 +495,7 @@ bool TemplateLocalView::moveTemplates(const std::set<const ThumbnailViewItem*, s
             aTemplateItem.nDocId = nTargetIdx;
             aTemplateItem.nRegionId = nTargetRegion;
             aTemplateItem.aName = pViewItem->maTitle;
-            aTemplateItem.aPath = pViewItem->getPath();
+            aTemplateItem.aPath = mpDocTemplates->GetPath(nTargetRegion,nTargetIdx);
             aTemplateItem.aThumbnail = pViewItem->maPreview1;
 
             pTarget->maTemplates.push_back(aTemplateItem);
commit 0dcf76e78f4e94d956af7148243fbbec155f598d
Author: Rafael Dominguez <venccsralph at gmail.com>
Date:   Sun Apr 7 18:08:24 2013 -0430

    Mark thumbnailview item as unselected when updating filter.
    
    Change-Id: I10dd5ee79bf5c39bba4873633b3bf4438c703be0

diff --git a/sfx2/source/control/thumbnailview.cxx b/sfx2/source/control/thumbnailview.cxx
index 051d828..fd4ae27 100644
--- a/sfx2/source/control/thumbnailview.cxx
+++ b/sfx2/source/control/thumbnailview.cxx
@@ -1231,6 +1231,7 @@ void ThumbnailView::filterItems (const boost::function<bool (const ThumbnailView
                 }
 
                 pItem->show(false);
+                pItem->setSelection(false);
 
                 maItemStateHdl.Call(pItem);
             }


More information about the Libreoffice-commits mailing list