vcl/inc/jsdialog/jsdialogbuilder.hxx | 8 ++++++++ vcl/jsdialog/jsdialogbuilder.cxx | 22 ++++++++++++++++++++-- 2 files changed, 28 insertions(+), 2 deletions(-)
New commits: commit 2cb0ebaff2896feafc1f574ca8fb1f13a11f5401 Author: Szymon Kłos <szymon.k...@collabora.com> AuthorDate: Fri Jun 11 10:29:54 2021 +0200 Commit: Szymon Kłos <szymon.k...@collabora.com> CommitDate: Wed Jul 28 09:15:11 2021 +0200 jsdialog: sidebar: fix closing revert change done by mistake in: 64bd4dd2f80b247cb5df3f3e6c54bf2d47bc41a7 Change-Id: I740d5970c713053c7f8a4c880776a1056d132e12 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119553 Tested-by: Szymon Kłos <szymon.k...@collabora.com> Reviewed-by: Szymon Kłos <szymon.k...@collabora.com> diff --git a/vcl/jsdialog/jsdialogbuilder.cxx b/vcl/jsdialog/jsdialogbuilder.cxx index 954eca380bce..335b9cfc23d7 100644 --- a/vcl/jsdialog/jsdialogbuilder.cxx +++ b/vcl/jsdialog/jsdialogbuilder.cxx @@ -419,6 +419,8 @@ JSInstanceBuilder::JSInstanceBuilder(weld::Widget* pParent, const OUString& rUIR { vcl::Window* pRoot = m_xBuilder->get_widget_root(); + m_aParentDialog = pRoot->GetParentWithLOKNotifier(); + if (rUIFile == "sfx/ui/panel.ui") { // builder for Panel, get SidebarDockingWindow as m_aContentWindow @@ -434,8 +436,6 @@ JSInstanceBuilder::JSInstanceBuilder(weld::Widget* pParent, const OUString& rUIR m_aContentWindow = m_aContentWindow->GetParent(); } - m_aParentDialog = m_aContentWindow; - InsertWindowToMap(m_nWindowId); initializeSender(GetNotifierWindow(), GetContentWindow(), GetTypeOfJSON()); commit a72b7e2f38cc8c7372f24365a8458528205b09e4 Author: Szymon Kłos <szymon.k...@collabora.com> AuthorDate: Thu Jun 10 15:40:33 2021 +0200 Commit: Szymon Kłos <szymon.k...@collabora.com> CommitDate: Wed Jul 28 09:15:00 2021 +0200 jsdialog: weld MenuButton Change-Id: I79b753e070183daa809b23dbb7d3052000ebecd4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116995 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoff...@gmail.com> Reviewed-by: Szymon Kłos <szymon.k...@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119552 Tested-by: Szymon Kłos <szymon.k...@collabora.com> diff --git a/vcl/inc/jsdialog/jsdialogbuilder.hxx b/vcl/inc/jsdialog/jsdialogbuilder.hxx index 5199dd943439..75bdf667cc58 100644 --- a/vcl/inc/jsdialog/jsdialogbuilder.hxx +++ b/vcl/inc/jsdialog/jsdialogbuilder.hxx @@ -254,6 +254,7 @@ public: virtual std::unique_ptr<weld::IconView> weld_icon_view(const OString& id) override; virtual std::unique_ptr<weld::RadioButton> weld_radio_button(const OString& id) override; virtual std::unique_ptr<weld::Frame> weld_frame(const OString& id) override; + virtual std::unique_ptr<weld::MenuButton> weld_menu_button(const OString& id) override; static weld::MessageDialog* CreateMessageDialog(weld::Widget* pParent, VclMessageType eMessageType, @@ -617,4 +618,11 @@ public: bool bTakeOwnership); }; +class JSMenuButton : public JSWidget<SalInstanceMenuButton, ::MenuButton> +{ +public: + JSMenuButton(JSDialogSender* pSender, ::MenuButton* pMenuButton, SalInstanceBuilder* pBuilder, + bool bTakeOwnership); +}; + /* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */ diff --git a/vcl/jsdialog/jsdialogbuilder.cxx b/vcl/jsdialog/jsdialogbuilder.cxx index 896225aef311..954eca380bce 100644 --- a/vcl/jsdialog/jsdialogbuilder.cxx +++ b/vcl/jsdialog/jsdialogbuilder.cxx @@ -873,6 +873,18 @@ std::unique_ptr<weld::Frame> JSInstanceBuilder::weld_frame(const OString& id) return pWeldWidget; } +std::unique_ptr<weld::MenuButton> JSInstanceBuilder::weld_menu_button(const OString& id) +{ + ::MenuButton* pMenuButton = m_xBuilder->get<::MenuButton>(id); + auto pWeldWidget + = pMenuButton ? std::make_unique<JSMenuButton>(this, pMenuButton, this, false) : nullptr; + + if (pWeldWidget) + RememberWidget(id, pWeldWidget.get()); + + return pWeldWidget; +} + weld::MessageDialog* JSInstanceBuilder::CreateMessageDialog(weld::Widget* pParent, VclMessageType eMessageType, VclButtonsType eButtonType, @@ -1407,4 +1419,10 @@ JSFrame::JSFrame(JSDialogSender* pSender, ::VclFrame* pFrame, SalInstanceBuilder { } +JSMenuButton::JSMenuButton(JSDialogSender* pSender, ::MenuButton* pMenuButton, + SalInstanceBuilder* pBuilder, bool bTakeOwnership) + : JSWidget<SalInstanceMenuButton, ::MenuButton>(pSender, pMenuButton, pBuilder, bTakeOwnership) +{ +} + /* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */ _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits