[Libreoffice-commits] core.git: sc/source
Caolán McNamara (via logerrit)
logerrit at kemper.freedesktop.org
Fri Mar 19 12:00:00 UTC 2021
sc/source/ui/condformat/condformatdlg.cxx | 9 +++++++++
sc/source/ui/inc/condformatdlgentry.hxx | 1 +
2 files changed, 10 insertions(+)
New commits:
commit 426a38ea955742c471c22b4c20f0149ec423f653
Author: Caolán McNamara <caolanm at redhat.com>
AuthorDate: Thu Mar 18 14:21:22 2021 +0000
Commit: Caolán McNamara <caolanm at redhat.com>
CommitDate: Fri Mar 19 12:59:21 2021 +0100
tdf#118482 set a scroll step of the height of a collapsed entry
Change-Id: I09ea056f6c2284afda5b387b6fdff3160bb7adc2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/112677
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm at redhat.com>
diff --git a/sc/source/ui/condformat/condformatdlg.cxx b/sc/source/ui/condformat/condformatdlg.cxx
index 7a4631289f01..b4759bb3940e 100644
--- a/sc/source/ui/condformat/condformatdlg.cxx
+++ b/sc/source/ui/condformat/condformatdlg.cxx
@@ -174,6 +174,8 @@ void ScCondFormatList::RecalcAll()
if (mbFrozen)
return;
+ int nWheelScroll = SAL_MAX_INT32;
+
sal_Int32 nIndex = 1;
for (const auto& item : maEntries)
{
@@ -181,8 +183,15 @@ void ScCondFormatList::RecalcAll()
continue;
item->SetIndex(nIndex);
item->set_grid_top_attach(nIndex - 1);
+ nWheelScroll = std::min(nWheelScroll, item->get_preferred_height());
++nIndex;
}
+
+ if (nWheelScroll != SAL_MAX_INT32)
+ {
+ // tdf#118482 set a scroll step of the height of a collapsed entry
+ mxScrollWindow->vadjustment_set_step_increment(nWheelScroll);
+ }
}
IMPL_LINK(ScCondFormatList, ColFormatTypeHdl, weld::ComboBox&, rBox, void)
diff --git a/sc/source/ui/inc/condformatdlgentry.hxx b/sc/source/ui/inc/condformatdlgentry.hxx
index bf2d80fba2e0..aed63be47729 100644
--- a/sc/source/ui/inc/condformatdlgentry.hxx
+++ b/sc/source/ui/inc/condformatdlgentry.hxx
@@ -77,6 +77,7 @@ public:
void Show() { mxGrid->show(); }
void set_grid_top_attach(int nAttach) { mxBorder->set_grid_top_attach(nAttach); }
+ int get_preferred_height() const { return mxBorder->get_preferred_size().Height(); }
void SetPos(const ScAddress& rPos) { maPos = rPos; };
bool IsSelected() const { return mbActive;}
More information about the Libreoffice-commits
mailing list