[Libreoffice-commits] core.git: Branch 'libreoffice-6-2' - cui/source
Libreoffice Gerrit user
logerrit at kemper.freedesktop.org
Thu Feb 28 21:09:29 UTC 2019
cui/source/inc/cuitabarea.hxx | 2 +
cui/source/tabpages/backgrnd.cxx | 4 ++-
cui/source/tabpages/tparea.cxx | 48 ++++++++++++++++++++++++++-------------
3 files changed, 38 insertions(+), 16 deletions(-)
New commits:
commit b3ef6fd488cb2b08488fd61494704755b0800712
Author: Caolán McNamara <caolanm at redhat.com>
AuthorDate: Wed Feb 27 11:41:54 2019 +0000
Commit: Adolfo Jayme Barrientos <fitojb at ubuntu.com>
CommitDate: Thu Feb 28 22:09:03 2019 +0100
Related: tdf#123711 better optimal size for highlighting tab
it only uses the color subtab, so just measure
ones which can be visible
Change-Id: Id09419480fd920b242f4d0d65e9ac5fbfb619784
Reviewed-on: https://gerrit.libreoffice.org/68432
Tested-by: Jenkins
Reviewed-by: Adolfo Jayme Barrientos <fitojb at ubuntu.com>
diff --git a/cui/source/inc/cuitabarea.hxx b/cui/source/inc/cuitabarea.hxx
index 19c52a601f25..3d69c9c717ae 100644
--- a/cui/source/inc/cuitabarea.hxx
+++ b/cui/source/inc/cuitabarea.hxx
@@ -252,6 +252,8 @@ protected:
std::unique_ptr<weld::ToggleButton> m_xBtnBitmap;
std::unique_ptr<weld::ToggleButton> m_xBtnPattern;
+ void SetOptimalSize(weld::DialogController* pController);
+
private:
DECL_LINK(SelectFillTypeHdl_Impl, weld::ToggleButton&, void);
diff --git a/cui/source/tabpages/backgrnd.cxx b/cui/source/tabpages/backgrnd.cxx
index b41680e22c81..e7926e552be3 100644
--- a/cui/source/tabpages/backgrnd.cxx
+++ b/cui/source/tabpages/backgrnd.cxx
@@ -1480,7 +1480,9 @@ bool SvxBkgTabPage::FillItemSet( SfxItemSet* rCoreSet )
VclPtr<SfxTabPage> SvxBkgTabPage::Create(TabPageParent pWindow, const SfxItemSet* rAttrs)
{
- return VclPtr<SvxBkgTabPage>::Create(pWindow, *rAttrs);
+ auto xRet = VclPtr<SvxBkgTabPage>::Create(pWindow, *rAttrs);
+ xRet->SetOptimalSize(pWindow.pController);
+ return xRet;
}
void SvxBkgTabPage::PageCreated(const SfxAllItemSet& aSet)
diff --git a/cui/source/tabpages/tparea.cxx b/cui/source/tabpages/tparea.cxx
index cacca8f8d51e..a311becb2fe1 100644
--- a/cui/source/tabpages/tparea.cxx
+++ b/cui/source/tabpages/tparea.cxx
@@ -117,8 +117,11 @@ SvxAreaTabPage::SvxAreaTabPage(TabPageParent pParent, const SfxItemSet& rInAttrs
m_xBtnPattern->connect_toggled(aLink);
SetExchangeSupport();
+}
- TabPageParent aFillTab(m_xFillTab.get(), pParent.pController);
+void SvxAreaTabPage::SetOptimalSize(weld::DialogController* pController)
+{
+ TabPageParent aFillTab(m_xFillTab.get(), pController);
// TEMP
if (!aFillTab.pController)
aFillTab.pParent = GetParentDialog();
@@ -126,21 +129,34 @@ SvxAreaTabPage::SvxAreaTabPage(TabPageParent pParent, const SfxItemSet& rInAttrs
// Calculate optimal size of all pages..
m_pFillTabPage.disposeAndReset(SvxColorTabPage::Create(aFillTab, &m_rXFSet));
m_aColorSize = m_xFillTab->get_preferred_size();
- m_pFillTabPage.disposeAndReset(SvxGradientTabPage::Create(aFillTab, &m_rXFSet));
- Size aGradientSize = m_xFillTab->get_preferred_size();
- m_pFillTabPage.disposeAndReset(SvxBitmapTabPage::Create(aFillTab, &m_rXFSet));
- Size aBitmapSize = m_xFillTab->get_preferred_size();
- m_pFillTabPage.disposeAndReset(SvxHatchTabPage::Create(aFillTab, &m_rXFSet));
- Size aHatchSize = m_xFillTab->get_preferred_size();
- m_pFillTabPage.disposeAndReset(SvxPatternTabPage::Create(aFillTab, &m_rXFSet));
- Size aPatternSize = m_xFillTab->get_preferred_size();
+ Size aSize(m_aColorSize);
+
+ if (m_xBtnGradient->get_visible())
+ {
+ m_pFillTabPage.disposeAndReset(SvxGradientTabPage::Create(aFillTab, &m_rXFSet));
+ Size aGradientSize = m_xFillTab->get_preferred_size();
+ lclExtendSize(aSize, aGradientSize);
+ }
+ if (m_xBtnBitmap->get_visible())
+ {
+ m_pFillTabPage.disposeAndReset(SvxBitmapTabPage::Create(aFillTab, &m_rXFSet));
+ Size aBitmapSize = m_xFillTab->get_preferred_size();
+ lclExtendSize(aSize, aBitmapSize);
+ }
+ if (m_xBtnHatch->get_visible())
+ {
+ m_pFillTabPage.disposeAndReset(SvxHatchTabPage::Create(aFillTab, &m_rXFSet));
+ Size aHatchSize = m_xFillTab->get_preferred_size();
+ lclExtendSize(aSize, aHatchSize);
+ }
+ if (m_xBtnPattern->get_visible())
+ {
+ m_pFillTabPage.disposeAndReset(SvxPatternTabPage::Create(aFillTab, &m_rXFSet));
+ Size aPatternSize = m_xFillTab->get_preferred_size();
+ lclExtendSize(aSize, aPatternSize);
+ }
m_pFillTabPage.disposeAndClear();
- Size aSize(m_aColorSize);
- lclExtendSize(aSize, aGradientSize);
- lclExtendSize(aSize, aBitmapSize);
- lclExtendSize(aSize, aHatchSize);
- lclExtendSize(aSize, aPatternSize);
m_xFillTab->set_size_request(aSize.Width(), aSize.Height());
}
@@ -326,7 +342,9 @@ void SvxAreaTabPage::Reset( const SfxItemSet* rAttrs )
VclPtr<SfxTabPage> SvxAreaTabPage::Create(TabPageParent pParent, const SfxItemSet* rAttrs)
{
- return VclPtr<SvxAreaTabPage>::Create(pParent, *rAttrs);
+ auto xRet = VclPtr<SvxAreaTabPage>::Create(pParent, *rAttrs);
+ xRet->SetOptimalSize(pParent.pController);
+ return xRet;
}
namespace {
More information about the Libreoffice-commits
mailing list