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

Giuseppe Castagno giuseppe.castagno at acca-esse.eu
Mon Apr 11 10:27:08 UTC 2016


 include/sfx2/dinfdlg.hxx       |    6 ++--
 sfx2/source/dialog/dinfdlg.cxx |   59 +++++++++++++++++++++++------------------
 2 files changed, 38 insertions(+), 27 deletions(-)

New commits:
commit cab0323ebce6f46baad32c41829e3a5e93a10e4b
Author: Giuseppe Castagno <giuseppe.castagno at acca-esse.eu>
Date:   Mon Feb 29 10:30:01 2016 +0100

    tdf#74885 Fix direction in CMIS property editor scrollbar
    
    Use outer container size to compute scroll max range.
    Remove class member function no longer used.
    Remove class field no longer used.
    Rename some local variables.
    
    Change-Id: Ida2f631ce7a49b2ce4cd4ee2913437b020058ae1
    Reviewed-on: https://gerrit.libreoffice.org/22804
    Tested-by: Jenkins <ci at libreoffice.org>
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>
    Tested-by: Caolán McNamara <caolanm at redhat.com>

diff --git a/include/sfx2/dinfdlg.hxx b/include/sfx2/dinfdlg.hxx
index 9fe1553..5cd2c50 100644
--- a/include/sfx2/dinfdlg.hxx
+++ b/include/sfx2/dinfdlg.hxx
@@ -557,7 +557,6 @@ struct CmisPropertyLine : public VclBuilderContainer
     std::vector< CmisValue* >     m_aValues;
     std::vector< CmisDateTime* >  m_aDateTimes;
     std::vector< CmisYesNo* >     m_aYesNos;
-    sal_Int32                     m_nNumValue;
     long getItemHeight() const;
     CmisPropertyLine( vcl::Window* pParent );
     virtual ~CmisPropertyLine();
@@ -576,8 +575,8 @@ public:
     CmisPropertiesWindow(SfxTabPage* pParent);
     ~CmisPropertiesWindow();
 
-    sal_uInt16 GetLineCount() const;
     inline sal_Int32 GetItemHeight() const { return m_nItemHeight; }
+    inline long getBoxHeight() const { return VclContainer::getLayoutRequisition(*m_pBox).Height(); };
     void AddLine( const OUString& sId, const OUString& sName,
                   const OUString& sType, const bool bUpdatable,
                   const bool bRequired, const bool bMultiValued,
@@ -639,6 +638,9 @@ public:
     virtual void dispose() override;
 
     static VclPtr<SfxTabPage> Create( vcl::Window* pParent, const SfxItemSet* );
+    virtual void SetPosSizePixel(const Point& rAllocPos, const Size& rAllocation) override;
+    virtual void SetSizePixel(const Size& rAllocation) override;
+    virtual void SetPosPixel(const Point& rAllocPos) override;
 };
 
 #endif // #ifndef _ INCLUDED_SFX2_DINFDLG_HXX
diff --git a/sfx2/source/dialog/dinfdlg.cxx b/sfx2/source/dialog/dinfdlg.cxx
index 792f831..a2bf84e 100644
--- a/sfx2/source/dialog/dinfdlg.cxx
+++ b/sfx2/source/dialog/dinfdlg.cxx
@@ -2314,7 +2314,6 @@ CmisPropertyLine::CmisPropertyLine(vcl::Window* pParent)
     , m_bRequired(false)
     , m_bMultiValued(false)
     , m_bOpenChoice(false)
-    , m_nNumValue(1)
 {
     m_pUIBuilder = new VclBuilder( pParent, getUIRootDir(), "sfx/ui/cmisline.ui");
     get( m_pFrame, "CmisFrame" );
@@ -2364,7 +2363,6 @@ long CmisPropertyLine::getItemHeight() const
 CmisPropertiesWindow::CmisPropertiesWindow(SfxTabPage* pParent):
     m_aNumberFormatter( ::comphelper::getProcessComponentContext(),
                         Application::GetSettings().GetLanguageTag().getLanguageType() )
-
 {
     pParent->get(m_pBox, "CmisWindow");
     CmisPropertyLine aTemp( m_pBox );
@@ -2388,16 +2386,6 @@ void CmisPropertiesWindow::ClearAllLines()
     m_aCmisPropertiesLines.clear();
 }
 
-sal_uInt16 CmisPropertiesWindow::GetLineCount() const
-{
-    sal_uInt16 nCount = 0;
-    std::vector< CmisPropertyLine* >::const_iterator pIter;
-    for ( pIter = m_aCmisPropertiesLines.begin();
-          pIter != m_aCmisPropertiesLines.end(); ++pIter )
-        nCount += ( (*pIter)->m_nNumValue + 1 );
-    return nCount;
-}
-
 void CmisPropertiesWindow::AddLine( const OUString& sId, const OUString& sName,
                                     const OUString& sType, const bool bUpdatable,
                                     const bool bRequired, const bool bMultiValued,
@@ -2417,8 +2405,8 @@ void CmisPropertiesWindow::AddLine( const OUString& sId, const OUString& sName,
         Sequence< sal_Int64 > seqValue;
         rAny >>= seqValue;
         sal_uInt32 nIndex = m_aNumberFormatter.GetFormatIndex( NF_NUMBER_SYSTEM );
-        sal_Int32 m_nNumValue = seqValue.getLength( );
-        for ( sal_Int32 i = 0; i < m_nNumValue; ++i )
+        sal_Int32 nNumValue = seqValue.getLength( );
+        for ( sal_Int32 i = 0; i < nNumValue; ++i )
         {
             OUString sValue;
             m_aNumberFormatter.GetInputLineString( seqValue[i], nIndex, sValue );
@@ -2432,8 +2420,8 @@ void CmisPropertiesWindow::AddLine( const OUString& sId, const OUString& sName,
         Sequence< double > seqValue;
         rAny >>= seqValue;
         sal_uInt32 nIndex = m_aNumberFormatter.GetFormatIndex( NF_NUMBER_SYSTEM );
-        sal_Int32 m_nNumValue = seqValue.getLength( );
-        for ( sal_Int32 i = 0; i < m_nNumValue; ++i )
+        sal_Int32 nNumValue = seqValue.getLength( );
+        for ( sal_Int32 i = 0; i < nNumValue; ++i )
         {
             OUString sValue;
             m_aNumberFormatter.GetInputLineString( seqValue[i], nIndex, sValue );
@@ -2447,8 +2435,8 @@ void CmisPropertiesWindow::AddLine( const OUString& sId, const OUString& sName,
     {
         Sequence<sal_Bool> seqValue;
         rAny >>= seqValue;
-        sal_Int32 m_nNumValue = seqValue.getLength( );
-        for ( sal_Int32 i = 0; i < m_nNumValue; ++i )
+        sal_Int32 nNumValue = seqValue.getLength( );
+        for ( sal_Int32 i = 0; i < nNumValue; ++i )
         {
             CmisYesNo* pYesNo = new CmisYesNo( m_pBox, seqValue[i] );
             pYesNo->m_aYesButton->Enable( bUpdatable );
@@ -2460,8 +2448,8 @@ void CmisPropertiesWindow::AddLine( const OUString& sId, const OUString& sName,
     {
         Sequence< OUString > seqValue;
         rAny >>= seqValue;
-        sal_Int32 m_nNumValue = seqValue.getLength( );
-        for ( sal_Int32 i = 0; i < m_nNumValue; ++i )
+        sal_Int32 nNumValue = seqValue.getLength( );
+        for ( sal_Int32 i = 0; i < nNumValue; ++i )
         {
             CmisValue* pValue = new CmisValue( m_pBox, seqValue[i] );
             pValue->m_aValueEdit->SetReadOnly( !bUpdatable );
@@ -2472,15 +2460,14 @@ void CmisPropertiesWindow::AddLine( const OUString& sId, const OUString& sName,
     {
         Sequence< util::DateTime > seqValue;
         rAny >>= seqValue;
-        sal_Int32 m_nNumValue = seqValue.getLength( );
-        for ( sal_Int32 i = 0; i < m_nNumValue; ++i )
+        sal_Int32 nNumValue = seqValue.getLength( );
+        for ( sal_Int32 i = 0; i < nNumValue; ++i )
         {
             CmisDateTime* pDateTime = new CmisDateTime( m_pBox, seqValue[i]);
             pDateTime->m_aDateField->SetReadOnly( !bUpdatable );
             pDateTime->m_aTimeField->SetReadOnly( !bUpdatable );
             pNewLine->m_aDateTimes.push_back( pDateTime );
         }
-
     }
     pNewLine->m_aName->SetText( sName );
     pNewLine->m_aName->Show();
@@ -2657,10 +2644,13 @@ void CmisPropertiesControl::AddLine( const OUString& sId, const OUString& sName,
                                      const bool bOpenChoice, Any& aChoices, Any& rAny
                                      )
 {
-    m_rVertScroll.SetRangeMax( m_pPropertiesWin.GetLineCount() + 1 );
-    m_rVertScroll.DoScroll( m_pPropertiesWin.GetLineCount() + 1 );
     m_pPropertiesWin.AddLine( sId, sName, sType, bUpdatable, bRequired, bMultiValued,
                                bOpenChoice, aChoices, rAny );
+    //compute logical elements
+    sal_Int32 nLogicElements = ( m_pPropertiesWin.getBoxHeight()
+                                 + m_pPropertiesWin.GetItemHeight() ) / m_pPropertiesWin.GetItemHeight();
+    m_rVertScroll.SetRangeMax( nLogicElements );
+    m_rVertScroll.DoScroll( nLogicElements );
     checkAutoVScroll();
 }
 
@@ -2781,4 +2771,23 @@ VclPtr<SfxTabPage> SfxCmisPropertiesPage::Create( vcl::Window* pParent, const Sf
     return VclPtr<SfxCmisPropertiesPage>::Create( pParent, *rItemSet );
 }
 
+void SfxCmisPropertiesPage::SetPosSizePixel(const Point& rAllocPos, const Size& rAllocation)
+{
+    SfxTabPage::SetPosSizePixel(rAllocPos, rAllocation);
+    m_pPropertiesCtrl.setScrollRange();
+}
+
+void SfxCmisPropertiesPage::SetSizePixel(const Size& rAllocation)
+{
+    SfxTabPage::SetSizePixel(rAllocation);
+    m_pPropertiesCtrl.setScrollRange();
+}
+
+void SfxCmisPropertiesPage::SetPosPixel(const Point& rAllocPos)
+{
+    SfxTabPage::SetPosPixel(rAllocPos);
+    m_pPropertiesCtrl.setScrollRange();
+}
+
+
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */


More information about the Libreoffice-commits mailing list