Kaydet (Commit) 66b8b09d authored tarafından Justin Luth's avatar Justin Luth Kaydeden (comit) Samuel Mehrbrodt

set reasonable default size for new draw/impress tables

The width was decent, except that on small paper (A6) it was
wider than the paper size.

The height was terrible - the minimum size possible. It was too small
for even a single line of text. That made it hard to grab the table edge
(instead grabbing a row edge) when trying to resize.

Now the height and width are limited to the page/view size,
and based on the number of rows created.  One possible enhancement
would be to use the border width instead of the page width.

Change-Id: I4e106a7bc34f65886e3c80d308499242c0fdd7d8
Reviewed-on: https://gerrit.libreoffice.org/21171Reviewed-by: 's avatarJustin Luth <justin_luth@sil.org>
Tested-by: 's avatarSamuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
Reviewed-by: 's avatarSamuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
üst 184a6a53
......@@ -146,12 +146,32 @@ void DrawViewShell::FuTable(SfxRequest& rReq)
}
else
{
Size aSize( 14100, 200 );
Size aSize( 14100, 2000 );
Point aPos;
Rectangle aWinRect(aPos, GetActiveWindow()->GetOutputSizePixel() );
aWinRect = GetActiveWindow()->PixelToLogic(aWinRect);
// make sure that the default size of the table fits on the paper and is inside the viewing area.
// if zoomed in close, don't make the table bigger than the viewing window.
Size aMaxSize = getCurrentPage()->GetSize();
if( aMaxSize.Height() > aWinRect.getHeight() )
aMaxSize.setHeight( aWinRect.getHeight() );
if( aMaxSize.Width() > aWinRect.getWidth() )
aMaxSize.setWidth( aWinRect.getWidth() );
if( aSize.Width() > aMaxSize.getWidth() )
aSize.setWidth( aMaxSize.getWidth() );
// adjust height based on # of rows.
if( nRows > 0 )
{
aSize.setHeight( aSize.Height() * nRows );
if( aSize.Height() > aMaxSize.getHeight() )
aSize.setHeight( aMaxSize.getHeight() );
}
aPos = aWinRect.Center();
aPos = GetActiveWindow()->PixelToLogic(aPos);
aPos.X() -= aSize.Width() / 2;
aPos.Y() -= aSize.Height() / 2;
aRect = Rectangle(aPos, aSize);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment