summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2021-04-01 17:31:58 +0100
committerXisco Fauli <xiscofauli@libreoffice.org>2021-04-06 10:00:19 +0200
commit2481c7f308e0a30108fa7a8eedb05e34c457e0d9 (patch)
tree017fc4638137515c5d3e5e5590a16ea2ec5b99a1
parentKJ: Improve small Select Outline Format icons (diff)
downloadcore-2481c7f308e0a30108fa7a8eedb05e34c457e0d9.tar.gz
core-2481c7f308e0a30108fa7a8eedb05e34c457e0d9.zip
tdf#141084 don't notify that the control has changed content until focus-out
while also keeping tdf#140239 working too Change-Id: I42833f6a4d2440781cf3f2297b78c6e313b3d239 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113474 Tested-by: Jenkins Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com> (cherry picked from commit d0628bd6813de2685f4367118dc0f9ca036d1eaf) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113477 Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
-rw-r--r--extensions/source/propctrlr/usercontrol.cxx9
-rw-r--r--extensions/source/propctrlr/usercontrol.hxx7
2 files changed, 12 insertions, 4 deletions
diff --git a/extensions/source/propctrlr/usercontrol.cxx b/extensions/source/propctrlr/usercontrol.cxx
index f26287029f86..86fdb30445d0 100644
--- a/extensions/source/propctrlr/usercontrol.cxx
+++ b/extensions/source/propctrlr/usercontrol.cxx
@@ -238,9 +238,7 @@ namespace pcr
bool bSuccess = rValue >>= sURL;
if (bSuccess && GraphicObject::isGraphicObjectUniqueIdURL(sURL))
sURL = pControlWindow->GetPlaceHolder();
- // tdf#140239 leave current cursor valid if the contents won't change
- if (sURL != pControlWindow->GetURL())
- pControlWindow->set_entry_text(sURL);
+ pControlWindow->set_entry_text(sURL);
}
Any SAL_CALL OFileUrlControl::getValue()
@@ -256,6 +254,11 @@ namespace pcr
return ::cppu::UnoType<OUString>::get();
}
+ IMPL_LINK_NOARG(OFileUrlControl, URLModifiedHdl, weld::ComboBox&, void)
+ {
+ editChanged();
+ }
+
} // namespace pcr
diff --git a/extensions/source/propctrlr/usercontrol.hxx b/extensions/source/propctrlr/usercontrol.hxx
index b72fcbd8048d..7104f09cb0ad 100644
--- a/extensions/source/propctrlr/usercontrol.hxx
+++ b/extensions/source/propctrlr/usercontrol.hxx
@@ -119,6 +119,8 @@ namespace pcr
typedef CommonBehaviourControl<css::inspection::XPropertyControl, SvtURLBox> OFileUrlControl_Base;
class OFileUrlControl : public OFileUrlControl_Base
{
+ private:
+ DECL_LINK(URLModifiedHdl, weld::ComboBox&, void);
public:
OFileUrlControl(std::unique_ptr<SvtURLBox> xWidget, std::unique_ptr<weld::Builder> xBuilder, bool bReadOnly);
@@ -130,7 +132,10 @@ namespace pcr
virtual void SetModifyHandler() override
{
OFileUrlControl_Base::SetModifyHandler();
- getTypedControlWindow()->connect_changed(LINK(this, CommonBehaviourControlHelper, ModifiedHdl));
+ SvtURLBox* pControlWindow = getTypedControlWindow();
+ // tdf#140239 and tdf#141084 don't notify that the control has changed content until focus-out
+ pControlWindow->connect_focus_out(LINK(this, CommonBehaviourControlHelper, LoseFocusHdl));
+ pControlWindow->connect_changed(LINK(this, OFileUrlControl, URLModifiedHdl));
}
virtual weld::Widget* getWidget() override { return getTypedControlWindow()->getWidget(); }