cui/source/dialogs/cuicharmap.cxx      |    2 +-
 include/sfx2/charwin.hxx               |    2 +-
 sfx2/source/control/charmapcontrol.cxx |   13 ++++++++-----
 3 files changed, 10 insertions(+), 7 deletions(-)

New commits:
commit 13eb63f377f46a61bc763ab0f40eb6769dcefbb8
Author:     Caolán McNamara <[email protected]>
AuthorDate: Wed Aug 9 09:53:11 2023 +0100
Commit:     Caolán McNamara <[email protected]>
CommitDate: Wed Aug 9 11:35:22 2023 +0200

    Resolves: tdf#156661 only set a fixed height for the single row case
    
    of the insert special character dialog. The character popdown uses
    multiple rows instead.
    
    Change-Id: If3c5578a018a31dbdb0a0d9785f18b570e13112f
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155502
    Tested-by: Jenkins
    Reviewed-by: Caolán McNamara <[email protected]>

diff --git a/cui/source/dialogs/cuicharmap.cxx 
b/cui/source/dialogs/cuicharmap.cxx
index 4c4df2fe9cb3..03d1e8c90b53 100644
--- a/cui/source/dialogs/cuicharmap.cxx
+++ b/cui/source/dialogs/cuicharmap.cxx
@@ -58,7 +58,7 @@ SvxCharacterMap::SvxCharacterMap(weld::Widget* pParent, const 
SfxItemSet* pSet,
     , m_xVirDev(VclPtr<VirtualDevice>::Create())
     , isSearchMode(true)
     , m_xFrame(std::move(xFrame))
-    , m_aCharmapContents(*m_xBuilder, m_xVirDev)
+    , m_aCharmapContents(*m_xBuilder, m_xVirDev, true)
     , m_aShowChar(m_xVirDev)
     , m_xOKBtn(m_xFrame.is() ? m_xBuilder->weld_button("insert") : 
m_xBuilder->weld_button("ok"))
     , m_xFontText(m_xBuilder->weld_label("fontft"))
diff --git a/include/sfx2/charwin.hxx b/include/sfx2/charwin.hxx
index 1e3672a9de4e..d0a8f86d2e51 100644
--- a/include/sfx2/charwin.hxx
+++ b/include/sfx2/charwin.hxx
@@ -92,7 +92,7 @@ class SFX2_DLLPUBLIC SfxCharmapContainer
     DECL_DLLPRIVATE_LINK(FavClearAllClickHdl, SvxCharView*, void);
 
 public:
-    SfxCharmapContainer(weld::Builder& rBuilder, const VclPtr<VirtualDevice>& 
rVirDev);
+    SfxCharmapContainer(weld::Builder& rBuilder, const VclPtr<VirtualDevice>& 
rVirDev, bool bLockGridSizes);
 
     void            init(bool bHasInsert, const Link<SvxCharView*,void> 
&rMouseClickHdl,
                          const Link<void*,void> &rUpdateFavHdl,
diff --git a/sfx2/source/control/charmapcontrol.cxx 
b/sfx2/source/control/charmapcontrol.cxx
index ae3018ecd089..c71dbc8bb402 100644
--- a/sfx2/source/control/charmapcontrol.cxx
+++ b/sfx2/source/control/charmapcontrol.cxx
@@ -27,7 +27,7 @@
 
 using namespace css;
 
-SfxCharmapContainer::SfxCharmapContainer(weld::Builder& rBuilder, const 
VclPtr<VirtualDevice>& rVirDev)
+SfxCharmapContainer::SfxCharmapContainer(weld::Builder& rBuilder, const 
VclPtr<VirtualDevice>& rVirDev, bool bLockGridSizes)
     : m_aRecentCharView{SvxCharView(rVirDev),
                         SvxCharView(rVirDev),
                         SvxCharView(rVirDev),
@@ -95,9 +95,12 @@ SfxCharmapContainer::SfxCharmapContainer(weld::Builder& 
rBuilder, const VclPtr<V
     , m_xRecentGrid(rBuilder.weld_widget("viewgrid"))
     , m_xFavGrid(rBuilder.weld_widget("favgrid"))
 {
-    //so things don't jump around if all the children are hidden
-    m_xRecentGrid->set_size_request(-1, 
m_aRecentCharView[0].get_preferred_size().Height());
-    m_xFavGrid->set_size_request(-1, 
m_aFavCharView[0].get_preferred_size().Height());
+    if (bLockGridSizes)
+    {
+        //so things don't jump around if all the children are hidden
+        m_xRecentGrid->set_size_request(-1, 
m_aRecentCharView[0].get_preferred_size().Height());
+        m_xFavGrid->set_size_request(-1, 
m_aFavCharView[0].get_preferred_size().Height());
+    }
 }
 
 void SfxCharmapContainer::init(bool bHasInsert, const Link<SvxCharView*,void> 
&rMouseClickHdl,
@@ -129,7 +132,7 @@ SfxCharmapCtrl::SfxCharmapCtrl(CharmapPopup* pControl, 
weld::Widget* pParent)
     : WeldToolbarPopup(pControl->getFrameInterface(), pParent, 
"sfx/ui/charmapcontrol.ui", "charmapctrl")
     , m_xControl(pControl)
     , m_xVirDev(VclPtr<VirtualDevice>::Create())
-    , m_aCharmapContents(*m_xBuilder, m_xVirDev)
+    , m_aCharmapContents(*m_xBuilder, m_xVirDev, false)
     , m_xRecentLabel(m_xBuilder->weld_label("label2"))
     , m_xDlgBtn(m_xBuilder->weld_button("specialchardlg"))
 {

Reply via email to