Kaydet (Commit) 26999baa authored tarafından Thomas Lange's avatar Thomas Lange

#i51258# thesaurus for right click context menu

üst 45705281
......@@ -202,5 +202,11 @@ shell TextObjectBar
ExecMethod = Execute;
StateMethod = GetAttrState;
]
SID_THES
[
ExecMethod = Execute ;
StateMethod = GetAttrState ;
]
}
......@@ -33,14 +33,21 @@
#include "TextObjectBar.hxx"
#include <com/sun/star/i18n/WordType.hpp>
#include <i18npool/mslangid.hxx>
#include <svx/ulspitem.hxx>
#include <svx/lspcitem.hxx>
#include <svx/adjitem.hxx>
#include <svx/editview.hxx>
#include <svx/editeng.hxx>
#include <svx/outliner.hxx>
#include <svx/unolingu.hxx>
#include <vcl/vclenum.hxx>
#include <sfx2/app.hxx>
#include <svtools/whiter.hxx>
#include <svtools/itempool.hxx>
#include <svtools/stritem.hxx>
#include <svtools/style.hxx>
#include <svtools/languageoptions.hxx>
#include <sfx2/tplpitem.hxx>
......@@ -73,6 +80,8 @@
using namespace sd;
using namespace ::com::sun::star;
#define TextObjectBar
#include "sdslots.hxx"
......@@ -373,6 +382,26 @@ void TextObjectBar::GetAttrState( SfxItemSet& rSet )
}
break;
case SID_THES:
{
EditView & rEditView = mpView->GetTextEditOutlinerView()->GetEditView();;
String aStatusVal;
LanguageType nLang = LANGUAGE_NONE;
bool bIsLookUpWord = GetStatusValueForThesaurusFromContext( aStatusVal, nLang, rEditView );
rSet.Put( SfxStringItem( SID_THES, aStatusVal ) );
// disable "Thesaurus" context menu entry if there is nothing to look up
lang::Locale aLocale( SvxCreateLocale( nLang ) );
uno::Reference< linguistic2::XThesaurus > xThes( LinguMgr::GetThesaurus() );
if (!bIsLookUpWord ||
!xThes.is() || nLang == LANGUAGE_NONE || !xThes->hasLocale( aLocale ))
rSet.DisableItem( SID_THES );
//! avoid puting the same item as SfxBoolItem at the end of this function
nSlotId = 0;
}
break;
default:
break;
}
......
......@@ -33,6 +33,12 @@
#include "TextObjectBar.hxx"
#include <com/sun/star/i18n/WordType.hpp>
//#include <i18npool/mslangid.hxx>
#include <svx/editview.hxx>
#include <svx/editeng.hxx>
#include <svx/unolingu.hxx>
#include <svx/outliner.hxx>
#ifndef _ULSPITEM_HXX
......@@ -341,6 +347,16 @@ void TextObjectBar::Execute( SfxRequest &rReq )
}
break;
case SID_THES:
{
String aReplaceText;
SFX_REQUEST_ARG( rReq, pItem2, SfxStringItem, SID_THES, sal_False );
if (pItem2)
aReplaceText = pItem2->GetValue();
if (aReplaceText.Len() > 0)
ReplaceTextWithSynonym( pOLV->GetEditView(), aReplaceText );
}
break;
default:
{
......
......@@ -214,7 +214,7 @@
<menu:menupopup>
<menu:menuitem menu:id=".uno:HangulHanjaConversion"/>
<menu:menuitem menu:id=".uno:ChineseConversion"/>
<menu:menuitem menu:id=".uno:Thesaurus"/>
<menu:menuitem menu:id=".uno:ThesaurusDialog"/>
<menu:menuitem menu:id=".uno:Hyphenation"/>
<menu:menuseparator/>
<menu:menuitem menu:id=".uno:MoreDictionaries"/>
......
......@@ -242,7 +242,7 @@
<menu:menupopup>
<menu:menuitem menu:id=".uno:HangulHanjaConversion"/>
<menu:menuitem menu:id=".uno:ChineseConversion"/>
<menu:menuitem menu:id=".uno:Thesaurus"/>
<menu:menuitem menu:id=".uno:ThesaurusDialog"/>
<menu:menuitem menu:id=".uno:Hyphenation"/>
<menu:menuseparator/>
<menu:menuitem menu:id=".uno:MoreDictionaries"/>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment