diff options
author | Andras Timar <atimar@suse.com> | 2013-04-18 12:46:36 -0700 |
---|---|---|
committer | Andras Timar <atimar@suse.com> | 2013-04-18 12:47:23 -0700 |
commit | ab7776e1bc0687b6e42ffa6e837435800b4a58af (patch) | |
tree | cc07ef94d79f0401bec2d29b86ab7b90688687e8 /cui/source | |
parent | fdo#63197, convert last gallery + template accessories (diff) | |
download | core-ab7776e1bc0687b6e42ffa6e837435800b4a58af.tar.gz core-ab7776e1bc0687b6e42ffa6e837435800b4a58af.zip |
fdo#63503 add 'Delete Last' button to Special Characters dialog
Change-Id: I7f14564f6b28e0b480b503394e0e078ed28f9150
Diffstat (limited to 'cui/source')
-rw-r--r-- | cui/source/dialogs/cuicharmap.cxx | 17 | ||||
-rw-r--r-- | cui/source/inc/cuicharmap.hxx | 2 |
2 files changed, 19 insertions, 0 deletions
diff --git a/cui/source/dialogs/cuicharmap.cxx b/cui/source/dialogs/cuicharmap.cxx index ed42c14c9931..fdc4a25528c2 100644 --- a/cui/source/dialogs/cuicharmap.cxx +++ b/cui/source/dialogs/cuicharmap.cxx @@ -54,6 +54,7 @@ SvxCharacterMap::SvxCharacterMap( Window* pParent, sal_Bool bOne_, const SfxItem get(m_pShowText, "showtext"); get(m_pOKBtn, "ok"); get(m_pDeleteBtn, "delete"); + get(m_pDeleteLastBtn, "deletelast"); get(m_pFontText, "fontft"); get(m_pFontLB, "fontlb"); m_pFontLB->SetStyle(m_pFontLB->GetStyle() | WB_SORT); @@ -321,6 +322,7 @@ void SvxCharacterMap::init() m_pSymbolText->Hide(); m_pShowText->Hide(); m_pDeleteBtn->Hide(); + m_pDeleteLastBtn->Hide(); } OUString aDefStr( aFont.GetName() ); @@ -369,6 +371,7 @@ void SvxCharacterMap::init() m_pShowSet->SetSelectHdl( LINK( this, SvxCharacterMap, CharSelectHdl ) ); m_pShowSet->SetHighlightHdl( LINK( this, SvxCharacterMap, CharHighlightHdl ) ); m_pShowSet->SetPreSelectHdl( LINK( this, SvxCharacterMap, CharPreSelectHdl ) ); + m_pDeleteLastBtn->SetClickHdl( LINK( this, SvxCharacterMap, DeleteLastHdl ) ); m_pDeleteBtn->SetClickHdl( LINK( this, SvxCharacterMap, DeleteHdl ) ); if( SvxShowCharSet::getSelectedChar() == ' ') @@ -521,6 +524,7 @@ IMPL_LINK_NOARG(SvxCharacterMap, CharSelectHdl) } m_pOKBtn->Enable(); + m_pDeleteLastBtn->Enable(); return 0; } @@ -582,10 +586,23 @@ IMPL_LINK_NOARG(SvxCharacterMap, CharPreSelectHdl) // ----------------------------------------------------------------------- +IMPL_LINK_NOARG(SvxCharacterMap, DeleteLastHdl) +{ + OUString aCurrentText = m_pShowText->GetText(); + m_pShowText->SetText( aCurrentText.copy( 0, aCurrentText.getLength() - 1 ) ); + if ( m_pShowText->GetText() == "" ) + { + m_pOKBtn->Disable(); + m_pDeleteLastBtn->Disable(); + } + return 0; +} + IMPL_LINK_NOARG(SvxCharacterMap, DeleteHdl) { m_pShowText->SetText( String() ); m_pOKBtn->Disable(); + m_pDeleteLastBtn->Disable(); return 0; } diff --git a/cui/source/inc/cuicharmap.hxx b/cui/source/inc/cuicharmap.hxx index 27b0d0f7d50b..410e6aa582ff 100644 --- a/cui/source/inc/cuicharmap.hxx +++ b/cui/source/inc/cuicharmap.hxx @@ -71,6 +71,7 @@ private: SvxShowCharSet* m_pShowSet; SvxShowText* m_pShowText; OKButton* m_pOKBtn; + PushButton* m_pDeleteLastBtn; PushButton* m_pDeleteBtn; FixedText* m_pFontText; ListBox* m_pFontLB; @@ -90,6 +91,7 @@ private: DECL_LINK(CharSelectHdl, void *); DECL_LINK(CharHighlightHdl, void *); DECL_LINK(CharPreSelectHdl, void *); + DECL_LINK(DeleteLastHdl, void *); DECL_LINK(DeleteHdl, void *); void fillAllSubsets(ListBox &rListBox); |