[Libreoffice-commits] .: Branch 'feature/cmclayouttrans' - 2 commits - cui/source vcl/source

Libreoffice Gerrit user logerrit at kemper.freedesktop.org
Wed Sep 26 06:12:27 PDT 2012


 cui/source/dialogs/cuicharmap.cxx |  126 +++++++++++++++++---------------------
 cui/source/inc/cuicharmap.hxx     |   20 +-----
 vcl/source/window/window.cxx      |    3 
 3 files changed, 66 insertions(+), 83 deletions(-)

New commits:
commit d88f5cda87f15803630052fdf07516a16eb88051
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Wed Sep 26 14:11:53 2012 +0100

    reduce size requests if new text is same as old
    
    Change-Id: I6e9b03c4baf05d096aa780b4f6d8635bb1e254ac

diff --git a/vcl/source/window/window.cxx b/vcl/source/window/window.cxx
index 6901d79..47ea865 100644
--- a/vcl/source/window/window.cxx
+++ b/vcl/source/window/window.cxx
@@ -7871,6 +7871,9 @@ void Window::SetCursor( Cursor* pCursor )
 
 void Window::SetText( const XubString& rStr )
 {
+    if (rStr == mpWindowImpl->maText)
+        return;
+
     DBG_CHKTHIS( Window, ImplDbgCheckWindow );
 
     String oldTitle( mpWindowImpl->maText );
commit c4929d3a92387225051ae399c8174aec53c6b0f2
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Wed Sep 26 11:08:54 2012 +0100

    merge SvxCharacterMap and SvxCharMapData together
    
    Change-Id: I417ce219924987f584cabf9ed8098607d6e5973c

diff --git a/cui/source/dialogs/cuicharmap.cxx b/cui/source/dialogs/cuicharmap.cxx
index 676ef53..f3ee121 100644
--- a/cui/source/dialogs/cuicharmap.cxx
+++ b/cui/source/dialogs/cuicharmap.cxx
@@ -55,15 +55,29 @@
 
 // class SvxCharacterMap =================================================
 
-SvxCharacterMap::SvxCharacterMap( Window* pParent, sal_Bool bOne, const SfxItemSet* pSet ) :
-    SfxModalDialog( pParent, CUI_RES( RID_SVXDLG_CHARMAP ) ),
-    mpCharMapData( 0 )
+SvxCharacterMap::SvxCharacterMap( Window* pParent, sal_Bool bOne_, const SfxItemSet* pSet )
+    : SfxModalDialog( pParent, CUI_RES( RID_SVXDLG_CHARMAP ) ),
+    aShowSet        ( this, CUI_RES( CT_SHOWSET ) ),
+    aShowText       ( this, CUI_RES( CT_SHOWTEXT ) ),
+    aOKBtn          ( this, CUI_RES( BTN_CHAR_OK ) ),
+    aCancelBtn      ( this, CUI_RES( BTN_CHAR_CANCEL ) ),
+    aHelpBtn        ( this, CUI_RES( BTN_CHAR_HELP ) ),
+    aDeleteBtn      ( this, CUI_RES( BTN_DELETE ) ),
+    aFontText       ( this, CUI_RES( FT_FONT ) ),
+    aFontLB         ( this, CUI_RES( LB_FONT ) ),
+    aSubsetText     ( this, CUI_RES( FT_SUBSET ) ),
+    aSubsetLB       ( this, CUI_RES( LB_SUBSET ) ),
+    aSymbolText     ( this, CUI_RES( FT_SYMBOLE ) ),
+    aShowChar       ( this, CUI_RES( CT_SHOWCHAR ), sal_True ),
+    aCharCodeText   ( this, CUI_RES( FT_CHARCODE ) ),
+    bOne( bOne_ ),
+    pSubsetMap( NULL )
 {
     SFX_ITEMSET_ARG( pSet, pItem, SfxBoolItem, FN_PARAM_1, sal_False );
     if ( pItem )
         bOne = pItem->GetValue();
 
-    mpCharMapData =  new SvxCharMapData( this, bOne, &CUI_MGR() );
+    init();
 
     SFX_ITEMSET_ARG( pSet, pCharItem, SfxInt32Item, SID_ATTR_CHAR, sal_False );
     if ( pCharItem )
@@ -77,16 +91,16 @@ SvxCharacterMap::SvxCharacterMap( Window* pParent, sal_Bool bOne, const SfxItemS
     SFX_ITEMSET_ARG( pSet, pFontNameItem, SfxStringItem, SID_FONT_NAME, sal_False );
     if ( pFontItem )
     {
-        Font aFont( pFontItem->GetFamilyName(), pFontItem->GetStyleName(), GetCharFont().GetSize() );
-        aFont.SetCharSet( pFontItem->GetCharSet() );
-        aFont.SetPitch( pFontItem->GetPitch() );
-        SetCharFont( aFont );
+        Font aTmpFont( pFontItem->GetFamilyName(), pFontItem->GetStyleName(), GetCharFont().GetSize() );
+        aTmpFont.SetCharSet( pFontItem->GetCharSet() );
+        aTmpFont.SetPitch( pFontItem->GetPitch() );
+        SetCharFont( aTmpFont );
     }
     else if ( pFontNameItem )
     {
-        Font aFont( GetCharFont() );
-        aFont.SetName( pFontNameItem->GetValue() );
-        SetCharFont( aFont );
+        Font aTmpFont( GetCharFont() );
+        aTmpFont.SetName( pFontNameItem->GetValue() );
+        SetCharFont( aTmpFont );
     }
 
     FreeResource();
@@ -97,35 +111,34 @@ SvxCharacterMap::SvxCharacterMap( Window* pParent, sal_Bool bOne, const SfxItemS
 
 SvxCharacterMap::~SvxCharacterMap()
 {
-    delete mpCharMapData;
 }
 
 // -----------------------------------------------------------------------
 
 const Font& SvxCharacterMap::GetCharFont() const
 {
-    return mpCharMapData->aFont;
+    return aFont;
 }
 
 // -----------------------------------------------------------------------
 
 void SvxCharacterMap::SetChar( sal_UCS4 c )
 {
-    mpCharMapData->aShowSet.SelectCharacter( c );
+    aShowSet.SelectCharacter( c );
 }
 
 // -----------------------------------------------------------------------
 
 sal_UCS4 SvxCharacterMap::GetChar() const
 {
-    return mpCharMapData->aShowSet.GetSelectCharacter();
+    return aShowSet.GetSelectCharacter();
 }
 
 // -----------------------------------------------------------------------
 
 String SvxCharacterMap::GetCharacters() const
 {
-    return mpCharMapData->aShowText.GetText();
+    return aShowText.GetText();
 }
 
 
@@ -133,13 +146,8 @@ String SvxCharacterMap::GetCharacters() const
 
 void SvxCharacterMap::DisableFontSelection()
 {
-    mpCharMapData->aFontText.Disable();
-    mpCharMapData->aFontLB.Disable();
-}
-
-void SvxCharacterMap::SetCharFont( const Font& rFont )
-{
-    mpCharMapData->SetCharFont( rFont );
+    aFontText.Disable();
+    aFontLB.Disable();
 }
 
 short SvxCharacterMap::Execute()
@@ -255,25 +263,9 @@ SvxShowText::~SvxShowText()
 
 // class SvxCharacterMap =================================================
 
-SvxCharMapData::SvxCharMapData( SfxModalDialog* pDialog, sal_Bool bOne_, ResMgr* pResContext )
-:   mpDialog( pDialog ),
-    aShowSet        ( pDialog, ResId( CT_SHOWSET, *pResContext ) ),
-    aShowText       ( pDialog, ResId( CT_SHOWTEXT, *pResContext ) ),
-    aOKBtn          ( pDialog, ResId( BTN_CHAR_OK, *pResContext ) ),
-    aCancelBtn      ( pDialog, ResId( BTN_CHAR_CANCEL, *pResContext ) ),
-    aHelpBtn        ( pDialog, ResId( BTN_CHAR_HELP, *pResContext ) ),
-    aDeleteBtn      ( pDialog, ResId( BTN_DELETE, *pResContext ) ),
-    aFontText       ( pDialog, ResId( FT_FONT, *pResContext ) ),
-    aFontLB         ( pDialog, ResId( LB_FONT, *pResContext ) ),
-    aSubsetText     ( pDialog, ResId( FT_SUBSET, *pResContext ) ),
-    aSubsetLB       ( pDialog, ResId( LB_SUBSET, *pResContext ) ),
-    aSymbolText     ( pDialog, ResId( FT_SYMBOLE, *pResContext ) ),
-    aShowChar       ( pDialog, ResId( CT_SHOWCHAR, *pResContext ), sal_True ),
-    aCharCodeText   ( pDialog, ResId( FT_CHARCODE, *pResContext ) ),
-    bOne( bOne_ ),
-    pSubsetMap( NULL )
+void SvxCharacterMap::init()
 {
-    aFont = pDialog->GetFont();
+    aFont = GetFont();
     aFont.SetTransparent( sal_True );
     aFont.SetFamily( FAMILY_DONTKNOW );
     aFont.SetPitch( PITCH_DONTKNOW );
@@ -281,8 +273,8 @@ SvxCharMapData::SvxCharMapData( SfxModalDialog* pDialog, sal_Bool bOne_, ResMgr*
 
     if ( bOne )
     {
-        Size aDlgSize = pDialog->GetSizePixel();
-        pDialog->SetSizePixel( Size( aDlgSize.Width(),
+        Size aDlgSize = GetSizePixel();
+        SetSizePixel( Size( aDlgSize.Width(),
             aDlgSize.Height()-aShowText.GetSizePixel().Height() ) );
         aSymbolText.Hide();
         aShowText.Hide();
@@ -291,10 +283,10 @@ SvxCharMapData::SvxCharMapData( SfxModalDialog* pDialog, sal_Bool bOne_, ResMgr*
 
     rtl::OUString aDefStr( aFont.GetName() );
     String aLastName;
-    int nCount = mpDialog->GetDevFontCount();
+    int nCount = GetDevFontCount();
     for ( int i = 0; i < nCount; i++ )
     {
-        String aFontName( mpDialog->GetDevFont( i ).GetName() );
+        String aFontName( GetDevFont( i ).GetName() );
         if ( aFontName != aLastName )
         {
             aLastName = aFontName;
@@ -328,14 +320,14 @@ SvxCharMapData::SvxCharMapData( SfxModalDialog* pDialog, sal_Bool bOne_, ResMgr*
         aFontLB.SelectEntryPos(0);
     FontSelectHdl( &aFontLB );
 
-    aOKBtn.SetClickHdl( LINK( this, SvxCharMapData, OKHdl ) );
-    aFontLB.SetSelectHdl( LINK( this, SvxCharMapData, FontSelectHdl ) );
-    aSubsetLB.SetSelectHdl( LINK( this, SvxCharMapData, SubsetSelectHdl ) );
-    aShowSet.SetDoubleClickHdl( LINK( this, SvxCharMapData, CharDoubleClickHdl ) );
-    aShowSet.SetSelectHdl( LINK( this, SvxCharMapData, CharSelectHdl ) );
-    aShowSet.SetHighlightHdl( LINK( this, SvxCharMapData, CharHighlightHdl ) );
-    aShowSet.SetPreSelectHdl( LINK( this, SvxCharMapData, CharPreSelectHdl ) );
-    aDeleteBtn.SetClickHdl( LINK( this, SvxCharMapData, DeleteHdl ) );
+    aOKBtn.SetClickHdl( LINK( this, SvxCharacterMap, OKHdl ) );
+    aFontLB.SetSelectHdl( LINK( this, SvxCharacterMap, FontSelectHdl ) );
+    aSubsetLB.SetSelectHdl( LINK( this, SvxCharacterMap, SubsetSelectHdl ) );
+    aShowSet.SetDoubleClickHdl( LINK( this, SvxCharacterMap, CharDoubleClickHdl ) );
+    aShowSet.SetSelectHdl( LINK( this, SvxCharacterMap, CharSelectHdl ) );
+    aShowSet.SetHighlightHdl( LINK( this, SvxCharacterMap, CharHighlightHdl ) );
+    aShowSet.SetPreSelectHdl( LINK( this, SvxCharacterMap, CharPreSelectHdl ) );
+    aDeleteBtn.SetClickHdl( LINK( this, SvxCharacterMap, DeleteHdl ) );
 
     if( SvxShowCharSet::getSelectedChar() == ' ')
         aOKBtn.Disable();
@@ -350,11 +342,11 @@ SvxCharMapData::SvxCharMapData( SfxModalDialog* pDialog, sal_Bool bOne_, ResMgr*
 
 // -----------------------------------------------------------------------
 
-void SvxCharMapData::SetCharFont( const Font& rFont )
+void SvxCharacterMap::SetCharFont( const Font& rFont )
 {
     // first get the underlying info in order to get font names
     // like "Times New Roman;Times" resolved
-    Font aTmp( mpDialog->GetFontMetric( rFont ) );
+    Font aTmp( GetFontMetric( rFont ) );
 
     if ( aFontLB.GetEntryPos( aTmp.GetName() ) == LISTBOX_ENTRY_NOTFOUND )
         return;
@@ -364,12 +356,12 @@ void SvxCharMapData::SetCharFont( const Font& rFont )
     FontSelectHdl( &aFontLB );
 
     // for compatibility reasons
-    mpDialog->ModalDialog::SetFont( aFont );
+    ModalDialog::SetFont( aFont );
 }
 
 // -----------------------------------------------------------------------
 
-IMPL_LINK_NOARG(SvxCharMapData, OKHdl)
+IMPL_LINK_NOARG(SvxCharacterMap, OKHdl)
 {
     String aStr = aShowText.GetText();
 
@@ -380,17 +372,17 @@ IMPL_LINK_NOARG(SvxCharMapData, OKHdl)
     rtl::OUString aOUStr( &cChar, 1 );
         aShowText.SetText( aOUStr );
     }
-    mpDialog->EndDialog( sal_True );
+    EndDialog( sal_True );
     return 0;
 }
 
 // -----------------------------------------------------------------------
 
-IMPL_LINK_NOARG(SvxCharMapData, FontSelectHdl)
+IMPL_LINK_NOARG(SvxCharacterMap, FontSelectHdl)
 {
     sal_uInt16 nPos = aFontLB.GetSelectEntryPos(),
         nFont = (sal_uInt16)(sal_uLong)aFontLB.GetEntryData( nPos );
-    aFont = mpDialog->GetDevFont( nFont );
+    aFont = GetDevFont( nFont );
     aFont.SetWeight( WEIGHT_DONTKNOW );
     aFont.SetItalic( ITALIC_NONE );
     aFont.SetWidthType( WIDTH_DONTKNOW );
@@ -448,7 +440,7 @@ IMPL_LINK_NOARG(SvxCharMapData, FontSelectHdl)
 
 // -----------------------------------------------------------------------
 
-IMPL_LINK_NOARG(SvxCharMapData, SubsetSelectHdl)
+IMPL_LINK_NOARG(SvxCharacterMap, SubsetSelectHdl)
 {
     sal_uInt16 nPos = aSubsetLB.GetSelectEntryPos();
     const Subset* pSubset = reinterpret_cast<const Subset*> (aSubsetLB.GetEntryData(nPos));
@@ -463,15 +455,15 @@ IMPL_LINK_NOARG(SvxCharMapData, SubsetSelectHdl)
 
 // -----------------------------------------------------------------------
 
-IMPL_LINK_NOARG(SvxCharMapData, CharDoubleClickHdl)
+IMPL_LINK_NOARG(SvxCharacterMap, CharDoubleClickHdl)
 {
-    mpDialog->EndDialog( sal_True );
+    EndDialog( sal_True );
     return 0;
 }
 
 // -----------------------------------------------------------------------
 
-IMPL_LINK_NOARG(SvxCharMapData, CharSelectHdl)
+IMPL_LINK_NOARG(SvxCharacterMap, CharSelectHdl)
 {
     if ( !bOne )
     {
@@ -494,7 +486,7 @@ IMPL_LINK_NOARG(SvxCharMapData, CharSelectHdl)
 
 // -----------------------------------------------------------------------
 
-IMPL_LINK_NOARG(SvxCharMapData, CharHighlightHdl)
+IMPL_LINK_NOARG(SvxCharacterMap, CharHighlightHdl)
 {
     String aText;
     sal_UCS4 cChar = aShowSet.GetSelectCharacter();
@@ -533,7 +525,7 @@ IMPL_LINK_NOARG(SvxCharMapData, CharHighlightHdl)
 
 // -----------------------------------------------------------------------
 
-IMPL_LINK_NOARG(SvxCharMapData, CharPreSelectHdl)
+IMPL_LINK_NOARG(SvxCharacterMap, CharPreSelectHdl)
 {
     // adjust subset selection
     if( pSubsetMap )
@@ -550,7 +542,7 @@ IMPL_LINK_NOARG(SvxCharMapData, CharPreSelectHdl)
 
 // -----------------------------------------------------------------------
 
-IMPL_LINK_NOARG(SvxCharMapData, DeleteHdl)
+IMPL_LINK_NOARG(SvxCharacterMap, DeleteHdl)
 {
     aShowText.SetText( String() );
     aOKBtn.Disable();
diff --git a/cui/source/inc/cuicharmap.hxx b/cui/source/inc/cuicharmap.hxx
index 070c749..dc8e42b 100644
--- a/cui/source/inc/cuicharmap.hxx
+++ b/cui/source/inc/cuicharmap.hxx
@@ -39,7 +39,6 @@
 #include <svx/charmap.hxx>
 
 class SubsetMap;
-class SvxCharMapData;
 
 // define ----------------------------------------------------------------
 
@@ -76,16 +75,11 @@ private:
 
 };
 
-class SvxCharMapData
+class SvxCharacterMap : public SfxModalDialog
 {
-public:
-                    SvxCharMapData( class SfxModalDialog* pDialog, sal_Bool bOne_, ResMgr* pResContext );
-
-    void            SetCharFont( const Font& rFont );
-
 private:
-friend class SvxCharacterMap;
-    SfxModalDialog* mpDialog;
+
+    void            init();
 
     SvxShowCharSet  aShowSet;
     SvxShowText     aShowText;
@@ -101,7 +95,7 @@ friend class SvxCharacterMap;
     SvxShowText     aShowChar;
     FixedText       aCharCodeText;
     Font            aFont;
-    sal_Bool            bOne;
+    sal_Bool        bOne;
     const SubsetMap* pSubsetMap;
 
     DECL_LINK(OKHdl, void *);
@@ -112,12 +106,6 @@ friend class SvxCharacterMap;
     DECL_LINK(CharHighlightHdl, void *);
     DECL_LINK(CharPreSelectHdl, void *);
     DECL_LINK(DeleteHdl, void *);
-};
-
-class SvxCharacterMap : public SfxModalDialog
-{
-private:
-    SvxCharMapData* mpCharMapData;
 
 public:
                     SvxCharacterMap( Window* pParent, sal_Bool bOne=sal_True, const SfxItemSet* pSet=0 );


More information about the Libreoffice-commits mailing list