vcl/inc/jsdialog/jsdialogbuilder.hxx | 11 +++++++++-- vcl/jsdialog/executor.cxx | 2 +- vcl/jsdialog/jsdialogbuilder.cxx | 4 ++-- 3 files changed, 12 insertions(+), 5 deletions(-)
New commits: commit 9518eaf9db7f0de14401489170fad7408cfd127b Author: Szymon Kłos <szymon.k...@collabora.com> AuthorDate: Wed May 26 08:38:03 2021 +0200 Commit: Szymon Kłos <szymon.k...@collabora.com> CommitDate: Mon Jul 19 13:51:13 2021 +0200 jsdialog: execute value action on spinfield Change-Id: Iee0a5c90ebbd9ca96a60e70678f2b20c32d1bb28 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116137 Tested-by: Szymon Kłos <szymon.k...@collabora.com> Reviewed-by: Szymon Kłos <szymon.k...@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119160 Tested-by: Jenkins diff --git a/vcl/jsdialog/executor.cxx b/vcl/jsdialog/executor.cxx index 13cc7591d587..c979230e7f31 100644 --- a/vcl/jsdialog/executor.cxx +++ b/vcl/jsdialog/executor.cxx @@ -174,7 +174,7 @@ bool ExecuteAction(sal_uInt64 nWindowId, const OString& rWidget, StringMap& rDat auto pSpinField = dynamic_cast<weld::SpinButton*>(pWidget); if (pSpinField) { - if (sAction == "change") + if (sAction == "change" || sAction == "value") { OString sValue = OUStringToOString(rData["data"], RTL_TEXTENCODING_ASCII_US); int nValue = std::atoi(sValue.getStr()); commit 35c4cc15f1cb02b437bc9cd6dd5593aae2b86042 Author: Szymon Kłos <szymon.k...@collabora.com> AuthorDate: Fri May 21 17:24:17 2021 +0200 Commit: Szymon Kłos <szymon.k...@collabora.com> CommitDate: Mon Jul 19 13:51:00 2021 +0200 jsdialog: send action event on show/hide This fixes non working comboboxes in the sidebar in online. Where we simulate picking from the list. Change-Id: Ie78e461b2bce7fa0ccd68731e76d0c721242b98e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116097 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoff...@gmail.com> Reviewed-by: Szymon Kłos <szymon.k...@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119155 Tested-by: Jenkins diff --git a/vcl/inc/jsdialog/jsdialogbuilder.hxx b/vcl/inc/jsdialog/jsdialogbuilder.hxx index a677fc31696f..32781712cc0f 100644 --- a/vcl/inc/jsdialog/jsdialogbuilder.hxx +++ b/vcl/inc/jsdialog/jsdialogbuilder.hxx @@ -28,6 +28,8 @@ #include <list> #include <unordered_map> +#define ACTION_TYPE "action_type" + class ToolBox; class ComboBox; class VclMultiLineEdit; @@ -304,13 +306,17 @@ public: virtual void show() override { BaseInstanceClass::show(); - sendFullUpdate(); + std::unique_ptr<ActionDataMap> pMap = std::make_unique<ActionDataMap>(); + (*pMap)[ACTION_TYPE] = "show"; + sendAction(std::move(pMap)); } virtual void hide() override { BaseInstanceClass::hide(); - sendFullUpdate(); + std::unique_ptr<ActionDataMap> pMap = std::make_unique<ActionDataMap>(); + (*pMap)[ACTION_TYPE] = "hide"; + sendAction(std::move(pMap)); } using BaseInstanceClass::set_sensitive; @@ -424,6 +430,7 @@ public: virtual void remove(int pos) override; virtual void set_entry_text(const OUString& rText) override; virtual void set_active(int pos) override; + virtual bool changed_by_direct_pick() const override; }; class JSNotebook final : public JSWidget<SalInstanceNotebook, ::TabControl> diff --git a/vcl/jsdialog/jsdialogbuilder.cxx b/vcl/jsdialog/jsdialogbuilder.cxx index 143815341aae..3b7f84ca6b95 100644 --- a/vcl/jsdialog/jsdialogbuilder.cxx +++ b/vcl/jsdialog/jsdialogbuilder.cxx @@ -27,8 +27,6 @@ #include <cppuhelper/supportsservice.hxx> #include <utility> -#define ACTION_TYPE "action_type" - namespace { void response_help(vcl::Window* pWindow) @@ -952,6 +950,8 @@ void JSComboBox::set_active(int pos) sendUpdate(); } +bool JSComboBox::changed_by_direct_pick() const { return true; } + JSNotebook::JSNotebook(JSDialogSender* pSender, ::TabControl* pControl, SalInstanceBuilder* pBuilder, bool bTakeOwnership) : JSWidget<SalInstanceNotebook, ::TabControl>(pSender, pControl, pBuilder, bTakeOwnership) _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits