Date: prev next · Thread: first prev next last
2013 Archives by date, by thread · List index


Hi,

I have submitted a patch for review:

    https://gerrit.libreoffice.org/1730

To pull it, you can do:

    git pull ssh://gerrit.libreoffice.org:29418/core refs/changes/30/1730/1

Resolves fdo#46718 : UI: Delete multiple styles at once

Allows the user to delete multiple styles at once.
Previously you need to select one style at a time and confirm its deletion. The patch enables the 
user to select multiple styles at once and delete them in one step. This is particularly useful 
when the user has numerous styles which are not not used regualarly or shall not be used in the 
future .
Author : Rushi Shukla (rushboy52@gmail.com)
Change-Id: I88d0113d4d311f98de8e20a5f8c8ebc0e2025b6f
---
M sfx2/source/dialog/templdlg.cxx
M sfx2/source/inc/templdgi.hxx
2 files changed, 30 insertions(+), 8 deletions(-)



diff --git a/sfx2/source/dialog/templdlg.cxx b/sfx2/source/dialog/templdlg.cxx
index b315453..d707ea4 100644
--- a/sfx2/source/dialog/templdlg.cxx
+++ b/sfx2/source/dialog/templdlg.cxx
@@ -1991,7 +1991,12 @@
 
                 if ( pTreeBox )
                 {
-                    pTreeBox->RemoveParentKeepChildren( pTreeBox->FirstSelected() );
+                    while(pTreeBox->FirstSelected)
+                    {      
+                        SvTreeListEntry* temp = pTreeBox->NextSelected();                        
+                        pTreeBox->RemoveParentKeepChildren( pTreeBox->FirstSelected() );
+                        pTreeBox->FirstSelected() = temp ;
+                    }
                     bDontUpdate = sal_False;
                 }
             }
@@ -2038,6 +2043,7 @@
         const SfxStyleFamilyItem *pItem = GetFamilyItem_Impl();
         const SfxStyleFamily eFam = pItem->GetFamily();
         sal_uInt16 nFilter = 0;
+        sal_bool DelFlag = sal_false;
         if(pItem->GetFilterList().size() > nActFilter)
             nFilter = pItem->GetFilterList()[ nActFilter ]->nFlags;
         if(!nFilter)    // automatic
@@ -2045,14 +2051,29 @@
         const SfxStyleSheetBase *pStyle =
             pStyleSheetPool->Find(aTemplName,eFam, pTreeBox? SFXSTYLEBIT_ALL : nFilter);
 
-        OSL_ENSURE(pStyle, "Style ot found");
-        if(pStyle && pStyle->IsUserDefined())
+        OSL_ENSURE(pStyle, "Style not found");
+        if(pStyle)
         {
-            EnableDel(sal_True);
-        }
-        else
-        {
-            EnableDel(sal_False);
+           while(pTreeBox->FirstSelected)
+           {        
+                SfxStyleSheetBase *pcheck = GetSelectedStyle();
+                if(!(pcheck->UserDefined()))
+                {   
+                    sal_bool=false;      
+                    break;
+                }                
+                SvTreeListEntry* temp = pTreeBox->NextSelected();
+                if(pTreeBox->FirstSelected)                       
+                pTreeBox->FirstSelected() = temp ;
+            }
+            if(DelFlag)
+            {
+                EnableDel(sal_True);
+            }
+            else
+            {
+                EnableDel(sal_False);
+            }
         }
     }
     else
diff --git a/sfx2/source/inc/templdgi.hxx b/sfx2/source/inc/templdgi.hxx
index b5fdbd9..1bd6fe3 100644
--- a/sfx2/source/inc/templdgi.hxx
+++ b/sfx2/source/inc/templdgi.hxx
@@ -136,6 +136,7 @@
     SfxTemplateItem*            pFamilyState[MAX_FAMILIES];
     SfxStyleSheetBasePool*      pStyleSheetPool;
     SvTreeListBox*              pTreeBox;
+    pTreeBox.SetSelectionMode(MULTIPLE_SELECTION);
     SfxObjectShell*             pCurObjShell;
     ::com::sun::star::uno::Reference< ::com::sun::star::frame::XModuleManager2 >
                                 xModuleManager;

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I88d0113d4d311f98de8e20a5f8c8ebc0e2025b6f
Gerrit-PatchSet: 1
Gerrit-Project: core
Gerrit-Branch: master
Gerrit-Owner: Rushi Shukla <rushboy52@gmail.com>


Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.