summaryrefslogtreecommitdiff
path: root/sfx2/source
diff options
context:
space:
mode:
authorAkshay Deep <akshaydeepiitr@gmail.com>2017-07-10 16:27:57 +0530
committerSamuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>2017-07-19 10:15:47 +0200
commitf9efee1f87262b0088c249b2c306fb53ca729b53 (patch)
treea7cfddf1a3a3f3681633310c5767f0bb00a05c7b /sfx2/source
parent30f7ce30c92e1add033cdea0a78cea5563758513 (diff)
Favourites feature in Special characters
Change-Id: I8273b95132d48a51e841ec3792139007b4e7b55a Reviewed-on: https://gerrit.libreoffice.org/39752 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
Diffstat (limited to 'sfx2/source')
-rw-r--r--sfx2/source/control/charmapcontrol.cxx67
1 files changed, 65 insertions, 2 deletions
diff --git a/sfx2/source/control/charmapcontrol.cxx b/sfx2/source/control/charmapcontrol.cxx
index 8a2af88d63c0..d8535065621b 100644
--- a/sfx2/source/control/charmapcontrol.cxx
+++ b/sfx2/source/control/charmapcontrol.cxx
@@ -43,18 +43,40 @@ SfxCharmapCtrl::SfxCharmapCtrl(sal_uInt16 nId, const css::uno::Reference< css::f
get( m_pRecentCharView[13], "viewchar14" );
get( m_pRecentCharView[14], "viewchar15" );
get( m_pRecentCharView[15], "viewchar16" );
+
+ get( m_pFavCharView[0], "favchar1" );
+ get( m_pFavCharView[1], "favchar2" );
+ get( m_pFavCharView[2], "favchar3" );
+ get( m_pFavCharView[3], "favchar4" );
+ get( m_pFavCharView[4], "favchar5" );
+ get( m_pFavCharView[5], "favchar6" );
+ get( m_pFavCharView[6], "favchar7" );
+ get( m_pFavCharView[7], "favchar8" );
+ get( m_pFavCharView[8], "favchar9" );
+ get( m_pFavCharView[9], "favchar10" );
+ get( m_pFavCharView[10], "favchar11" );
+ get( m_pFavCharView[11], "favchar12" );
+ get( m_pFavCharView[12], "favchar13" );
+ get( m_pFavCharView[13], "favchar14" );
+ get( m_pFavCharView[14], "favchar15" );
+ get( m_pFavCharView[15], "favchar16" );
+
get( maDlgBtn, "specialchardlg");
for(int i = 0; i < 16; i++)
{
- m_pRecentCharView[i]->setMouseClickHdl(LINK(this,SfxCharmapCtrl, RecentClickHdl));
+ m_pRecentCharView[i]->setMouseClickHdl(LINK(this,SfxCharmapCtrl, CharClickHdl));
m_pRecentCharView[i]->SetLoseFocusHdl(LINK(this,SfxCharmapCtrl, LoseFocusHdl));
+ m_pFavCharView[i]->setMouseClickHdl(LINK(this,SfxCharmapCtrl, CharClickHdl));
+ m_pFavCharView[i]->SetLoseFocusHdl(LINK(this,SfxCharmapCtrl, LoseFocusHdl));
}
maDlgBtn->SetClickHdl(LINK(this, SfxCharmapCtrl, OpenDlgHdl));
getRecentCharacterList();
updateRecentCharControl();
+ getFavCharacterList();
+ updateFavCharControl();
}
SfxCharmapCtrl::~SfxCharmapCtrl()
@@ -76,6 +98,46 @@ void SfxCharmapCtrl::dispose()
}
+void SfxCharmapCtrl::getFavCharacterList()
+{
+ //retrieve recent character list
+ css::uno::Sequence< OUString > rFavCharList( officecfg::Office::Common::FavoriteCharacters::FavoriteCharacterList::get() );
+ for (int i = 0; i < rFavCharList.getLength(); ++i)
+ {
+ maFavCharList.push_back(rFavCharList[i]);
+ }
+
+ //retrieve recent character font list
+ css::uno::Sequence< OUString > rFavCharFontList( officecfg::Office::Common::FavoriteCharacters::FavoriteCharacterFontList::get() );
+ for (int i = 0; i < rFavCharFontList.getLength(); ++i)
+ {
+ maFavCharFontList.push_back(rFavCharFontList[i]);
+ }
+}
+
+
+void SfxCharmapCtrl::updateFavCharControl()
+{
+ int i = 0;
+ for ( std::deque< OUString >::iterator it = maFavCharList.begin(), it2 = maFavCharFontList.begin();
+ it != maFavCharList.end() || it2 != maFavCharFontList.end();
+ ++it, ++it2, i++)
+ {
+ m_pFavCharView[i]->SetText(*it);
+ vcl::Font rFont = m_pFavCharView[i]->GetControlFont();
+ rFont.SetFamilyName( *it2 );
+ m_pFavCharView[i]->SetFont(rFont);
+ m_pFavCharView[i]->Show();
+ }
+
+ for(; i < 16 ; i++)
+ {
+ m_pFavCharView[i]->SetText(OUString());
+ m_pFavCharView[i]->Hide();
+ }
+}
+
+
void SfxCharmapCtrl::getRecentCharacterList()
{
//retrieve recent character list
@@ -93,6 +155,7 @@ void SfxCharmapCtrl::getRecentCharacterList()
}
}
+
void SfxCharmapCtrl::updateRecentCharControl()
{
int i = 0;
@@ -164,7 +227,7 @@ IMPL_STATIC_LINK(SfxCharmapCtrl, LoseFocusHdl, Control&, pItem, void)
}
-IMPL_LINK(SfxCharmapCtrl, RecentClickHdl, SvxCharView*, rView, void)
+IMPL_LINK(SfxCharmapCtrl, CharClickHdl, SvxCharView*, rView, void)
{
rView->GrabFocus();
rView->Invalidate();