[Libreoffice-commits] core.git: Branch 'feature/cmis' - include/sfx2 sfx2/source

Cao Cuong Ngo cao.cuong.ngo at gmail.com
Sun Jul 14 06:36:12 PDT 2013


 include/sfx2/dinfdlg.hxx       |    2 ++
 sfx2/source/dialog/dinfdlg.cxx |   12 +++++++++---
 2 files changed, 11 insertions(+), 3 deletions(-)

New commits:
commit 0d7869b0a73f5df4a81ac6e01a06b0f951387ee9
Author: Cao Cuong Ngo <cao.cuong.ngo at gmail.com>
Date:   Sun Jul 14 15:33:27 2013 +0200

    CMIS properties dialog
    
    When it's a CMIS document, don't update custom properties,
    which also prevents cmis properties aren't updated.
    
    Change-Id: Ia26d9ae5debae9c5de347ed309a3f07cfda4a475

diff --git a/include/sfx2/dinfdlg.hxx b/include/sfx2/dinfdlg.hxx
index 43b20ad..dde187e 100644
--- a/include/sfx2/dinfdlg.hxx
+++ b/include/sfx2/dinfdlg.hxx
@@ -99,6 +99,7 @@ public:
             ::com::sun::star::document::XDocumentProperties> & i_xDocProps,
         bool i_bDoNotUpdateUserDefined = false)
         const;
+    sal_Bool    isCmisDocument() const { return m_aCmisProperties.size() > 0;}
 
     sal_Bool    isAutoloadEnabled() const { return m_isAutoloadEnabled; }
     void        setAutoloadEnabled(sal_Bool i_val) { m_isAutoloadEnabled = i_val; }
@@ -691,6 +692,7 @@ class SfxCmisPropertiesPage : public SfxTabPage
 private:
     CmisPropertiesControl* m_pPropertiesCtrl;
     using TabPage::DeactivatePage;
+    DECL_LINK(UpdateHdl, void *);
 
 protected:
     SfxCmisPropertiesPage( Window* pParent, const SfxItemSet& );
diff --git a/sfx2/source/dialog/dinfdlg.cxx b/sfx2/source/dialog/dinfdlg.cxx
index a508577..99c103d 100644
--- a/sfx2/source/dialog/dinfdlg.cxx
+++ b/sfx2/source/dialog/dinfdlg.cxx
@@ -576,10 +576,8 @@ std::vector< CmisProperty* > SfxDocumentInfoItem::GetCmisProperties() const
 
 uno::Sequence< document::CmisProperty > SfxDocumentInfoItem::GetCmisPropertiesSeq() const
 {
-
-    sal_Int32 i = 0;
     std::vector< CmisProperty* >::const_iterator pIter;
-    sal_Int32 updatableCount = 0, nCount = 0;
+    sal_Int32 i=0, updatableCount = 0, nCount = 0;
 
     for ( pIter = m_aCmisProperties.begin();
         pIter != m_aCmisProperties.end(); ++pIter, ++i )
@@ -2187,6 +2185,14 @@ sal_Bool SfxCustomPropertiesPage::FillItemSet( SfxItemSet& rSet )
 
     if ( pInfo )
     {
+        // If it's a CMIS document, we can't save custom properties
+        if ( pInfo->isCmisDocument( ) )
+        {
+            if ( bMustDelete )
+                delete pInfo;
+            return sal_False;
+        }
+
         pInfo->ClearCustomProperties();
         Sequence< beans::PropertyValue > aPropertySeq = m_pPropertiesCtrl->GetCustomProperties();
         sal_Int32 i = 0, nCount = aPropertySeq.getLength();


More information about the Libreoffice-commits mailing list