summaryrefslogtreecommitdiff
path: root/cui
diff options
context:
space:
mode:
Diffstat (limited to 'cui')
-rw-r--r--cui/source/dialogs/cuicharmap.cxx24
-rw-r--r--cui/source/inc/cuicharmap.hxx3
-rw-r--r--cui/source/tabpages/numpages.cxx2
-rw-r--r--cui/uiconfig/ui/specialcharacters.ui20
4 files changed, 36 insertions, 13 deletions
diff --git a/cui/source/dialogs/cuicharmap.cxx b/cui/source/dialogs/cuicharmap.cxx
index 770cd82a1ce7..5234d75ef287 100644
--- a/cui/source/dialogs/cuicharmap.cxx
+++ b/cui/source/dialogs/cuicharmap.cxx
@@ -54,17 +54,19 @@ using namespace css;
// class SvxCharacterMap =================================================
-SvxCharacterMap::SvxCharacterMap( vcl::Window* pParent, const SfxItemSet* pSet )
+SvxCharacterMap::SvxCharacterMap( vcl::Window* pParent, const SfxItemSet* pSet, bool bInsert )
: SfxModalDialog(pParent, "SpecialCharactersDialog", "cui/ui/specialcharacters.ui")
, pSubsetMap( nullptr )
, isSearchMode(true)
+ , m_bHasInsert(bInsert)
, mxContext(comphelper::getProcessComponentContext())
{
get(m_pShowSet, "showcharset");
get(m_pSearchSet, "searchcharset");
get(m_pShowChar, "showchar");
m_pShowChar->SetCentered(true);
- get(m_pOKBtn, "ok");
+ if (m_bHasInsert) get(m_pOKBtn, "insert");
+ else get(m_pOKBtn, "ok");
get(m_pFontText, "fontft");
get(m_pFontLB, "fontlb");
m_pFontLB->SetStyle(m_pFontLB->GetStyle() | WB_SORT);
@@ -475,6 +477,8 @@ void SvxCharacterMap::init()
m_pFontLB->SetSelectHdl( LINK( this, SvxCharacterMap, FontSelectHdl ) );
m_pSubsetLB->SetSelectHdl( LINK( this, SvxCharacterMap, SubsetSelectHdl ) );
m_pOKBtn->SetClickHdl( LINK( this, SvxCharacterMap, InsertClickHdl ) );
+ m_pOKBtn->Show();
+
m_pShowSet->SetDoubleClickHdl( LINK( this, SvxCharacterMap, CharDoubleClickHdl ) );
m_pShowSet->SetSelectHdl( LINK( this, SvxCharacterMap, CharSelectHdl ) );
@@ -619,15 +623,17 @@ void SvxCharacterMap::insertCharToDoc(const OUString& sGlyph)
if(sGlyph.isEmpty())
return;
- uno::Reference< uno::XComponentContext > xContext( comphelper::getProcessComponentContext() );
+ if (m_bHasInsert) {
+ uno::Reference< uno::XComponentContext > xContext( comphelper::getProcessComponentContext() );
- uno::Sequence<beans::PropertyValue> aArgs(2);
- aArgs[0].Name = "Symbols";
- aArgs[0].Value <<= sGlyph;
+ uno::Sequence<beans::PropertyValue> aArgs(2);
+ aArgs[0].Name = "Symbols";
+ aArgs[0].Value <<= sGlyph;
- aArgs[1].Name = "FontName";
- aArgs[1].Value <<= aFont.GetFamilyName();
- comphelper::dispatchCommand(".uno:InsertSymbol", aArgs);
+ aArgs[1].Name = "FontName";
+ aArgs[1].Value <<= aFont.GetFamilyName();
+ comphelper::dispatchCommand(".uno:InsertSymbol", aArgs);
+ }
updateRecentCharacterList(sGlyph, aFont.GetFamilyName());
}
diff --git a/cui/source/inc/cuicharmap.hxx b/cui/source/inc/cuicharmap.hxx
index 2ba12e34f212..b1a06b4540e3 100644
--- a/cui/source/inc/cuicharmap.hxx
+++ b/cui/source/inc/cuicharmap.hxx
@@ -89,6 +89,7 @@ private:
vcl::Font aFont;
const SubsetMap* pSubsetMap;
bool isSearchMode;
+ bool m_bHasInsert;
std::deque<OUString> maRecentCharList;
std::deque<OUString> maRecentCharFontList;
@@ -128,7 +129,7 @@ private:
void selectCharByCode(Radix radix);
public:
- SvxCharacterMap( vcl::Window* pParent, const SfxItemSet* pSet=nullptr );
+ SvxCharacterMap( vcl::Window* pParent, const SfxItemSet* pSet=nullptr, const bool bInsert=true);
virtual ~SvxCharacterMap() override;
virtual short Execute() override;
virtual void dispose() override;
diff --git a/cui/source/tabpages/numpages.cxx b/cui/source/tabpages/numpages.cxx
index fd4a5368e4b9..4327294ba998 100644
--- a/cui/source/tabpages/numpages.cxx
+++ b/cui/source/tabpages/numpages.cxx
@@ -2074,7 +2074,7 @@ IMPL_LINK_NOARG(SvxNumOptionsTabPage, PopupActivateHdl_Impl, MenuButton *, void)
IMPL_LINK_NOARG(SvxNumOptionsTabPage, BulletHdl_Impl, Button*, void)
{
- VclPtrInstance< SvxCharacterMap > pMap( this );
+ VclPtrInstance< SvxCharacterMap > pMap( this, nullptr, false );
sal_uInt16 nMask = 1;
const vcl::Font* pFmtFont = nullptr;
diff --git a/cui/uiconfig/ui/specialcharacters.ui b/cui/uiconfig/ui/specialcharacters.ui
index ba978fc37929..cd1c0402ddb0 100644
--- a/cui/uiconfig/ui/specialcharacters.ui
+++ b/cui/uiconfig/ui/specialcharacters.ui
@@ -18,10 +18,26 @@
<object class="GtkButtonBox" id="dialog-action_area1">
<property name="can_focus">False</property>
<property name="layout_style">end</property>
+ <!-- Ok and Insert buttons are the same button. The correct one is set to visible incode. -->
+ <child>
+ <object class="GtkButton" id="insert">
+ <property name="label" translatable="yes" context="specialcharacters|insert">_Insert</property>
+ <property name="visible">False</property>
+ <property name="can_focus">True</property>
+ <property name="has_default">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_underline">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
<child>
<object class="GtkButton" id="ok">
- <property name="label" translatable="yes" context="specialcharacters|ok">_Insert</property>
- <property name="visible">True</property>
+ <property name="label" translatable="yes" context="specialcharacters|ok">Ok</property>
+ <property name="visible">False</property>
<property name="can_focus">True</property>
<property name="has_default">True</property>
<property name="receives_default">True</property>