weld::Scrollbar: Make clear that signal is about value change
A GtkAdjustment [1] doesn't only have a current value, but also lower + upper bounds,... Rename weld::Scrollbar::signal_adjustment_changed to weld::Scrollbar::signal_adjustment_value_changed etc. to make clearer that this signal is only emitted when the current value changes, not any of the other things an adjustment manages (and that can be set via the weld::Scrollbar API, for example). See how the GtkInstanceScrollbar ctor connects the `signalAdjustValueChanged` callback to the GtkAdjustment:value-changed signal [2], not the GtkAdjustment:changed signal [3], which means that only changes to the current value trigger the callback (which in turn calls `signal_adjustment_value_changed()`), but changes to other GtkAdjustment properties don't. [1] https://docs.gtk.org/gtk3/class.Adjustment.html [2] https://docs.gtk.org/gtk3/signal.Adjustment.value-changed.html [3] https://docs.gtk.org/gtk3/signal.Adjustment.changed.html Change-Id: Icbeb92f3e53e0747154038aeca2f11626623fbae Reviewed-on: https://gerrit.libreoffice.org/c/core/+/182400 Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Tested-by: Jenkins
This commit is contained in:
@@ -2693,10 +2693,10 @@ public:
|
||||
|
||||
class VCL_DLLPUBLIC Scrollbar : virtual public Widget
|
||||
{
|
||||
Link<Scrollbar&, void> m_aChangeHdl;
|
||||
Link<Scrollbar&, void> m_aValueChangeHdl;
|
||||
|
||||
protected:
|
||||
void signal_adjustment_changed() { m_aChangeHdl.Call(*this); }
|
||||
void signal_adjustment_value_changed() { m_aValueChangeHdl.Call(*this); }
|
||||
|
||||
public:
|
||||
virtual void adjustment_configure(int value, int lower, int upper, int step_increment,
|
||||
@@ -2721,7 +2721,10 @@ public:
|
||||
|
||||
virtual ScrollType get_scroll_type() const = 0;
|
||||
|
||||
void connect_adjustment_changed(const Link<Scrollbar&, void>& rLink) { m_aChangeHdl = rLink; }
|
||||
void connect_adjustment_value_changed(const Link<Scrollbar&, void>& rLink)
|
||||
{
|
||||
m_aValueChangeHdl = rLink;
|
||||
}
|
||||
};
|
||||
|
||||
class VCL_DLLPUBLIC SizeGroup
|
||||
|
||||
@@ -105,7 +105,7 @@ void ScrollAdaptor::EnableRTL(bool bEnable) { m_xScrollBar->set_direction(bEnabl
|
||||
void ScrollAdaptor::SetScrollHdl(const Link<weld::Scrollbar&, void>& rLink)
|
||||
{
|
||||
m_aLink = rLink;
|
||||
m_xScrollBar->connect_adjustment_changed(rLink);
|
||||
m_xScrollBar->connect_adjustment_value_changed(rLink);
|
||||
}
|
||||
|
||||
void ScrollAdaptor::SetMouseReleaseHdl(const Link<const MouseEvent&, bool>& rLink)
|
||||
|
||||
@@ -2634,7 +2634,10 @@ public:
|
||||
};
|
||||
}
|
||||
|
||||
IMPL_LINK_NOARG(SalInstanceScrollbar, ScrollHdl, ScrollBar*, void) { signal_adjustment_changed(); }
|
||||
IMPL_LINK_NOARG(SalInstanceScrollbar, ScrollHdl, ScrollBar*, void)
|
||||
{
|
||||
signal_adjustment_value_changed();
|
||||
}
|
||||
|
||||
SalInstanceNotebook::SalInstanceNotebook(TabControl* pNotebook, SalInstanceBuilder* pBuilder,
|
||||
bool bTakeOwnership)
|
||||
|
||||
@@ -8634,7 +8634,7 @@ private:
|
||||
{
|
||||
GtkInstanceScrollbar* pThis = static_cast<GtkInstanceScrollbar*>(widget);
|
||||
SolarMutexGuard aGuard;
|
||||
pThis->signal_adjustment_changed();
|
||||
pThis->signal_adjustment_value_changed();
|
||||
}
|
||||
|
||||
#if GTK_CHECK_VERSION(4, 0, 0)
|
||||
|
||||
Reference in New Issue
Block a user