diff -cNr old/svx/source/dialog/tpline.cxx new/svx/source/dialog/tpline.cxx *** old/svx/source/dialog/tpline.cxx Fri Jul 6 15:34:32 2007 --- new/svx/source/dialog/tpline.cxx Tue Oct 30 22:48:06 2007 *************** *** 1807,1813 **** const Graphic* pGraphic = 0; Graphic aGraphic; String aGrfName; ! BOOL bDontSetSize=FALSE; BOOL bEnable=TRUE; if(nItemId >= MN_GALLERY_ENTRY) --- 1807,1813 ---- const Graphic* pGraphic = 0; Graphic aGraphic; String aGrfName; ! BOOL bResetSize = FALSE; BOOL bEnable=TRUE; if(nItemId >= MN_GALLERY_ENTRY) *************** *** 1820,1830 **** --- 1820,1832 ---- aStr.Append( ByteString::CreateFromInt32( nSymbolType ) ); SVX_TRACE(213, aStr); #endif + bNewSize = true; } else { SVX_TRACE(213,ByteString( "SVX_SYMBOLTYPE_BRUSHITEM") ); nSymbolType=SVX_SYMBOLTYPE_BRUSHITEM; + bResetSize = TRUE; } SvxBmpItemInfo* pInfo = (SvxBmpItemInfo*)aGrfBrushItems.GetObject(nItemId - MN_GALLERY_ENTRY); pGraphic = pInfo->pBrushItem->GetGraphic(); *************** *** 1834,1840 **** case MN_SYMBOLS_AUTO: { pGraphic=&aAutoSymbolGraphic; ! aSymbolSize=aAutoSymbolGraphic.GetPrefSize(); #if OSL_DEBUG_LEVEL > 1 ByteString aStr( "AutoSymbolSize is "); aStr.Append( ByteString::CreateFromInt32( aSymbolSize.Width() ) ); --- 1836,1842 ---- case MN_SYMBOLS_AUTO: { pGraphic=&aAutoSymbolGraphic; ! aAutoSymbolGraphic.SetPrefSize( Size(253,253) ); #if OSL_DEBUG_LEVEL > 1 ByteString aStr( "AutoSymbolSize is "); aStr.Append( ByteString::CreateFromInt32( aSymbolSize.Width() ) ); *************** *** 1842,1849 **** aStr.Append( ByteString::CreateFromInt32( aSymbolSize.Height() ) ); SVX_TRACE(213, aStr ); #endif ! bDontSetSize=TRUE; ! bNewSize=false; //fr�here �nderungen gelten nicht in diesem Fall! nSymbolType=SVX_SYMBOLTYPE_AUTO; } break; --- 1844,1850 ---- aStr.Append( ByteString::CreateFromInt32( aSymbolSize.Height() ) ); SVX_TRACE(213, aStr ); #endif ! bNewSize = true; //fr�here �nderungen gelten nicht in diesem Fall! nSymbolType=SVX_SYMBOLTYPE_AUTO; } break; *************** *** 1869,1875 **** --- 1870,1879 ---- aGrfName = aGrfDlg.GetPath(); if( !aGrfDlg.GetGraphic(aGraphic) ) pGraphic = &aGraphic; + bResetSize = TRUE; } + else + return 0; } break; } *************** *** 1879,1885 **** Size aSize = SvxNumberFormat::GetGraphicSizeMM100(pGraphic); aSize = OutputDevice::LogicToLogic(aSize, MAP_100TH_MM, (MapUnit)ePoolUnit); aSymbolGraphic=*pGraphic; ! if(!bDontSetSize) { aSymbolSize=aSize; #if OSL_DEBUG_LEVEL > 1 --- 1883,1889 ---- Size aSize = SvxNumberFormat::GetGraphicSizeMM100(pGraphic); aSize = OutputDevice::LogicToLogic(aSize, MAP_100TH_MM, (MapUnit)ePoolUnit); aSymbolGraphic=*pGraphic; ! if( bResetSize ) { aSymbolSize=aSize; #if OSL_DEBUG_LEVEL > 1 *************** *** 1889,1902 **** aStr.Append( ByteString::CreateFromInt32( aSize.Height() ) ); SVX_TRACE(213, aStr ); #endif } aCtlPreview.SetSymbol(&aSymbolGraphic,aSymbolSize); } else { aSymbolGraphic=Graphic(); SVX_TRACE(213, ByteString( "setting empty graphic" ) ); ! if(!bDontSetSize) { SVX_TRACE(213, ByteString( "Size set to 0,0" ) ); aSymbolSize=Size(0,0); --- 1893,1923 ---- aStr.Append( ByteString::CreateFromInt32( aSize.Height() ) ); SVX_TRACE(213, aStr ); #endif + bNewSize = false; } + else if( bNewSize ) + { + if( aSymbolSize.Width() != aSymbolSize.Height() ) + { + aSize.setWidth( (double)( aSymbolSize.Width() + aSymbolSize.Height() )/2 ); + aSize.setHeight( (double)( aSymbolSize.Width() + aSymbolSize.Height() )/2 ); + aSymbolSize = aSize; + #if OSL_DEBUG_LEVEL > 1 + ByteString aStr( "SymbolSize changed to " ); + aStr.Append( ByteString::CreateFromInt32( aSize.Width() ) ); + aStr.Append( ' ' ); + aStr.Append( ByteString::CreateFromInt32( aSize.Height() ) ); + SVX_TRACE(213, aStr ); + #endif + } + } aCtlPreview.SetSymbol(&aSymbolGraphic,aSymbolSize); } else { aSymbolGraphic=Graphic(); SVX_TRACE(213, ByteString( "setting empty graphic" ) ); ! if( bResetSize ) { SVX_TRACE(213, ByteString( "Size set to 0,0" ) ); aSymbolSize=Size(0,0);