Hi, Bug 33794 solved.
I confirm that this and all my future contributions are under MPL/LGPLv3+ licenses. Bence Tomcsik
From 5dacbe2539f17dd23e78caada8264a062d8dfa41 Mon Sep 17 00:00:00 2001 From: Tomcsik Bence <tomcsikbe...@gmail.com> Date: Fri, 13 Jan 2012 14:50:06 +0100 Subject: [PATCH] The "Open..." button's more room problem solved fdo#33794 I implemented the maximum search of the initial screen's buttons. mnTextColumnWidth[] and mnColumnWidth[] are equal to the widest button's width, considering that the open button contains a black triangle. --- framework/source/services/backingwindow.cxx | 31 ++++++++++++++++---------- 1 files changed, 19 insertions(+), 12 deletions(-) diff --git a/framework/source/services/backingwindow.cxx b/framework/source/services/backingwindow.cxx index a28f80f..bd8e001 100644 --- a/framework/source/services/backingwindow.cxx +++ b/framework/source/services/backingwindow.cxx @@ -607,19 +607,26 @@ void BackingWindow::initControls() if( mnColumnWidth[0] + mnColumnWidth[1] + mnBtnPos + 20 > maControlRect.GetWidth() ) maControlRect.Right() = maControlRect.Left() + mnColumnWidth[0] + mnColumnWidth[1] + mnBtnPos + 20; - mnTextColumnWidth[0] = mnColumnWidth[0]; - mnTextColumnWidth[1] = mnColumnWidth[1]; + long nTextWidthMax = maWriterButton.GetTextWidth( maWriterButton.GetText() ) + maButtonImageSize.Width() + 8; + + if( nTextWidthMax < maDrawButton.GetTextWidth( maDrawButton.GetText() ) + maButtonImageSize.Width() + 8 ) + nTextWidthMax = maDrawButton.GetTextWidth( maDrawButton.GetText() ) + maButtonImageSize.Width() + 8; + if( nTextWidthMax < maCalcButton.GetTextWidth( maCalcButton.GetText() ) + maButtonImageSize.Width() + 8 ) + nTextWidthMax = maCalcButton.GetTextWidth( maCalcButton.GetText() ) + maButtonImageSize.Width() + 8; + if( nTextWidthMax < maDBButton.GetTextWidth( maDBButton.GetText() ) + maButtonImageSize.Width() + 8 ) + nTextWidthMax = maDBButton.GetTextWidth( maDBButton.GetText() ) + maButtonImageSize.Width() + 8; + if( nTextWidthMax < maImpressButton.GetTextWidth( maImpressButton.GetText() ) + maButtonImageSize.Width() + 8 ) + nTextWidthMax = maImpressButton.GetTextWidth( maImpressButton.GetText() ) + maButtonImageSize.Width() + 8; + if( nTextWidthMax < maMathButton.GetTextWidth( maMathButton.GetText() ) + maButtonImageSize.Width() + 8 ) + nTextWidthMax = maMathButton.GetTextWidth( maMathButton.GetText() ) + maButtonImageSize.Width() + 8; + if( nTextWidthMax < maOpenButton.GetTextWidth( maOpenButton.GetText() ) + maButtonImageSize.Width() + 26 ) + nTextWidthMax = maOpenButton.GetTextWidth( maOpenButton.GetText() ) + maButtonImageSize.Width() + 26; + if( nTextWidthMax < maTemplateButton.GetTextWidth( maTemplateButton.GetText() ) + maButtonImageSize.Width() + 8 ) + nTextWidthMax = maTemplateButton.GetTextWidth( maTemplateButton.GetText() ) + maButtonImageSize.Width() + 8; + + mnTextColumnWidth[0] = mnColumnWidth[0] = nTextWidthMax; + mnTextColumnWidth[1] = mnColumnWidth[1] = nTextWidthMax; - if( mnTextColumnWidth[1] > mnTextColumnWidth[0] ) - { - mnColumnWidth[0] = mnColumnWidth[1]; - mnTextColumnWidth[0] = mnTextColumnWidth[1]; - } - else - { - mnColumnWidth[1] = mnColumnWidth[0]; - mnTextColumnWidth[1] = mnTextColumnWidth[0]; - } if( maControlRect.GetWidth() < maControlRect.GetHeight() * 3 / 2 ) { maControlRect.Right() = maControlRect.Left() + maControlRect.GetHeight() * 3 / 2; -- 1.7.7
_______________________________________________ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice