251200d25c
...for the "X characters at start/end of line" in the paragraph style dialog style-description entry when hyphenation is not default Move it into the resource string, that way translators have the chance to position the numbers in the right place of the string. Change-Id: I04217e27336bc032548645fc46a6daf58cccd0c4
191 lines
5.5 KiB
C++
191 lines
5.5 KiB
C++
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
|
|
/*
|
|
* This file is part of the LibreOffice project.
|
|
*
|
|
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
*
|
|
* This file incorporates work covered by the following license notice:
|
|
*
|
|
* Licensed to the Apache Software Foundation (ASF) under one or more
|
|
* contributor license agreements. See the NOTICE file distributed
|
|
* with this work for additional information regarding copyright
|
|
* ownership. The ASF licenses this file to you under the Apache
|
|
* License, Version 2.0 (the "License"); you may not use this file
|
|
* except in compliance with the License. You may obtain a copy of
|
|
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
|
|
*/
|
|
|
|
#include <tools/shl.hxx>
|
|
#include <tools/resid.hxx>
|
|
#include <tools/stream.hxx>
|
|
#include <com/sun/star/linguistic2/XSpellChecker1.hpp>
|
|
|
|
#include <editeng/optitems.hxx>
|
|
#include <editeng/eerdll.hxx>
|
|
#include <editeng/editrids.hrc>
|
|
|
|
using namespace ::com::sun::star::uno;
|
|
using namespace ::com::sun::star::linguistic2;
|
|
|
|
// STATIC DATA -----------------------------------------------------------
|
|
|
|
TYPEINIT1(SfxSpellCheckItem, SfxPoolItem);
|
|
TYPEINIT1(SfxHyphenRegionItem, SfxPoolItem);
|
|
|
|
// class SfxSpellCheckItem -----------------------------------------------
|
|
|
|
SfxSpellCheckItem::SfxSpellCheckItem
|
|
(
|
|
Reference< XSpellChecker1 > &xChecker,
|
|
sal_uInt16 _nWhich
|
|
) :
|
|
|
|
SfxPoolItem( _nWhich )
|
|
{
|
|
xSpellCheck = xChecker;
|
|
}
|
|
|
|
// -----------------------------------------------------------------------
|
|
|
|
SfxSpellCheckItem::SfxSpellCheckItem( const SfxSpellCheckItem& rItem ) :
|
|
|
|
SfxPoolItem( rItem ),
|
|
xSpellCheck( rItem.GetXSpellChecker() )
|
|
{
|
|
}
|
|
|
|
//------------------------------------------------------------------------
|
|
|
|
SfxItemPresentation SfxSpellCheckItem::GetPresentation
|
|
(
|
|
SfxItemPresentation ePres,
|
|
SfxMapUnit ,
|
|
SfxMapUnit ,
|
|
OUString& rText,
|
|
const IntlWrapper*
|
|
) const
|
|
{
|
|
switch ( ePres )
|
|
{
|
|
case SFX_ITEM_PRESENTATION_NONE:
|
|
rText = OUString();
|
|
return SFX_ITEM_PRESENTATION_NONE;
|
|
|
|
case SFX_ITEM_PRESENTATION_NAMELESS:
|
|
case SFX_ITEM_PRESENTATION_COMPLETE:
|
|
{
|
|
return ePres;
|
|
}
|
|
default:
|
|
return SFX_ITEM_PRESENTATION_NONE;
|
|
}
|
|
}
|
|
|
|
// -----------------------------------------------------------------------
|
|
|
|
SfxPoolItem* SfxSpellCheckItem::Clone( SfxItemPool* ) const
|
|
{
|
|
return new SfxSpellCheckItem( *this );
|
|
}
|
|
|
|
// -----------------------------------------------------------------------
|
|
|
|
int SfxSpellCheckItem::operator==( const SfxPoolItem& rItem ) const
|
|
{
|
|
DBG_ASSERT( SfxPoolItem::operator==(rItem), "unequal types" );
|
|
return ( xSpellCheck == ( (const SfxSpellCheckItem& )rItem ).GetXSpellChecker() );
|
|
}
|
|
|
|
// class SfxHyphenRegionItem -----------------------------------------------
|
|
|
|
SfxHyphenRegionItem::SfxHyphenRegionItem( const sal_uInt16 nId ) :
|
|
|
|
SfxPoolItem( nId )
|
|
{
|
|
nMinLead = nMinTrail = 0;
|
|
}
|
|
|
|
// -----------------------------------------------------------------------
|
|
|
|
SfxHyphenRegionItem::SfxHyphenRegionItem( const SfxHyphenRegionItem& rItem ) :
|
|
|
|
SfxPoolItem ( rItem ),
|
|
|
|
nMinLead ( rItem.GetMinLead() ),
|
|
nMinTrail ( rItem.GetMinTrail() )
|
|
{
|
|
}
|
|
|
|
// -----------------------------------------------------------------------
|
|
|
|
int SfxHyphenRegionItem::operator==( const SfxPoolItem& rAttr ) const
|
|
{
|
|
DBG_ASSERT( SfxPoolItem::operator==(rAttr), "unequal types" );
|
|
|
|
return ( ( ( (SfxHyphenRegionItem&)rAttr ).nMinLead == nMinLead ) &&
|
|
( ( (SfxHyphenRegionItem&)rAttr ).nMinTrail == nMinTrail ) );
|
|
}
|
|
|
|
// -----------------------------------------------------------------------
|
|
|
|
SfxPoolItem* SfxHyphenRegionItem::Clone( SfxItemPool* ) const
|
|
{
|
|
return new SfxHyphenRegionItem( *this );
|
|
}
|
|
|
|
//------------------------------------------------------------------------
|
|
|
|
SfxItemPresentation SfxHyphenRegionItem::GetPresentation
|
|
(
|
|
SfxItemPresentation ePres,
|
|
SfxMapUnit ,
|
|
SfxMapUnit ,
|
|
OUString& rText,
|
|
const IntlWrapper*
|
|
) const
|
|
{
|
|
switch ( ePres )
|
|
{
|
|
case SFX_ITEM_PRESENTATION_NONE:
|
|
rText = OUString();
|
|
return SFX_ITEM_PRESENTATION_NONE;
|
|
|
|
case SFX_ITEM_PRESENTATION_NAMELESS:
|
|
case SFX_ITEM_PRESENTATION_COMPLETE:
|
|
{
|
|
rText = rText +
|
|
EE_RESSTR(RID_SVXITEMS_HYPHEN_MINLEAD).replaceAll("%1", OUString::number(nMinLead)) +
|
|
"," +
|
|
EE_RESSTR(RID_SVXITEMS_HYPHEN_MINTRAIL).replaceAll("%1", OUString::number(nMinTrail));
|
|
return ePres;
|
|
}
|
|
default:
|
|
return SFX_ITEM_PRESENTATION_NONE;
|
|
}
|
|
}
|
|
|
|
// -----------------------------------------------------------------------
|
|
|
|
SfxPoolItem* SfxHyphenRegionItem::Create(SvStream& rStrm, sal_uInt16 ) const
|
|
{
|
|
sal_uInt8 _nMinLead, _nMinTrail;
|
|
rStrm >> _nMinLead >> _nMinTrail;
|
|
SfxHyphenRegionItem* pAttr = new SfxHyphenRegionItem( Which() );
|
|
pAttr->GetMinLead() = _nMinLead;
|
|
pAttr->GetMinTrail() = _nMinTrail;
|
|
return pAttr;
|
|
}
|
|
|
|
// -----------------------------------------------------------------------
|
|
|
|
SvStream& SfxHyphenRegionItem::Store( SvStream& rStrm, sal_uInt16 ) const
|
|
{
|
|
rStrm << (sal_uInt8) GetMinLead()
|
|
<< (sal_uInt8) GetMinTrail();
|
|
return rStrm;
|
|
}
|
|
|
|
|
|
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|