fdo#56954, fdo#73868 grammar checking UI fixes
Change-Id: I20577ba3bfbd12a89d34892a8f32d9c2b741f4dd
This commit is contained in:
parent
800857bcbb
commit
52d4203a31
2 changed files with 26 additions and 16 deletions
|
@ -621,6 +621,9 @@ IMPL_LINK( SpellDialog, IgnoreAllHdl, Button *, pButton )
|
||||||
{
|
{
|
||||||
pSpellErrorDescription->xGrammarChecker->ignoreRule( pSpellErrorDescription->sRuleId,
|
pSpellErrorDescription->xGrammarChecker->ignoreRule( pSpellErrorDescription->sRuleId,
|
||||||
pSpellErrorDescription->aLocale );
|
pSpellErrorDescription->aLocale );
|
||||||
|
// refresh the layout (workaround to launch a dictionary event)
|
||||||
|
aXDictionary->setActive(sal_False);
|
||||||
|
aXDictionary->setActive(sal_True);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch( const uno::Exception& )
|
catch( const uno::Exception& )
|
||||||
|
|
|
@ -88,6 +88,7 @@
|
||||||
#include <com/sun/star/linguistic2/SingleProofreadingError.hpp>
|
#include <com/sun/star/linguistic2/SingleProofreadingError.hpp>
|
||||||
#include <com/sun/star/linguistic2/XLanguageGuessing.hpp>
|
#include <com/sun/star/linguistic2/XLanguageGuessing.hpp>
|
||||||
#include <com/sun/star/linguistic2/XSpellChecker1.hpp>
|
#include <com/sun/star/linguistic2/XSpellChecker1.hpp>
|
||||||
|
#include <com/sun/star/linguistic2/DictionaryEventFlags.hpp>
|
||||||
#include <com/sun/star/uno/Any.hxx>
|
#include <com/sun/star/uno/Any.hxx>
|
||||||
#include <com/sun/star/system/SystemShellExecuteFlags.hpp>
|
#include <com/sun/star/system/SystemShellExecuteFlags.hpp>
|
||||||
#include <com/sun/star/system/SystemShellExecute.hpp>
|
#include <com/sun/star/system/SystemShellExecute.hpp>
|
||||||
|
@ -564,7 +565,6 @@ m_aInfo16( SW_RES(IMG_INFO_16) )
|
||||||
m_nGuessLangPara = m_nGuessLangWord;
|
m_nGuessLangPara = m_nGuessLangWord;
|
||||||
}
|
}
|
||||||
|
|
||||||
EnableItem( MN_IGNORE_WORD, false );
|
|
||||||
EnableItem( MN_ADD_TO_DIC, false );
|
EnableItem( MN_ADD_TO_DIC, false );
|
||||||
EnableItem( MN_ADD_TO_DIC_SINGLE, false );
|
EnableItem( MN_ADD_TO_DIC_SINGLE, false );
|
||||||
|
|
||||||
|
@ -740,26 +740,33 @@ void SwSpellPopup::Execute( sal_uInt16 nId )
|
||||||
else if (nId == MN_IGNORE_SELECTION)
|
else if (nId == MN_IGNORE_SELECTION)
|
||||||
{
|
{
|
||||||
SwPaM *pPaM = m_pSh->GetCrsr();
|
SwPaM *pPaM = m_pSh->GetCrsr();
|
||||||
if (pPaM) {
|
if (pPaM)
|
||||||
if (m_bGrammarResults) {
|
|
||||||
try
|
|
||||||
{
|
|
||||||
m_xGrammarResult.xProofreader->ignoreRule(
|
|
||||||
m_xGrammarResult.aErrors[ m_nGrammarError ].aRuleIdentifier,
|
|
||||||
m_xGrammarResult.aLocale );
|
|
||||||
}
|
|
||||||
catch( const uno::Exception& )
|
|
||||||
{
|
|
||||||
}
|
|
||||||
}
|
|
||||||
m_pSh->IgnoreGrammarErrorAt( *pPaM );
|
m_pSh->IgnoreGrammarErrorAt( *pPaM );
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else if (nId == MN_IGNORE_WORD)
|
else if (nId == MN_IGNORE_WORD)
|
||||||
{
|
{
|
||||||
uno::Reference< linguistic2::XDictionary > xDictionary( SvxGetIgnoreAllList(), uno::UNO_QUERY );
|
uno::Reference< linguistic2::XDictionary > xDictionary( SvxGetIgnoreAllList(), uno::UNO_QUERY );
|
||||||
linguistic::AddEntryToDic( xDictionary,
|
if (m_bGrammarResults) {
|
||||||
m_xSpellAlt->getWord(), sal_False, OUString(), LANGUAGE_NONE );
|
try
|
||||||
|
{
|
||||||
|
m_xGrammarResult.xProofreader->ignoreRule(
|
||||||
|
m_xGrammarResult.aErrors[ m_nGrammarError ].aRuleIdentifier,
|
||||||
|
m_xGrammarResult.aLocale );
|
||||||
|
// refresh the layout of the actual paragraph (faster)
|
||||||
|
SwPaM *pPaM = m_pSh->GetCrsr();
|
||||||
|
if (pPaM)
|
||||||
|
m_pSh->IgnoreGrammarErrorAt( *pPaM );
|
||||||
|
// refresh the layout of all paragraphs (workaround to launch a dictionary event)
|
||||||
|
xDictionary->setActive(sal_False);
|
||||||
|
xDictionary->setActive(sal_True);
|
||||||
|
}
|
||||||
|
catch( const uno::Exception& )
|
||||||
|
{
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
linguistic::AddEntryToDic( xDictionary,
|
||||||
|
m_xSpellAlt->getWord(), sal_False, OUString(), LANGUAGE_NONE );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else if ((MN_DICTIONARIES_START <= nId && nId <= MN_DICTIONARIES_END) || nId == MN_ADD_TO_DIC_SINGLE)
|
else if ((MN_DICTIONARIES_START <= nId && nId <= MN_DICTIONARIES_END) || nId == MN_ADD_TO_DIC_SINGLE)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue