[PATCH] more reliable detecting of changes in the combobox lineedit
Luboš Luňák (via_Code_Review)
gerrit at gerrit.libreoffice.org
Thu Feb 14 09:25:42 PST 2013
Hi,
I have submitted a patch for review:
https://gerrit.libreoffice.org/2152
To pull it, you can do:
git pull ssh://gerrit.libreoffice.org:29418/core refs/changes/52/2152/1
more reliable detecting of changes in the combobox lineedit
Change-Id: I3563a961c54e235fffe0c2ab1809f51882ba3831
---
M svx/source/tbxctrls/tbcontrl.cxx
1 file changed, 14 insertions(+), 18 deletions(-)
diff --git a/svx/source/tbxctrls/tbcontrl.cxx b/svx/source/tbxctrls/tbcontrl.cxx
index d827854..61e23b8 100644
--- a/svx/source/tbxctrls/tbcontrl.cxx
+++ b/svx/source/tbxctrls/tbcontrl.cxx
@@ -191,7 +191,7 @@
void ReleaseFocus_Impl();
void EnableControls_Impl();
- void CheckAndMarkUnknownFont( const OUString& fontname );
+ DECL_DLLPRIVATE_LINK( CheckAndMarkUnknownFont, VclWindowEvent* );
protected:
virtual void Select();
@@ -201,6 +201,7 @@
SvxFontNameBox_Impl( Window* pParent, const Reference< XDispatchProvider >& rDispatchProvider,const Reference< XFrame >& _xFrame
, WinBits nStyle = WB_SORT
);
+ virtual ~SvxFontNameBox_Impl();
void FillList();
void Update( const SvxFontItem* pFontItem );
@@ -209,8 +210,6 @@
void Fill( const FontList* pList )
{ FontNameBox::Fill( pList );
nFtCount = pList->GetFontNameCount(); }
- virtual void SetText( const OUString& rStr ) SAL_OVERRIDE;
- virtual void SetText( const OUString& rStr, const Selection& rNewSelection ) SAL_OVERRIDE;
virtual long PreNotify( NotifyEvent& rNEvt );
virtual long Notify( NotifyEvent& rNEvt );
virtual Reference< ::com::sun::star::accessibility::XAccessible > CreateAccessible();
@@ -771,7 +770,14 @@
{
SetSizePixel(LogicToPixel( aLogicalSize, MAP_APPFONT ));
EnableControls_Impl();
+ GetSubEdit()->AddEventListener( LINK( this, SvxFontNameBox_Impl, CheckAndMarkUnknownFont ));
}
+
+SvxFontNameBox_Impl::~SvxFontNameBox_Impl()
+{
+ GetSubEdit()->RemoveEventListener( LINK( this, SvxFontNameBox_Impl, CheckAndMarkUnknownFont ));
+}
+
// -----------------------------------------------------------------------
void SvxFontNameBox_Impl::FillList()
@@ -784,22 +790,11 @@
SetSelection( aOldSel );
}
-void SvxFontNameBox_Impl::SetText( const OUString& rStr )
+IMPL_LINK( SvxFontNameBox_Impl, CheckAndMarkUnknownFont, VclWindowEvent*, event )
{
- CheckAndMarkUnknownFont( rStr );
- return FontNameBox::SetText( rStr );
-}
-
-void SvxFontNameBox_Impl::SetText( const OUString& rStr, const Selection& rNewSelection )
-{
- CheckAndMarkUnknownFont( rStr );
- return FontNameBox::SetText( rStr, rNewSelection );
-}
-
-void SvxFontNameBox_Impl::CheckAndMarkUnknownFont( const OUString& fontname )
-{
- if( fontname == GetText())
- return;
+ if( event->GetId() != VCLEVENT_EDIT_MODIFY )
+ return 0;
+ OUString fontname = GetSubEdit()->GetText();
GetDocFontList_Impl( &pFontList, this );
// If the font is unknown, show it in italic.
Font font = GetControlFont();
@@ -821,6 +816,7 @@
SetQuickHelpText( SVX_RESSTR( RID_SVXSTR_CHARFONTNAME_NOTAVAILABLE ));
}
}
+ return 0;
}
// -----------------------------------------------------------------------
--
To view, visit https://gerrit.libreoffice.org/2152
To unsubscribe, visit https://gerrit.libreoffice.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I3563a961c54e235fffe0c2ab1809f51882ba3831
Gerrit-PatchSet: 1
Gerrit-Project: core
Gerrit-Branch: master
Gerrit-Owner: Luboš Luňák <l.lunak at suse.cz>
More information about the LibreOffice
mailing list