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

Rafael Dominguez rdominguez at kemper.freedesktop.org
Sun Jul 8 17:26:52 PDT 2012


 sfx2/inc/sfx2/templatefolderview.hxx       |    6 ++-
 sfx2/inc/sfx2/thumbnailview.hxx            |    2 -
 sfx2/inc/templatedlg.hxx                   |    2 +
 sfx2/source/control/templatefolderview.cxx |   28 +++++++++++-----
 sfx2/source/control/templatesearchview.cxx |    2 -
 sfx2/source/control/templateview.cxx       |    2 -
 sfx2/source/control/thumbnailview.cxx      |    4 +-
 sfx2/source/doc/templatedlg.cxx            |   50 ++++++++++++++++++++++-------
 sfx2/source/doc/templatedlg.hrc            |    4 +-
 sfx2/source/doc/templatedlg.src            |   12 ++++--
 10 files changed, 77 insertions(+), 35 deletions(-)

New commits:
commit f8f2296a510612381fc86273d0380133d5929bf0
Author: Rafael Dominguez <venccsralph at gmail.com>
Date:   Sun Jul 8 19:53:25 2012 -0430

    Change OnFolderSelected function name to OnItemSelected.
    
    Change-Id: I9a7437e4a11db4c40a4be88c3a3270f0bc813a52

diff --git a/sfx2/inc/sfx2/thumbnailview.hxx b/sfx2/inc/sfx2/thumbnailview.hxx
index 18ca2f8..4a45370 100644
--- a/sfx2/inc/sfx2/thumbnailview.hxx
+++ b/sfx2/inc/sfx2/thumbnailview.hxx
@@ -315,7 +315,7 @@ protected:
     DECL_DLLPRIVATE_LINK( ImplScrollHdl, ScrollBar* );
     DECL_DLLPRIVATE_LINK( ImplTimerHdl, void* );
 
-    DECL_LINK(OnFolderSelected, ThumbnailViewItem*);
+    DECL_LINK(OnItemSelected, ThumbnailViewItem*);
 
 protected:
 
diff --git a/sfx2/source/control/templatefolderview.cxx b/sfx2/source/control/templatefolderview.cxx
index de9c866..1db2f77 100644
--- a/sfx2/source/control/templatefolderview.cxx
+++ b/sfx2/source/control/templatefolderview.cxx
@@ -311,7 +311,7 @@ void TemplateFolderView::Populate ()
         TemplateFolderViewItem* pItem = new TemplateFolderViewItem( *this, this );
         pItem->mnId = i+1;
         pItem->maText = aRegionName;
-        pItem->setSelectClickHdl(LINK(this,ThumbnailView,OnFolderSelected));
+        pItem->setSelectClickHdl(LINK(this,ThumbnailView,OnItemSelected));
 
         sal_uInt16 nEntries = mpDocTemplates->GetCount(i);
 
@@ -456,7 +456,7 @@ sal_uInt16 TemplateFolderView::createRegion(const rtl::OUString &rName)
     TemplateFolderViewItem* pItem = new TemplateFolderViewItem( *this, this );
     pItem->mnId = nRegionId+1;
     pItem->maText = aRegionName;
-    pItem->setSelectClickHdl(LINK(this,ThumbnailView,OnFolderSelected));
+    pItem->setSelectClickHdl(LINK(this,ThumbnailView,OnItemSelected));
 
     mItemList.push_back(pItem);
 
diff --git a/sfx2/source/control/templatesearchview.cxx b/sfx2/source/control/templatesearchview.cxx
index fa6eabc..5bf2f73 100644
--- a/sfx2/source/control/templatesearchview.cxx
+++ b/sfx2/source/control/templatesearchview.cxx
@@ -44,7 +44,7 @@ void TemplateSearchView::AppendItem(sal_uInt16 nItemId, sal_uInt16 nRegionId, sa
     pItem->maPreview1 = rImage;
     pItem->maText = rStr;
     pItem->setPath(rPath);
-    pItem->setSelectClickHdl(LINK(this,ThumbnailView,OnFolderSelected));
+    pItem->setSelectClickHdl(LINK(this,ThumbnailView,OnItemSelected));
 
     mItemList.push_back(pItem);
 
diff --git a/sfx2/source/control/templateview.cxx b/sfx2/source/control/templateview.cxx
index a83a568..b804341 100644
--- a/sfx2/source/control/templateview.cxx
+++ b/sfx2/source/control/templateview.cxx
@@ -119,7 +119,7 @@ void TemplateView::InsertItems (const std::vector<TemplateItemProperties> &rTemp
         pItem->setPath(pCur->aPath);
         pItem->setFileType(pCur->aType);
         pItem->maPreview1 = pCur->aThumbnail;
-        pItem->setSelectClickHdl(LINK(this,ThumbnailView,OnFolderSelected));
+        pItem->setSelectClickHdl(LINK(this,ThumbnailView,OnItemSelected));
 
         mItemList.push_back(pItem);
     }
diff --git a/sfx2/source/control/thumbnailview.cxx b/sfx2/source/control/thumbnailview.cxx
index b8a962c..d64edf1 100644
--- a/sfx2/source/control/thumbnailview.cxx
+++ b/sfx2/source/control/thumbnailview.cxx
@@ -540,7 +540,7 @@ void ThumbnailView::ImplEndTracking(const Point& /*rPos*/, bool const /*bCancel*
     //FIXME TODO
 }
 
-IMPL_LINK (ThumbnailView, OnFolderSelected, ThumbnailViewItem*, pItem)
+IMPL_LINK (ThumbnailView, OnItemSelected, ThumbnailViewItem*, pItem)
 {
     maItemStateHdl.Call(pItem);
     return 0;
@@ -804,7 +804,7 @@ void ThumbnailView::InsertItem( sal_uInt16 nItemId, const BitmapEx& rImage,
     pItem->mnId     = nItemId;
     pItem->maPreview1 = rImage;
     pItem->maText   = rText;
-    pItem->setSelectClickHdl(LINK(this,ThumbnailView,OnFolderSelected));
+    pItem->setSelectClickHdl(LINK(this,ThumbnailView,OnItemSelected));
     ImplInsertItem( pItem, nPos );
 }
 
commit fa10ab03bb9f3e796eaa8880d00d116cad9a4225
Author: Rafael Dominguez <venccsralph at gmail.com>
Date:   Sun Jul 8 19:12:33 2012 -0430

    Add an option in toolbar to delete folders when you select them.
    
    Change-Id: Iff10ff99340d9680b924c11956dc036a5f2dac4f

diff --git a/sfx2/inc/sfx2/templatefolderview.hxx b/sfx2/inc/sfx2/templatefolderview.hxx
index e3187c4..c969a2a 100644
--- a/sfx2/inc/sfx2/templatefolderview.hxx
+++ b/sfx2/inc/sfx2/templatefolderview.hxx
@@ -62,6 +62,8 @@ public:
 
     sal_uInt16 createRegion (const rtl::OUString &rName);
 
+    bool removeRegion (const sal_uInt16 nItemId);
+
     bool removeTemplate (const sal_uInt16 nItemId);
 
     bool moveTemplates (std::set<const ThumbnailViewItem*> &rItems, const sal_uInt16 nTargetItem, bool bCopy);
diff --git a/sfx2/inc/templatedlg.hxx b/sfx2/inc/templatedlg.hxx
index 9c5abfb..435b436 100644
--- a/sfx2/inc/templatedlg.hxx
+++ b/sfx2/inc/templatedlg.hxx
@@ -72,6 +72,7 @@ private:
     void OnTemplateEdit ();
     void OnTemplateProperties ();
     void OnTemplateDelete ();
+    void OnFolderDelete ();
 
     void centerTopButtons ();
 
diff --git a/sfx2/source/control/templatefolderview.cxx b/sfx2/source/control/templatefolderview.cxx
index 63ea12a..de9c866 100644
--- a/sfx2/source/control/templatefolderview.cxx
+++ b/sfx2/source/control/templatefolderview.cxx
@@ -468,6 +468,18 @@ sal_uInt16 TemplateFolderView::createRegion(const rtl::OUString &rName)
     return true;
 }
 
+bool TemplateFolderView::removeRegion(const sal_uInt16 nItemId)
+{
+    sal_uInt16 nRegionId = nItemId - 1;
+
+    if (!mpDocTemplates->Delete(nRegionId,USHRT_MAX))
+        return false;
+
+    RemoveItem(nItemId);
+
+    return true;
+}
+
 bool TemplateFolderView::removeTemplate (const sal_uInt16 nItemId)
 {
     sal_uInt16 nRegionId = mpItemView->getRegionId();
diff --git a/sfx2/source/doc/templatedlg.cxx b/sfx2/source/doc/templatedlg.cxx
index 0e7fe29..decb401 100644
--- a/sfx2/source/doc/templatedlg.cxx
+++ b/sfx2/source/doc/templatedlg.cxx
@@ -310,6 +310,9 @@ IMPL_LINK_NOARG(SfxTemplateManagerDlg,TBXViewHdl)
     case TBI_TEMPLATE_IMPORT:
         OnTemplateImport();
         break;
+    case TBI_TEMPLATE_FOLDER_DEL:
+        OnFolderDelete();
+        break;
     default:
         break;
     }
@@ -418,7 +421,10 @@ IMPL_LINK(SfxTemplateManagerDlg, TVFolderStateHdl, const ThumbnailViewItem*, pIt
     if (pItem->isSelected())
     {
         if (maSelFolders.empty())
+        {
             mpViewBar->EnableItem(TBI_TEMPLATE_IMPORT,true);
+            mpViewBar->ShowItem(TBI_TEMPLATE_FOLDER_DEL);
+        }
 
         maSelFolders.insert(pItem);
     }
@@ -427,7 +433,10 @@ IMPL_LINK(SfxTemplateManagerDlg, TVFolderStateHdl, const ThumbnailViewItem*, pIt
         maSelFolders.erase(pItem);
 
         if (maSelFolders.empty())
+        {
             mpViewBar->EnableItem(TBI_TEMPLATE_IMPORT,false);
+            mpViewBar->HideItem(TBI_TEMPLATE_FOLDER_DEL);
+        }
     }
 
     return 0;
@@ -762,6 +771,18 @@ void SfxTemplateManagerDlg::OnTemplateDelete ()
     }
 }
 
+void SfxTemplateManagerDlg::OnFolderDelete()
+{
+    std::set<const ThumbnailViewItem*>::const_iterator pIter;
+    for (pIter = maSelFolders.begin(); pIter != maSelFolders.end();)
+    {
+        if (maView->removeRegion((*pIter)->mnId))
+            maSelFolders.erase(pIter++);
+        else
+            ++pIter;
+    }
+}
+
 void SfxTemplateManagerDlg::centerTopButtons()
 {
     Point aFirstBtnPos = aButtonAll.GetPosPixel();
diff --git a/sfx2/source/doc/templatedlg.hrc b/sfx2/source/doc/templatedlg.hrc
index cf94cd3..509b925 100644
--- a/sfx2/source/doc/templatedlg.hrc
+++ b/sfx2/source/doc/templatedlg.hrc
@@ -38,6 +38,8 @@
 
 #define BTN_TEMPLATE_CLOSE          24
 
+#define TBI_TEMPLATE_FOLDER_DEL     25
+
 #define STR_CREATE_TEXT             260
 #define STR_CREATE_SHEET            261
 #define STR_CREATE_PRESENT          262
diff --git a/sfx2/source/doc/templatedlg.src b/sfx2/source/doc/templatedlg.src
index c634932..f32e26c 100644
--- a/sfx2/source/doc/templatedlg.src
+++ b/sfx2/source/doc/templatedlg.src
@@ -195,6 +195,13 @@ ModalDialog DLG_TEMPLATE_MANAGER
                     ImageBitmap = Bitmap { File = "import.png" ; };
                 };
             };
+
+            ToolBoxItem
+            {
+                Identifier = TBI_TEMPLATE_FOLDER_DEL;
+                Hide = TRUE;
+                Text [ en-US ] = "Delete";
+            };
         };
     };
 
commit babc18065fa5185bd0208ce48636b4f6a492ebe5
Author: Rafael Dominguez <venccsralph at gmail.com>
Date:   Sun Jul 8 16:35:25 2012 -0430

    Remove "No folder" option from move menu.
    
    - We dont support having folders and template files mixed, so
    we cant move them to the same folders as templates.
    
    Change-Id: I07a519e63fef358d915a1d2c8484c6c2d8940642

diff --git a/sfx2/source/doc/templatedlg.cxx b/sfx2/source/doc/templatedlg.cxx
index e9d57cb..0e7fe29 100644
--- a/sfx2/source/doc/templatedlg.cxx
+++ b/sfx2/source/doc/templatedlg.cxx
@@ -395,7 +395,6 @@ IMPL_LINK(SfxTemplateManagerDlg, TBXDropdownHdl, ToolBox*, pBox)
         pMoveMenu->InsertSeparator();
 
         pMoveMenu->InsertItem(MNI_MOVE_NEW,SfxResId(STR_MOVE_NEW).toString());
-        pMoveMenu->InsertItem(MNI_MOVE_DELETE,SfxResId(STR_MOVE_DELETE).toString());
 
         pMoveMenu->Execute(pBox,pBox->GetItemRect(TBI_TEMPLATE_MOVE),
                             POPUPMENU_EXECUTE_DOWN);
@@ -530,17 +529,6 @@ IMPL_LINK(SfxTemplateManagerDlg, MoveMenuSelectHdl, Menu*, pMenu)
             }
         }
     }
-    else if (nMenuId == MNI_MOVE_DELETE)
-    {
-        std::set<const ThumbnailViewItem*>::const_iterator pIter;
-        for (pIter = maSelTemplates.begin(); pIter != maSelTemplates.end();)
-        {
-            if (maView->removeTemplate((*pIter)->mnId))
-                maSelTemplates.erase(pIter++);
-            else
-                ++pIter;
-        }
-    }
     else
     {
         // Try to move the template, if isnt possible try to copy it.
diff --git a/sfx2/source/doc/templatedlg.hrc b/sfx2/source/doc/templatedlg.hrc
index 8a46b11..cf94cd3 100644
--- a/sfx2/source/doc/templatedlg.hrc
+++ b/sfx2/source/doc/templatedlg.hrc
@@ -46,11 +46,9 @@
 #define STR_ACTION_SORT_NAME        264
 
 #define MNI_MOVE_NEW                265
-#define MNI_MOVE_DELETE             266
 #define MNI_MOVE_FOLDER_BASE        267
 
 #define STR_MOVE_NEW                268
-#define STR_MOVE_DELETE             270
 #define STR_INPUT_NEW               271
 
 #define IMG_ONLINE_REPOSITORY       100
diff --git a/sfx2/source/doc/templatedlg.src b/sfx2/source/doc/templatedlg.src
index f9ce918..c634932 100644
--- a/sfx2/source/doc/templatedlg.src
+++ b/sfx2/source/doc/templatedlg.src
@@ -40,11 +40,6 @@ String STR_MOVE_NEW
     Text [ en-US ] = "New folder";
 };
 
-String STR_MOVE_DELETE
-{
-    Text [ en-US ] = "No folder";
-};
-
 String STR_INPUT_NEW
 {
     Text [ en-US ] = "Enter folder name:";
commit 0088d0362381596f64e4218e1aa8af54b3db36e5
Author: Rafael Dominguez <venccsralph at gmail.com>
Date:   Sun Jul 8 16:02:24 2012 -0430

    Hide template toolbar when we close overlay and templates are selected.
    
    Change-Id: I8ccff40fcb7d214ce368d5c3dc9577f76c1b2929

diff --git a/sfx2/source/doc/templatedlg.cxx b/sfx2/source/doc/templatedlg.cxx
index ed607da..e9d57cb 100644
--- a/sfx2/source/doc/templatedlg.cxx
+++ b/sfx2/source/doc/templatedlg.cxx
@@ -272,7 +272,13 @@ IMPL_LINK_NOARG(SfxTemplateManagerDlg,ViewDrawsHdl)
 void SfxTemplateManagerDlg::MouseButtonDown( const MouseEvent& rMEvt )
 {
     if (!maView->GetActiveClipRegion().IsInside(rMEvt.GetPosPixel()) && maView->isOverlayVisible())
+    {
+        maSelTemplates.clear();
+        mpTemplateBar->Hide();
+        mpViewBar->Show();
+
         maView->showOverlay(false);
+    }
 }
 
 IMPL_LINK_NOARG (SfxTemplateManagerDlg, CloseHdl)
@@ -281,9 +287,12 @@ IMPL_LINK_NOARG (SfxTemplateManagerDlg, CloseHdl)
     return 0;
 }
 
-
 IMPL_LINK_NOARG(SfxTemplateManagerDlg, CloseOverlayHdl)
 {
+    maSelTemplates.clear();
+    mpTemplateBar->Hide();
+    mpViewBar->Show();
+
     maView->showOverlay(false);
     return 0;
 }
commit 7c98ed8f2673c02d3f424e56b7a6f5d887ad89f0
Author: Rafael Dominguez <venccsralph at gmail.com>
Date:   Sun Jul 8 13:07:11 2012 -0430

    Handle close overlay action in template dialog instead of folder view.
    
    Change-Id: I1f79afff5ea8a9dec5b8534a73500224135e213b

diff --git a/sfx2/inc/sfx2/templatefolderview.hxx b/sfx2/inc/sfx2/templatefolderview.hxx
index af12962..e3187c4 100644
--- a/sfx2/inc/sfx2/templatefolderview.hxx
+++ b/sfx2/inc/sfx2/templatefolderview.hxx
@@ -48,6 +48,8 @@ public:
 
     void setOverlayDblClickHdl (const Link &rLink);
 
+    void setOverlayCloseHdl (const Link &rLink);
+
     void filterTemplatesByApp (const FILTER_APPLICATION &eApp);
 
     std::vector<TemplateItemProperties>
@@ -78,8 +80,6 @@ private:
 
     DECL_LINK(ChangeNameHdl, TemplateView*);
 
-    DECL_LINK(OverlayCloseHdl, void*);
-
 private:
 
     bool mbFilteredResults;     // Flag keep track if overlay has been filtered so folders can get filtered too afterwards
diff --git a/sfx2/inc/templatedlg.hxx b/sfx2/inc/templatedlg.hxx
index 7b528ae..9c5abfb 100644
--- a/sfx2/inc/templatedlg.hxx
+++ b/sfx2/inc/templatedlg.hxx
@@ -48,6 +48,7 @@ private:
     virtual void MouseButtonDown( const MouseEvent& rMEvt );
 
     DECL_LINK(CloseHdl, void*);
+    DECL_LINK(CloseOverlayHdl, void*);
 
     DECL_LINK(OnClickSelectionMode, ImageButton*);
 
diff --git a/sfx2/source/control/templatefolderview.cxx b/sfx2/source/control/templatefolderview.cxx
index 91f0fbb..63ea12a 100644
--- a/sfx2/source/control/templatefolderview.cxx
+++ b/sfx2/source/control/templatefolderview.cxx
@@ -287,7 +287,6 @@ TemplateFolderView::TemplateFolderView ( Window* pParent, const ResId& rResId, b
 
     mpItemView->setItemStateHdl(LINK(this,TemplateFolderView,TVTemplateStateHdl));
     mpItemView->setChangeNameHdl(LINK(this,TemplateFolderView,ChangeNameHdl));
-    mpItemView->setCloseHdl(LINK(this,TemplateFolderView,OverlayCloseHdl));
 }
 
 TemplateFolderView::~TemplateFolderView()
@@ -394,6 +393,11 @@ void TemplateFolderView::setOverlayDblClickHdl(const Link &rLink)
     mpItemView->setDblClickHdl(rLink);
 }
 
+void TemplateFolderView::setOverlayCloseHdl(const Link &rLink)
+{
+    mpItemView->setCloseHdl(rLink);
+}
+
 void TemplateFolderView::filterTemplatesByApp (const FILTER_APPLICATION &eApp)
 {
     meFilterOption = eApp;
@@ -690,12 +694,6 @@ IMPL_LINK(TemplateFolderView, ChangeNameHdl, TemplateView*, pView)
     return true;
 }
 
-IMPL_LINK_NOARG(TemplateFolderView, OverlayCloseHdl)
-{
-    showOverlay(false);
-    return 0;
-}
-
 void lcl_updateThumbnails (TemplateFolderViewItem *pItem)
 {
     // Update folder thumbnails
diff --git a/sfx2/source/doc/templatedlg.cxx b/sfx2/source/doc/templatedlg.cxx
index 2b08cf2..ed607da 100644
--- a/sfx2/source/doc/templatedlg.cxx
+++ b/sfx2/source/doc/templatedlg.cxx
@@ -186,6 +186,7 @@ SfxTemplateManagerDlg::SfxTemplateManagerDlg (Window *parent)
     maView->setItemStateHdl(LINK(this,SfxTemplateManagerDlg,TVFolderStateHdl));
     maView->setTemplateStateHdl(LINK(this,SfxTemplateManagerDlg,TVTemplateStateHdl));
     maView->setOverlayDblClickHdl(LINK(this,SfxTemplateManagerDlg,OpenTemplateHdl));
+    maView->setOverlayCloseHdl(LINK(this,SfxTemplateManagerDlg,CloseOverlayHdl));
 
     mpSearchView->SetSizePixel(aThumbSize);
     mpSearchView->setItemMaxTextLength(ITEM_MAX_TEXT_LENGTH);
@@ -280,6 +281,13 @@ IMPL_LINK_NOARG (SfxTemplateManagerDlg, CloseHdl)
     return 0;
 }
 
+
+IMPL_LINK_NOARG(SfxTemplateManagerDlg, CloseOverlayHdl)
+{
+    maView->showOverlay(false);
+    return 0;
+}
+
 IMPL_LINK (SfxTemplateManagerDlg, OnClickSelectionMode, ImageButton*, pButton)
 {
     maView->setSelectionMode(pButton->GetState() == STATE_CHECK);


More information about the Libreoffice-commits mailing list