diff options
author | Caolán McNamara <caolanm@redhat.com> | 2013-06-21 13:00:51 +0100 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2013-06-21 13:22:16 +0100 |
commit | 0a5c151b62a7abc3fc4abaadb0b50c3047eb5f26 (patch) | |
tree | d7dadffc39a0adf969654b66bee291c7e4448e9a /vcl | |
parent | 98c38b02d8f6549aefdfdb30399e386acea8fd79 (diff) |
Resolves: fdo#65635 don't include border gap in height for borderless edits
Change-Id: If778fdeb5bdbd5a5cac33f57ef8d598ddc1408f2
Diffstat (limited to 'vcl')
-rw-r--r-- | vcl/source/control/edit.cxx | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/vcl/source/control/edit.cxx b/vcl/source/control/edit.cxx index 20c41a91be6a..cfd4d3353541 100644 --- a/vcl/source/control/edit.cxx +++ b/vcl/source/control/edit.cxx @@ -1048,10 +1048,10 @@ void Edit::ImplSetText( const OUString& rText, const Selection* pNewSelection ) // ----------------------------------------------------------------------- -int Edit::ImplGetNativeControlType() +int Edit::ImplGetNativeControlType() const { int nCtrl = 0; - Window *pControl = mbIsSubEdit ? GetParent() : this; + const Window *pControl = mbIsSubEdit ? GetParent() : this; switch( pControl->GetType() ) { @@ -2877,6 +2877,8 @@ void Edit::SetSubEdit( Edit* pEdit ) Size Edit::CalcMinimumSizeForText(const OUString &rString) const { + int eCtrlType = ImplGetNativeControlType(); + Size aSize; if (mnWidthInChars != -1) { @@ -2893,8 +2895,12 @@ Size Edit::CalcMinimumSizeForText(const OUString &rString) const if (aSize.Width() < aMinSize.Width()) aSize.Width() = aMinSize.Width(); } - // add some space between text entry and border - aSize.Height() += 4; + + if (eCtrlType != CTRL_EDITBOX_NOBORDER) + { + // add some space between text entry and border + aSize.Height() += 4; + } aSize = CalcWindowSize( aSize ); @@ -2903,7 +2909,7 @@ Size Edit::CalcMinimumSizeForText(const OUString &rString) const Rectangle aRect( Point( 0, 0 ), aSize ); Rectangle aContent, aBound; if( const_cast<Edit*>(this)->GetNativeControlRegion( - CTRL_EDITBOX, PART_ENTIRE_CONTROL, + eCtrlType, PART_ENTIRE_CONTROL, aRect, 0, aControlValue, OUString(), aBound, aContent) ) { if( aBound.GetHeight() > aSize.Height() ) |