LCOV - code coverage report
Current view: top level - writerfilter/source/dmapper - TrackChangesHandler.cxx (source / functions) Hit Total Coverage
Test: commit 0e63ca4fde4e446f346e35849c756a30ca294aab Lines: 40 42 95.2 %
Date: 2014-04-11 Functions: 5 6 83.3 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
       2             : /*
       3             :  * This file is part of the LibreOffice project.
       4             :  *
       5             :  * This Source Code Form is subject to the terms of the Mozilla Public
       6             :  * License, v. 2.0. If a copy of the MPL was not distributed with this
       7             :  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
       8             :  */
       9             : #include <TrackChangesHandler.hxx>
      10             : #include <PropertyMap.hxx>
      11             : #include <ConversionHelper.hxx>
      12             : #include <ooxml/resourceids.hxx>
      13             : #include <ooxml/OOXMLFastTokens.hxx>
      14             : #include "dmapperLoggers.hxx"
      15             : 
      16             : namespace writerfilter {
      17             : namespace dmapper {
      18             : 
      19             : using namespace ::com::sun::star;
      20             : 
      21             : 
      22          34 : TrackChangesHandler::TrackChangesHandler( sal_Int32 nToken ) :
      23          34 : LoggedProperties(dmapper_logger, "TrackChangesHandler")
      24             : {
      25          34 :     m_pRedlineParams = RedlineParamsPtr( new RedlineParams() );
      26          34 :     m_pRedlineParams->m_nToken = nToken;
      27          34 : }
      28             : 
      29             : 
      30          68 : TrackChangesHandler::~TrackChangesHandler()
      31             : {
      32          68 : }
      33             : 
      34             : 
      35          98 : void TrackChangesHandler::lcl_attribute(Id rName, Value & rVal)
      36             : {
      37          98 :     sal_Int32 nIntValue = rVal.getInt();
      38          98 :     OUString sStringValue = rVal.getString();
      39             :     (void)rName;
      40          98 :     switch( rName )
      41             :     {
      42             :         case NS_ooxml::LN_CT_TrackChange_author:
      43             :         {
      44          34 :             m_pRedlineParams->m_sAuthor = sStringValue;
      45             :         }
      46          34 :         break;
      47             :         case NS_ooxml::LN_CT_TrackChange_date:
      48             :         {
      49          30 :             m_pRedlineParams->m_sDate = sStringValue;
      50             :         }
      51          30 :         break;
      52             :         case NS_ooxml::LN_CT_Markup_id:
      53             :         {
      54          34 :             m_pRedlineParams->m_nId = nIntValue;
      55             :         }
      56          34 :         break;
      57             :         default:
      58             :             OSL_FAIL( "unknown attribute");
      59          98 :     }
      60          98 : }
      61             : 
      62          34 : uno::Sequence<beans::PropertyValue> TrackChangesHandler::getRedlineProperties() const
      63             : {
      64          34 :     uno::Sequence< beans::PropertyValue > aRedlineProperties(3);
      65          34 :     beans::PropertyValue* pRedlineProperties = aRedlineProperties.getArray();
      66             : 
      67          34 :     PropertyNameSupplier& rPropNameSupplier = PropertyNameSupplier::GetPropertyNameSupplier();
      68             : 
      69          68 :     OUString sType;
      70          34 :     switch ( m_pRedlineParams->m_nToken & 0xffff )
      71             :     {
      72             :         case OOXML_tableRowInsert:
      73           3 :             sType = rPropNameSupplier.GetName( PROP_TABLE_ROW_INSERT );
      74           3 :             break;
      75             :         case OOXML_tableRowDelete:
      76          25 :             sType = rPropNameSupplier.GetName( PROP_TABLE_ROW_DELETE );
      77          25 :             break;
      78             :         case OOXML_tableCellInsert:
      79           3 :             sType = rPropNameSupplier.GetName( PROP_TABLE_CELL_INSERT );
      80           3 :             break;
      81             :         case OOXML_tableCellDelete:
      82           3 :             sType = rPropNameSupplier.GetName( PROP_TABLE_CELL_DELETE );
      83           3 :             break;
      84             :     }
      85             : 
      86          34 :     pRedlineProperties[0].Name = rPropNameSupplier.GetName( PROP_REDLINE_TYPE );
      87          34 :     pRedlineProperties[0].Value <<= sType;
      88          34 :     pRedlineProperties[1].Name = rPropNameSupplier.GetName( PROP_REDLINE_AUTHOR );
      89          34 :     pRedlineProperties[1].Value <<= m_pRedlineParams->m_sAuthor;
      90          34 :     pRedlineProperties[2].Name = rPropNameSupplier.GetName( PROP_REDLINE_DATE_TIME );
      91          34 :     pRedlineProperties[2].Value <<= ConversionHelper::ConvertDateStringToDateTime( m_pRedlineParams->m_sDate );
      92             :     //pRedlineProperties[3].Name = rPropNameSupplier.GetName( PROP_REDLINE_REVERT_PROPERTIES );
      93             :     //pRedlineProperties[3].Value <<= pRedline->m_aRevertProperties;
      94             : 
      95          68 :     return aRedlineProperties;
      96             : }
      97             : 
      98           0 : void TrackChangesHandler::lcl_sprm(Sprm & rSprm)
      99             : {
     100             :     (void)rSprm;
     101           0 : }
     102             : 
     103             : } //namespace dmapper
     104             : } //namespace writerfilter
     105             : 
     106             : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */

Generated by: LCOV version 1.10