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 Mon Oct 22 17:14:56 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) *************** *** 1825,1830 **** --- 1825,1831 ---- { 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() ) ); --- 1835,1841 ---- 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; --- 1843,1849 ---- 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 **** --- 1869,1878 ---- 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 --- 1882,1889 ---- Size aSize = SvxNumberFormat::GetGraphicSizeMM100(pGraphic); aSize = OutputDevice::LogicToLogic(aSize, MAP_100TH_MM, (MapUnit)ePoolUnit); aSymbolGraphic=*pGraphic; ! BOOL bRatio = aSymbolRatioCB.IsChecked(); ! if( bResetSize ) { aSymbolSize=aSize; #if OSL_DEBUG_LEVEL > 1 *************** *** 1890,1906 **** 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); - } aCtlPreview.SetSymbol(NULL,aSymbolSize); bEnable=FALSE; } --- 1894,1916 ---- SVX_TRACE(213, aStr ); #endif } + else if( !bRatio ) + { + 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" ) ); aCtlPreview.SetSymbol(NULL,aSymbolSize); bEnable=FALSE; }