Rebased ref, commits from common ancestor:
commit e48c4f22d018037868e8aee4790d8ae6e7aa6162
Author: Efe Gürkan YALAMAN <efeyala...@gmail.com>
Date:   Tue Jul 23 16:28:39 2013 +0300

    Reset method implementation.
    
    Change-Id: I34fb54feb636eb9b3f61062969855f9d80140c08

diff --git a/cui/source/options/optaboutconfig.cxx 
b/cui/source/options/optaboutconfig.cxx
index 48036df..b7072c3 100644
--- a/cui/source/options/optaboutconfig.cxx
+++ b/cui/source/options/optaboutconfig.cxx
@@ -14,8 +14,8 @@
 #include <comphelper/processfactory.hxx>
 #include <com/sun/star/configuration/theDefaultProvider.hpp>
 #include <com/sun/star/lang/XMultiServiceFactory.hpp>
-#include <com/sun/star/container/XNameAccess.hpp>
 #include <com/sun/star/beans/NamedValue.hpp>
+#include <com/sun/star/beans/Property.hpp>
 #include <com/sun/star/container/XNameAccess.hpp>
 #include <com/sun/star/container/XHierarchicalNameAccess.hpp>
 
@@ -83,14 +83,20 @@ void CuiAboutConfigTabPage::InsertEntry( OUString& rProp, 
OUString&  rStatus, OU
     pPrefBox->Insert( pEntry );
 }
 
+void CuiAboutConfigTabPage::Reset( const SfxItemSet& )
+{
+   pPrefBox->Clear();
+
+   Reference< XNameAccess > xConfigAccess = getConfigAccess();
+
+   FillItems( xConfigAccess, OUString("org.openoffice") );
+}
 
 void CuiAboutConfigTabPage::FillItems( Reference< XNameAccess >xNameAccess, 
OUString sPath)
 {
     sal_Bool bIsLeafNode;
 
-    //Reference< XNameAccess > xNextNameAccess;
     Reference< XHierarchicalNameAccess > xHierarchicalNameAccess( xNameAccess, 
uno::UNO_QUERY_THROW );
-    //Reference< XHierarchicalNameAccess > xNextHierarchicalNameAccess;
 
     uno::Sequence< OUString > seqItems = xNameAccess->getElementNames();
     for( sal_Int16 i = 0; i < seqItems.getLength(); ++i )
@@ -115,6 +121,8 @@ void CuiAboutConfigTabPage::FillItems( Reference< 
XNameAccess >xNameAccess, OUSt
         if( bIsLeafNode )
         {
             //InsertEntry( sPath, "", "", "");
+            //Reference< beans::Property > aProperty = 
xHierarchicalNameAccess->getAsProperty();//getPropertyValue( seqItems[ i ] );
+            //InsertEntry( sPath + OUString("/") + seqItems[ i ], 
OUString(""), OUString(""), xNameAccess->getPropertyValue( seqItems[ i ] ) );
         }
     }
 }
diff --git a/cui/source/options/optaboutconfig.hxx 
b/cui/source/options/optaboutconfig.hxx
index 2982378..343f0c9 100644
--- a/cui/source/options/optaboutconfig.hxx
+++ b/cui/source/options/optaboutconfig.hxx
@@ -35,6 +35,7 @@ public:
    static SfxTabPage* Create( Window* pParent, const SfxItemSet& rItemset );
 
    void     InsertEntry(OUString& rProp, OUString&  rStatus, OUString& rType, 
OUString& rValue);
+   void     Reset( const SfxItemSet& );
    void     FillItems( com::sun::star::uno::Reference < 
com::sun::star::container::XNameAccess > xNameAccess, OUString sPath);
    com::sun::star::uno::Reference< com::sun::star::container::XNameAccess > 
getConfigAccess();
 
commit 5bb3a60925b6b49811a225120f09b575234d5d15
Author: Efe Gürkan YALAMAN <efeyala...@gmail.com>
Date:   Mon Jul 22 23:09:28 2013 +0300

    FillItems implemened
    
    This method will be used for traversing configuration tree.
    
    Change-Id: Iefd8a21d1cb27496c87502755834c31b1a35ba44

diff --git a/cui/source/options/optaboutconfig.cxx 
b/cui/source/options/optaboutconfig.cxx
index 09805c0..48036df 100644
--- a/cui/source/options/optaboutconfig.cxx
+++ b/cui/source/options/optaboutconfig.cxx
@@ -16,10 +16,14 @@
 #include <com/sun/star/lang/XMultiServiceFactory.hpp>
 #include <com/sun/star/container/XNameAccess.hpp>
 #include <com/sun/star/beans/NamedValue.hpp>
+#include <com/sun/star/container/XNameAccess.hpp>
+#include <com/sun/star/container/XHierarchicalNameAccess.hpp>
 
 
 using namespace svx;
 using namespace ::com::sun::star;
+using namespace com::sun::star::uno;
+using namespace com::sun::star::container;
 
 #define ITEMID_PREF     1
 #define ITEMID_TYPE     2
@@ -79,12 +83,43 @@ void CuiAboutConfigTabPage::InsertEntry( OUString& rProp, 
OUString&  rStatus, OU
     pPrefBox->Insert( pEntry );
 }
 
-sal_Bool CuiAboutConfigTabPage::FillItems()
+
+void CuiAboutConfigTabPage::FillItems( Reference< XNameAccess >xNameAccess, 
OUString sPath)
 {
-    return sal_False;
+    sal_Bool bIsLeafNode;
+
+    //Reference< XNameAccess > xNextNameAccess;
+    Reference< XHierarchicalNameAccess > xHierarchicalNameAccess( xNameAccess, 
uno::UNO_QUERY_THROW );
+    //Reference< XHierarchicalNameAccess > xNextHierarchicalNameAccess;
+
+    uno::Sequence< OUString > seqItems = xNameAccess->getElementNames();
+    for( sal_Int16 i = 0; i < seqItems.getLength(); ++i )
+    {
+        Any aNode = xHierarchicalNameAccess->getByHierarchicalName( 
seqItems[i] );
+        Reference< XHierarchicalNameAccess >xNextHierarchicalNameAccess( 
aNode, uno::UNO_QUERY_THROW );
+        Reference< XNameAccess > xNextNameAccess( xNextHierarchicalNameAccess, 
uno::UNO_QUERY_THROW );
+
+        bIsLeafNode = sal_True;
+
+        try
+        {
+            uno::Sequence < OUString  > seqNext = 
xNextNameAccess->getElementNames();
+            FillItems( xNextNameAccess, sPath + OUString("/") + seqItems[i] );
+            bIsLeafNode = sal_False;
+
+        }
+        catch( uno::Exception& )
+        {
+        }
+
+        if( bIsLeafNode )
+        {
+            //InsertEntry( sPath, "", "", "");
+        }
+    }
 }
 
-uno::Reference< container::XNameAccess > 
CuiAboutConfigTabPage::getConfigAccess()
+Reference< XNameAccess > CuiAboutConfigTabPage::getConfigAccess()
 {
     uno::Reference< uno::XComponentContext > xContext( 
::comphelper::getProcessComponentContext() );
 
diff --git a/cui/source/options/optaboutconfig.hxx 
b/cui/source/options/optaboutconfig.hxx
index eb446dc..2982378 100644
--- a/cui/source/options/optaboutconfig.hxx
+++ b/cui/source/options/optaboutconfig.hxx
@@ -35,7 +35,7 @@ public:
    static SfxTabPage* Create( Window* pParent, const SfxItemSet& rItemset );
 
    void     InsertEntry(OUString& rProp, OUString&  rStatus, OUString& rType, 
OUString& rValue);
-   sal_Bool FillItems();
+   void     FillItems( com::sun::star::uno::Reference < 
com::sun::star::container::XNameAccess > xNameAccess, OUString sPath);
    com::sun::star::uno::Reference< com::sun::star::container::XNameAccess > 
getConfigAccess();
 
 };
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to